VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
vtkScenePicker Class Reference

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

#include <vtkScenePicker.h>

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

Public Types

typedef vtkObject Superclass
 
- Public Types inherited from vtkObject
typedef vtkObjectBase 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 ()
 
- Public Member Functions inherited from vtkObject
vtkObjectNewInstance () 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)
 
vtkCommandGetCommand (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)
 
- Public Member Functions inherited from vtkObjectBase
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 ()
 

Static Public Member Functions

static vtkScenePickerNew ()
 
static int IsTypeOf (const char *type)
 
static vtkScenePickerSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkObject
static int IsTypeOf (const char *type)
 
static vtkObjectSafeDownCast (vtkObjectBase *o)
 
static vtkObjectNew ()
 
static void BreakOnError ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static int IsTypeOf (const char *name)
 
static vtkObjectBaseNew ()
 

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 Member Functions inherited from vtkObject
 vtkObject ()
 
virtual ~vtkObject ()
 
virtual void RegisterInternal (vtkObjectBase *, int check)
 
virtual void UnRegisterInternal (vtkObjectBase *, int check)
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

int EnableVertexPicking
 
vtkHardwareSelectorSelector
 
vtkRendererRenderer
 
vtkRenderWindowInteractorInteractor
 
vtkIdType VertId
 
vtkIdType CellId
 
vtkPropProp
 
bool NeedToUpdate
 
int LastQueriedDisplayPos [2]
 
vtkScenePickerSelectionRenderCommandSelectionRenderCommand
 
vtkTimeStamp PickRenderTime
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Friends

class vtkRenderer
 
class vtkScenePickerSelectionRenderCommand
 

Detailed Description

Picks an entire viewport at one shot.

The Scene picker, unlike 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

Definition at line 65 of file vtkScenePicker.h.

Constructor & Destructor Documentation

vtkScenePicker::vtkScenePicker ( )
protected
vtkScenePicker::~vtkScenePicker ( )
protected

Member Function Documentation

static vtkScenePicker* vtkScenePicker::New ( )
static
static int vtkScenePicker::IsTypeOf ( const char *  type)
static
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.

static vtkScenePicker* vtkScenePicker::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkScenePicker::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkObject.

vtkScenePicker* vtkScenePicker::NewInstance ( ) const
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 60 of file vtkScenePicker.h.

friend class vtkScenePickerSelectionRenderCommand
friend

Definition at line 61 of file vtkScenePicker.h.

Member Data Documentation

int vtkScenePicker::EnableVertexPicking
protected

Definition at line 114 of file vtkScenePicker.h.

vtkHardwareSelector* vtkScenePicker::Selector
protected

Definition at line 115 of file vtkScenePicker.h.

vtkRenderer* vtkScenePicker::Renderer
protected

Definition at line 116 of file vtkScenePicker.h.

vtkRenderWindowInteractor* vtkScenePicker::Interactor
protected

Definition at line 117 of file vtkScenePicker.h.

vtkIdType vtkScenePicker::VertId
protected

Definition at line 118 of file vtkScenePicker.h.

vtkIdType vtkScenePicker::CellId
protected

Definition at line 119 of file vtkScenePicker.h.

vtkProp* vtkScenePicker::Prop
protected

Definition at line 120 of file vtkScenePicker.h.

bool vtkScenePicker::NeedToUpdate
protected

Definition at line 121 of file vtkScenePicker.h.

int vtkScenePicker::LastQueriedDisplayPos[2]
protected

Definition at line 122 of file vtkScenePicker.h.

vtkScenePickerSelectionRenderCommand* vtkScenePicker::SelectionRenderCommand
protected

Definition at line 123 of file vtkScenePicker.h.

vtkTimeStamp vtkScenePicker::PickRenderTime
protected

Definition at line 125 of file vtkScenePicker.h.


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