vtkInteractorObserver Class Reference

#include <vtkInteractorObserver.h>

Inheritance diagram for vtkInteractorObserver:

Inheritance graph
[legend]
Collaboration diagram for vtkInteractorObserver:

Collaboration graph
[legend]

List of all members.


Detailed Description

an abstract superclass for classes observing events invoked by vtkRenderWindowInteractor

vtkInteractorObserver is an abstract superclass for subclasses that observe events invoked by vtkRenderWindowInteractor. These subclasses are typically things like 3D widgets; objects that interact with actors in the scene, or interactively probe the scene for information.

vtkInteractorObserver defines the method SetInteractor() and enables and disables the processing of events by the vtkInteractorObserver. Use the methods EnabledOn() or SetEnabled(1) to turn on the interactor observer, and the methods EnabledOff() or SetEnabled(0) to turn off the interactor.

To support interactive manipulation of objects, this class (and subclasses) invoke the events StartInteractionEvent, InteractionEvent, and EndInteractionEvent. These events are invoked when the vtkInteractorObserver enters a state where rapid response is desired: mouse motion, etc. The events can be used, for example, to set the desired update frame rate (StartInteractionEvent), operate on data or update a pipeline (InteractionEvent), and set the desired frame rate back to normal values (EndInteractionEvent). Two other events, EnableEvent and DisableEvent, are invoked when the interactor observer is enabled or disabled.

See also:
vtk3DWidget vtkBoxWidget vtkLineWidget
Events:
vtkCommand::CursorChangedEvent

Definition at line 57 of file vtkInteractorObserver.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)
virtual void OnChar ()
virtual void SetEnabled (int)
int GetEnabled ()
void EnabledOn ()
void EnabledOff ()
void On ()
void Off ()
virtual void SetInteractor (vtkRenderWindowInteractor *iren)
virtual vtkRenderWindowInteractorGetInteractor ()
virtual void SetPriority (float)
virtual float GetPriority ()
virtual void SetKeyPressActivation (int)
virtual int GetKeyPressActivation ()
virtual void KeyPressActivationOn ()
virtual void KeyPressActivationOff ()
virtual void SetKeyPressActivationValue (char)
virtual char GetKeyPressActivationValue ()
virtual vtkRendererGetDefaultRenderer ()
virtual void SetDefaultRenderer (vtkRenderer *)
virtual vtkRendererGetCurrentRenderer ()
virtual void SetCurrentRenderer (vtkRenderer *)
void GrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
void ReleaseFocus ()

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkInteractorObserverSafeDownCast (vtkObject *o)
static void ComputeDisplayToWorld (vtkRenderer *ren, double x, double y, double z, double worldPt[4])
static void ComputeWorldToDisplay (vtkRenderer *ren, double x, double y, double z, double displayPt[3])

Protected Member Functions

 vtkInteractorObserver ()
 ~vtkInteractorObserver ()
int RequestCursorShape (int requestedShape)
virtual void StartInteraction ()
virtual void EndInteraction ()
void ComputeDisplayToWorld (double x, double y, double z, double worldPt[4])
void ComputeWorldToDisplay (double x, double y, double z, double displayPt[3])

Static Protected Member Functions

static void ProcessEvents (vtkObject *object, unsigned long event, void *clientdata, void *calldata)

Protected Attributes

int Enabled
vtkCallbackCommandEventCallbackCommand
vtkCallbackCommandKeyPressCallbackCommand
float Priority
int KeyPressActivation
char KeyPressActivationValue
vtkRenderWindowInteractorInteractor
vtkRendererCurrentRenderer
vtkRendererDefaultRenderer
unsigned long CharObserverTag
unsigned long DeleteObserverTag
vtkObserverMediatorObserverMediator

Member Typedef Documentation


Constructor & Destructor Documentation

vtkInteractorObserver::vtkInteractorObserver (  )  [protected]

vtkInteractorObserver::~vtkInteractorObserver (  )  [protected]


Member Function Documentation

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

