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

# vtkInteractorStyleTerrain Class Reference

`#include <vtkInteractorStyleTerrain.h>`

Inheritance diagram for vtkInteractorStyleTerrain:

[legend]
Collaboration diagram for vtkInteractorStyleTerrain:

[legend]
List of all members.

## Detailed Description

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

Date:
  2002/05/06 21:13:53

Revision:
  1.1

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 (94%)
  - Cedilnik, Andy (5%)

CVS logs (CVSweb):
  - .`cxx` (`/Rendering/vtkInteractorStyleTerrain.cxx)`
  - .`h` (`/Rendering/vtkInteractorStyleTerrain.h)`

Tests:
  vtkInteractorStyleTerrain (Tests)

Definition at line 78 of file vtkInteractorStyleTerrain.h.

## Public Types

typedef vtkInteractorStyle | Superclass

## Public Methods

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 Methods

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

## Protected Methods

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

## Protected Attributes

int | LatLongLines
vtkSphereSource * | LatLongSphere
vtkPolyDataMapper * | LatLongMapper
vtkActor * | LatLongActor
vtkExtractEdges * | LatLongExtractEdges
float | MotionFactor

## Member Typedef Documentation

typedef vtkInteractorStyle vtkInteractorStyleTerrain::Superclass

| Reimplemented from vtkInteractorStyle. Definition at line 84 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 120 of file vtkInteractorStyleTerrain.h.

vtkSphereSource* vtkInteractorStyleTerrain::LatLongSphere`[protected]`

| Definition at line 122 of file vtkInteractorStyleTerrain.h.

vtkPolyDataMapper* vtkInteractorStyleTerrain::LatLongMapper`[protected]`

| Definition at line 123 of file vtkInteractorStyleTerrain.h.

vtkActor* vtkInteractorStyleTerrain::LatLongActor`[protected]`

| Definition at line 124 of file vtkInteractorStyleTerrain.h.

vtkExtractEdges* vtkInteractorStyleTerrain::LatLongExtractEdges`[protected]`

| Definition at line 125 of file vtkInteractorStyleTerrain.h.

float vtkInteractorStyleTerrain::MotionFactor`[protected]`

| Definition at line 130 of file vtkInteractorStyleTerrain.h.

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

- Rendering/vtkInteractorStyleTerrain.h