#ifndef VolumeRendererManagerData_H_ #define VolumeRendererManagerData_H_ #include #include #include #include #include #include #include #include #include #include #include #include #include class VolumeRendererManagerData { public: VolumeRendererManagerData(vtkImageData* vol, std::string dataname=""); VolumeRendererManagerData(vtkImageData* vol, vtkRenderer* render, std::string dataname=""); ~VolumeRendererManagerData(); /** ** 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 *); void SetLookupTable(vtkLookupTable* lookuptable); 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; void Initialize(vtkImageData* vol, std::string dataname); }; #endif /*VolumeRendererManagerData_H_*/