vtkInteractorStyle Class Reference

#include <vtkInteractorStyle.h>

Inheritance diagram for vtkInteractorStyle:

Inheritance graph
[legend]
Collaboration diagram for vtkInteractorStyle:

Collaboration graph
[legend]

List of all members.


Detailed Description

provide event-driven interface to the rendering window (defines trackball mode)

vtkInteractorStyle is a base class implementing the majority of motion control routines and defines an event driven interface to support vtkRenderWindowInteractor. vtkRenderWindowInteractor implements platform dependent key/mouse routing and timer control, which forwards events in a neutral form to vtkInteractorStyle.

vtkInteractorStyle implements the "joystick" style of interaction. That is, holding down the mouse keys generates a stream of events that cause continuous actions (e.g., rotate, translate, pan, zoom). (The class vtkInteractorStyleTrackball implements a grab and move style.) The event bindings for this class include the following:

vtkInteractorStyle can be subclassed to provide new interaction styles and a facility to override any of the default mouse/key operations which currently handle trackball or joystick styles is provided. Note that this class will fire a variety of events that can be watched using an observer, such as LeftButtonPressEvent, LeftButtonReleaseEvent, MiddleButtonPressEvent, MiddleButtonReleaseEvent, RightButtonPressEvent, RightButtonReleaseEvent, EnterEvent, LeaveEvent, KeyPressEvent, KeyReleaseEvent, CharEvent, ExposeEvent, ConfigureEvent, TimerEvent, MouseMoveEvent,

See also:
vtkInteractorStyleTrackball
Events:
vtkCommand::KeyPressEvent vtkCommand::ConfigureEvent vtkCommand::EnableEvent vtkCommand::MouseWheelBackwardEvent vtkCommand::KeyReleaseEvent vtkCommand::MiddleButtonPressEvent vtkCommand::StartInteractionEvent vtkCommand::EnterEvent vtkCommand::RightButtonPressEvent vtkCommand::MiddleButtonReleaseEvent vtkCommand::CharEvent vtkCommand::DisableEvent vtkCommand::EndInteractionEvent vtkCommand::MouseMoveEvent vtkCommand::MouseWheelForwardEvent vtkCommand::ExposeEvent vtkCommand::TimerEvent vtkCommand::LeftButtonPressEvent vtkCommand::LeaveEvent vtkCommand::RightButtonReleaseEvent vtkCommand::LeftButtonReleaseEvent
Examples:
vtkInteractorStyle (Examples)

Definition at line 129 of file vtkInteractorStyle.h.


Public Types

typedef vtkInteractorObserver Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
virtual void SetInteractor (vtkRenderWindowInteractor *interactor)
virtual void SetEnabled (int)
void FindPokedRenderer (int, int)
virtual void OnTimer ()
virtual void SetAutoAdjustCameraClippingRange (int)
virtual int GetAutoAdjustCameraClippingRange ()
virtual void AutoAdjustCameraClippingRangeOn ()
virtual void AutoAdjustCameraClippingRangeOff ()
virtual int GetState ()
virtual int GetUseTimers ()
virtual void SetUseTimers (int)
virtual void UseTimersOn ()
virtual void UseTimersOff ()
virtual void SetTimerDuration (unsigned long)
virtual unsigned long GetTimerDuration ()
virtual void SetHandleObservers (int)
virtual int GetHandleObservers ()
virtual void HandleObserversOn ()
virtual void HandleObserversOff ()
virtual void OnMouseMove ()
virtual void OnLeftButtonDown ()
virtual void OnLeftButtonUp ()
virtual void OnMiddleButtonDown ()
virtual void OnMiddleButtonUp ()
virtual void OnRightButtonDown ()
virtual void OnRightButtonUp ()
virtual void OnMouseWheelForward ()
virtual void OnMouseWheelBackward ()
virtual void OnChar ()
virtual void OnKeyDown ()
virtual void OnKeyUp ()
virtual void OnKeyPress ()
virtual void OnKeyRelease ()
virtual void OnExpose ()
virtual void OnConfigure ()
virtual void OnEnter ()
virtual void OnLeave ()
virtual void Rotate ()
virtual void Spin ()
virtual void Pan ()
virtual void Dolly ()
virtual void Zoom ()
virtual void UniformScale ()
virtual void StartState (int newstate)
virtual void StopState ()
virtual void StartAnimate ()
virtual void StopAnimate ()
virtual void StartRotate ()
virtual void EndRotate ()
virtual void StartZoom ()
virtual void EndZoom ()
virtual void StartPan ()
virtual void EndPan ()
virtual void StartSpin ()
virtual void EndSpin ()
virtual void StartDolly ()
virtual void EndDolly ()
virtual void StartUniformScale ()
virtual void EndUniformScale ()
virtual void StartTimer ()
virtual void EndTimer ()
virtual void HighlightProp (vtkProp *prop)
virtual void HighlightActor2D (vtkActor2D *actor2D)
virtual void HighlightProp3D (vtkProp3D *prop3D)
virtual void SetPickColor (double, double, double)
virtual void SetPickColor (double[3])
virtual double * GetPickColor ()
virtual void GetPickColor (double data[3])
virtual void SetMouseWheelMotionFactor (double)
virtual double GetMouseWheelMotionFactor ()

