]> Creatis software - creaMaracasVisu.git/blob - bbtk/src/bbmaracasvisuDrawAxisTree3D.h
34caf18988c274949c3707505ff3c0c0e2a1455f
[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   BBTK_DECLARE_INPUT(Renderer ,vtkRenderer*);
27   BBTK_DECLARE_INPUT(lstIndexs,std::vector<int>);
28   BBTK_DECLARE_INPUT(lstPointX,std::vector<double>);
29   BBTK_DECLARE_INPUT(lstPointY,std::vector<double>);
30   BBTK_DECLARE_INPUT(lstPointZ,std::vector<double>);
31   BBTK_DECLARE_INPUT(lstRadio ,std::vector<double>);
32   BBTK_DECLARE_INPUT(Colour   ,std::vector<double>);
33   BBTK_DECLARE_INPUT(Transform, vtkLinearTransform *);
34   BBTK_DECLARE_INPUT(iAxis, int );
35   BBTK_DECLARE_OUTPUT(OutAxis,vtkProp3D *);
36   BBTK_PROCESS(Process);
37   void Process();
38
39 private:
40
41         std::vector<vtkPolyData*>               vecVtkPolyData;
42         std::vector<vtkPolyDataMapper*> vecVtkPolyDataMaper;
43         std::vector<vtkActor*>                  vecVtkActors;
44
45         void DrawOneAxis(int iGeneral,int numPoints, int iAxis);
46 };
47
48 BBTK_BEGIN_DESCRIBE_BLACK_BOX(DrawAxisTree3D,bbtk::AtomicBlackBox);
49 BBTK_NAME("DrawAxisTree3D");
50 BBTK_AUTHOR("InfoTeam CREATIS-LRMN");
51 BBTK_DESCRIPTION("Draw Axis Tree 3D");
52 BBTK_CATEGORY("__CATEGORY__");
53 BBTK_INPUT(DrawAxisTree3D,Renderer,"Renderer",vtkRenderer*,"");
54 BBTK_INPUT(DrawAxisTree3D,lstIndexs,"Indexs",std::vector<int>,"");
55 BBTK_INPUT(DrawAxisTree3D,lstPointX,"lstPointX",std::vector<double>,"");
56 BBTK_INPUT(DrawAxisTree3D,lstPointY,"lstPointY",std::vector<double>,"");
57 BBTK_INPUT(DrawAxisTree3D,lstPointZ,"lstPointZ",std::vector<double>,"");
58 BBTK_INPUT(DrawAxisTree3D,lstRadio,"lstRadio",std::vector<double>,"");
59 BBTK_INPUT(DrawAxisTree3D,Colour,"Colour",std::vector<double>,"");
60 BBTK_INPUT(DrawAxisTree3D,Transform,"vtkTransform", vtkLinearTransform *,"");
61 BBTK_INPUT(DrawAxisTree3D,iAxis,"iAxis",int,"");
62 BBTK_OUTPUT(DrawAxisTree3D,OutAxis,"Axis[iAxis]",vtkProp3D *,"");
63 BBTK_END_DESCRIBE_BLACK_BOX(DrawAxisTree3D);
64 }
65 // EO namespace bbcreaMaracasVisu
66
67 #endif // __bbcreaMaracasVisuDrawAxisTree3D_h_INCLUDED__
68