MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //---------------------------------------------------------------------------------- 00004 00010 //---------------------------------------------------------------------------------- 00011 00012 00013 #ifndef __mlLUTFColor_H 00014 #define __mlLUTFColor_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 LUTFColor : public LUTFunction 00031 { 00032 public: 00033 00035 LUTFColor (void); 00036 00037 00039 virtual void setInputLUT (LUTFunction *inLUT); 00040 00041 00043 00044 00046 virtual void setVisualType (LUTVisualType visualType) { _visualType = visualType; changed(); } 00047 00049 virtual void getColor (double *r, double *g, double *b) const; 00050 00052 virtual void setColor (double r, double g, double b); 00053 00055 virtual double getIntensity (void) const { return _intensity; } 00056 00058 virtual void setIntensity (double intensity); 00059 00061 virtual double getAlpha (void) const { return _alpha; } 00062 00064 virtual void setAlpha (double alpha); 00065 00067 00068 00070 00071 00073 virtual int getNativeMinIndex (void) const; 00074 00076 virtual int getNativeMaxIndex (void) const; 00077 00079 virtual int getHeight (void) const; 00080 00082 virtual int getDepth (void) const; 00083 00085 virtual double getNativeMinValue (void) const; 00086 00088 virtual double getNativeMaxValue (void) const; 00089 00091 00092 00093 protected: 00094 00096 00097 00102 virtual bool renderLUTNative (LUTDataBase *lutData, LUTIteratorBase *lutIterator) const; 00103 00110 virtual bool renderLUTRescaled (LUTDataBase *lutData, LUTIteratorBase *lutIterator, 00111 double minIndex, double maxIndex) const; 00112 00116 template <typename T> 00117 bool renderLUT (LUTData<T> *lutData, LUTIterator<T> *lutIterator, bool rescaled, 00118 double minIndex, double maxIndex) const; 00119 00121 00122 00124 LUTFunction *_inLUT; 00125 00127 double _color[3]; 00128 00130 double _intensity; 00131 00133 double _alpha; 00134 00135 00136 ML_CLASS_HEADER(LUTFColor); 00137 00138 }; 00139 00140 00141 ML_END_NAMESPACE 00142 00143 #endif 00144 // __mlLUTFColor_H