Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

vtkRenderWindowInteractor Class Reference

platform-independent render window interaction including picking and frame rate control. More...

#include <vtkRenderWindowInteractor.h>

Inheritance diagram for vtkRenderWindowInteractor:

Inheritance graph
[legend]
Collaboration diagram for vtkRenderWindowInteractor:

Collaboration graph
[legend]
List of all members.

Public Methods

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
void UnRegister (vtkObject *o)
virtual void Start ()
virtual void UpdateSize (int x, int y)
virtual void TerminateApp (void)
virtual vtkAbstractPropPickerCreateDefaultPicker ()
void SetStartPickMethod (void(*f)(void *), void *arg)
void SetStartPickMethodArgDelete (void(*f)(void *))
void SetEndPickMethod (void(*f)(void *), void *arg)
void SetEndPickMethodArgDelete (void(*f)(void *))
void SetUserMethod (void(*f)(void *), void *arg)
void SetUserMethodArgDelete (void(*f)(void *))
void SetExitMethod (void(*f)(void *), void *arg)
void SetExitMethodArgDelete (void(*f)(void *))
virtual void GetMousePosition (int *x, int *y)
void Render ()
virtual void Initialize ()
void ReInitialize ()
virtual void Enable ()
virtual void Disable ()
virtual int GetEnabled ()
void SetRenderWindow (vtkRenderWindow *aren)
virtual vtkRenderWindowGetRenderWindow ()
virtual void SetSize (int, int)
void SetSize (int[2])
virtual int * GetSize ()
virtual void GetSize (int &, int &)
virtual void GetSize (int[2])
virtual int CreateTimer (int)
virtual int DestroyTimer ()
virtual void SetInteractorStyle (vtkInteractorStyle *)
virtual vtkInteractorStyleGetInteractorStyle ()
virtual void SetLightFollowCamera (int)
virtual int GetLightFollowCamera ()
virtual void LightFollowCameraOn ()
virtual void LightFollowCameraOff ()
virtual void SetEventPosition (int, int)
void SetEventPosition (int[2])
virtual int * GetEventPosition ()
virtual void GetEventPosition (int data[2])
virtual void SetDesiredUpdateRate (float)
virtual float GetDesiredUpdateRate ()
virtual void SetStillUpdateRate (float)
virtual float GetStillUpdateRate ()
virtual int GetInitialized ()
virtual void SetPicker (vtkAbstractPicker *)
virtual vtkAbstractPickerGetPicker ()
virtual void ExitCallback ()
virtual void UserCallback ()
virtual void StartPickCallback ()
virtual void EndPickCallback ()
void HideCursor ()
void ShowCursor ()
void FlyTo (vtkRenderer *ren, float x, float y, float z)
void FlyTo (vtkRenderer *ren, float *x)
virtual void SetNumberOfFlyFrames (int)
virtual int GetNumberOfFlyFrames ()
virtual void SetDolly (float)
virtual float GetDolly ()

Static Public Methods

vtkRenderWindowInteractor * New ()
int IsTypeOf (const char *type)
vtkRenderWindowInteractor * SafeDownCast (vtkObject *o)

Protected Methods

 vtkRenderWindowInteractor ()
 ~vtkRenderWindowInteractor ()

Protected Attributes

vtkRenderWindowRenderWindow
vtkInteractorStyleInteractorStyle
vtkAbstractPickerPicker
int Initialized
int Enabled
int Style
int LightFollowCamera
int ActorMode
float DesiredUpdateRate
float StillUpdateRate
int EventPosition [2]
int Size [2]
unsigned long StartPickTag
unsigned long EndPickTag
unsigned long UserTag
unsigned long ExitTag
int NumberOfFlyFrames
float Dolly

Detailed Description

platform-independent render window interaction including picking and frame rate control.

Date:
2001/10/11 13:38:24
Revision:
1.82

