vtkScenePicker Class Reference

#include <vtkScenePicker.h>

Inheritance diagram for vtkScenePicker:

Inheritance graph
[legend]
Collaboration diagram for vtkScenePicker:

Collaboration graph
[legend]

List of all members.


Detailed Description

Picks an entire viewport at one shot.

The Scene picker, unline conventional pickers picks an entire viewport at one shot and caches the result, which can be retrieved later. The utility of the class arises during Actor Selection. Let's say you have a couple of polygonal objects in your scene and you wish to have a status bar that indicates the object your mouse is over. Picking repeatedly every time your mouse moves would be very slow. The scene picker automatically picks your viewport every time the camera is changed and caches the information. Additionally, it observes the vtkRenderWindowInteractor to avoid picking during interaction, so that you still maintain your interactivity. In effect, the picker does an additional pick-render of your scene every time you stop interacting with your scene. As an example, see Rendering/TestScenePicker.

Warning:
  • Unlike a vtkHoverWidget, this class is not timer based. The hover widget picks a scene when the mouse is over an actor for a specified duration.
  • This class uses a vtkVisibleCellSelector under the hood. Hence, it will work only for actors that have opaque geomerty and are rendered by a vtkPolyDataMapper.
See also:
vtkHoverWidget vtkVisibleCellSelector
Tests:
vtkScenePicker (Tests)

Definition at line 56 of file vtkScenePicker.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)
vtkIdType GetCellId (int displayPos[2])
vtkIdType GetVertexId (int displayPos[2])
vtkPropGetViewProp (int displayPos[2])
virtual void SetRenderer (vtkRenderer *)
virtual vtkRendererGetRenderer ()
virtual void SetEnableVertexPicking (int)
virtual int GetEnableVertexPicking ()
virtual void EnableVertexPickingOn ()
virtual void EnableVertexPickingOff ()

Static Public Member Functions

static vtkScenePickerNew ()
static int IsTypeOf (const char *type)
static vtkScenePickerSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkScenePicker ()
 ~vtkScenePicker ()
void PickRender ()
void PickRender (int x0, int y0, int x1, int y1)
void Update (int displayPos[2])
void SetInteractor (vtkRenderWindowInteractor *)

Protected Attributes

int EnableVertexPicking
vtkVisibleCellSelectorVisibleCellSelector
vtkRendererRenderer
vtkRenderWindowInteractorInteractor
vtkIdType VertId
vtkIdType CellId
vtkPropProp
bool NeedToUpdate
bool FirstTime
int LastQueriedDisplayPos [2]
vtkScenePickerSelectionRenderCommand * SelectionRenderCommand

Friends

class vtkRenderer
class vtkScenePickerSelectionRenderCommand

Member Typedef Documentation

Reimplemented from vtkObject.

Definition at line 64 of file vtkScenePicker.h.


Constructor & Destructor Documentation

vtkScenePicker::vtkScenePicker (  )  [protected]

vtkScenePicker::~vtkScenePicker (  )  [protected]


Member Function Documentation

static vtkScenePicker* vtkScenePicker::New (  )  [static]

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

virtual const char* vtkScenePicker::GetClassName (  )  [virtual]

Reimplemented from vtkObject.

static int vtkScenePicker::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.

virtual int vtkScenePicker::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.

static vtkScenePicker* vtkScenePicker::SafeDownCast ( vtkObject o  )  [static]

Reimplemented from vtkObject.

void vtkScenePicker::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.

virtual void vtkScenePicker::SetRenderer ( vtkRenderer  )  [virtual]

Set the renderer. Scene picks are restricted to the viewport.

virtual vtkRenderer* vtkScenePicker::GetRenderer (  )  [virtual]

Set the renderer. Scene picks are restricted to the viewport.

vtkIdType vtkScenePicker::GetCellId ( int  displayPos[2]  ) 

Get cell id at the pick position. Returns -1 if no cell was picked. Makes sense only after Pick has been called.

vtkIdType vtkScenePicker::GetVertexId ( int  displayPos[2]  ) 

Get cell id at the pick position. Returns -1 if no cell was picked. Makes sense only after Pick has been called.

vtkProp* vtkScenePicker::GetViewProp ( int  displayPos[2]  ) 

Get actor at the pick position. Returns NULL if none. Makes sense only after Pick has been called.

virtual void vtkScenePicker::SetEnableVertexPicking ( int   )  [virtual]

Vertex picking (using the method GetVertexId()), required additional resources and can slow down still render time by 5-10%. Enabled by default.

virtual int vtkScenePicker::GetEnableVertexPicking (  )  [virtual]

Vertex picking (using the method GetVertexId()), required additional resources and can slow down still render time by 5-10%. Enabled by default.

virtual void vtkScenePicker::EnableVertexPickingOn (  )  [virtual]

Vertex picking (using the method GetVertexId()), required additional resources and can slow down still render time by 5-10%. Enabled by default.

virtual void vtkScenePicker::EnableVertexPickingOff (  )  [virtual]

Vertex picking (using the method GetVertexId()), required additional resources and can slow down still render time by 5-10%. Enabled by default.

void vtkScenePicker::PickRender (  )  [protected]

void vtkScenePicker::PickRender ( int  x0,
int  y0,
int  x1,
int  y1 
) [protected]

void vtkScenePicker::Update ( int  displayPos[2]  )  [protected]

void vtkScenePicker::SetInteractor ( vtkRenderWindowInteractor  )  [protected]


Friends And Related Function Documentation

friend class vtkRenderer [friend]

Definition at line 59 of file vtkScenePicker.h.

friend class vtkScenePickerSelectionRenderCommand [friend]

Definition at line 60 of file vtkScenePicker.h.


Member Data Documentation

Definition at line 113 of file vtkScenePicker.h.

Definition at line 114 of file vtkScenePicker.h.

Definition at line 115 of file vtkScenePicker.h.

Definition at line 116 of file vtkScenePicker.h.

Definition at line 117 of file vtkScenePicker.h.

Definition at line 118 of file vtkScenePicker.h.

Definition at line 119 of file vtkScenePicker.h.

bool vtkScenePicker::NeedToUpdate [protected]

Definition at line 120 of file vtkScenePicker.h.

bool vtkScenePicker::FirstTime [protected]

Definition at line 121 of file vtkScenePicker.h.

Definition at line 122 of file vtkScenePicker.h.

vtkScenePickerSelectionRenderCommand* vtkScenePicker::SelectionRenderCommand [protected]

Definition at line 123 of file vtkScenePicker.h.


The documentation for this class was generated from the following file:

Generated on Sat Dec 27 13:48:45 2008 for VTK by  doxygen 1.5.6