Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkInteractorStyleTerrain Class Reference

#include <vtkInteractorStyleTerrain.h>

Inheritance diagram for vtkInteractorStyleTerrain:

Inheritance graph
[legend]
Collaboration diagram for vtkInteractorStyleTerrain:

Collaboration graph
[legend]
List of all members.

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
Created by:
  • Barre, Sebastien
CVS contributions (if > 5%):
  • Barre, Sebastien (92%)
  • Cedilnik, Andy (5%)
CVS logs (CVSweb):
  • .cxx (/Rendering/vtkInteractorStyleTerrain.cxx)
  • .h (/Rendering/vtkInteractorStyleTerrain.h)
Tests:
vtkInteractorStyleTerrain (Tests)

Definition at line 74 of file vtkInteractorStyleTerrain.h.

Public Types

typedef vtkInteractorStyle Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
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

vtkInteractorStyleTerrainNew ()
int IsTypeOf (const char *type)
vtkInteractorStyleTerrainSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkInteractorStyleTerrain ()
 ~vtkInteractorStyleTerrain ()
void SelectRepresentation ()
void CreateLatLong ()

Protected Attributes

int LatLongLines
vtkSphereSourceLatLongSphere
vtkPolyDataMapperLatLongMapper
vtkActorLatLongActor
vtkExtractEdgesLatLongExtractEdges
double MotionFactor


Member Typedef Documentation

typedef vtkInteractorStyle vtkInteractorStyleTerrain::Superclass
 

Reimplemented from vtkInteractorStyle.

Definition at line 80 of file vtkInteractorStyleTerrain.h.


Constructor & Destructor Documentation

vtkInteractorStyleTerrain::vtkInteractorStyleTerrain  )  [protected]
 

vtkInteractorStyleTerrain::~vtkInteractorStyleTerrain  )  [protected]
 


Member Function Documentation

vtkInteractorStyleTerrain* vtkInteractorStyleTerrain::New  )  [static]
 

Instantiate the object.

Reimplemented from vtkInteractorStyle.

virtual const char* vtkInteractorStyleTerrain::GetClassName  )  [virtual]
 

Reimplemented from vtkInteractorStyle.

int vtkInteractorStyleTerrain::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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkInteractorStyle.

virtual int vtkInteractorStyleTerrain::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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkInteractorStyle.

vtkInteractorStyleTerrain* vtkInteractorStyleTerrain::SafeDownCast vtkObject o  )  [static]
 

Reimplemented from vtkInteractorStyle.

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

virtual void vtkInteractorStyleTerrain::OnMouseMove  )  [virtual]
 

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

Reimplemented from vtkInteractorStyle.

virtual void vtkInteractorStyleTerrain::OnLeftButtonDown  )  [virtual]
 

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

Reimplemented from vtkInteractorStyle.

virtual void vtkInteractorStyleTerrain::OnLeftButtonUp  )  [virtual]
 

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

Reimplemented from vtkInteractorStyle.

virtual void vtkInteractorStyleTerrain::OnMiddleButtonDown  )  [virtual]
 

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

Reimplemented from vtkInteractorStyle.

virtual void vtkInteractorStyleTerrain::OnMiddleButtonUp  )  [virtual]
 

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

Reimplemented from vtkInteractorStyle.

virtual void vtkInteractorStyleTerrain::OnRightButtonDown  )  [virtual]
 

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

Reimplemented from vtkInteractorStyle.

virtual void vtkInteractorStyleTerrain::OnRightButtonUp  )  [virtual]
 

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

Reimplemented from vtkInteractorStyle.

virtual void vtkInteractorStyleTerrain::OnChar  )  [virtual]
 

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

Reimplemented from vtkInteractorStyle.

virtual void vtkInteractorStyleTerrain::Rotate  )  [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 from vtkInteractorStyle.

virtual void vtkInteractorStyleTerrain::Pan  )  [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 from vtkInteractorStyle.

virtual void vtkInteractorStyleTerrain::Dolly  )  [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 from vtkInteractorStyle.

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 116 of file vtkInteractorStyleTerrain.h.

vtkSphereSource* vtkInteractorStyleTerrain::LatLongSphere [protected]
 

Definition at line 118 of file vtkInteractorStyleTerrain.h.

vtkPolyDataMapper* vtkInteractorStyleTerrain::LatLongMapper [protected]
 

Definition at line 119 of file vtkInteractorStyleTerrain.h.

vtkActor* vtkInteractorStyleTerrain::LatLongActor [protected]
 

Definition at line 120 of file vtkInteractorStyleTerrain.h.

vtkExtractEdges* vtkInteractorStyleTerrain::LatLongExtractEdges [protected]
 

Definition at line 121 of file vtkInteractorStyleTerrain.h.

double vtkInteractorStyleTerrain::MotionFactor [protected]
 

Definition at line 126 of file vtkInteractorStyleTerrain.h.


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