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

mitkFullVRScene.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 __mitkFullVRScene_h
00011 #define __mitkFullVRScene_h
00012 
00013 #include "mitkRCPtr.h"
00014 #include "mitkVis2Scene3D.h"
00015 #include "modules/mitkFullVR.h"
00016 #include "mitkICVolume.h"
00017 #include "mitkRGBATransferFunction1D.h"
00018 
00019 class mitkCoherentVolume;
00020 
00028 class MITK_VISUALIZATION2_API mitkFullVRScene : public mitkVis2Scene3D
00029 {
00030 public:
00031     MITK_TYPE(mitkFullVRScene,mitkVis2Scene3D)
00032     mitkFullVRScene();
00033     
00037     virtual void RenderGL();
00038 
00043     void SetData(mitkICVolume *data);
00044 
00048     void SetDataModified();
00049 
00054     void SetCoherentData(mitkCoherentVolume *CVolume);
00055 
00059     void SetCoherentDataModified();
00060 
00067     void SetBackGroundColor(float r,float g, float b);
00068     
00075     void GetBackGroundColor(float& r,float& g,float& b);
00076     
00081     mitkRGBATransferFunction1D* GetTransferFunction();
00082 
00087     void SetTransferFunction(mitkRGBATransferFunction1D* tf);
00088 
00094     void SetStdSampleDistance(float stdSampleDistance);
00095 
00101     float GetStdSampleDistance();
00102 
00107     void SetShade(bool shade);
00108     
00113     bool GetShade();
00114 
00118     void ShadeOn();
00119     
00123     void ShadeOff();
00124 
00131     void SetLightDirection(float x,float y,float z);
00132 
00139     void GetLightDirection(float &x,float &y,float &z);
00140 
00145     void SetLightIntensity(float intensity);
00146 
00153     void SetLightColor(float r,float g,float b);
00154 
00159     void SetAmbient(float value);
00160 
00165     float GetAmbient();
00166 
00171     void SetDiffuse(float value);
00172 
00177     float GetDiffuse();
00178 
00183     void SetSpecular(float value);
00184 
00189     float GetSpecular();
00190 
00195     void SetSpecularPower(float value);
00196 
00201     float GetSpecularPower();
00202 
00207     void RotateLightDirection(bool turnOn);
00208 
00212     virtual void OnMouseDown(int mouseButton, bool ctrlDown, bool shiftDown, int xPos, int yPos);
00216     virtual void OnMouseUp(int mouseButton, bool ctrlDown, bool shiftDown, int xPos, int yPos);
00220     virtual void OnMouseMove(bool ctrlDown, bool shiftDown, int xPos, int yPos);
00221 
00226     void SetIllustrativeShading(int illustrative);
00227 
00232     bool GetIllustrativeShading();
00233 
00238     void SetCroppingBounds(const float CroppingBounds[6]);
00239 
00244     void GetCroppingBounds(float CroppingBounds[6]);
00245 
00246     mitkFullVR& GetKernelModule() { return m_module; }
00247 
00248     
00249 protected:
00250     virtual ~mitkFullVRScene();
00251     virtual void GetSize3D(float size[3]);
00252 
00253 private:
00254     mitkFullVRScene(const mitkFullVRScene&);
00255     void operator = (const mitkFullVRScene&);
00256 
00257 private:
00258     mitkRCPtr<mitkICVolume> m_Data;
00259     mitkRCPtr<mitkRGBATransferFunction1D> m_TF;
00260 
00261     mitkLocalVersion m_TFVersion;
00262 
00263     mitkFullVR m_module;
00264 
00265     bool m_RotateLightDirection;
00266     bool m_RotatingLightDirection;
00267 
00268     mitkVis2Vector4 m_OldLightDirection;
00269 
00270 };
00271 
00272 #endif

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