]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkPointPicker.cxx
#3150 PointPicker box
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkPointPicker.cxx
index 5bb82f5d54abba853cef4936adf50b61e39905dc..69c4c02eb71c54d4044dbec818573c41f26b4271 100644 (file)
@@ -14,12 +14,12 @@ namespace bbcreaVtk
 
 creaVtkCallbackPointPicker::creaVtkCallbackPointPicker(void)
 {
-       boxPointPicker=NULL;
+       boxPointPicker = NULL;
 }
 
 void creaVtkCallbackPointPicker::setBox(PointPicker *box)
 {
-       boxPointPicker=box;
+       boxPointPicker = box;
 }
 
 void creaVtkCallbackPointPicker::Execute(vtkObject *caller, unsigned long, void*)
@@ -28,17 +28,24 @@ void creaVtkCallbackPointPicker::Execute(vtkObject *caller, unsigned long, void*
        {
                if (boxPointPicker->bbGetInputActive()==true)
                {
-                       printf("creaVtkCallbackPointPicker EED Picker\n");
+//                     printf("creaVtkCallbackPointPicker EED Picker\n");
                        vtkRenderWindowInteractor *iren = static_cast<vtkRenderWindowInteractor*>(caller);
                        int* pos = iren->GetEventPosition();
                    vtkCellPicker *picker = vtkCellPicker::New();
                    picker->SetTolerance(0.0005);
+                   
+                   if (boxPointPicker->bbGetInputProp3D()!=NULL ) 
+                   {
+                       picker->AddPickList( boxPointPicker->bbGetInputProp3D() );
+                       picker->PickFromListOn();
+                       }                   
+                   
                    picker->Pick(pos[0], pos[1], 0, iren->GetRenderWindow()->GetRenderers()->GetFirstRenderer() );
                        double point[3];
 
                        if(picker->GetCellId() != -1)
                    {
-                               printf("creaVtkCallbackPointPicker EED picker OK\n");
+//                             printf("creaVtkCallbackPointPicker EED picker OK\n");
                                picker->GetPickPosition(point);
                                std::vector<double> vecPoint;
                                vecPoint.push_back( point[0] );
@@ -50,7 +57,7 @@ void creaVtkCallbackPointPicker::Execute(vtkObject *caller, unsigned long, void*
                                        boxPointPicker->bbSetOutputCellId( picker->GetCellId() );
                                        boxPointPicker->bbSignalOutputModification();
                        } else {
-                               printf("creaVtkCallbackPointPicker EED picker --\n");
+//                             printf("creaVtkCallbackPointPicker EED picker --\n");
                        } // if
                }
        } // if boxPoiintPicker
@@ -217,6 +224,7 @@ void PointPicker::bbUserSetDefaultValues()
        bbSetOutputCellId(-1);
        firsttime=true;
        callPicker=NULL;
+       bbSetInputProp3D(NULL);
 }
 //===== 
 // 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)