MeVisLabToolboxReference
MeVisLab/Standard/Sources/Shared/MLLUT/mlLUTFColor.h
Go to the documentation of this file.
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