| View Issue Details [ Jump to Notes ] | [ Print ] |
| ID | Project | Category | View Status | Date Submitted | Last Update |
| 0007096 | VTK | (No Category) | public | 2008-05-25 16:15 | 2016-08-12 09:54 |
|
| Reporter | Sam Preston | |
| Assigned To | Kitware Robot | |
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | moved | |
| Platform | | OS | | OS Version | |
| Product Version | | |
| Target Version | | Fixed in Version | | |
|
| Summary | 0007096: vtkPropPicker does not report correct GetPickPosition when using PickList |
| Description | vtkPropPicker uses the WorldPointPicker to find the pick location returned by GetPickPosition. However, if a pick list is used to select from a subset of actors in the scene, vtkPropPicker::GetPickPosition will return the hit point of *any* actor in the currently rendered scene. vtkWorldPointPicker uses vtkRenderer::GetZ(...) in it's Pick method, while vtkPropPicker should use vtkViewport::GetPickedZ() to get the Z location of the picked point, not the Z value of any rendered geometry in the current scene. |
| Additional Information | I've attached a test program that shows the problem. There is a red sphere and a blue sphere in the scene. A vtkPropPicker is used to perform picking. A pick list is used such that only the red sphere should be pickable. If the red sphere is picked, a small green sphere is drawn at the pick point. If the red sphere is behind the blue sphere, the red sphere will be picked but the green sphere will be drawn at the intersection with the blue sphere.
I've also included a patch to fix this which moves the functionality for converting from screen space to world space to a protected function in vtkAbstractPicker, and has both vtkWorldPointPicker and vtkPropPicker call this function. |
| Tags | No tags attached. |
|
| Project | |
| Type | |
|
| Attached Files | vtkPropPickerData.tgz [^] (2,931 bytes) 2008-05-25 16:15 |
|