#ifndef wxMaracasMultipleVolumeRendererManagerData_H_ #define wxMaracasMultipleVolumeRendererManagerData_H_ #include #include #include #include #include #include #include #include #include #include #include #include class wxMaracasMultipleVolumeRendererManagerData { public: wxMaracasMultipleVolumeRendererManagerData(vtkImageData* vol, std::string dataname=""); ~wxMaracasMultipleVolumeRendererManagerData(); /** ** Check if the variables are setted correctly **/ void checkInvariant()throw (char *); /** ** Updates volume **/ void Update(); /** ** get the prop3D **/ vtkProp3D* getProp3D(); /** ** return the id from the daat **/ int getId(); /** ** set data id **/ void setId(int propid); /** ** Get the filanme **/ std::string getDataname(); /** ** Set the filanme **/ void setDataname(std::string dataname); /** ** Set Volume Color **/ void setVolumeColor(std::vector& greylevel, std::vector& red, std::vector& green, std::vector& blue); /** ** Volume Opacity **/ void setVolumeOpacity(std::vector greylevel,std::vector value); vtkPiecewiseFunction* GetTransferFunction(){ return _tfun; } vtkColorTransferFunction* GetColorFunction(){ return _ctfun; } void changeCompositeMIPFunction(int function) throw (char *); protected: /** * Prop 3D (data actor) */ vtkImageData* _vol; /** * Dataname given by the user (ex. filename) **/ std::string _dataname; private: /* * id of the data */ int _id; vtkVolumeRayCastCompositeFunction *_compositeFunction; vtkPlanes *_volumePlanes; vtkVolumeRayCastMapper *_volumeMapper; vtkVolumeProperty *_volumeProperty; vtkVolume *_newvol; vtkPiecewiseFunction* _tfun; vtkColorTransferFunction* _ctfun; vtkVolumeRayCastMIPFunction* _MIPFunction; }; #endif /*wxMaracasMultipleVolumeRendererManagerData_H_*/