]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkPointPicker.h
#3483 PlaneWidget_Base Box
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkPointPicker.h
index 804309f09e400a12d7ab94e8e9be0b6373e800ba..d82c23d796f646054aa0534db37dddcc5bb46263 100644 (file)
@@ -9,18 +9,28 @@
 
 #include "vtkCommand.h"
 #include "vtkRenderer.h"
+#include "vtkProp3D.h"
+#include <vtkRenderWindowInteractor.h>
+
 
 namespace bbcreaVtk
 {
 
+class PointPicker;
 
 //---------------------------------------------
 class creaVtkCallbackPointPicker : public vtkCommand
 {
+       
        public:
+               creaVtkCallbackPointPicker();
+               
                static creaVtkCallbackPointPicker *New() { return new creaVtkCallbackPointPicker; }
                void Delete() { delete this; }
                virtual void Execute(vtkObject *caller, unsigned long, void*);
+               void setBox(PointPicker *box);
+       private:
+               PointPicker *boxPointPicker;            
                
 };
 
@@ -29,6 +39,7 @@ class creaVtkCallbackPointPicker : public vtkCommand
 //---------------------------------------------
 //---------------------------------------------
 
+typedef  long int longInt;
 
 class bbcreaVtk_EXPORT PointPicker
  : 
@@ -38,24 +49,47 @@ class bbcreaVtk_EXPORT PointPicker
 //===== 
 // 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)
 //===== 
-  BBTK_DECLARE_INPUT(Renderer,vtkRenderer*);
-  BBTK_DECLARE_OUTPUT(Out,std::vector<double>);
-  BBTK_PROCESS(Process);
-  void Process();
+    BBTK_DECLARE_INPUT(Active,bool);
+    BBTK_DECLARE_INPUT(TypeEvent,int );
+    BBTK_DECLARE_INPUT(Renderer,vtkRenderer*);
+    BBTK_DECLARE_INPUT(Prop3D,vtkProp3D*);
+    BBTK_DECLARE_INPUT(DefaultPointId,longInt);
+    BBTK_DECLARE_INPUT(DefaultPoint,std::vector<double>);
+    BBTK_DECLARE_OUTPUT(Point,std::vector<double>);
+    BBTK_DECLARE_OUTPUT(Mesh,vtkProp3D*);
+    BBTK_DECLARE_OUTPUT(PointId,longInt);
+    BBTK_DECLARE_OUTPUT(CellId,longInt);
+    BBTK_DECLARE_OUTPUT(Normal,std::vector<double>);
+    BBTK_PROCESS(Process);
+    void Process();
 
-  bool firsttime;
+    bool firsttime;
+    creaVtkCallbackPointPicker *callPicker;
+  
 //===== 
 // 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)
 //===== 
 };
 
 BBTK_BEGIN_DESCRIBE_BLACK_BOX(PointPicker,bbtk::AtomicBlackBox);
-BBTK_NAME("PointPicker");
-BBTK_AUTHOR("InfoDev");
-BBTK_DESCRIPTION("No Description.");
-BBTK_CATEGORY("empty");
-BBTK_INPUT(PointPicker,Renderer,"vtk Renderer",vtkRenderer*,"");
-BBTK_OUTPUT(PointPicker,Out,"First output",std::vector<double>,"");
+    BBTK_NAME("PointPicker");
+    BBTK_AUTHOR("InfoDev");
+    BBTK_DESCRIPTION("No Description.");
+    BBTK_CATEGORY("empty");
+
+    BBTK_INPUT(PointPicker,Active,"(true default)  true/false",bool,"");
+    BBTK_INPUT(PointPicker,TypeEvent,"(0 default) 0:NOTHING,  1:MouseMoveEvent  2:LeftButtonPressEvent  3:LeftButtonDoubleClickEvent",int,"");
+    BBTK_INPUT(PointPicker,Renderer,"vtk Renderer",vtkRenderer*,"");
+    BBTK_INPUT(PointPicker,Prop3D,"vtkProp3D de reference. If this parameter is empty all actors in the render are used",vtkProp3D*,"");
+    BBTK_INPUT(PointPicker,DefaultPointId,"Default Point Id",longInt,"");
+    BBTK_INPUT(PointPicker,DefaultPoint,"Default Point",std::vector<double>,"");
+
+    BBTK_OUTPUT(PointPicker,Point,"Point [x,y,z])",std::vector<double>,"");
+    BBTK_OUTPUT(PointPicker,Mesh,"Mesh",vtkProp3D*,"");
+    BBTK_OUTPUT(PointPicker,PointId,"Mesh point Id",longInt,"");
+    BBTK_OUTPUT(PointPicker,CellId,"Mesh cell Id",longInt,"");
+    BBTK_OUTPUT(PointPicker,Normal,"Normal [nx,ny,nz]",std::vector<double>,"");
+
 BBTK_END_DESCRIBE_BLACK_BOX(PointPicker);
 //===== 
 // 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)