static int vtkInteractorObserver::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 vtkInteractorStyleTreeMapHover, vtk3DWidget, vtkAbstractWidget, vtkAffineWidget, vtkAngleWidget, vtkBalloonWidget, vtkBiDimensionalWidget, vtkBorderWidget, vtkBoxWidget, vtkBoxWidget2, vtkCameraWidget, vtkCaptionWidget, vtkCenteredSliderWidget, vtkCheckerboardWidget, vtkContinuousValueWidget, vtkContourWidget, vtkDistanceWidget, vtkHandleWidget, vtkHoverWidget, vtkImagePlaneWidget, vtkImageTracerWidget, vtkImplicitPlaneWidget, vtkImplicitPlaneWidget2, vtkLineWidget, vtkLineWidget2, vtkLogoWidget, vtkOrientationMarkerWidget, vtkParallelopipedWidget, vtkPlaneWidget, vtkPlaybackWidget, vtkPointWidget, vtkPolyDataSourceWidget, vtkRectilinearWipeWidget, vtkScalarBarWidget, vtkSeedWidget, vtkSliderWidget, vtkSphereWidget, vtkSphereWidget2, vtkSplineWidget, vtkTensorProbeWidget, vtkTextWidget, vtkXYPlotWidget, vtkInteractorEventRecorder, vtkInteractorStyle, vtkInteractorStyleFlight, vtkInteractorStyleImage, vtkInteractorStyleJoystickActor, vtkInteractorStyleJoystickCamera, vtkInteractorStyleRubberBand2D, vtkInteractorStyleRubberBand3D, vtkInteractorStyleRubberBandPick, vtkInteractorStyleRubberBandZoom, vtkInteractorStyleSwitch, vtkInteractorStyleTerrain, vtkInteractorStyleTrackball, vtkInteractorStyleTrackballActor, vtkInteractorStyleTrackballCamera, vtkInteractorStyleUnicam, and vtkInteractorStyleUser.

virtual int vtkInteractorObserver::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 vtkInteractorStyleTreeMapHover, vtk3DWidget, vtkAbstractWidget, vtkAffineWidget, vtkAngleWidget, vtkBalloonWidget, vtkBiDimensionalWidget, vtkBorderWidget, vtkBoxWidget, vtkBoxWidget2, vtkCameraWidget, vtkCaptionWidget, vtkCenteredSliderWidget, vtkCheckerboardWidget, vtkContinuousValueWidget, vtkContourWidget, vtkDistanceWidget, vtkHandleWidget, vtkHoverWidget, vtkImagePlaneWidget, vtkImageTracerWidget, vtkImplicitPlaneWidget, vtkImplicitPlaneWidget2, vtkLineWidget, vtkLineWidget2, vtkLogoWidget, vtkOrientationMarkerWidget, vtkParallelopipedWidget, vtkPlaneWidget, vtkPlaybackWidget, vtkPointWidget, vtkPolyDataSourceWidget, vtkRectilinearWipeWidget, vtkScalarBarWidget, vtkSeedWidget, vtkSliderWidget, vtkSphereWidget, vtkSphereWidget2, vtkSplineWidget, vtkTensorProbeWidget, vtkTextWidget, vtkXYPlotWidget, vtkInteractorEventRecorder, vtkInteractorStyle, vtkInteractorStyleFlight, vtkInteractorStyleImage, vtkInteractorStyleJoystickActor, vtkInteractorStyleJoystickCamera, vtkInteractorStyleRubberBand2D, vtkInteractorStyleRubberBand3D, vtkInteractorStyleRubberBandPick, vtkInteractorStyleRubberBandZoom, vtkInteractorStyleSwitch, vtkInteractorStyleTerrain, vtkInteractorStyleTrackball, vtkInteractorStyleTrackballActor, vtkInteractorStyleTrackballCamera, vtkInteractorStyleUnicam, and vtkInteractorStyleUser.

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

void vtkInteractorObserver::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 vtkInteractorStyleTreeMapHover, vtk3DWidget, vtkAbstractWidget, vtkAffineWidget, vtkAngleWidget, vtkBalloonWidget, vtkBiDimensionalWidget, vtkBorderWidget, vtkBoxWidget, vtkBoxWidget2, vtkCameraWidget, vtkCaptionWidget, vtkCenteredSliderWidget, vtkCheckerboardWidget, vtkContinuousValueWidget, vtkContourWidget, vtkDistanceWidget, vtkHandleWidget, vtkHoverWidget, vtkImagePlaneWidget, vtkImageTracerWidget, vtkImplicitPlaneWidget, vtkImplicitPlaneWidget2, vtkLineWidget, vtkLineWidget2, vtkLogoWidget, vtkOrientationMarkerWidget, vtkParallelopipedWidget, vtkPlaneWidget, vtkPlaybackWidget, vtkPointWidget, vtkPolyDataSourceWidget, vtkRectilinearWipeWidget, vtkScalarBarWidget, vtkSeedWidget, vtkSliderWidget, vtkSphereWidget, vtkSphereWidget2, vtkSplineWidget, vtkTensorProbeWidget, vtkTextWidget, vtkXYPlotWidget, vtkInteractorEventRecorder, vtkInteractorStyle, vtkInteractorStyleFlight, vtkInteractorStyleImage, vtkInteractorStyleJoystickActor, vtkInteractorStyleJoystickCamera, vtkInteractorStyleRubberBand2D, vtkInteractorStyleRubberBand3D, vtkInteractorStyleRubberBandPick, vtkInteractorStyleRubberBandZoom, vtkInteractorStyleSwitch, vtkInteractorStyleTerrain, vtkInteractorStyleTrackball, vtkInteractorStyleTrackballActor, vtkInteractorStyleTrackballCamera, vtkInteractorStyleUnicam, and vtkInteractorStyleUser.

