]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/kernel/PlaneDirectionManager.h
install, doxy and direction
[creaMaracasVisu.git] / lib / maracasVisuLib / src / kernel / PlaneDirectionManager.h
1 #ifndef PlaneDirectionManager_H_
2 #define PlaneDirectionManager_H_
3
4 #include <math.h>
5
6 #include <iostream>
7
8 #include "PlaneDirectionManagerData.h"
9
10 #include <vector>
11
12 #include <vtkRenderer.h>
13
14 class PlaneDirectionManager  {
15
16 public:
17         PlaneDirectionManager(int radio, double colour[3], int opacity);        
18         ~PlaneDirectionManager();       
19         
20         void SetRenderer(vtkRenderer* render);
21         void SetVectors( std::vector<double> lstPointsx, std::vector<double> lstPointsy, std::vector<double> lstPointsz);
22
23         void UpdateDirections() throw (std::exception);
24
25         std::vector<PlaneDirectionManagerData*> GetPlanesData(){
26                 return _vectdata;
27         }
28
29         void addRemoveActor(int index, bool addremove);
30
31         void changeColor(int index,double r,double g,double b);
32
33         PlaneDirectionManagerData* GetPlaneDirectionManagerData(int id);
34
35         void WriteInformation(std::string  filename, double* spc=NULL);
36
37         void SetArrowSize(int arrowsize);
38 private:
39
40         std::vector<double> _lstPointsx;
41         std::vector<double> _lstPointsy;
42         std::vector<double> _lstPointsz;
43
44         std::vector<PlaneDirectionManagerData*> _vectdata;
45
46         void RemoveAllActorsFromIndex(int n=0)throw (std::exception);
47         void UpdateVectors()throw (std::exception);
48
49         void UpdateActors();
50         void AddActors();
51
52         vtkRenderer* _render;
53
54         int _radio;
55         double* _colour;
56         int _opacity;
57         
58 };
59
60 #endif /*PlaneDirectionManager_H_*/