Static Public Member Functions

static vtkInteractorStyleNew ()
static int IsTypeOf (const char *type)
static vtkInteractorStyleSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkInteractorStyle ()
 ~vtkInteractorStyle ()

Static Protected Member Functions

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

Protected Attributes

int State
int AnimState
int HandleObservers
int UseTimers
int TimerId
int AutoAdjustCameraClippingRange
vtkOutlineSourceOutline
vtkPolyDataMapperOutlineMapper
vtkActorOutlineActor
vtkRendererPickedRenderer
vtkPropCurrentProp
vtkActor2DPickedActor2D
int PropPicked
double PickColor [3]
double MouseWheelMotionFactor
unsigned long TimerDuration
vtkEventForwarderCommandEventForwarder

Member Typedef Documentation


Constructor & Destructor Documentation

vtkInteractorStyle::vtkInteractorStyle (  )  [protected]

vtkInteractorStyle::~vtkInteractorStyle (  )  [protected]


Member Function Documentation

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

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

static int vtkInteractorStyle::IsTypeOf ( const char *  name  )  [static]

virtual int vtkInteractorStyle::IsA ( const char *  name  )  [virtual]

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

void vtkInteractorStyle::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

virtual void vtkInteractorStyle::SetInteractor ( vtkRenderWindowInteractor interactor  )  [virtual]

Set/Get the Interactor wrapper being controlled by this object. (Satisfy superclass API.)

Reimplemented from vtkInteractorObserver.

Reimplemented in vtkInteractorStyleTreeMapHover, and vtkInteractorStyleSwitch.

virtual void vtkInteractorStyle::SetEnabled ( int   )  [virtual]

Turn on/off this interactor. Interactor styles operate a little bit differently than other types of interactor observers. When the SetInteractor() method is invoked, the automatically enable themselves. This is a legacy requirement, and convenient for the user.

Reimplemented from vtkInteractorObserver.

virtual void vtkInteractorStyle::SetAutoAdjustCameraClippingRange ( int   )  [virtual]

If AutoAdjustCameraClippingRange is on, then before each render the camera clipping range will be adjusted to "fit" the whole scene. Clipping will still occur if objects in the scene are behind the camera or come very close. If AutoAdjustCameraClippingRange is off, no adjustment will be made per render, but the camera clipping range will still be reset when the camera is reset.

Reimplemented in vtkInteractorStyleSwitch.

virtual int vtkInteractorStyle::GetAutoAdjustCameraClippingRange (  )  [virtual]

