vtkInteractorStyle Class Reference

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

#include <vtkInteractorStyle.h>

Inheritance diagram for vtkInteractorStyle:

Inheritance graph
[legend]
Collaboration diagram for vtkInteractorStyle:

Collaboration graph
[legend]

List of all members.

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 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 AutoAdjustCameraClippingRange
vtkOutlineSourceOutline
vtkPolyDataMapperOutlineMapper
vtkActorOutlineActor
vtkRendererPickedRenderer
vtkPropCurrentProp
vtkActor2DPickedActor2D
int PropPicked
double PickColor [3]
double MouseWheelMotionFactor


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

Definition at line 121 of file vtkInteractorStyle.h.


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]

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 vtkInteractorObserver.

Reimplemented in vtkInteractorStyleFlight, vtkInteractorStyleImage, vtkInteractorStyleJoystickActor, vtkInteractorStyleJoystickCamera, vtkInteractorStyleRubberBandZoom, vtkInteractorStyleSwitch, vtkInteractorStyleTerrain, vtkInteractorStyleTrackball, vtkInteractorStyleTrackballActor, vtkInteractorStyleTrackballCamera, vtkInteractorStyleUnicam, and vtkInteractorStyleUser.

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

Reimplemented in vtkInteractorStyleFlight, vtkInteractorStyleImage, vtkInteractorStyleJoystickActor, vtkInteractorStyleJoystickCamera, vtkInteractorStyleRubberBandZoom, vtkInteractorStyleSwitch, vtkInteractorStyleTerrain, vtkInteractorStyleTrackball, vtkInteractorStyleTrackballActor, vtkInteractorStyleTrackballCamera, vtkInteractorStyleUnicam, and vtkInteractorStyleUser.

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

void vtkInteractorStyle::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 vtkInteractorObserver.

Reimplemented in vtkInteractorStyleFlight, vtkInteractorStyleImage, vtkInteractorStyleJoystickActor, vtkInteractorStyleJoystickCamera, vtkInteractorStyleRubberBandZoom, vtkInteractorStyleSwitch, vtkInteractorStyleTerrain, vtkInteractorStyleTrackball, vtkInteractorStyleTrackballActor, vtkInteractorStyleTrackballCamera, vtkInteractorStyleUnicam, and vtkInteractorStyleUser.

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 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::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, and vtkInteractorStyleTrackballCamera.

Definition at line 188 of file vtkInteractorStyle.h.

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

Generic event bindings must be overridden in subclasses

Reimplemented in vtkInteractorStyleJoystickCamera, and vtkInteractorStyleTrackballCamera.

Definition at line 189 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, 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 196 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 197 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 198 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 199 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 204 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 205 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 206 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 207 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 219 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 220 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 221 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 222 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 223 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 224 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 292 of file vtkInteractorStyle.h.

Definition at line 293 of file vtkInteractorStyle.h.

Definition at line 297 of file vtkInteractorStyle.h.

Definition at line 298 of file vtkInteractorStyle.h.

Definition at line 300 of file vtkInteractorStyle.h.

Definition at line 304 of file vtkInteractorStyle.h.

Definition at line 305 of file vtkInteractorStyle.h.

Definition at line 306 of file vtkInteractorStyle.h.

Definition at line 307 of file vtkInteractorStyle.h.

Definition at line 308 of file vtkInteractorStyle.h.

Definition at line 309 of file vtkInteractorStyle.h.

Definition at line 310 of file vtkInteractorStyle.h.

double vtkInteractorStyle::PickColor[3] [protected]

Definition at line 311 of file vtkInteractorStyle.h.

Definition at line 312 of file vtkInteractorStyle.h.


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

Generated on Sun Mar 22 17:13:09 2009 for VTK by  doxygen 1.5.8