MITK currently only supports point picking. For more sophisticated 3D
interactions, picking of objects (as represented by VTK) is required.
A basic interface should be implemented which allows for picking of vtkProp
objects and retrieval of the associated mitk::DataTreeNode / mitk::BaseData
objects.
CAUSE OF THE BUG
Feature request.
PROPOSED SOLUTION
To enable picking of vtkProp objects, mitk::BaseRenderer, mitk::VtkPropRenderer and mitk::DisplayPositionEvent, which already provide a basic interface for point picking, need to be changed. Furthermore, the mitk::Mapper hierarchy should be extended with a method HasVtkProp() which returns true for Mapper instances which own the specified vtkProp object. Consequently, by transversing all active (3D) mappers, the mitk::DataTreeNode corresponding to the given vtkProp can be identified.
AFFECTED CLASSES
* mitk::BaserEnderer
* mitk::VtkPropRenderer
* mitk::DisplayPositionEvent
* mitk::Mapper
* mitk::SurfaceVtkMapper3D (as an example implementation for vtkProp retrieval; should later on be implemented for other mappers as well if the need arises)
HOW WILL THE BUGFIX GET TESTED?
Testing of the new behavior should be added to mitkVtkPropRendererTest.