00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef __mitkRGBATransferFunction1D_h
00011 #define __mitkRGBATransferFunction1D_h
00012
00013 #include "mitkObject.h"
00014 #include "mitkVisualization2Includes.h"
00015 #include "modules/mitkLut1D.h"
00016
00017 #include "mitkVersionCounter.h"
00018
00019 #ifndef __mitkRGBAPoint__
00020 #define __mitkRGBAPoint__
00021 struct mitkRGBAPoint
00022 {
00023 float pos;
00024 mitkVis2Vector4 val;
00025 };
00026 #endif
00027 class mitkRGBAPointArray;
00028
00034 class MITK_VISUALIZATION2_API mitkRGBATransferFunction1D : public mitkObject
00035 {
00036 public:
00037 MITK_TYPE(mitkRGBATransferFunction1D,mitkObject)
00038 MITK_VERSIONED_OBJECT(Update())
00039
00040 mitkRGBATransferFunction1D();
00041
00046 mitkVis2Vector4* GetData();
00047
00052 void SetSampleNumber(int Number);
00053
00058 int GetSampleNumber() const;
00059
00064 void SetMinPos(float Min);
00065
00070 float GetMinPos() const;
00071
00076 void SetMaxPos(float Max);
00077
00082 float GetMaxPos() const;
00083
00088 const mitkLut1D& GetLut1D();
00089
00096 int AddPoint(float pos,mitkVis2Vector4 value);
00097
00102 int GetPointCount() const;
00103
00109 float GetPos(int index) const;
00110
00116 mitkVis2Vector4 GetValue(int index) const;
00117
00123 void SetRGBAValue (int index,mitkVis2Vector4 value);
00124
00125
00130 void RemovePoint(int index);
00131
00135 void RemoveAllPoints();
00136
00137 protected:
00138 virtual ~mitkRGBATransferFunction1D();
00139 virtual void Update();
00140
00141 private:
00142 mitkRGBATransferFunction1D(const mitkRGBATransferFunction1D&);
00143 void operator =(const mitkRGBATransferFunction1D&);
00144
00145 void _update();
00146
00147 mitkLut1D m_Lut;
00148
00149 mitkRGBAPointArray *m_Points;
00150
00151 bool m_NeedUpdate;
00152
00153 };
00154
00155
00156 #endif