]> Creatis software - creaMaracasVisu.git/blob - bbtk/src/bbmaracasvisuDrawAxisTree3D.h
65080c13f43a2b2d0b208391e6c1ead6b4357c3a
[creaMaracasVisu.git] / bbtk / src / bbmaracasvisuDrawAxisTree3D.h
1 #ifndef __bbcreaMaracasVisuDrawAxisTree3D_h_INCLUDED__
2 #define __bbcreaMaracasVisuDrawAxisTree3D_h_INCLUDED__
3 #include "bbtkAtomicBlackBox.h"
4 #include "iostream"
5
6 #include <vtkProp3D.h>
7 #include <vtkRenderer.h>
8 #include "vtkImageData.h"
9 #include "vtkActor.h"
10 #include "vtkPolyData.h"
11 #include "vtkPolyDataMapper.h"
12 #include "vtkPoints.h"
13 #include "vtkCellArray.h"
14 #include "vtkProperty.h"
15
16
17
18 namespace bbcreaMaracasVisu
19 {
20
21 class /*BBTK_EXPORT*/ DrawAxisTree3D
22  : 
23    public bbtk::AtomicBlackBox
24 {
25   BBTK_BLACK_BOX_INTERFACE(DrawAxisTree3D,bbtk::AtomicBlackBox);
26 //==================================================================
27 /// User callback called in the box contructor
28 virtual void bbUserConstructor();
29 /// User callback called in the box copy constructor
30 virtual void bbUserCopyConstructor();
31 /// User callback called in the box destructor
32 virtual void bbUserDestructor();
33 //==================================================================
34   BBTK_DECLARE_INPUT(Renderer ,vtkRenderer*);
35   BBTK_DECLARE_INPUT(lstIndexs,std::vector<int>);
36   BBTK_DECLARE_INPUT(lstPointX,std::vector<double>);
37   BBTK_DECLARE_INPUT(lstPointY,std::vector<double>);
38   BBTK_DECLARE_INPUT(lstPointZ,std::vector<double>);
39   BBTK_DECLARE_INPUT(lstRadio ,std::vector<double>);
40   BBTK_DECLARE_INPUT(Colour   ,std::vector<double>);
41   BBTK_DECLARE_INPUT(iAxis, int );
42   BBTK_DECLARE_OUTPUT(OutAxis,vtkProp3D *);
43   BBTK_PROCESS(Process);
44   void Process();
45
46 private:
47
48         std::vector<vtkPolyData*>               vecVtkPolyData;
49         std::vector<vtkPolyDataMapper*> vecVtkPolyDataMaper;
50         std::vector<vtkActor*>                  vecVtkActors;
51
52         void DrawOneAxis(int iGeneral,int numPoints, int iAxis);
53 };
54
55 BBTK_BEGIN_DESCRIBE_BLACK_BOX(DrawAxisTree3D,bbtk::AtomicBlackBox);
56 BBTK_NAME("DrawAxisTree3D");
57 BBTK_AUTHOR("InfoTeam CREATIS-LRMN");
58 BBTK_DESCRIPTION("Draw Axis Tree 3D");
59 BBTK_CATEGORY("__CATEGORY__");
60 BBTK_INPUT(DrawAxisTree3D,Renderer,"Renderer",vtkRenderer*,"");
61 BBTK_INPUT(DrawAxisTree3D,lstIndexs,"Indexs",std::vector<int>,"");
62 BBTK_INPUT(DrawAxisTree3D,lstPointX,"lstPointX",std::vector<double>,"");
63 BBTK_INPUT(DrawAxisTree3D,lstPointY,"lstPointY",std::vector<double>,"");
64 BBTK_INPUT(DrawAxisTree3D,lstPointZ,"lstPointZ",std::vector<double>,"");
65 BBTK_INPUT(DrawAxisTree3D,lstRadio,"lstRadio",std::vector<double>,"");
66 BBTK_INPUT(DrawAxisTree3D,Colour,"Colour",std::vector<double>,"");
67 BBTK_INPUT(DrawAxisTree3D,iAxis,"iAxis",int,"");
68 BBTK_OUTPUT(DrawAxisTree3D,OutAxis,"Axis[iAxis]",vtkProp3D *,"");
69 BBTK_END_DESCRIBE_BLACK_BOX(DrawAxisTree3D);
70 }
71 // EO namespace bbcreaMaracasVisu
72
73 #endif // __bbcreaMaracasVisuDrawAxisTree3D_h_INCLUDED__
74