If AutoAdjustCameraClippingRange is on, then before each render the camera clipping range will be adjusted to "fit" the whole scene. Clipping will still occur if objects in the scene are behind the camera or come very close. If AutoAdjustCameraClippingRange is off, no adjustment will be made per render, but the camera clipping range will still be reset when the camera is reset.

virtual void vtkInteractorStyle::AutoAdjustCameraClippingRangeOn (  )  [virtual]

If AutoAdjustCameraClippingRange is on, then before each render the camera clipping range will be adjusted to "fit" the whole scene. Clipping will still occur if objects in the scene are behind the camera or come very close. If AutoAdjustCameraClippingRange is off, no adjustment will be made per render, but the camera clipping range will still be reset when the camera is reset.

virtual void vtkInteractorStyle::AutoAdjustCameraClippingRangeOff (  )  [virtual]

If AutoAdjustCameraClippingRange is on, then before each render the camera clipping range will be adjusted to "fit" the whole scene. Clipping will still occur if objects in the scene are behind the camera or come very close. If AutoAdjustCameraClippingRange is off, no adjustment will be made per render, but the camera clipping range will still be reset when the camera is reset.

void vtkInteractorStyle::FindPokedRenderer ( int  ,
int   
)

When an event occurs, we must determine which Renderer the event occurred within, since one RenderWindow may contain multiple renderers.

virtual int vtkInteractorStyle::GetState (  )  [virtual]

Some useful information for interaction

virtual int vtkInteractorStyle::GetUseTimers (  )  [virtual]

Set/Get timer hint

virtual void vtkInteractorStyle::SetUseTimers ( int   )  [virtual]

Set/Get timer hint

virtual void vtkInteractorStyle::UseTimersOn (  )  [virtual]

Set/Get timer hint

virtual void vtkInteractorStyle::UseTimersOff (  )  [virtual]

Set/Get timer hint

virtual void vtkInteractorStyle::SetTimerDuration ( unsigned  long  )  [virtual]

If using timers, specify the default timer interval (in milliseconds). Care must be taken when adjusting the timer interval from the default value of 10 milliseconds--it may adversely affect the interactors.

virtual unsigned long vtkInteractorStyle::GetTimerDuration (  )  [virtual]

If using timers, specify the default timer interval (in milliseconds). Care must be taken when adjusting the timer interval from the default value of 10 milliseconds--it may adversely affect the interactors.

virtual void vtkInteractorStyle::SetHandleObservers ( int   )  [virtual]

Does ProcessEvents handle observers on this class or not

virtual int vtkInteractorStyle::GetHandleObservers (  )  [virtual]

Does ProcessEvents handle observers on this class or not

virtual void vtkInteractorStyle::HandleObserversOn (  )  [virtual]

Does ProcessEvents handle observers on this class or not

virtual void vtkInteractorStyle::HandleObserversOff (  )  [virtual]

Does ProcessEvents handle observers on this class or not

virtual void vtkInteractorStyle::OnMouseMove (  )  [inline, virtual]

virtual void vtkInteractorStyle::OnLeftButtonDown (  )  [inline, virtual]

virtual void vtkInteractorStyle::OnLeftButtonUp (  )  [inline, virtual]

virtual void vtkInteractorStyle::OnMiddleButtonDown (  )  [inline, virtual]

virtual void vtkInteractorStyle::OnMiddleButtonUp (  )  [inline, virtual]

virtual void vtkInteractorStyle::OnRightButtonDown (  )  [inline, virtual]

virtual void vtkInteractorStyle::OnRightButtonUp (  )  [inline, virtual]

virtual void vtkInteractorStyle::OnMouseWheelForward (  )  [inline, virtual]

Generic event bindings must be overridden in subclasses

Reimplemented in vtkInteractorStyleJoystickCamera, vtkInteractorStyleRubberBand2D, vtkInteractorStyleRubberBand3D, and vtkInteractorStyleTrackballCamera.

Definition at line 205 of file vtkInteractorStyle.h.

virtual void vtkInteractorStyle::OnMouseWheelBackward (  )  [inline, virtual]

