Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

mitkCUDAStructureFunctionVRScene.h

00001 /*=========================================================================
00002 
00003   Program:   3DMed
00004   Date:      $Date: 2014-02-25 18:30:00 +0800 $
00005   Version:   $Version: 4.6.0 $
00006   Copyright: MIPG, Institute of Automation, Chinese Academy of Sciences
00007 
00008 =========================================================================*/
00009 
00010 #ifndef __mitkCUDACTSPECTVRScene_h
00011 #define __mitkCUDACTSPECTVRScene_h
00012 
00013 #include "mitkRCPtr.h"
00014 #include "mitkVis2Scene3D.h"
00015 #include "mitkCUDAVolumeRenderingIncludes.h"
00016 #include "modules/mitkCUDAStructureFunctionVR.h"
00017 #include "mitkICVolume.h"
00018 
00025 class MITK_CUDA_VOLUME_RENDERING_API mitkCUDAStructureFunctionVRScene : public mitkVis2Scene3D
00026 {
00027 public:
00028     MITK_TYPE(mitkCUDAStructureFunctionVRScene,mitkVis2Scene3D)
00029     mitkCUDAStructureFunctionVRScene();
00030 
00034     virtual void RenderGL();
00035 
00040     void SetStructData(mitkICVolume *data);
00041 
00045     void SetStructDataModified();
00046 
00051     void SetFuncData(mitkICVolume *data);
00052 
00056     void SetFuncDataModified();
00057 
00062     void SetTransformFunc(bool trans) {m_TransformFunc=trans;}
00063     
00067     virtual void OnMouseDown(int mouseButton, bool ctrlDown, bool shiftDown, int xPos, int yPos);
00071     virtual void OnMouseUp(int mouseButton, bool ctrlDown, bool shiftDown, int xPos, int yPos);
00075     virtual void OnMouseMove(bool ctrlDown, bool shiftDown, int xPos, int yPos);
00076 
00081     void SetStruct2FuncMatrix(const mitkVis2Matrix4x4& matrix);
00082 
00087     const mitkVis2Matrix4x4& GetStruct2FuncMatrix() const;  
00088 
00094     void SetStructRange(float StructMin,float StructMax);
00095 
00101     void GetStructRange(float &StructMin,float &StructMax);
00102 
00108     void SetFuncRange(float FuncMin, float FuncMax);
00109 
00115     void GetFuncRange(float &FuncMin, float &FuncMax);
00116 
00121     void SetStructOpacity(float StructOpacity);
00122 
00127     float GetStructOpacity();
00128 
00133     void SetFuncIntensity(float FuncIntensity);
00134 
00139     float GetFuncIntensity();
00140 
00145     void SetSampleDistance(float sd);
00146 
00151     float GetSampleDistance();
00152 
00153 protected:
00154     virtual ~mitkCUDAStructureFunctionVRScene();
00155     virtual void GetSize3D(float size[3]);
00156 
00157 private:
00158     mitkCUDAStructureFunctionVRScene(const mitkCUDAStructureFunctionVRScene&);
00159     void operator = (const mitkCUDAStructureFunctionVRScene&);
00160 
00161     bool _renderCore();
00162 
00163 private:
00164     mitkRCPtr<mitkICVolume> m_StructData, m_FuncData;
00165     mitkCUDAStructureFunctionVR m_module;
00166 
00167     bool m_glewInit;
00168     bool m_structDataModified;
00169     bool m_funcDataModified;
00170 
00171     bool m_TransformFunc;
00172     bool m_RotatingFunc;
00173     bool m_TranslatingFunc;
00174 
00175     mitkVis2Matrix4x4 m_OldStruct2FuncMatrix;
00176 
00177 };
00178 
00179 #endif

Generated on Tue Feb 25 15:00:36 2014 for MITK (Medical Imaging ToolKit) by  doxygen 1.4.3