]> Creatis software - creaVtk.git/blob - bbtk_creaVtk_PKG/src/bbcreaVtkPointPicker.h
94c9d376d7ececb1d289e03e7e19a44497269f2c
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkPointPicker.h
1 //===== 
2 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
3 //===== 
4 #ifndef __bbcreaVtkPointPicker_h_INCLUDED__
5 #define __bbcreaVtkPointPicker_h_INCLUDED__
6 #include "bbcreaVtk_EXPORT.h"
7 #include "bbtkAtomicBlackBox.h"
8 #include "iostream"
9
10 #include "vtkCommand.h"
11 #include "vtkRenderer.h"
12 #include "vtkProp3D.h"
13 #include <vtkRenderWindowInteractor.h>
14
15
16 namespace bbcreaVtk
17 {
18
19 class PointPicker;
20
21 //---------------------------------------------
22 class creaVtkCallbackPointPicker : public vtkCommand
23 {
24         
25         public:
26                 creaVtkCallbackPointPicker();
27                 
28                 static creaVtkCallbackPointPicker *New() { return new creaVtkCallbackPointPicker; }
29                 void Delete() { delete this; }
30                 virtual void Execute(vtkObject *caller, unsigned long, void*);
31                 void setBox(PointPicker *box);
32         private:
33                 PointPicker *boxPointPicker;            
34                 
35 };
36
37
38 //---------------------------------------------
39 //---------------------------------------------
40 //---------------------------------------------
41
42 typedef  long int longInt;
43
44 class bbcreaVtk_EXPORT PointPicker
45  : 
46    public bbtk::AtomicBlackBox
47 {
48   BBTK_BLACK_BOX_INTERFACE(PointPicker,bbtk::AtomicBlackBox);
49 //===== 
50 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
51 //===== 
52   BBTK_DECLARE_INPUT(Active,bool);
53   BBTK_DECLARE_INPUT(TypeEvent,int );
54   BBTK_DECLARE_INPUT(Renderer,vtkRenderer*);
55   BBTK_DECLARE_OUTPUT(Point,std::vector<double>);
56   BBTK_DECLARE_OUTPUT(Mesh,vtkProp3D*);
57   BBTK_DECLARE_OUTPUT(PointId,longInt);
58   BBTK_DECLARE_OUTPUT(CellId,longInt);
59   BBTK_PROCESS(Process);
60   void Process();
61
62   bool firsttime;
63   creaVtkCallbackPointPicker *callPicker;
64   
65 //===== 
66 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
67 //===== 
68 };
69
70 BBTK_BEGIN_DESCRIBE_BLACK_BOX(PointPicker,bbtk::AtomicBlackBox);
71   BBTK_NAME("PointPicker");
72   BBTK_AUTHOR("InfoDev");
73   BBTK_DESCRIPTION("No Description.");
74   BBTK_CATEGORY("empty");
75
76   BBTK_INPUT(PointPicker,Active,"(true default)  true/false",bool,"");
77   BBTK_INPUT(PointPicker,TypeEvent,"(0 default) 0:NOTHING,  1:MouseMoveEvent  2:LeftButtonPressEvent  3:LeftButtonDoubleClickEvent",int,"");
78   BBTK_INPUT(PointPicker,Renderer,"vtk Renderer",vtkRenderer*,"");
79
80   BBTK_OUTPUT(PointPicker,Point,"Point (double)",std::vector<double>,"");
81   BBTK_OUTPUT(PointPicker,Mesh,"Mesh",vtkProp3D*,"");
82   BBTK_OUTPUT(PointPicker,PointId,"Point Id in Mesh",longInt,"");
83   BBTK_OUTPUT(PointPicker,CellId,"Cell Id in Mesh",longInt,"");
84
85 BBTK_END_DESCRIBE_BLACK_BOX(PointPicker);
86 //===== 
87 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
88 //===== 
89 }
90 // EO namespace bbcreaVtk
91
92 #endif // __bbcreaVtkPointPicker_h_INCLUDED__
93