virtual void vtkInteractorObserver::SetEnabled ( int   )  [inline, virtual]

Methods for turning the interactor observer on and off, and determining its state. All subclasses must provide the SetEnabled() method. Enabling a vtkInteractorObserver has the side effect of adding observers; disabling it removes the observers. Prior to enabling the vtkInteractorObserver you must set the render window interactor (via SetInteractor()).

Reimplemented in vtkAbstractWidget, vtkAffineWidget, vtkAngleWidget, vtkBalloonWidget, vtkBiDimensionalWidget, vtkBoxWidget, vtkCaptionWidget, vtkCheckerboardWidget, vtkContourWidget, vtkDistanceWidget, vtkHoverWidget, vtkImagePlaneWidget, vtkImageTracerWidget, vtkImplicitPlaneWidget, vtkLineWidget, vtkLineWidget2, vtkOrientationMarkerWidget, vtkParallelopipedWidget, vtkPlaneWidget, vtkPointWidget, vtkSeedWidget, vtkSphereWidget, vtkSplineWidget, vtkXYPlotWidget, vtkInteractorEventRecorder, and vtkInteractorStyle.

Definition at line 70 of file vtkInteractorObserver.h.

int vtkInteractorObserver::GetEnabled (  )  [inline]

Methods for turning the interactor observer on and off, and determining its state. All subclasses must provide the SetEnabled() method. Enabling a vtkInteractorObserver has the side effect of adding observers; disabling it removes the observers. Prior to enabling the vtkInteractorObserver you must set the render window interactor (via SetInteractor()).

Definition at line 71 of file vtkInteractorObserver.h.

void vtkInteractorObserver::EnabledOn (  )  [inline]

Methods for turning the interactor observer on and off, and determining its state. All subclasses must provide the SetEnabled() method. Enabling a vtkInteractorObserver has the side effect of adding observers; disabling it removes the observers. Prior to enabling the vtkInteractorObserver you must set the render window interactor (via SetInteractor()).

Definition at line 72 of file vtkInteractorObserver.h.

void vtkInteractorObserver::EnabledOff (  )  [inline]

Methods for turning the interactor observer on and off, and determining its state. All subclasses must provide the SetEnabled() method. Enabling a vtkInteractorObserver has the side effect of adding observers; disabling it removes the observers. Prior to enabling the vtkInteractorObserver you must set the render window interactor (via SetInteractor()).

Definition at line 73 of file vtkInteractorObserver.h.

void vtkInteractorObserver::On (  )  [inline]

Methods for turning the interactor observer on and off, and determining its state. All subclasses must provide the SetEnabled() method. Enabling a vtkInteractorObserver has the side effect of adding observers; disabling it removes the observers. Prior to enabling the vtkInteractorObserver you must set the render window interactor (via SetInteractor()).

Definition at line 74 of file vtkInteractorObserver.h.

void vtkInteractorObserver::Off (  )  [inline]

Methods for turning the interactor observer on and off, and determining its state. All subclasses must provide the SetEnabled() method. Enabling a vtkInteractorObserver has the side effect of adding observers; disabling it removes the observers. Prior to enabling the vtkInteractorObserver you must set the render window interactor (via SetInteractor()).

Definition at line 75 of file vtkInteractorObserver.h.

virtual void vtkInteractorObserver::SetInteractor ( vtkRenderWindowInteractor iren  )  [virtual]

This method is used to associate the widget with the render window interactor. Observers of the appropriate events invoked in the render window interactor are set up as a result of this method invocation. The SetInteractor() method must be invoked prior to enabling the vtkInteractorObserver.

