#ifndef __bbcreaMaracasVisuDrawAxe3D_h_INCLUDED__ #define __bbcreaMaracasVisuDrawAxe3D_h_INCLUDED__ #include "bbtkAtomicBlackBox.h" #include "iostream" #include "vtkRenderer.h" #include "vtkPolyData.h" namespace bbcreaMaracasVisu { class /*BBTK_EXPORT*/ DrawAxe3D : public bbtk::AtomicBlackBox { BBTK_BLACK_BOX_INTERFACE(DrawAxe3D,bbtk::AtomicBlackBox); //================================================================== /// User callback called in the box contructor virtual void bbUserConstructor(); /// User callback called in the box copy constructor virtual void bbUserCopyConstructor(); /// User callback called in the box destructor virtual void bbUserDestructor(); //================================================================== BBTK_DECLARE_INPUT(Renderer,vtkRenderer*); BBTK_DECLARE_INPUT(lstPointX,std::vector); BBTK_DECLARE_INPUT(lstPointY,std::vector); BBTK_DECLARE_INPUT(lstPointZ,std::vector); BBTK_DECLARE_INPUT(Colour,std::vector); BBTK_DECLARE_OUTPUT(Out,vtkProp3D *); // BBTK_DECLARE_OUTPUT(Out,double); BBTK_PROCESS(Process); void Process(); private: bool firsttime; vtkPolyData *mallData; vtkActor *mvtkactor; }; BBTK_BEGIN_DESCRIBE_BLACK_BOX(DrawAxe3D,bbtk::AtomicBlackBox); BBTK_NAME("DrawAxe3D"); BBTK_AUTHOR("eduardo.davila@creatis.insa-lyon.fr"); BBTK_DESCRIPTION("Draw a 3D axe in a vtk 3D Viewer"); BBTK_CATEGORY("__CATEGORY__"); BBTK_INPUT(DrawAxe3D,Renderer,"vtk Renderer 3D universe",vtkRenderer*,""); BBTK_INPUT(DrawAxe3D,lstPointX,"list of point X",std::vector,""); BBTK_INPUT(DrawAxe3D,lstPointY,"list of point Y",std::vector,""); BBTK_INPUT(DrawAxe3D,lstPointZ,"list of point Z",std::vector,""); BBTK_INPUT(DrawAxe3D,Colour,"Color of the line R(0..1) G(0..1) B(0..1) ",std::vector,"colour"); BBTK_OUTPUT(DrawAxe3D,Out,"Actor",vtkProp3D*,""); BBTK_END_DESCRIBE_BLACK_BOX(DrawAxe3D); } // EO namespace bbcreaMaracasVisu #endif // __bbcreaMaracasVisuDrawAxe3D_h_INCLUDED__