vtkRenderWindowInteractor provides a platform-independent interaction mechanism for mouse/key/time events. It serves as a base class for platform-dependent implementations that handle routing of mouse/key/timer messages to vtkInterActorStyle and its subclasses. vtkRenderWindowInteractor also provides controls for picking, rendering frame rate, and headlights.

vtkRenderWindowInteractor has changed from previous implementations and now serves only as a shell to hold user preferences and route messages to vtkInteractorStyle. Callbacks are available for many Events. Platform specific subclasses should provide methods for CreateTimer/DestroyTimer, TerminateApp, and an event loop if required via Initialize/Start/Enable/Disable.

Events:
vtkCommand::UserEvent vtkCommand::ExitEvent vtkCommand::EndPickEvent vtkCommand::StartPickEvent
Examples:
vtkRenderWindowInteractor (Examples)
Tests:
vtkRenderWindowInteractor (Tests)

Definition at line 84 of file vtkRenderWindowInteractor.h.


Constructor & Destructor Documentation

vtkRenderWindowInteractor::vtkRenderWindowInteractor   [protected]
 

vtkRenderWindowInteractor::~vtkRenderWindowInteractor   [protected]
 


Member Function Documentation

vtkRenderWindowInteractor* vtkRenderWindowInteractor::New   [static]
 

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

Reimplemented in vtkQuartzRenderWindowInteractor, vtkWin32RenderWindowInteractor, vtkXRenderWindowInteractor, and vtkXRenderWindowTclInteractor.

virtual const char* vtkRenderWindowInteractor::GetClassName   [virtual]
 

Return the class name as a string. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

Reimplemented in vtkQuartzRenderWindowInteractor, vtkWin32RenderWindowInteractor, vtkXRenderWindowInteractor, and vtkXRenderWindowTclInteractor.

