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)
virtual void Initialize ()
void UnRegister (vtkObject *o)
virtual void Start ()
virtual void Enable ()
virtual void Disable ()
virtual int GetEnabled ()
void SetRenderWindow (vtkRenderWindow *aren)
virtual vtkRenderWindowGetRenderWindow ()
virtual void UpdateSize (int x, int y)
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 TerminateApp (void)
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 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 ExitCallback ()
virtual void UserCallback ()
virtual void StartPickCallback ()
virtual void EndPickCallback ()
virtual void GetMousePosition (int *x, int *y)
void HideCursor ()
void ShowCursor ()
void Render ()

Static Public Methods

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

Protected Methods

 vtkRenderWindowInteractor ()
 ~vtkRenderWindowInteractor ()
 vtkRenderWindowInteractor (const vtkRenderWindowInteractor &)
void operator= (const 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

Detailed Description

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

Date:
2000/12/10 20:08:50
Revision:
1.76

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.

Examples:
vtkRenderWindowInteractor (examples)

Definition at line 78 of file vtkRenderWindowInteractor.h.


Constructor & Destructor Documentation

vtkRenderWindowInteractor::vtkRenderWindowInteractor   [protected]
 

vtkRenderWindowInteractor::~vtkRenderWindowInteractor   [protected]
 

vtkRenderWindowInteractor::vtkRenderWindowInteractor const vtkRenderWindowInteractor &    [inline, protected]
 

Definition at line 229 of file vtkRenderWindowInteractor.h.


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 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 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 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 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 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 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 vtkWin32RenderWindowInteractor, vtkXRenderWindowInteractor, and vtkXRenderWindowTclInteractor.

Definition at line 87 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 vtkWin32RenderWindowInteractor, vtkXRenderWindowInteractor, and vtkXRenderWindowTclInteractor.

Definition at line 97 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 vtkWin32RenderWindowInteractor, vtkXRenderWindowInteractor, and vtkXRenderWindowTclInteractor.

Definition at line 106 of file vtkRenderWindowInteractor.h.

virtual void vtkRenderWindowInteractor::Disable   [inline, virtual]
 

Reimplemented in vtkWin32RenderWindowInteractor, vtkXRenderWindowInteractor, and vtkXRenderWindowTclInteractor.

Definition at line 107 of file vtkRenderWindowInteractor.h.

virtual int vtkRenderWindowInteractor::GetEnabled   [virtual]
 

void vtkRenderWindowInteractor::SetRenderWindow vtkRenderWindow   aren
 

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

virtual vtkRenderWindow* vtkRenderWindowInteractor::GetRenderWindow   [virtual]
 

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]
 

virtual int* vtkRenderWindowInteractor::GetSize   [virtual]
 

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

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

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 vtkWin32RenderWindowInteractor, vtkXRenderWindowInteractor, and vtkXRenderWindowTclInteractor.

Definition at line 130 of file vtkRenderWindowInteractor.h.

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

Reimplemented in vtkWin32RenderWindowInteractor, vtkXRenderWindowInteractor, and vtkXRenderWindowTclInteractor.

Definition at line 131 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 vtkWin32RenderWindowInteractor, vtkXRenderWindowInteractor, and vtkXRenderWindowTclInteractor.

Definition at line 136 of file vtkRenderWindowInteractor.h.

virtual void vtkRenderWindowInteractor::SetInteractorStyle vtkInteractorStyle   [virtual]
 

External switching between joystick/trackball/new? modes.

virtual vtkInteractorStyle* vtkRenderWindowInteractor::GetInteractorStyle   [virtual]
 

virtual void vtkRenderWindowInteractor::SetLightFollowCamera int    [virtual]
 

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

virtual int vtkRenderWindowInteractor::GetLightFollowCamera   [virtual]
 

virtual void vtkRenderWindowInteractor::LightFollowCameraOn   [virtual]
 

virtual void vtkRenderWindowInteractor::LightFollowCameraOff   [virtual]
 

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]
 

virtual int* vtkRenderWindowInteractor::GetEventPosition   [virtual]
 

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

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]
 

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]
 

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]
 

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

virtual void vtkRenderWindowInteractor::UserCallback   [virtual]
 

virtual void vtkRenderWindowInteractor::StartPickCallback   [virtual]
 

virtual void vtkRenderWindowInteractor::EndPickCallback   [virtual]
 

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

Get the current position of the mouse.

Reimplemented in vtkXRenderWindowInteractor.

Definition at line 215 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 219 of file vtkRenderWindowInteractor.h.

void vtkRenderWindowInteractor::ShowCursor   [inline]
 

Definition at line 220 of file vtkRenderWindowInteractor.h.

void vtkRenderWindowInteractor::Render  
 

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

void vtkRenderWindowInteractor::operator= const vtkRenderWindowInteractor &    [inline, protected]
 

Definition at line 230 of file vtkRenderWindowInteractor.h.


Member Data Documentation

vtkRenderWindow* vtkRenderWindowInteractor::RenderWindow [protected]
 

Definition at line 232 of file vtkRenderWindowInteractor.h.

vtkInteractorStyle* vtkRenderWindowInteractor::InteractorStyle [protected]
 

Definition at line 233 of file vtkRenderWindowInteractor.h.

vtkAbstractPicker* vtkRenderWindowInteractor::Picker [protected]
 

Definition at line 236 of file vtkRenderWindowInteractor.h.

int vtkRenderWindowInteractor::Initialized [protected]
 

Definition at line 239 of file vtkRenderWindowInteractor.h.

int vtkRenderWindowInteractor::Enabled [protected]
 

Definition at line 240 of file vtkRenderWindowInteractor.h.

int vtkRenderWindowInteractor::Style [protected]
 

Definition at line 241 of file vtkRenderWindowInteractor.h.

int vtkRenderWindowInteractor::LightFollowCamera [protected]
 

Definition at line 242 of file vtkRenderWindowInteractor.h.

int vtkRenderWindowInteractor::ActorMode [protected]
 

Definition at line 243 of file vtkRenderWindowInteractor.h.

float vtkRenderWindowInteractor::DesiredUpdateRate [protected]
 

Definition at line 244 of file vtkRenderWindowInteractor.h.

float vtkRenderWindowInteractor::StillUpdateRate [protected]
 

Definition at line 245 of file vtkRenderWindowInteractor.h.

int vtkRenderWindowInteractor::EventPosition[2] [protected]
 

Definition at line 246 of file vtkRenderWindowInteractor.h.

int vtkRenderWindowInteractor::Size[2] [protected]
 

Definition at line 247 of file vtkRenderWindowInteractor.h.

unsigned long vtkRenderWindowInteractor::StartPickTag [protected]
 

Definition at line 250 of file vtkRenderWindowInteractor.h.

unsigned long vtkRenderWindowInteractor::EndPickTag [protected]
 

Definition at line 251 of file vtkRenderWindowInteractor.h.

unsigned long vtkRenderWindowInteractor::UserTag [protected]
 

Definition at line 252 of file vtkRenderWindowInteractor.h.

unsigned long vtkRenderWindowInteractor::ExitTag [protected]
 

Definition at line 253 of file vtkRenderWindowInteractor.h.


The documentation for this class was generated from the following file:
Generated on Wed Nov 21 12:59:42 2001 for VTK by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001