00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef __mitkGLSLMIPVRScene_h
00011 #define __mitkGLSLMIPVRScene_h
00012
00013 #include "mitkVis2Scene3D.h"
00014 #include "modules/mitkGLSLMIPVR.h"
00015
00016 #include "mitkRCPtr.h"
00017 #include "mitkICVolume.h"
00018
00025 class MITK_VISUALIZATION2_API mitkGLSLMIPVRScene : public mitkVis2Scene3D
00026 {
00027 public:
00028 MITK_TYPE(mitkGLSLMIPVRScene,mitkVis2Scene3D)
00029 mitkGLSLMIPVRScene();
00030
00034 virtual void RenderGL();
00035
00040 void SetData(mitkICVolume *data);
00041
00045 void SetDataModified();
00046
00051 void SetSampleDistance(float sd);
00052
00057 float GetSampleDistance();
00058
00064 void SetWidthCenter(float windowWidth,float windowCenter);
00065
00070 void SetWindowWidth(float windowWidth);
00071
00076 void SetWindowCenter(float windowCenter);
00077
00082 float GetWindowWidth();
00083
00088 float GetWindowCenter();
00089
00090 mitkGLSLMIPVR& GetKernelModule() { return m_module; }
00091
00092
00093 protected:
00094 virtual ~mitkGLSLMIPVRScene();
00095 virtual void GetSize3D(float size[3]);
00096
00097 private:
00098 mitkGLSLMIPVRScene(const mitkGLSLMIPVRScene&);
00099 void operator = (const mitkGLSLMIPVRScene&);
00100
00101 private:
00102 mitkRCPtr<mitkICVolume> m_Data;
00103 mitkGLSLMIPVR m_module;
00104 bool m_glewInit;
00105 bool m_dataModified;
00106 };
00107
00108 #endif