VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkInteractorStyleTerrain Class Reference

manipulate camera in scene with natural view up (e.g., terrain) More...

#include <vtkInteractorStyleTerrain.h>

Inherits vtkInteractorStyle.

Collaboration diagram for vtkInteractorStyleTerrain:
[legend]

Public Types

typedef vtkInteractorStyle Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkInteractorStyleTerrainNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual void OnChar ()
 
virtual void Rotate ()
 
virtual void Pan ()
 
virtual void Dolly ()
 
virtual void OnMouseMove ()
 
virtual void OnLeftButtonDown ()
 
virtual void OnLeftButtonUp ()
 
virtual void OnMiddleButtonDown ()
 
virtual void OnMiddleButtonUp ()
 
virtual void OnRightButtonDown ()
 
virtual void OnRightButtonUp ()
 
virtual void SetLatLongLines (int)
 
virtual int GetLatLongLines ()
 
virtual void LatLongLinesOn ()
 
virtual void LatLongLinesOff ()
 

Static Public Member Functions

static vtkInteractorStyleTerrainNew ()
 
static int IsTypeOf (const char *type)
 
static vtkInteractorStyleTerrainSafeDownCast (vtkObjectBase *o)
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkInteractorStyleTerrain ()
 
 ~vtkInteractorStyleTerrain ()
 
void SelectRepresentation ()
 
void CreateLatLong ()
 

Protected Attributes

int LatLongLines
 
vtkSphereSourceLatLongSphere
 
vtkPolyDataMapper * LatLongMapper
 
vtkActor * LatLongActor
 
vtkExtractEdgesLatLongExtractEdges
 
double MotionFactor
 

Detailed Description

manipulate camera in scene with natural view up (e.g., terrain)

vtkInteractorStyleTerrain is used to manipulate a camera which is viewing a scene with a natural view up, e.g., terrain. The camera in such a scene is manipulated by specifying azimuth (angle around the view up vector) and elevation (the angle from the horizon).

The mouse binding for this class is as follows. Left mouse click followed rotates the camera around the focal point using both elevation and azimuth invocations on the camera. Left mouse motion in the horizontal direction results in azimuth motion; left mouse motion in the vertical direction results in elevation motion. Therefore, diagonal motion results in a combination of azimuth and elevation. (If the shift key is held during motion, then only one of elevation or azimuth is invoked, depending on the whether the mouse motion is primarily horizontal or vertical.) Middle mouse button pans the camera across the scene (again the shift key has a similar effect on limiting the motion to the vertical or horizontal direction. The right mouse is used to dolly (e.g., a type of zoom) towards or away from the focal point.

The class also supports some keypress events. The "r" key resets the camera. The "e" key invokes the exit callback and by default exits the program. The "f" key sets a new camera focal point and flys towards that point. The "u" key invokes the user event. The "3" key toggles between stereo and non-stero mode. The "l" key toggles on/off a latitude/longitude markers that can be used to estimate/control position.

See Also
vtkInteractorObserver vtkInteractorStyle vtk3DWidget
Events:
vtkCommand::InteractionEvent
Tests:
vtkInteractorStyleTerrain (Tests)

Definition at line 64 of file vtkInteractorStyleTerrain.h.

Member Typedef Documentation

typedef vtkInteractorStyle vtkInteractorStyleTerrain::Superclass

Definition at line 70 of file vtkInteractorStyleTerrain.h.

Constructor & Destructor Documentation

vtkInteractorStyleTerrain::vtkInteractorStyleTerrain ( )
protected
vtkInteractorStyleTerrain::~vtkInteractorStyleTerrain ( )
protected

Member Function Documentation

static vtkInteractorStyleTerrain* vtkInteractorStyleTerrain::New ( )
static

Instantiate the object.

static int vtkInteractorStyleTerrain::IsTypeOf ( const char *  type)
static
virtual int vtkInteractorStyleTerrain::IsA ( const char *  type)
virtual
static vtkInteractorStyleTerrain* vtkInteractorStyleTerrain::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkInteractorStyleTerrain::NewInstanceInternal ( ) const
protectedvirtual
vtkInteractorStyleTerrain* vtkInteractorStyleTerrain::NewInstance ( ) const
void vtkInteractorStyleTerrain::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual void vtkInteractorStyleTerrain::OnMouseMove ( )
virtual

Event bindings controlling the effects of pressing mouse buttons or moving the mouse.

virtual void vtkInteractorStyleTerrain::OnLeftButtonDown ( )
virtual

Event bindings controlling the effects of pressing mouse buttons or moving the mouse.

virtual void vtkInteractorStyleTerrain::OnLeftButtonUp ( )
virtual

Event bindings controlling the effects of pressing mouse buttons or moving the mouse.

virtual void vtkInteractorStyleTerrain::OnMiddleButtonDown ( )
virtual

Event bindings controlling the effects of pressing mouse buttons or moving the mouse.

virtual void vtkInteractorStyleTerrain::OnMiddleButtonUp ( )
virtual

Event bindings controlling the effects of pressing mouse buttons or moving the mouse.

virtual void vtkInteractorStyleTerrain::OnRightButtonDown ( )
virtual

Event bindings controlling the effects of pressing mouse buttons or moving the mouse.

virtual void vtkInteractorStyleTerrain::OnRightButtonUp ( )
virtual

Event bindings controlling the effects of pressing mouse buttons or moving the mouse.

virtual void vtkInteractorStyleTerrain::OnChar ( )
virtual

Override the "fly-to" (f keypress) for images.

virtual void vtkInteractorStyleTerrain::Rotate ( )
virtual
virtual void vtkInteractorStyleTerrain::Pan ( )
virtual
virtual void vtkInteractorStyleTerrain::Dolly ( )
virtual
virtual void vtkInteractorStyleTerrain::SetLatLongLines ( int  )
virtual

Turn on/off the latitude/longitude lines.

virtual int vtkInteractorStyleTerrain::GetLatLongLines ( )
virtual

Turn on/off the latitude/longitude lines.

virtual void vtkInteractorStyleTerrain::LatLongLinesOn ( )
virtual

Turn on/off the latitude/longitude lines.

virtual void vtkInteractorStyleTerrain::LatLongLinesOff ( )
virtual

Turn on/off the latitude/longitude lines.

void vtkInteractorStyleTerrain::SelectRepresentation ( )
protected
void vtkInteractorStyleTerrain::CreateLatLong ( )
protected

Member Data Documentation

int vtkInteractorStyleTerrain::LatLongLines
protected

Definition at line 106 of file vtkInteractorStyleTerrain.h.

vtkSphereSource* vtkInteractorStyleTerrain::LatLongSphere
protected

Definition at line 108 of file vtkInteractorStyleTerrain.h.

vtkPolyDataMapper* vtkInteractorStyleTerrain::LatLongMapper
protected

Definition at line 109 of file vtkInteractorStyleTerrain.h.

vtkActor* vtkInteractorStyleTerrain::LatLongActor
protected

Definition at line 110 of file vtkInteractorStyleTerrain.h.

vtkExtractEdges* vtkInteractorStyleTerrain::LatLongExtractEdges
protected

Definition at line 111 of file vtkInteractorStyleTerrain.h.

double vtkInteractorStyleTerrain::MotionFactor
protected

Definition at line 116 of file vtkInteractorStyleTerrain.h.


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