MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //---------------------------------------------------------------------------------- 00004 00010 //---------------------------------------------------------------------------------- 00011 00012 00013 #ifndef __mlLUTFSelect_H 00014 #define __mlLUTFSelect_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 LUTFSelect : public LUTFunction 00031 { 00032 public: 00033 00035 LUTFSelect (void); 00036 00037 00039 virtual void setInputLUT (const LUTFunction *inLUT); 00040 00041 00043 00044 00046 virtual void setRow (int row) { _row = row; changed(); } 00047 00049 virtual int getRow (void) const { return _row; } 00050 00052 virtual void setLayer (int layer) { _layer = layer; changed(); } 00053 00055 virtual int getLayer (void) const { return _layer; } 00056 00058 00059 00061 00062 00064 virtual bool isValid (void) const; 00065 00067 virtual int getNativeMinIndex (void) const; 00068 00070 virtual int getNativeMaxIndex (void) const; 00071 00073 virtual double getNativeMinValue (void) const; 00074 00076 virtual double getNativeMaxValue (void) const; 00077 00079 00080 00081 protected: 00082 00084 00085 00090 virtual bool renderLUTNative (LUTDataBase *lutData, LUTIteratorBase *lutIterator) const; 00091 00098 virtual bool renderLUTRescaled (LUTDataBase *lutData, LUTIteratorBase *lutIterator, 00099 double minIndex, double maxIndex) const; 00100 00102 template <typename T> 00103 bool renderLUT (LUTData<T> *lutData, LUTIterator<T> *lutIterator, 00104 double minIndex, double maxIndex, bool rescaled) const; 00105 00107 00108 00110 const LUTFunction *_inLUT; 00111 00113 int _row, _layer; 00114 00115 00116 ML_CLASS_HEADER(LUTFSelect); 00117 00118 }; 00119 00120 00121 ML_END_NAMESPACE 00122 00123 #endif 00124 // __mlLUTFSelect_H