int vtkRenderWindowInteractor::IsTypeOf const char *    type [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.

Reimplemented in vtkQuartzRenderWindowInteractor, vtkWin32RenderWindowInteractor, vtkXRenderWindowInteractor, and vtkXRenderWindowTclInteractor.

virtual int vtkRenderWindowInteractor::IsA const char *    type [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 in vtkQuartzRenderWindowInteractor, vtkWin32RenderWindowInteractor, vtkXRenderWindowInteractor, and vtkXRenderWindowTclInteractor.

vtkRenderWindowInteractor* vtkRenderWindowInteractor::SafeDownCast vtkObject   o [static]
 

Will cast the supplied object to vtkObject* is this is a safe operation (i.e., a safe downcast); otherwise NULL is returned. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

Reimplemented in vtkQuartzRenderWindowInteractor, vtkWin32RenderWindowInteractor, vtkXRenderWindowInteractor, and vtkXRenderWindowTclInteractor.

void vtkRenderWindowInteractor::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 vtkQuartzRenderWindowInteractor, vtkWin32RenderWindowInteractor, vtkXRenderWindowInteractor, and vtkXRenderWindowTclInteractor.

virtual void vtkRenderWindowInteractor::Initialize void    [inline, virtual]
 

Prepare for handling events. This must be called before the interactor will work.

Reimplemented in vtkQuartzRenderWindowInteractor, vtkWin32RenderWindowInteractor, vtkXRenderWindowInteractor, and vtkXRenderWindowTclInteractor.

Definition at line 94 of file vtkRenderWindowInteractor.h.

void vtkRenderWindowInteractor::ReInitialize   [inline]
 

Prepare for handling events. This must be called before the interactor will work.

Definition at line 96 of file vtkRenderWindowInteractor.h.

void vtkRenderWindowInteractor::UnRegister vtkObject   o [virtual]
 

This Method detects loops of RenderWindow-Interactor, so objects are freed properly.

Reimplemented from vtkObject.

virtual void vtkRenderWindowInteractor::Start void    [inline, virtual]
 

Start the event loop. This is provided so that you do not have to implement your own event loop. You still can use your own event loop if you want. Initialize should be called before Start.

Reimplemented in vtkQuartzRenderWindowInteractor, vtkWin32RenderWindowInteractor, vtkXRenderWindowInteractor, and vtkXRenderWindowTclInteractor.

Definition at line 107 of file vtkRenderWindowInteractor.h.

virtual void vtkRenderWindowInteractor::Enable   [inline, virtual]
 

Enable/Disable interactions. By default interactors are enabled when initialized. Initialize() must be called prior to enabling/disabling interaction. These methods are used when a window/widget is being shared by multiple renderers and interactors. This allows a "modal" display where one interactor is active when its data is to be displayed and all other interactors associated with the widget are disabled when their data is not displayed.

Reimplemented in vtkQuartzRenderWindowInteractor, vtkWin32RenderWindowInteractor, vtkXRenderWindowInteractor, and vtkXRenderWindowTclInteractor.

Definition at line 117 of file vtkRenderWindowInteractor.h.

virtual void vtkRenderWindowInteractor::Disable   [inline, virtual]
 

Enable/Disable interactions. By default interactors are enabled when initialized. Initialize() must be called prior to enabling/disabling interaction. These methods are used when a window/widget is being shared by multiple renderers and interactors. This allows a "modal" display where one interactor is active when its data is to be displayed and all other interactors associated with the widget are disabled when their data is not displayed.

Reimplemented in vtkQuartzRenderWindowInteractor, vtkWin32RenderWindowInteractor, vtkXRenderWindowInteractor, and vtkXRenderWindowTclInteractor.

Definition at line 118 of file vtkRenderWindowInteractor.h.

virtual int vtkRenderWindowInteractor::GetEnabled   [virtual]
 

Enable/Disable interactions. By default interactors are enabled when initialized. Initialize() must be called prior to enabling/disabling interaction. These methods are used when a window/widget is being shared by multiple renderers and interactors. This allows a "modal" display where one interactor is active when its data is to be displayed and all other interactors associated with the widget are disabled when their data is not displayed.

void vtkRenderWindowInteractor::SetRenderWindow vtkRenderWindow   aren
 

Set/Get the rendering window being controlled by this object.

virtual vtkRenderWindow* vtkRenderWindowInteractor::GetRenderWindow   [virtual]
 

Set/Get the rendering window being controlled by this object.

virtual void vtkRenderWindowInteractor::UpdateSize int    x,
int    y
[virtual]
 

Event loop notification member for Window size change

Reimplemented in vtkXRenderWindowTclInteractor.

virtual void vtkRenderWindowInteractor::SetSize int   ,
int   
[virtual]
 

This methods sets the Size ivar of the interactor without actually changing the size of the window. Normally application programmers would use UpdateSize if anything. This is useful for letting someone else change the size of the rendering window and just letting the interactor know about the change.

void vtkRenderWindowInteractor::SetSize int   [2]
 

This methods sets the Size ivar of the interactor without actually changing the size of the window. Normally application programmers would use UpdateSize if anything. This is useful for letting someone else change the size of the rendering window and just letting the interactor know about the change.

virtual int* vtkRenderWindowInteractor::GetSize   [virtual]
 

This methods sets the Size ivar of the interactor without actually changing the size of the window. Normally application programmers would use UpdateSize if anything. This is useful for letting someone else change the size of the rendering window and just letting the interactor know about the change.

virtual void vtkRenderWindowInteractor::GetSize int &   ,
int &   
[virtual]
 

This methods sets the Size ivar of the interactor without actually changing the size of the window. Normally application programmers would use UpdateSize if anything. This is useful for letting someone else change the size of the rendering window and just letting the interactor know about the change.

virtual void vtkRenderWindowInteractor::GetSize int   [2] [virtual]
 

This methods sets the Size ivar of the interactor without actually changing the size of the window. Normally application programmers would use UpdateSize if anything. This is useful for letting someone else change the size of the rendering window and just letting the interactor know about the change.

virtual int vtkRenderWindowInteractor::CreateTimer int    timertype [inline, virtual]
 

Timer methods must be overridden by platform dependent subclasses. flag is passed to indicate if this is first timer set or an update as Win32 uses repeating timers, whereas X uses One shot more timer if flag==VTKXI_TIMER_FIRST Win32 and X should createtimer otherwise Win32 should exit and X should perform AddTimeOut()

Reimplemented in vtkQuartzRenderWindowInteractor, vtkWin32RenderWindowInteractor, vtkXRenderWindowInteractor, and vtkXRenderWindowTclInteractor.

Definition at line 147 of file vtkRenderWindowInteractor.h.

virtual int vtkRenderWindowInteractor::DestroyTimer void    [inline, virtual]
 

Timer methods must be overridden by platform dependent subclasses. flag is passed to indicate if this is first timer set or an update as Win32 uses repeating timers, whereas X uses One shot more timer if flag==VTKXI_TIMER_FIRST Win32 and X should createtimer otherwise Win32 should exit and X should perform AddTimeOut()

Reimplemented in vtkQuartzRenderWindowInteractor, vtkWin32RenderWindowInteractor, vtkXRenderWindowInteractor, and vtkXRenderWindowTclInteractor.

Definition at line 148 of file vtkRenderWindowInteractor.h.

virtual void vtkRenderWindowInteractor::TerminateApp void    [inline, virtual]
 

This function is called on 'q','e' keypress if exitmethod is not specified and should be overridden by platform dependent subclasses to provide a termination procedure if one is required.

Reimplemented in vtkQuartzRenderWindowInteractor, vtkWin32RenderWindowInteractor, vtkXRenderWindowInteractor, and vtkXRenderWindowTclInteractor.

Definition at line 154 of file vtkRenderWindowInteractor.h.

virtual void vtkRenderWindowInteractor::SetInteractorStyle vtkInteractorStyle   [virtual]
 

External switching between joystick/trackball/new? modes.

virtual vtkInteractorStyle* vtkRenderWindowInteractor::GetInteractorStyle   [virtual]
 

External switching between joystick/trackball/new? modes.

virtual void vtkRenderWindowInteractor::SetLightFollowCamera int    [virtual]
 

Turn on/off the automatic repositioning of lights as the camera moves.

virtual int vtkRenderWindowInteractor::GetLightFollowCamera   [virtual]
 

Turn on/off the automatic repositioning of lights as the camera moves.

virtual void vtkRenderWindowInteractor::LightFollowCameraOn   [virtual]
 

Turn on/off the automatic repositioning of lights as the camera moves.

virtual void vtkRenderWindowInteractor::LightFollowCameraOff   [virtual]
 

Turn on/off the automatic repositioning of lights as the camera moves.

virtual void vtkRenderWindowInteractor::SetEventPosition int   ,
int   
[virtual]
 

This method can be used by user callbacks to get the x, y, coordinates of the current event.

void vtkRenderWindowInteractor::SetEventPosition int   [2]
 

This method can be used by user callbacks to get the x, y, coordinates of the current event.

virtual int* vtkRenderWindowInteractor::GetEventPosition   [virtual]
 

This method can be used by user callbacks to get the x, y, coordinates of the current event.

virtual void vtkRenderWindowInteractor::GetEventPosition int    data[2] [virtual]
 

This method can be used by user callbacks to get the x, y, coordinates of the current event.

virtual void vtkRenderWindowInteractor::SetDesiredUpdateRate float    [virtual]
 

Set/Get the desired update rate. This is used by vtkLODActor's to tell them how quickly they need to render. This update is in effect only when the camera is being rotated, or zoomed. When the interactor is still, the StillUpdateRate is used instead.

virtual float vtkRenderWindowInteractor::GetDesiredUpdateRate   [virtual]
 

Set/Get the desired update rate. This is used by vtkLODActor's to tell them how quickly they need to render. This update is in effect only when the camera is being rotated, or zoomed. When the interactor is still, the StillUpdateRate is used instead.

virtual void vtkRenderWindowInteractor::SetStillUpdateRate float    [virtual]
 

Set/Get the desired update rate when movement has stopped. See the SetDesiredUpdateRate method.

virtual float vtkRenderWindowInteractor::GetStillUpdateRate   [virtual]
 

Set/Get the desired update rate when movement has stopped. See the SetDesiredUpdateRate method.

virtual int vtkRenderWindowInteractor::GetInitialized   [virtual]
 

See whether interactor has been initialized yet.

virtual void vtkRenderWindowInteractor::SetPicker vtkAbstractPicker   [virtual]
 

Set/Get the object used to perform pick operations. In order to pick instances of vtkProp, the picker must be a subclass of vtkAbstractPropPicker, meaning that it can identify a particular instance of vtkProp.

virtual vtkAbstractPicker* vtkRenderWindowInteractor::GetPicker   [virtual]
 

Set/Get the object used to perform pick operations. In order to pick instances of vtkProp, the picker must be a subclass of vtkAbstractPropPicker, meaning that it can identify a particular instance of vtkProp.

virtual vtkAbstractPropPicker* vtkRenderWindowInteractor::CreateDefaultPicker   [virtual]
 

Create default picker. Used to create one when none is specified. Default is an instance of vtkPropPicker.

void vtkRenderWindowInteractor::SetStartPickMethod void(*    f)(void *),
void *    arg
 

Specify a method to be executed prior to the pick operation.

void vtkRenderWindowInteractor::SetStartPickMethodArgDelete void(*    f)(void *)
 

Called when a void* argument is being discarded. Lets the user free it.

void vtkRenderWindowInteractor::SetEndPickMethod void(*    f)(void *),
void *    arg
 

Specify a method to be executed after the pick operation.

void vtkRenderWindowInteractor::SetEndPickMethodArgDelete void(*    f)(void *)
 

Called when a void* argument is being discarded. Lets the user free it.

void vtkRenderWindowInteractor::SetUserMethod void(*    f)(void *),
void *    arg
 

Set the user method. This method is invoked on a "u" keypress.

void vtkRenderWindowInteractor::SetUserMethodArgDelete void(*    f)(void *)
 

Called when a void* argument is being discarded. Lets the user free it.

void vtkRenderWindowInteractor::SetExitMethod void(*    f)(void *),
void *    arg
 

Set the exit method. This method is invoked on a "e" or "q" keypress.

void vtkRenderWindowInteractor::SetExitMethodArgDelete void(*    f)(void *)
 

Called when a void* argument is being discarded. Lets the user free it.

virtual void vtkRenderWindowInteractor::ExitCallback   [virtual]
 

These methods correspond to the the Exit, User and Pick callbacks. They allow for the Style to invoke them.

Reimplemented in vtkQuartzRenderWindowInteractor, and vtkWin32RenderWindowInteractor.

virtual void vtkRenderWindowInteractor::UserCallback   [virtual]
 

These methods correspond to the the Exit, User and Pick callbacks. They allow for the Style to invoke them.

virtual void vtkRenderWindowInteractor::StartPickCallback   [virtual]
 

These methods correspond to the the Exit, User and Pick callbacks. They allow for the Style to invoke them.

virtual void vtkRenderWindowInteractor::EndPickCallback   [virtual]
 

These methods correspond to the the Exit, User and Pick callbacks. They allow for the Style to invoke them.

virtual void vtkRenderWindowInteractor::GetMousePosition int *    x,
int *    y
[inline, virtual]
 

Get the current position of the mouse.

Reimplemented in vtkXRenderWindowInteractor.

Definition at line 249 of file vtkRenderWindowInteractor.h.

void vtkRenderWindowInteractor::HideCursor   [inline]
 

Hide or show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to display a 3D cursor instead.

Definition at line 254 of file vtkRenderWindowInteractor.h.

void vtkRenderWindowInteractor::ShowCursor   [inline]
 

Hide or show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to display a 3D cursor instead.

Definition at line 255 of file vtkRenderWindowInteractor.h.

void vtkRenderWindowInteractor::Render void   
 

Render the scene. Just pass the render call on to the associated vtkRenderWindow.

void vtkRenderWindowInteractor::FlyTo vtkRenderer   ren,
float    x,
float    y,
float    z
 

Given a position x, move the current camera's focal point to x. The movement is animated over the number of frames specified in NumberOfFlyFrames. The LOD desired frame rate is used.

void vtkRenderWindowInteractor::FlyTo vtkRenderer   ren,
float *    x
[inline]
 

Given a position x, move the current camera's focal point to x. The movement is animated over the number of frames specified in NumberOfFlyFrames. The LOD desired frame rate is used.

Definition at line 267 of file vtkRenderWindowInteractor.h.

virtual void vtkRenderWindowInteractor::SetNumberOfFlyFrames int    [virtual]
 

Set the number of frames to fly to when FlyTo is invoked.

virtual int vtkRenderWindowInteractor::GetNumberOfFlyFrames   [virtual]
 

Set the number of frames to fly to when FlyTo is invoked.

virtual void vtkRenderWindowInteractor::SetDolly float    [virtual]
 

Set the total Dolly value to use when flying to (FlyTo()) a specified point. Negative values fly away from the point.

virtual float vtkRenderWindowInteractor::GetDolly   [virtual]
 

Set the total Dolly value to use when flying to (FlyTo()) a specified point. Negative values fly away from the point.


Member Data Documentation

vtkRenderWindow* vtkRenderWindowInteractor::RenderWindow [protected]
 

Definition at line 288 of file vtkRenderWindowInteractor.h.

vtkInteractorStyle* vtkRenderWindowInteractor::InteractorStyle [protected]
 

Definition at line 289 of file vtkRenderWindowInteractor.h.

vtkAbstractPicker* vtkRenderWindowInteractor::Picker [protected]
 

Definition at line 292 of file vtkRenderWindowInteractor.h.

int vtkRenderWindowInteractor::Initialized [protected]
 

Definition at line 295 of file vtkRenderWindowInteractor.h.

int vtkRenderWindowInteractor::Enabled [protected]
 

Definition at line 296 of file vtkRenderWindowInteractor.h.

int vtkRenderWindowInteractor::Style [protected]
 

Definition at line 297 of file vtkRenderWindowInteractor.h.

int vtkRenderWindowInteractor::LightFollowCamera [protected]
 

Definition at line 298 of file vtkRenderWindowInteractor.h.

int vtkRenderWindowInteractor::ActorMode [protected]
 

Definition at line 299 of file vtkRenderWindowInteractor.h.

float vtkRenderWindowInteractor::DesiredUpdateRate [protected]
 

Definition at line 300 of file vtkRenderWindowInteractor.h.

float vtkRenderWindowInteractor::StillUpdateRate [protected]
 

Definition at line 301 of file vtkRenderWindowInteractor.h.

int vtkRenderWindowInteractor::EventPosition[2] [protected]
 

Definition at line 302 of file vtkRenderWindowInteractor.h.

int vtkRenderWindowInteractor::Size[2] [protected]
 

Definition at line 303 of file vtkRenderWindowInteractor.h.

unsigned long vtkRenderWindowInteractor::StartPickTag [protected]
 

Definition at line 306 of file vtkRenderWindowInteractor.h.

unsigned long vtkRenderWindowInteractor::EndPickTag [protected]
 

Definition at line 307 of file vtkRenderWindowInteractor.h.

unsigned long vtkRenderWindowInteractor::UserTag [protected]
 

Definition at line 308 of file vtkRenderWindowInteractor.h.

unsigned long vtkRenderWindowInteractor::ExitTag [protected]
 

Definition at line 309 of file vtkRenderWindowInteractor.h.

int vtkRenderWindowInteractor::NumberOfFlyFrames [protected]
 

Definition at line 312 of file vtkRenderWindowInteractor.h.

float vtkRenderWindowInteractor::Dolly [protected]
 

Definition at line 313 of file vtkRenderWindowInteractor.h.


The documentation for this class was generated from the following file:
Generated on Thu Mar 28 14:41:54 2002 for VTK by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001