Generic event bindings must be overridden in subclasses

Reimplemented in vtkInteractorStyleJoystickCamera, vtkInteractorStyleRubberBand2D, vtkInteractorStyleRubberBand3D, and vtkInteractorStyleTrackballCamera.

Definition at line 206 of file vtkInteractorStyle.h.

virtual void vtkInteractorStyle::OnChar (  )  [virtual]

OnChar implements keyboard functions, but subclasses can override this behavior

Reimplemented from vtkInteractorObserver.

Reimplemented in vtkInteractorStyleFlight, vtkInteractorStyleImage, vtkInteractorStyleRubberBandPick, vtkInteractorStyleSwitch, vtkInteractorStyleTerrain, and vtkInteractorStyleUser.

virtual void vtkInteractorStyle::OnKeyDown (  )  [inline, virtual]

OnChar implements keyboard functions, but subclasses can override this behavior

Reimplemented in vtkInteractorStyleFlight.

Definition at line 213 of file vtkInteractorStyle.h.

virtual void vtkInteractorStyle::OnKeyUp (  )  [inline, virtual]

OnChar implements keyboard functions, but subclasses can override this behavior

Reimplemented in vtkInteractorStyleFlight.

Definition at line 214 of file vtkInteractorStyle.h.

virtual void vtkInteractorStyle::OnKeyPress (  )  [inline, virtual]

OnChar implements keyboard functions, but subclasses can override this behavior

Reimplemented in vtkInteractorStyleUser.

Definition at line 215 of file vtkInteractorStyle.h.

virtual void vtkInteractorStyle::OnKeyRelease (  )  [inline, virtual]

OnChar implements keyboard functions, but subclasses can override this behavior

Reimplemented in vtkInteractorStyleUser.

Definition at line 216 of file vtkInteractorStyle.h.

virtual void vtkInteractorStyle::OnExpose (  )  [inline, virtual]

These are more esoteric events, but are useful in some cases.

Reimplemented in vtkInteractorStyleUser.

Definition at line 221 of file vtkInteractorStyle.h.

virtual void vtkInteractorStyle::OnConfigure (  )  [inline, virtual]

These are more esoteric events, but are useful in some cases.

Reimplemented in vtkInteractorStyleUser.

Definition at line 222 of file vtkInteractorStyle.h.

virtual void vtkInteractorStyle::OnEnter (  )  [inline, virtual]

These are more esoteric events, but are useful in some cases.

Reimplemented in vtkInteractorStyleUser.

Definition at line 223 of file vtkInteractorStyle.h.

virtual void vtkInteractorStyle::OnLeave (  )  [inline, virtual]

These are more esoteric events, but are useful in some cases.

Reimplemented in vtkInteractorStyleUser.

Definition at line 224 of file vtkInteractorStyle.h.

virtual void vtkInteractorStyle::OnTimer (  )  [virtual]

OnTimer calls Rotate, Rotate etc which should be overridden by style subclasses.

Reimplemented in vtkInteractorStyleFlight, vtkInteractorStyleUnicam, and vtkInteractorStyleUser.

virtual void vtkInteractorStyle::Rotate (  )  [inline, virtual]

