MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //---------------------------------------------------------------------------------- 00004 00010 //---------------------------------------------------------------------------------- 00011 00012 00013 #ifndef __mlLUTFConcat_H 00014 #define __mlLUTFConcat_H 00015 00016 // Local includes 00017 #ifndef __mlLUTSystem_H 00018 #include "mlLUTSystem.h" 00019 #endif 00020 #ifndef __mlLUTFunction_H 00021 #include "mlLUTFunction.h" 00022 #endif 00023 00024 00025 00026 ML_START_NAMESPACE 00027 00028 00030 class MLLUT_EXPORT LUTFConcat : public LUTFunction 00031 { 00032 public: 00033 00035 LUTFConcat (void); 00036 00037 00039 00040 00042 virtual void addInputLut (const LUTFunction *lutFunction); 00043 00045 virtual void clearInputLuts (void); 00046 00048 virtual const LUTFunction *getInputLut (int i) const; 00049 00051 00052 00054 00055 00057 enum CatMode { 00058 CAT_ROWS = 0, 00059 CAT_LAYERS, 00060 NUM_CAT_MODES 00061 }; 00062 00064 virtual void setCatMode (CatMode catMode); 00065 00066 virtual CatMode getCatMode (void) const { return _catMode; } 00067 00069 00070 00072 00073 00075 virtual bool isValid (void) const; 00076 00078 virtual int getNativeMinIndex (void) const; 00079 00081 virtual int getNativeMaxIndex (void) const; 00082 00084 virtual int getHeight (void) const; 00085 00087 virtual int getDepth (void) const; 00088 00090 virtual double getNativeMinValue (void) const; 00091 00093 virtual double getNativeMaxValue (void) const; 00094 00096 00097 00100 00101 00106 virtual bool render (LUTDataBase *lutData) const; 00107 00114 virtual bool renderRescaled (LUTDataBase *lutData, double minIndex, double maxIndex) const; 00115 00117 00118 00119 00120 protected: 00121 00123 00124 00126 virtual bool renderLUTNative (LUTDataBase * /*lutData*/, LUTIteratorBase * /*lutIterator*/) const 00127 { return false; } 00128 00131 virtual bool renderLUT (LUTDataBase *lutData, double minIndex, double maxIndex, bool rescaled) const; 00132 00134 00135 00137 std::vector<const LUTFunction*> _inLUTs; 00138 00140 CatMode _catMode; 00141 00142 00143 ML_CLASS_HEADER(LUTFConcat); 00144 00145 }; 00146 00147 00148 ML_END_NAMESPACE 00149 00150 #endif 00151 // __mlLUTFConcat_H