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