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

mitkGLSLIsosurfaceVRScene.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 __mitkGLSLIsosurfaceVRScene_h
00011 #define __mitkGLSLIsosurfaceVRScene_h
00012 
00013 #include "mitkVis2Scene3D.h"
00014 #include "modules/mitkGLSLIsosurfaceVR.h"
00015 
00016 #include "mitkRCPtr.h"
00017 #include "mitkICVolume.h"
00018 
00025 class MITK_VISUALIZATION2_API mitkGLSLIsosurfaceVRScene : public mitkVis2Scene3D
00026 {
00027 public:
00028     MITK_TYPE(mitkGLSLIsosurfaceVRScene,mitkVis2Scene3D)
00029     mitkGLSLIsosurfaceVRScene();
00030     
00034     virtual void RenderGL();
00035 
00040     void SetData(mitkICVolume *data);
00041 
00045     void SetDataModified();
00046 
00053     void SetBackGroundColor(float r,float g, float b);
00054 
00061     void GetBackGroundColor(float& r,float& g,float& b);
00062     
00067     void SetIsovalue(float isovalue);
00068 
00073     float GetIsovalue();
00074 
00081     void SetSurfaceColor(float r,float g,float b);
00082 
00089     void GetSurfaceColor(float &r,float &g,float &b);
00090 
00097     void SetLightDirection(float x,float y,float z);
00098 
00103     void SetLightIntensity(float intensity);
00104 
00111     void SetLightColor(float r,float g,float b);
00112 
00117     void SetAmbient(float value);
00118 
00123     float GetAmbient();
00124 
00129     void SetDiffuse(float value);
00130 
00135     float GetDiffuse();
00136 
00141     void SetSpecular(float value);
00142 
00147     float GetSpecular();
00148 
00153     void SetSpecularPower(float value);
00154 
00159     float GetSpecularPower();
00160 
00165     void  SetSampleDistance(float sd);
00166 
00171     float GetSampleDistance();
00172 
00177     void RotateLightDirection(bool turnOn);
00178 
00182     virtual void OnMouseDown(int mouseButton, bool ctrlDown, bool shiftDown, int xPos, int yPos);
00186     virtual void OnMouseUp(int mouseButton, bool ctrlDown, bool shiftDown, int xPos, int yPos);
00190     virtual void OnMouseMove(bool ctrlDown, bool shiftDown, int xPos, int yPos);
00191 
00192     mitkGLSLIsosurfaceVR& GetKernelModule() { return m_module; }
00193     
00194 protected:
00195     virtual ~mitkGLSLIsosurfaceVRScene();
00196     virtual void GetSize3D(float size[3]);
00197 
00198 private:
00199     mitkGLSLIsosurfaceVRScene(const mitkGLSLIsosurfaceVRScene&);
00200     void operator = (const mitkGLSLIsosurfaceVRScene&);
00201 
00202 private:
00203     mitkRCPtr<mitkICVolume> m_Data;
00204     
00205 
00206     mitkGLSLIsosurfaceVR m_module;
00207         
00208     bool m_glewInit;
00209     bool m_dataModified;
00210 
00211     bool m_RotateLightDirection;
00212     bool m_RotatingLightDirection;
00213 
00214     mitkVis2Vector4 m_OldLightDirection;
00215 
00216 };
00217 
00218 #endif

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