1 /*=========================================================================
4 Module: $RCSfile: wxMaracasMultipleVolumeRendererManager.h,v $
6 Date: $Date: 2009/07/20 10:06:12 $
7 Version: $Revision: 1.3 $
9 Copyright: (c) 2002, 2003
12 This software is distributed WITHOUT ANY WARRANTY; without even
13 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 PURPOSE. See the above copyright notice for more information.
16 =========================================================================*/
21 #ifndef __wxMaracasMultipleVolumeRendererManagerH__
22 #define __wxMaracasMultipleVolumeRendererManagerH__
27 #include "wxMaracasMultipleVolumeRendererManagerData.h"
30 class wxMaracasMultipleVolumeRendererManager {
33 wxMaracasMultipleVolumeRendererManager();
34 ~wxMaracasMultipleVolumeRendererManager();
37 ** Sets the renderer to manage the prop3D from the view
39 void setRenderer(vtkRenderer* renderer);
43 int addVolume(vtkImageData* img, std::string dataname) throw (char*);
46 ** loads a prop3D from a nSTL file
48 vtkProp3D* getVolume(std::string filename);
51 ** loads a MHD file to convert it into an actor
53 vtkImageData* getImageData(std::string filename);
56 ** adds or removes an actor depending of the bool value
58 void addRemoveActor(int propid, bool addremove) throw(char*);
60 ** Check if the variables are setted correctly
62 void checkInvariant()throw(char*);
67 void setVolumeOpacity(int propid, std::vector<double> greylevel,std::vector<double> value) throw(char*);
71 void setVolumeColor(int volid, std::vector<double> greylevel,
72 std::vector<double> red,
73 std::vector<double> green,
74 std::vector<double> blue);
77 ** Given an id search the data in the vector
79 wxMaracasMultipleVolumeRendererManagerData* getViewData(int id)throw(char*);
83 void deleteActor(int volumeid)throw (char *);
85 vtkPiecewiseFunction* GetTransferFunction(int volumeid);
86 vtkColorTransferFunction* GetColorFunction(int volumeid);
88 std::vector<wxMaracasMultipleVolumeRendererManagerData*> prop3Dvect;
90 vtkRenderer* _renderer;