|
virtual int | IsA (const char *type) |
|
vtkAbstractPropPicker * | NewInstance () const |
|
void | PrintSelf (ostream &os, vtkIndent indent) |
|
virtual vtkProp * | GetViewProp () |
|
virtual vtkProp3D * | GetProp3D () |
|
virtual vtkActor * | GetActor () |
|
virtual vtkActor2D * | GetActor2D () |
|
virtual vtkVolume * | GetVolume () |
|
virtual vtkAssembly * | GetAssembly () |
|
virtual vtkPropAssembly * | GetPropAssembly () |
|
|
virtual void | SetPath (vtkAssemblyPath *) |
|
virtual vtkAssemblyPath * | GetPath () |
|
vtkAbstractPicker * | NewInstance () const |
|
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 () |
|
vtkObject * | NewInstance () const |
|
virtual void | DebugOn () |
|
virtual void | DebugOff () |
|
bool | GetDebug () |
|
void | SetDebug (bool debugFlag) |
|
virtual void | Modified () |
|
virtual unsigned long | GetMTime () |
|
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
|
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
|
vtkCommand * | GetCommand (unsigned long tag) |
|
void | RemoveObserver (vtkCommand *) |
|
void | RemoveObservers (unsigned long event, vtkCommand *) |
|
void | RemoveObservers (const char *event, vtkCommand *) |
|
int | HasObserver (unsigned long event, vtkCommand *) |
|
int | HasObserver (const char *event, vtkCommand *) |
|
void | RemoveObserver (unsigned long tag) |
|
void | RemoveObservers (unsigned long event) |
|
void | RemoveObservers (const char *event) |
|
void | RemoveAllObservers () |
|
int | HasObserver (unsigned long event) |
|
int | HasObserver (const char *event) |
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
|
int | InvokeEvent (unsigned long event, void *callData) |
|
int | InvokeEvent (const char *event, void *callData) |
|
int | InvokeEvent (unsigned long event) |
|
int | InvokeEvent (const char *event) |
|
const char * | GetClassName () const |
|
virtual void | Delete () |
|
virtual void | FastDelete () |
|
void | Print (ostream &os) |
|
virtual void | Register (vtkObjectBase *o) |
|
virtual void | UnRegister (vtkObjectBase *o) |
|
void | SetReferenceCount (int) |
|
void | PrintRevisions (ostream &) |
|
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
|
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
|
int | GetReferenceCount () |
|
abstract API for pickers that can pick an instance of vtkProp
vtkAbstractPropPicker is an abstract superclass for pickers that can pick an instance of vtkProp. Some pickers, like vtkWorldPointPicker (not a subclass of this class), cannot identify the prop that is picked. Subclasses of vtkAbstractPropPicker return a prop in the form of a vtkAssemblyPath when a pick is invoked. Note that an vtkAssemblyPath contain a list of vtkAssemblyNodes, each of which in turn contains a reference to a vtkProp and a 4x4 transformation matrix. The path fully describes the entire pick path, so you can pick assemblies or portions of assemblies, or just grab the tail end of the vtkAssemblyPath (which is the picked prop).
- Warning
- Because a vtkProp can be placed into different assemblies, or even in different leaf positions of the same assembly, the vtkAssemblyPath is used to fully qualify exactly which use of the vtkProp was picked, including its position (since vtkAssemblyPath includes a transformation matrix per node).
-
The class returns information about picked actors, props, etc. Note that what is returned by these methods is the top level of the assembly path. This can cause a lot of confusion! For example, if you pick a vtkAssembly, and the returned vtkAssemblyPath has as a leaf a vtkActor, then if you invoke GetActor(), you will get NULL, even though an actor was indeed picked. (GetAssembly() will return something.) Note that the safest thing to do is to do a GetViewProp(), which will always return something if something was picked. A better way to manage picking is to work with vtkAssemblyPath, since this completely defines the pick path from top to bottom in a assembly hierarchy, and avoids confusion when the same prop is used in different assemblies.
-
The returned assembly paths refer to assembly nodes that in turn refer to vtkProp and vtkMatrix. This association to vtkProp is not a reference counted association, meaning that dangling references are possible if you do a pick, get an assembly path, and then delete a vtkProp. (Reason: assembly paths create many self-referencing loops that destroy reference counting.)
- See also
- vtkPropPicker vtkPicker vtkWorldPointPicker vtkCellPicker vtkPointPicker vtkAssemblyPath vtkAssemblyNode vtkAssemblyPaths vtkAbstractPicker vtkRenderer
Definition at line 78 of file vtkAbstractPropPicker.h.