VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends
vtkScenePicker Class Reference

Picks an entire viewport at one shot. More...

#include <vtkScenePicker.h>

Inheritance diagram for vtkScenePicker:
Inheritance graph
[legend]
Collaboration diagram for vtkScenePicker:
Collaboration graph
[legend]

List of all members.

Public Types

typedef vtkObject Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkScenePickerNewInstance () const
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 (vtkObjectBase *o)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 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
vtkHardwareSelectorSelector
vtkRendererRenderer
vtkRenderWindowInteractorInteractor
vtkIdType VertId
vtkIdType CellId
vtkPropProp
bool NeedToUpdate
int LastQueriedDisplayPos [2]
vtkScenePickerSelectionRenderCommandSelectionRenderCommand
vtkTimeStamp PickRenderTime

Friends

class vtkRenderer
class vtkScenePickerSelectionRenderCommand

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 vtkHardwareSelector under the hood. Hence, it will work only for actors that have opaque geomerty and are rendered by a vtkPolyDataMapper.
See also:
vtkHoverWidget vtkHardwareSelector
Tests:
vtkScenePicker (Tests)

Definition at line 57 of file vtkScenePicker.h.


Member Typedef Documentation

Reimplemented from vtkObject.

Definition at line 65 of file vtkScenePicker.h.


Constructor & Destructor Documentation


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.

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 vtkTypeMacro 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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

Reimplemented from vtkObject.

virtual vtkObjectBase* vtkScenePicker::NewInstanceInternal ( ) const [protected, virtual]

Reimplemented from vtkObject.

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.

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

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

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.

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]

Friends And Related Function Documentation

friend class vtkRenderer [friend]

Definition at line 60 of file vtkScenePicker.h.

friend class vtkScenePickerSelectionRenderCommand [friend]

Definition at line 61 of file vtkScenePicker.h.


Member Data Documentation

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.

Definition at line 120 of file vtkScenePicker.h.

bool vtkScenePicker::NeedToUpdate [protected]

Definition at line 121 of file vtkScenePicker.h.

Definition at line 122 of file vtkScenePicker.h.

Definition at line 123 of file vtkScenePicker.h.

Definition at line 125 of file vtkScenePicker.h.


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