]> Creatis software - creaMaracasVisu.git/blob - bbtk/src/bbmaracasvisuDrawAxe3D.h
6058c470195d320a1bac00ad8983f72765b3c3f5
[creaMaracasVisu.git] / bbtk / src / bbmaracasvisuDrawAxe3D.h
1 #ifndef __bbcreaMaracasVisuDrawAxe3D_h_INCLUDED__
2 #define __bbcreaMaracasVisuDrawAxe3D_h_INCLUDED__
3 #include "bbtkAtomicBlackBox.h"
4 #include "iostream"
5
6
7 #include "vtkRenderer.h"
8 #include "vtkPolyData.h"
9 #include "vtkLinearTransform.h"
10
11 namespace bbcreaMaracasVisu
12 {
13
14 class /*BBTK_EXPORT*/ DrawAxe3D
15  : 
16    public bbtk::AtomicBlackBox
17 {
18   BBTK_BLACK_BOX_INTERFACE(DrawAxe3D,bbtk::AtomicBlackBox);
19 //==================================================================
20 /// User callback called in the box contructor
21 virtual void bbUserConstructor();
22 /// User callback called in the box copy constructor
23 virtual void bbUserCopyConstructor(bbtk::BlackBox::Pointer);
24 /// User callback called in the box destructor
25 virtual void bbUserDestructor();
26 //==================================================================
27   BBTK_DECLARE_INPUT(Renderer,vtkRenderer*);
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(Colour,std::vector<double>);
32   BBTK_DECLARE_INPUT(Transform, vtkLinearTransform *);
33   BBTK_DECLARE_OUTPUT(Out,vtkProp3D *);
34
35 //  BBTK_DECLARE_OUTPUT(Out,double);
36   BBTK_PROCESS(Process);
37   void Process();
38
39   private:
40     bool                        firsttime;
41     vtkPolyData         *mallData;
42         vtkActor                *mvtkactor;
43 };
44
45
46 BBTK_BEGIN_DESCRIBE_BLACK_BOX(DrawAxe3D,bbtk::AtomicBlackBox);
47 BBTK_NAME("DrawAxe3D");
48 BBTK_AUTHOR("eduardo.davila@creatis.insa-lyon.fr");
49 BBTK_DESCRIPTION("Draw a 3D axe in a vtk 3D Viewer");
50 BBTK_CATEGORY("__CATEGORY__");
51   BBTK_INPUT(DrawAxe3D,Renderer,"vtk Renderer 3D universe",vtkRenderer*,"");
52   BBTK_INPUT(DrawAxe3D,lstPointX,"list of point X",std::vector<double>,"");
53   BBTK_INPUT(DrawAxe3D,lstPointY,"list of point Y",std::vector<double>,"");
54   BBTK_INPUT(DrawAxe3D,lstPointZ,"list of point Z",std::vector<double>,"");
55   BBTK_INPUT(DrawAxe3D,Colour,"Color of the line R(0..1) G(0..1) B(0..1) ",std::vector<double>,"colour");
56   BBTK_INPUT(DrawAxe3D,Transform,"vtkTransform", vtkLinearTransform *,"");
57   BBTK_OUTPUT(DrawAxe3D,Out,"Actor",vtkProp3D*,"");
58 BBTK_END_DESCRIBE_BLACK_BOX(DrawAxe3D);
59 }
60 // EO namespace bbcreaMaracasVisu
61
62 #endif // __bbcreaMaracasVisuDrawAxe3D_h_INCLUDED__
63