Program: wxMaracas
Module: $RCSfile: wxMaracasIRMViewManager.h,v $
Language: C++
- Date: $Date: 2009/04/01 16:16:59 $
- Version: $Revision: 1.1 $
+ Date: $Date: 2009/05/14 13:54:35 $
+ Version: $Revision: 1.5 $
Copyright: (c) 2002, 2003
License:
#include <iostream>
#include <vector>
-#include "vtkProp3D.h"
-#include "vtkRenderer.h"
-#include "vtkSTLReader.h"
-#include "vtkPolyDataMapper.h"
-#include "vtkActor.h"
-#include "vtkProperty.h"
+#include "wxMaracasIRMViewManagerData.h"
+
class wxMaracasIRMViewManager {
/**
** Adds a prop3D to the manager and returns the identifier
**/
- int addProp3D(vtkProp3D* prop3D);
+ int addProp3D(vtkProp3D* prop3D, std::string dataname) throw (char*);
+ /**
+ ** Adds a prop3D to the manager and returns the identifier
+ **/
+ int addPropMHD(vtkImageData* imagedata, std::string dataname) throw(char*);
/**
** Changes the opacity in a prop3D
**/
- void changeOpacity(int propid, int value);
+ void changeOpacity(int propid, int value)throw(char*);
/**
** changes the isovalue in a prop3D
**/
- void changeIsoValue(int propid, int value);
+ void changeIsoValue(int propid, double value)throw(char*);
/**
** loads a prop3D from a nSTL file
**/
vtkProp3D* getProp3D(std::string filename);
+
+ /**
+ ** loads a MHD file to convert it into an actor
+ **/
+ vtkImageData* getImageData(std::string filename);
+
+ /**
+ ** adds or removes an actor depending of the bool value
+ **/
+ void addRemoveActor(int propid, bool addremove)throw(char*);
+ /**
+ ** Check if the variables are setted correctly
+ **/
+ void checkInvariant()throw(char*);
+
+ /**
+ ** Given an id search the data in the vector
+ **/
+ wxMaracasIRMViewManagerData* getViewData(int id)throw(char*);
+
+ /**
+ ** Given the id, return the max iso value from the imagedata
+ **/
+ int getMaxIsoValue(int propid)throw(char*);
+
+
+ /**
+ ** Changes the color of the actor
+ **/
+ void changeColor(int propid, double red, double green, double blue) throw(char*);
+
+ void deleteActor(int propid)throw (char *);
private:
- std::vector<vtkProp3D*> prop3Dvect;
+ std::vector<wxMaracasIRMViewManagerData*> prop3Dvect;
vtkRenderer* _renderer;
+ int _idCount;
+
+
+
};
+
#endif