- printf("creaVtkCallbackPointPicker EED Picker\n");
- vtkRenderWindowInteractor *iren = static_cast<vtkRenderWindowInteractor*>(caller);
-
- int* pos = iren->GetEventPosition();
- vtkCellPicker *picker = vtkCellPicker::New();
- picker->SetTolerance(0.0005);
- picker->Pick(pos[0], pos[1], 0, iren->GetRenderWindow()->GetRenderers()->GetFirstRenderer() );
-
- if(picker->GetCellId() != -1)
- {
- printf("creaVtkCallbackPointPicker EED picker OK\n");
- } else {
- printf("creaVtkCallbackPointPicker EED picker --\n");
- } // if
-
+ if (boxPointPicker!=NULL)
+ {
+ if (boxPointPicker->bbGetInputActive()==true)
+ {
+// printf("creaVtkCallbackPointPicker EED Picker\n");
+ vtkRenderWindowInteractor *iren = static_cast<vtkRenderWindowInteractor*>(caller);
+ int* pos = iren->GetEventPosition();
+ vtkCellPicker *picker = vtkCellPicker::New();
+ picker->SetTolerance(0.0005);
+ picker->Pick(pos[0], pos[1], 0, iren->GetRenderWindow()->GetRenderers()->GetFirstRenderer() );
+ double point[3];
+
+ if(picker->GetCellId() != -1)
+ {
+// printf("creaVtkCallbackPointPicker EED picker OK\n");
+ picker->GetPickPosition(point);
+ std::vector<double> vecPoint;
+ vecPoint.push_back( point[0] );
+ vecPoint.push_back( point[1] );
+ vecPoint.push_back( point[2] );
+ boxPointPicker->bbSetOutputPoint( vecPoint );
+ boxPointPicker->bbSetOutputMesh( picker->GetProp3D() );
+ boxPointPicker->bbSetOutputPointId( picker->GetPointId() );
+ boxPointPicker->bbSetOutputCellId( picker->GetCellId() );
+ boxPointPicker->bbSignalOutputModification();
+ } else {
+// printf("creaVtkCallbackPointPicker EED picker --\n");
+ } // if
+ }
+ } // if boxPoiintPicker