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 00011 #ifndef __mitkVolumeModel_h 00012 #define __mitkVolumeModel_h 00013 00014 #include "mitkDataModel.h" 00015 #include "mitkRCPtr.h" 00016 #include "mitkVolume.h" 00017 #include "mitkVolumeRenderer.h" 00018 #include "mitkVolumeProperty.h" 00019 00026 class MITK_VISUALIZATION_API mitkVolumeModel : public mitkDataModel 00027 { 00028 public: 00029 MITK_TYPE(mitkVolumeModel,mitkDataModel) 00030 00031 virtual void PrintSelf(ostream& os); 00032 00033 mitkVolumeModel(); 00034 00042 virtual mitkRenderer* GetBasicRenderer() { return m_Renderer; } 00043 00048 void SetRenderer(mitkVolumeRenderer *renderer); 00049 00054 mitkVolumeRenderer* GetRenderer(void); 00055 00060 void SetProperty(mitkVolumeProperty *prop); 00061 00066 mitkVolumeProperty* GetProperty(void); 00067 00072 void SetData(mitkVolume *data); 00073 00078 mitkVolume* GetData(void); 00079 00087 virtual int Render(mitkScene *scene); 00088 00089 00094 virtual bool IsOpaque() {return false;} 00095 00096 protected: 00097 virtual float* _getBounds(); 00098 00099 virtual ~mitkVolumeModel(); 00100 00101 mitkRCPtr<mitkVolume> m_Data; 00102 mitkRCPtr<mitkVolumeProperty> m_Property; 00103 mitkRCPtr<mitkVolumeRenderer> m_Renderer; 00104 00105 private: 00106 mitkVolumeModel(const mitkVolumeModel&); 00107 void operator=(const mitkVolumeModel&); 00108 }; 00109 00110 00111 //#define DEFINED_mitkVolumeModel 00112 00113 00114 00115 #endif 00116