[vtkusers] Pick points and cells at one time ?
de Boer Ingo
I.deBoer at polytec.de
Wed Jun 2 03:22:11 EDT 2004
Okay, I'll try that.. Thanks !!
greets
Ingo
---
Dr.-Ing. Ingo H. de Boer
Polytec GmbH
Polytec-Platz 1-7, 76337 Waldbronn, Germany
phone: ++49 7243 604 106
fax : ++49 7243 604 255
> Here is a proposal that works fine for me:
>
> 1.
> To be able to rapidly pick world coordinates on 3D and 2D actors I use
> vtkPropPicker as default picker for my interactor:
>
> ...
> vtkPropPicker *pPropPicker = vtkPropPicker::New();
> vtkCallbackCommand *PickCallBackCommand = vtkCallbackCommand::New();
> PickCallBackCommand->SetCallback(MyVtkView::PickCallBack);
> pPropPicker->AddObserver(vtkCommand::EndPickEvent,
> PickCallBackCommand);
> MyVtkInteractor->SetPicker(pPropPicker);
> ...
>
> 2.
> When picking occurs, in my callback function I then pick again
> with new pickers to get the ids of the picked cell or point:
>
> vtkPropPicker *pPicker = (vtkPropPicker *)
> MyVtkInteractor->GetPicker();
> ...
> vtkCellPicker *pCellPicker = vtkCellPicker::New();
> pCellPicker->Pick(pPicker->GetSelectionPoint(), MyVtkRenderer);
> vtkIdType lCellId = pCellPicker->GetCellId();
> ...
> vtkPointPicker *pPointPicker = vtkPointPicker::New();
> pPointPicker->Pick(pPicker->GetSelectionPoint(), MyVtkRenderer);
> vtkIdType lPointId = pPointPicker->GetCellId();
> ...
>
> Maybe this helps.
>
>
More information about the vtkusers
mailing list