1 /*=========================================================================
4 Module: $RCSfile: wxMaracasMultipleVolumeRendererManager.h,v $
6 Date: $Date: 2009/11/20 17:09:05 $
7 Version: $Revision: 1.7 $
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__
26 #include <vtkMatrix4x4.h>
28 #include "wxMaracasMultipleVolumeRendererManagerData.h"
31 class wxMaracasMultipleVolumeRendererManager {
34 wxMaracasMultipleVolumeRendererManager();
35 ~wxMaracasMultipleVolumeRendererManager();
38 ** Sets the renderer to manage the prop3D from the view
40 void setRenderer(vtkRenderer* renderer);
43 ** Gets the renderer to manage the prop3D from the view
45 vtkRenderer* getRenderer();
50 int addVolume(int idTP, vtkImageData* img, std::string dataname) throw (char*);
53 ** loads a prop3D from a nSTL file
55 vtkProp3D* getVolume(std::string filename);
58 ** loads a MHD file to convert it into an actor
60 vtkImageData* getImageData(std::string filename);
63 ** Gets image data asotiated with the rendering manager
65 vtkImageData* getImageData();
68 ** adds or removes an actor depending of the bool value
70 void addRemoveActor(int propid, bool addremove) throw(char*);
73 ** Check if the variables are setted correctly
75 void checkInvariant()throw(char*);
80 void setVolumeOpacity(int propid, std::vector<double> greylevel,std::vector<double> value) throw(char*);
84 void setVolumeColor(int volid, std::vector<double> greylevel,
85 std::vector<double> red,
86 std::vector<double> green,
87 std::vector<double> blue)throw(char*);
90 ** Given an id search the data in the vector
92 wxMaracasMultipleVolumeRendererManagerData* getViewData(int id)throw(char*);
94 void changeCompositeMIPFunction(int id, int function) throw (char *);
97 ** Deletes given actor
99 void deleteActor(int volumeid)throw (char *);
102 ** Updates given volume
104 void Update(int propid);
106 vtkPiecewiseFunction* GetTransferFunction(int volumeid);
107 vtkColorTransferFunction* GetColorFunction(int volumeid);
109 std::vector<wxMaracasMultipleVolumeRendererManagerData*> prop3Dvect;
111 vtkRenderer* _renderer;