00001 #ifndef wxMaracasMultipleVolumeRendererManagerData_H_ 00002 #define wxMaracasMultipleVolumeRendererManagerData_H_ 00003 00004 #include <vtkVolumeRayCastCompositeFunction.h> 00005 #include <vtkPlanes.h> 00006 #include <vtkVolumeRayCastMapper.h> 00007 #include <vtkVolumeProperty.h> 00008 #include <vtkVolume.h> 00009 #include <vtkPiecewiseFunction.h> 00010 #include <vtkColorTransferFunction.h> 00011 #include <vtkImageData.h> 00012 #include <vtkProp3D.h> 00013 #include <vtkRenderer.h> 00014 #include <vtkVolumeRayCastMIPFunction.h> 00015 00016 #include <vector> 00017 00018 00019 class wxMaracasMultipleVolumeRendererManagerData { 00020 00021 public: 00022 wxMaracasMultipleVolumeRendererManagerData(vtkImageData* vol, std::string dataname=""); 00023 ~wxMaracasMultipleVolumeRendererManagerData(); 00024 00028 void checkInvariant()throw (char *); 00029 00033 void Update(); 00034 00038 vtkProp3D* getProp3D(); 00039 00043 int getId(); 00044 00048 void setId(int propid); 00049 00053 std::string getDataname(); 00054 00058 void setDataname(std::string dataname); 00059 00063 void setVolumeColor(std::vector<double>& greylevel, 00064 std::vector<double>& red, 00065 std::vector<double>& green, 00066 std::vector<double>& blue); 00067 00071 void setVolumeOpacity(std::vector<double> greylevel,std::vector<double> value); 00072 00073 vtkPiecewiseFunction* GetTransferFunction(){ 00074 return _tfun; 00075 } 00076 00077 vtkColorTransferFunction* GetColorFunction(){ 00078 return _ctfun; 00079 } 00080 00081 void changeCompositeMIPFunction(int function) throw (char *); 00082 00083 protected: 00087 vtkImageData* _vol; 00091 std::string _dataname; 00092 00093 00094 private: 00095 00096 /* 00097 * id of the data 00098 */ 00099 int _id; 00100 00101 vtkVolumeRayCastCompositeFunction *_compositeFunction; 00102 vtkPlanes *_volumePlanes; 00103 vtkVolumeRayCastMapper *_volumeMapper; 00104 vtkVolumeProperty *_volumeProperty; 00105 vtkVolume *_newvol; 00106 vtkPiecewiseFunction* _tfun; 00107 vtkColorTransferFunction* _ctfun; 00108 vtkVolumeRayCastMIPFunction* _MIPFunction; 00109 00110 00111 }; 00112 00113 #endif /*wxMaracasMultipleVolumeRendererManagerData_H_*/