#include <vtkAbstractPicker.h>
vtkAbstractPicker is an abstract superclass that defines a minimal API for its concrete subclasses. The minimum functionality of a picker is to return the x-y-z global coordinate position of a pick (the pick itself is defined in display coordinates).
The API to this class is to invoke the Pick() method with a selection point (in display coordinates - pixels) and a renderer. Then get the resulting pick position in global coordinates with the GetPickPosition() method.
vtkPicker fires events during the picking process. These events are StartPickEvent, PickEvent, and EndPickEvent which are invoked prior to picking, when something is picked, and after all picking candidates have been tested. Note that during the pick process the PickEvent of vtkProp (and its subclasses such as vtkActor) is fired prior to the PickEvent of vtkPicker.
There are two classes of pickers: those that pick using geometric methods (typically a ray cast); and those that use rendering hardware. Geometric methods return more information but are slower. Hardware methods are much faster and return minimal information. Examples of geometric pickers include vtkPicker, vtkCellPicker, and vtkPointPicker. Examples of hardware pickers include vtkWorldPointPicker and vtkPropPicker.
Definition at line 66 of file vtkAbstractPicker.h.
Public Types | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
void | InitializePickList () |
void | AddPickList (vtkProp *) |
void | DeletePickList (vtkProp *) |
vtkPropCollection * | GetPickList () |
virtual vtkRenderer * | GetRenderer () |
virtual double * | GetSelectionPoint () |
virtual void | GetSelectionPoint (double data[3]) |
virtual double * | GetPickPosition () |
virtual void | GetPickPosition (double data[3]) |
virtual int | Pick (double selectionX, double selectionY, double selectionZ, vtkRenderer *renderer)=0 |
int | Pick (double selectionPt[3], vtkRenderer *ren) |
virtual void | SetPickFromList (int) |
virtual int | GetPickFromList () |
virtual void | PickFromListOn () |
virtual void | PickFromListOff () |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkAbstractPicker * | SafeDownCast (vtkObject *o) |
Protected Member Functions | |
vtkAbstractPicker () | |
~vtkAbstractPicker () | |
virtual void | Initialize () |
Protected Attributes | |
vtkRenderer * | Renderer |
double | SelectionPoint [3] |
double | PickPosition [3] |
int | PickFromList |
vtkPropCollection * | PickList |
Reimplemented from vtkObject.
Reimplemented in vtkAbstractPropPicker, vtkAreaPicker, vtkCellPicker, vtkPicker, vtkPointPicker, vtkPropPicker, vtkRenderedAreaPicker, and vtkWorldPointPicker.
Definition at line 69 of file vtkAbstractPicker.h.
vtkAbstractPicker::vtkAbstractPicker | ( | ) | [protected] |
vtkAbstractPicker::~vtkAbstractPicker | ( | ) | [protected] |
virtual const char* vtkAbstractPicker::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkObject.
Reimplemented in vtkAbstractPropPicker, vtkAreaPicker, vtkCellPicker, vtkPicker, vtkPointPicker, vtkPropPicker, vtkRenderedAreaPicker, and vtkWorldPointPicker.
static int vtkAbstractPicker::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 vtkTypeRevisionMacro found in vtkSetGet.h.
Reimplemented from vtkObject.
Reimplemented in vtkAbstractPropPicker, vtkAreaPicker, vtkCellPicker, vtkPicker, vtkPointPicker, vtkPropPicker, vtkRenderedAreaPicker, and vtkWorldPointPicker.
virtual int vtkAbstractPicker::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 vtkTypeRevisionMacro found in vtkSetGet.h.
Reimplemented from vtkObject.
Reimplemented in vtkAbstractPropPicker, vtkAreaPicker, vtkCellPicker, vtkPicker, vtkPointPicker, vtkPropPicker, vtkRenderedAreaPicker, and vtkWorldPointPicker.
static vtkAbstractPicker* vtkAbstractPicker::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkObject.
Reimplemented in vtkAbstractPropPicker, vtkAreaPicker, vtkCellPicker, vtkPicker, vtkPointPicker, vtkPropPicker, vtkRenderedAreaPicker, and vtkWorldPointPicker.
void vtkAbstractPicker::PrintSelf | ( | ostream & | os, | |
vtkIndent | indent | |||
) | [virtual] |
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkObject.
Reimplemented in vtkAbstractPropPicker, vtkAreaPicker, vtkCellPicker, vtkPicker, vtkPointPicker, vtkPropPicker, vtkRenderedAreaPicker, and vtkWorldPointPicker.
virtual vtkRenderer* vtkAbstractPicker::GetRenderer | ( | ) | [virtual] |
Get the renderer in which pick event occurred.
virtual double* vtkAbstractPicker::GetSelectionPoint | ( | ) | [virtual] |
Get the selection point in screen (pixel) coordinates. The third value is related to z-buffer depth. (Normally should be =0.)
virtual void vtkAbstractPicker::GetSelectionPoint | ( | double | data[3] | ) | [virtual] |
Get the selection point in screen (pixel) coordinates. The third value is related to z-buffer depth. (Normally should be =0.)
virtual double* vtkAbstractPicker::GetPickPosition | ( | ) | [virtual] |
Return position in global coordinates of pick point.
virtual void vtkAbstractPicker::GetPickPosition | ( | double | data[3] | ) | [virtual] |
Return position in global coordinates of pick point.
virtual int vtkAbstractPicker::Pick | ( | double | selectionX, | |
double | selectionY, | |||
double | selectionZ, | |||
vtkRenderer * | renderer | |||
) | [pure virtual] |
Perform pick operation with selection point provided. Normally the first two values for the selection point are x-y pixel coordinate, and the third value is =0. Return non-zero if something was successfully picked.
Implemented in vtkPicker, vtkPropPicker, and vtkWorldPointPicker.
int vtkAbstractPicker::Pick | ( | double | selectionPt[3], | |
vtkRenderer * | ren | |||
) | [inline] |
provided. Normally the first two values for the selection point are x-y pixel coordinate, and the third value is =0. Return non-zero if something was successfully picked.
Reimplemented in vtkPicker, vtkPropPicker, and vtkWorldPointPicker.
Definition at line 101 of file vtkAbstractPicker.h.
virtual void vtkAbstractPicker::SetPickFromList | ( | int | ) | [virtual] |
Use these methods to control whether to limit the picking to this list (rather than renderer's actors). Make sure that the pick list contains actors that referred to by the picker's renderer.
virtual int vtkAbstractPicker::GetPickFromList | ( | ) | [virtual] |
Use these methods to control whether to limit the picking to this list (rather than renderer's actors). Make sure that the pick list contains actors that referred to by the picker's renderer.
virtual void vtkAbstractPicker::PickFromListOn | ( | ) | [virtual] |
Use these methods to control whether to limit the picking to this list (rather than renderer's actors). Make sure that the pick list contains actors that referred to by the picker's renderer.
virtual void vtkAbstractPicker::PickFromListOff | ( | ) | [virtual] |
Use these methods to control whether to limit the picking to this list (rather than renderer's actors). Make sure that the pick list contains actors that referred to by the picker's renderer.
void vtkAbstractPicker::InitializePickList | ( | ) |
Initialize list of actors in pick list.
void vtkAbstractPicker::AddPickList | ( | vtkProp * | ) |
Add an actor to the pick list.
void vtkAbstractPicker::DeletePickList | ( | vtkProp * | ) |
Delete an actor from the pick list.
vtkPropCollection* vtkAbstractPicker::GetPickList | ( | ) | [inline] |
Return the list of actors in the PickList.
Definition at line 124 of file vtkAbstractPicker.h.
virtual void vtkAbstractPicker::Initialize | ( | ) | [protected, virtual] |
Reimplemented in vtkAbstractPropPicker, vtkAreaPicker, vtkCellPicker, vtkPicker, vtkPointPicker, and vtkPropPicker.
vtkRenderer* vtkAbstractPicker::Renderer [protected] |
Definition at line 132 of file vtkAbstractPicker.h.
double vtkAbstractPicker::SelectionPoint[3] [protected] |
Definition at line 133 of file vtkAbstractPicker.h.
double vtkAbstractPicker::PickPosition[3] [protected] |
Definition at line 134 of file vtkAbstractPicker.h.
int vtkAbstractPicker::PickFromList [protected] |
Definition at line 137 of file vtkAbstractPicker.h.
vtkPropCollection* vtkAbstractPicker::PickList [protected] |
Definition at line 138 of file vtkAbstractPicker.h.