00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef __mitkTargetMeasurementScene_h
00011 #define __mitkTargetMeasurementScene_h
00012
00013 #include "mitkRCPtr.h"
00014 #include "mitkVis2Scene3D.h"
00015 #include "mitkICVolume.h"
00016 #include "mitkMesh.h"
00017 #include "modules/mitkBasicLightParam.h"
00018 #include "modules/mitkMeshVBO.h"
00019
00020
00024 class MITK_VISUALIZATION2_API mitkTargetMeasurementScene : public mitkVis2Scene3D
00025 {
00026 public:
00027 MITK_TYPE(mitkTargetMeasurementScene,mitkVis2Scene3D)
00028 mitkTargetMeasurementScene();
00029
00033 virtual void RenderGL();
00034
00039 void SetData(mitkICVolume *data, mitkICVolume *mask);
00040
00044 void SetDataModified();
00045
00052 void SetBackGroundColor(float r,float g, float b);
00053
00060 void GetBackGroundColor(float& r,float& g,float& b);
00061
00068 void SetSurfaceColor(float r,float g,float b);
00069
00076 void GetSurfaceColor(float &r,float &g,float &b);
00077
00078 void SetEllipsoidColor(float r,float g,float b,float a);
00079 void GetEllipsoidColor(float &r,float &g,float &b,float &a);
00080
00085 void SetLightIntensity(float intensity);
00086
00093 void SetLightColor(float r,float g,float b);
00094
00099 void SetAmbient(float value);
00100
00105 float GetAmbient();
00106
00111 void SetDiffuse(float value);
00112
00117 float GetDiffuse();
00118
00123 void SetSpecular(float value);
00124
00129 float GetSpecular();
00130
00135 void SetSpecularPower(float value);
00136
00141 float GetSpecularPower();
00142
00143 protected:
00144 virtual ~mitkTargetMeasurementScene();
00145 virtual void GetSize3D(float size[3]);
00146
00147 private:
00148 mitkTargetMeasurementScene(const mitkTargetMeasurementScene&);
00149 void operator = (const mitkTargetMeasurementScene&);
00150
00151 private:
00152 mitkRCPtr<mitkICVolume> m_Data;
00153 mitkRCPtr<mitkICVolume> m_Mask;
00154 mitkRCPtr<mitkMesh> m_Mesh;
00155
00156 mitkVis2Matrix4x4 m_Mat;
00157 float m_MaxPos[3];
00158 float m_MinPos[3];
00159 float m_Range[3];
00160
00161 mitkBasicLightParam m_lightParam;
00162 float m_SurfaceColor[3];
00163 float m_EllipsoidColor[4];
00164
00165 mitkMeshVBO m_MeshVBO;
00166 bool m_VBONeedUpdate;
00167
00168 bool m_glewInit;
00169
00170 };
00171
00172
00173 #endif