Reimplemented in vtkInteractorStyleTreeMapHover, vtkInteractorEventRecorder, vtkInteractorStyle, and vtkInteractorStyleSwitch.

virtual vtkRenderWindowInteractor* vtkInteractorObserver::GetInteractor (  )  [virtual]

This method is used to associate the widget with the render window interactor. Observers of the appropriate events invoked in the render window interactor are set up as a result of this method invocation. The SetInteractor() method must be invoked prior to enabling the vtkInteractorObserver.

virtual void vtkInteractorObserver::SetPriority ( float   )  [virtual]

Set/Get the priority at which events are processed. This is used when multiple interactor observers are used simultaneously. The default value is 0.0 (lowest priority.) Note that when multiple interactor observer have the same priority, then the last observer added will process the event first. (Note: once the SetInteractor() method has been called, changing the priority does not effect event processing. You will have to SetInteractor(NULL), change priority, and then SetInteractor(iren) to have the priority take effect.)

Reimplemented in vtkAbstractWidget.

virtual float vtkInteractorObserver::GetPriority (  )  [virtual]

Set/Get the priority at which events are processed. This is used when multiple interactor observers are used simultaneously. The default value is 0.0 (lowest priority.) Note that when multiple interactor observer have the same priority, then the last observer added will process the event first. (Note: once the SetInteractor() method has been called, changing the priority does not effect event processing. You will have to SetInteractor(NULL), change priority, and then SetInteractor(iren) to have the priority take effect.)

virtual void vtkInteractorObserver::SetKeyPressActivation ( int   )  [virtual]

Enable/Disable of the use of a keypress to turn on and off the interactor observer. (By default, the keypress is 'i' for "interactor observer".) Set the KeyPressActivationValue to change which key activates the widget.)

virtual int vtkInteractorObserver::GetKeyPressActivation (  )  [virtual]

Enable/Disable of the use of a keypress to turn on and off the interactor observer. (By default, the keypress is 'i' for "interactor observer".) Set the KeyPressActivationValue to change which key activates the widget.)

virtual void vtkInteractorObserver::KeyPressActivationOn (  )  [virtual]

Enable/Disable of the use of a keypress to turn on and off the interactor observer. (By default, the keypress is 'i' for "interactor observer".) Set the KeyPressActivationValue to change which key activates the widget.)

virtual void vtkInteractorObserver::KeyPressActivationOff (  )  [virtual]

Enable/Disable of the use of a keypress to turn on and off the interactor observer. (By default, the keypress is 'i' for "interactor observer".) Set the KeyPressActivationValue to change which key activates the widget.)

virtual void vtkInteractorObserver::SetKeyPressActivationValue ( char   )  [virtual]

Specify which key press value to use to activate the interactor observer (if key press activation is enabled). By default, the key press activation value is 'i'. Note: once the SetInteractor() method is invoked, changing the key press activation value will not affect the key press until SetInteractor(NULL)/SetInteractor(iren) is called.

virtual char vtkInteractorObserver::GetKeyPressActivationValue (  )  [virtual]

Specify which key press value to use to activate the interactor observer (if key press activation is enabled). By default, the key press activation value is 'i'. Note: once the SetInteractor() method is invoked, changing the key press activation value will not affect the key press until SetInteractor(NULL)/SetInteractor(iren) is called.

virtual vtkRenderer* vtkInteractorObserver::GetDefaultRenderer (  )  [virtual]

Set/Get the default renderer to use when activating the interactor observer. Normally when the widget is activated (SetEnabled(1) or when keypress activation takes place), the renderer over which the mouse pointer is positioned is used. Alternatively, you can specify the renderer to bind the interactor to when the interactor observer is activated.

virtual void vtkInteractorObserver::SetDefaultRenderer ( vtkRenderer  )  [virtual]

Set/Get the default renderer to use when activating the interactor observer. Normally when the widget is activated (SetEnabled(1) or when keypress activation takes place), the renderer over which the mouse pointer is positioned is used. Alternatively, you can specify the renderer to bind the interactor to when the interactor observer is activated.

Reimplemented in vtkInteractorStyleSwitch.

virtual vtkRenderer* vtkInteractorObserver::GetCurrentRenderer (  )  [virtual]

