VTK
|
#include <vtkPickingManager.h>
Class defines API to manage the picking process.
The Picking Manager (PM) coordinates picking across widgets simultaneously. It maintains a collection of registered pickers; when the manager is picked (e.g. vtkPickingManager::Pick()), a pick is run on each picker but only the best picker (e.g. closest to camera point) is selected. It finally returns the widget/representation or picker that was selected.
Definition at line 84 of file vtkPickingManager.h.
Reimplemented from vtkObject.
Definition at line 88 of file vtkPickingManager.h.
vtkPickingManager::vtkPickingManager | ( | ) | [protected] |
vtkPickingManager::~vtkPickingManager | ( | ) | [protected] |
static vtkPickingManager* vtkPickingManager::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkObject.
static int vtkPickingManager::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObject.
virtual int vtkPickingManager::IsA | ( | const char * | name | ) | [virtual] |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObject.
static vtkPickingManager* vtkPickingManager::SafeDownCast | ( | vtkObjectBase * | o | ) | [static] |
Reimplemented from vtkObject.
virtual vtkObjectBase* vtkPickingManager::NewInstanceInternal | ( | ) | const [protected, virtual] |
Reimplemented from vtkObject.
vtkPickingManager* vtkPickingManager::NewInstance | ( | ) | const |
Reimplemented from vtkObject.
void vtkPickingManager::PrintSelf | ( | ostream & | os, |
vtkIndent | indent | ||
) | [virtual] |
virtual void vtkPickingManager::EnabledOn | ( | ) | [virtual] |
Enable/Disable management. When disabled, it redirects every pick on the picker. By default the picking manager is disabled when initialized.
virtual void vtkPickingManager::EnabledOff | ( | ) | [virtual] |
Enable/Disable management. When disabled, it redirects every pick on the picker. By default the picking manager is disabled when initialized.
virtual void vtkPickingManager::SetEnabled | ( | bool | ) | [virtual] |
Enable/Disable management. When disabled, it redirects every pick on the picker. By default the picking manager is disabled when initialized.
virtual bool vtkPickingManager::GetEnabled | ( | ) | [virtual] |
Enable/Disable management. When disabled, it redirects every pick on the picker. By default the picking manager is disabled when initialized.
void vtkPickingManager::SetOptimizeOnInteractorEvents | ( | bool | optimize | ) |
Enable/Disable optimization depending on the renderWindowInteractor events. The mechanism keeps in cache the last selected picker as well as the last render time to recompute the selection only if a new render event occurred after the last selection; otherwise, it simply returns the last picker selected. By default pickingManagers does use the optimization. Warning: Turning off the caching significantly decreases performance.
virtual bool vtkPickingManager::GetOptimizeOnInteractorEvents | ( | ) | [virtual] |
Enable/Disable optimization depending on the renderWindowInteractor events. The mechanism keeps in cache the last selected picker as well as the last render time to recompute the selection only if a new render event occurred after the last selection; otherwise, it simply returns the last picker selected. By default pickingManagers does use the optimization. Warning: Turning off the caching significantly decreases performance.
void vtkPickingManager::SetInteractor | ( | vtkRenderWindowInteractor * | iren | ) |
Set the window interactor associated with the manager.
virtual vtkRenderWindowInteractor* vtkPickingManager::GetInteractor | ( | ) | [virtual] |
Set the window interactor associated with the manager.
void vtkPickingManager::AddPicker | ( | vtkAbstractPicker * | picker, |
vtkObject * | object = 0 |
||
) |
Register a picker into the picking manager. It can be internally associated (optional) with an object. This allows the removal of all the pickers of the given object. Note that a picker can be registered multiple times with different objects.
void vtkPickingManager::RemovePicker | ( | vtkAbstractPicker * | picker, |
vtkObject * | object = 0 |
||
) |
Unregister the picker from the picking manager. If object is non null, only the pair (picker, object) is removed.
void vtkPickingManager::RemoveObject | ( | vtkObject * | object | ) |
Remove all occurences of the object from the registered list. If a picker associated with the object is not also associated with any other object, it is removed from the list as well.
bool vtkPickingManager::Pick | ( | vtkAbstractPicker * | picker, |
vtkObject * | object | ||
) |
Run the picking selection process and return true if the object is associated with the given picker if it is the best one, false otherwise. If OptimizeOnInteractorEvents is true, the pick can reuse cached information.
bool vtkPickingManager::Pick | ( | vtkObject * | object | ) |
Run the picking selection process and return true if the object is associated with the best picker. This is an overloaded function.
bool vtkPickingManager::Pick | ( | vtkAbstractPicker * | picker | ) |
Run the picking selection process and return if picker is the one selected. This is an overloaded function.
vtkAssemblyPath* vtkPickingManager::GetAssemblyPath | ( | double | X, |
double | Y, | ||
double | Z, | ||
vtkAbstractPropPicker * | picker, | ||
vtkRenderer * | renderer, | ||
vtkObject * | obj | ||
) |
If the picking manager is enabled, it runs the picking selection process and return the assembly path associated to the picker passed as argument if it is the one mediated. Otherwise it simply proceeds to a pick using the given renderer and returns the corresponding assembly path.
Return the number of pickers registered. If the same picker is added multiple times with different objects, it is counted once.
Return the number of objects linked with a given picker. Note: a null object is counted as an associated object.
vtkRenderWindowInteractor* vtkPickingManager::Interactor [protected] |
Definition at line 173 of file vtkPickingManager.h.
bool vtkPickingManager::Enabled [protected] |
Definition at line 174 of file vtkPickingManager.h.
bool vtkPickingManager::OptimizeOnInteractorEvents [protected] |
Definition at line 175 of file vtkPickingManager.h.