These methods for the different interactions in different modes are overridden in subclasses to perform the correct motion. Since they might be called from OnTimer, they do not have mouse coord parameters (use interactor's GetEventPosition and GetLastEventPosition)

Reimplemented in vtkInteractorStyleJoystickActor, vtkInteractorStyleJoystickCamera, vtkInteractorStyleTerrain, vtkInteractorStyleTrackballActor, and vtkInteractorStyleTrackballCamera.

Definition at line 236 of file vtkInteractorStyle.h.

virtual void vtkInteractorStyle::Spin (  )  [inline, virtual]

These methods for the different interactions in different modes are overridden in subclasses to perform the correct motion. Since they might be called from OnTimer, they do not have mouse coord parameters (use interactor's GetEventPosition and GetLastEventPosition)

Reimplemented in vtkInteractorStyleJoystickActor, vtkInteractorStyleJoystickCamera, vtkInteractorStyleTrackballActor, and vtkInteractorStyleTrackballCamera.

Definition at line 237 of file vtkInteractorStyle.h.

virtual void vtkInteractorStyle::Pan (  )  [inline, virtual]

These methods for the different interactions in different modes are overridden in subclasses to perform the correct motion. Since they might be called from OnTimer, they do not have mouse coord parameters (use interactor's GetEventPosition and GetLastEventPosition)

Reimplemented in vtkInteractorStyleJoystickActor, vtkInteractorStyleJoystickCamera, vtkInteractorStyleTerrain, vtkInteractorStyleTrackballActor, and vtkInteractorStyleTrackballCamera.

Definition at line 238 of file vtkInteractorStyle.h.

virtual void vtkInteractorStyle::Dolly (  )  [inline, virtual]

These methods for the different interactions in different modes are overridden in subclasses to perform the correct motion. Since they might be called from OnTimer, they do not have mouse coord parameters (use interactor's GetEventPosition and GetLastEventPosition)

Reimplemented in vtkInteractorStyleJoystickActor, vtkInteractorStyleJoystickCamera, vtkInteractorStyleTerrain, vtkInteractorStyleTrackballActor, and vtkInteractorStyleTrackballCamera.

Definition at line 239 of file vtkInteractorStyle.h.

virtual void vtkInteractorStyle::Zoom (  )  [inline, virtual]

These methods for the different interactions in different modes are overridden in subclasses to perform the correct motion. Since they might be called from OnTimer, they do not have mouse coord parameters (use interactor's GetEventPosition and GetLastEventPosition)

Reimplemented in vtkInteractorStyleRubberBandZoom.

Definition at line 240 of file vtkInteractorStyle.h.

virtual void vtkInteractorStyle::UniformScale (  )  [inline, virtual]

These methods for the different interactions in different modes are overridden in subclasses to perform the correct motion. Since they might be called from OnTimer, they do not have mouse coord parameters (use interactor's GetEventPosition and GetLastEventPosition)

Reimplemented in vtkInteractorStyleJoystickActor, and vtkInteractorStyleTrackballActor.

Definition at line 241 of file vtkInteractorStyle.h.

virtual void vtkInteractorStyle::StartState ( int  newstate  )  [virtual]

utility routines used by state changes

virtual void vtkInteractorStyle::StopState (  )  [virtual]

utility routines used by state changes

virtual void vtkInteractorStyle::StartAnimate (  )  [virtual]

Interaction mode entry points used internally.

virtual void vtkInteractorStyle::StopAnimate (  )  [virtual]

Interaction mode entry points used internally.

virtual void vtkInteractorStyle::StartRotate (  )  [virtual]

Interaction mode entry points used internally.

virtual void vtkInteractorStyle::EndRotate (  )  [virtual]

Interaction mode entry points used internally.

virtual void vtkInteractorStyle::StartZoom (  )  [virtual]

Interaction mode entry points used internally.

virtual void vtkInteractorStyle::EndZoom (  )  [virtual]

Interaction mode entry points used internally.

virtual void vtkInteractorStyle::StartPan (  )  [virtual]

Interaction mode entry points used internally.

virtual void vtkInteractorStyle::EndPan (  )  [virtual]

Interaction mode entry points used internally.

virtual void vtkInteractorStyle::StartSpin (  )  [virtual]

Interaction mode entry points used internally.

virtual void vtkInteractorStyle::EndSpin (  )  [virtual]

Interaction mode entry points used internally.

virtual void vtkInteractorStyle::StartDolly (  )  [virtual]

Interaction mode entry points used internally.

virtual void vtkInteractorStyle::EndDolly (  )  [virtual]

Interaction mode entry points used internally.

virtual void vtkInteractorStyle::StartUniformScale (  )  [virtual]

Interaction mode entry points used internally.

virtual void vtkInteractorStyle::EndUniformScale (  )  [virtual]

Interaction mode entry points used internally.

virtual void vtkInteractorStyle::StartTimer (  )  [virtual]

Interaction mode entry points used internally.

virtual void vtkInteractorStyle::EndTimer (  )  [virtual]

Interaction mode entry points used internally.

virtual void vtkInteractorStyle::HighlightProp ( vtkProp prop  )  [virtual]

When picking successfully selects an actor, this method highlights the picked prop appropriately. Currently this is done by placing a bounding box around a picked vtkProp3D, and using the PickColor to highlight a vtkProp2D.

virtual void vtkInteractorStyle::HighlightActor2D ( vtkActor2D actor2D  )  [virtual]

When picking successfully selects an actor, this method highlights the picked prop appropriately. Currently this is done by placing a bounding box around a picked vtkProp3D, and using the PickColor to highlight a vtkProp2D.

virtual void vtkInteractorStyle::HighlightProp3D ( vtkProp3D prop3D  )  [virtual]

When picking successfully selects an actor, this method highlights the picked prop appropriately. Currently this is done by placing a bounding box around a picked vtkProp3D, and using the PickColor to highlight a vtkProp2D.

virtual void vtkInteractorStyle::SetPickColor ( double  ,
double  ,
double   
) [virtual]

Set/Get the pick color (used by default to color vtkActor2D's). The color is expressed as red/green/blue values between (0.0,1.0).

virtual void vtkInteractorStyle::SetPickColor ( double  [3]  )  [virtual]

Set/Get the pick color (used by default to color vtkActor2D's). The color is expressed as red/green/blue values between (0.0,1.0).

virtual double* vtkInteractorStyle::GetPickColor (  )  [virtual]

Set/Get the pick color (used by default to color vtkActor2D's). The color is expressed as red/green/blue values between (0.0,1.0).

virtual void vtkInteractorStyle::GetPickColor ( double  data[3]  )  [virtual]

Set/Get the pick color (used by default to color vtkActor2D's). The color is expressed as red/green/blue values between (0.0,1.0).

virtual void vtkInteractorStyle::SetMouseWheelMotionFactor ( double   )  [virtual]

Set/Get the mouse wheel motion factor. Default to 1.0. Set it to a different value to emphasize or de-emphasize the action triggered by mouse wheel motion.

virtual double vtkInteractorStyle::GetMouseWheelMotionFactor (  )  [virtual]

Set/Get the mouse wheel motion factor. Default to 1.0. Set it to a different value to emphasize or de-emphasize the action triggered by mouse wheel motion.

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

Main process event method

Reimplemented from vtkInteractorObserver.


Member Data Documentation

int vtkInteractorStyle::State [protected]

Definition at line 308 of file vtkInteractorStyle.h.

Definition at line 309 of file vtkInteractorStyle.h.

Definition at line 312 of file vtkInteractorStyle.h.

Definition at line 313 of file vtkInteractorStyle.h.

int vtkInteractorStyle::TimerId [protected]

Definition at line 314 of file vtkInteractorStyle.h.

Definition at line 316 of file vtkInteractorStyle.h.

Definition at line 319 of file vtkInteractorStyle.h.

Definition at line 320 of file vtkInteractorStyle.h.

Definition at line 321 of file vtkInteractorStyle.h.

Definition at line 322 of file vtkInteractorStyle.h.

Definition at line 323 of file vtkInteractorStyle.h.

Definition at line 324 of file vtkInteractorStyle.h.

Definition at line 325 of file vtkInteractorStyle.h.

double vtkInteractorStyle::PickColor[3] [protected]

Definition at line 326 of file vtkInteractorStyle.h.

Definition at line 327 of file vtkInteractorStyle.h.

unsigned long vtkInteractorStyle::TimerDuration [protected]

Definition at line 330 of file vtkInteractorStyle.h.

Definition at line 333 of file vtkInteractorStyle.h.


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

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