Set/Get the current renderer. Normally when the widget is activated (SetEnabled(1) or when keypress activation takes place), the renderer over which the mouse pointer is positioned is used and assigned to this Ivar. Alternatively, you might want to set the CurrentRenderer explicitly. WARNING: note that if the DefaultRenderer Ivar is set (see above), it will always override the parameter passed to SetCurrentRenderer, unless it is NULL. (i.e., SetCurrentRenderer(foo) = SetCurrentRenderer(DefaultRenderer).

virtual void vtkInteractorObserver::SetCurrentRenderer ( vtkRenderer  )  [virtual]

Set/Get the current renderer. Normally when the widget is activated (SetEnabled(1) or when keypress activation takes place), the renderer over which the mouse pointer is positioned is used and assigned to this Ivar. Alternatively, you might want to set the CurrentRenderer explicitly. WARNING: note that if the DefaultRenderer Ivar is set (see above), it will always override the parameter passed to SetCurrentRenderer, unless it is NULL. (i.e., SetCurrentRenderer(foo) = SetCurrentRenderer(DefaultRenderer).

Reimplemented in vtkInteractorStyleSwitch.

virtual void vtkInteractorObserver::OnChar (  )  [virtual]

static void vtkInteractorObserver::ComputeDisplayToWorld ( vtkRenderer ren,
double  x,
double  y,
double  z,
double  worldPt[4] 
) [static]

Convenience methods for outside classes. Make sure that the parameter "ren" is not-null.

static void vtkInteractorObserver::ComputeWorldToDisplay ( vtkRenderer ren,
double  x,
double  y,
double  z,
double  displayPt[3] 
) [static]

Convenience methods for outside classes. Make sure that the parameter "ren" is not-null.

void vtkInteractorObserver::GrabFocus ( vtkCommand mouseEvents,
vtkCommand keypressEvents = NULL 
)

These methods enable an interactor observer to exclusively grab all events invoked by its associated vtkRenderWindowInteractor. (This method is typically used by widgets to grab events once an event sequence begins.) The GrabFocus() signature takes up to two vtkCommands corresponding to mouse events and keypress events. (These two commands are separated so that the widget can listen for its activation keypress, as well as listening for DeleteEvents, without actually having to process mouse events.) BTX

void vtkInteractorObserver::ReleaseFocus (  ) 

These methods enable an interactor observer to exclusively grab all events invoked by its associated vtkRenderWindowInteractor. (This method is typically used by widgets to grab events once an event sequence begins.) The GrabFocus() signature takes up to two vtkCommands corresponding to mouse events and keypress events. (These two commands are separated so that the widget can listen for its activation keypress, as well as listening for DeleteEvents, without actually having to process mouse events.) BTX

virtual void vtkInteractorObserver::StartInteraction (  )  [protected, virtual]

Utility routines used to start and end interaction. For example, it switches the display update rate. It does not invoke the corresponding events.

virtual void vtkInteractorObserver::EndInteraction (  )  [protected, virtual]

Utility routines used to start and end interaction. For example, it switches the display update rate. It does not invoke the corresponding events.

static void vtkInteractorObserver::ProcessEvents ( vtkObject object,
unsigned long  event,
void *  clientdata,
void *  calldata 
) [static, protected]

void vtkInteractorObserver::ComputeDisplayToWorld ( double  x,
double  y,
double  z,
double  worldPt[4] 
) [protected]

Helper method for subclasses.

void vtkInteractorObserver::ComputeWorldToDisplay ( double  x,
double  y,
double  z,
double  displayPt[3] 
) [protected]

Helper method for subclasses.

int vtkInteractorObserver::RequestCursorShape ( int  requestedShape  )  [protected]


Member Data Documentation

Definition at line 202 of file vtkInteractorObserver.h.

Definition at line 205 of file vtkInteractorObserver.h.

Definition at line 206 of file vtkInteractorObserver.h.

Definition at line 209 of file vtkInteractorObserver.h.

Definition at line 212 of file vtkInteractorObserver.h.

Definition at line 213 of file vtkInteractorObserver.h.

Definition at line 216 of file vtkInteractorObserver.h.

Definition at line 219 of file vtkInteractorObserver.h.

Definition at line 220 of file vtkInteractorObserver.h.

unsigned long vtkInteractorObserver::CharObserverTag [protected]

Definition at line 222 of file vtkInteractorObserver.h.

unsigned long vtkInteractorObserver::DeleteObserverTag [protected]

Definition at line 223 of file vtkInteractorObserver.h.

Definition at line 226 of file vtkInteractorObserver.h.


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

Generated on Sat Dec 27 13:33:02 2008 for VTK by  doxygen 1.5.6