VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkInteractorStyleTerrain Class Reference

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

#include <vtkInteractorStyleTerrain.h>

Inheritance diagram for vtkInteractorStyleTerrain:
Inheritance graph
[legend]
Collaboration diagram for vtkInteractorStyleTerrain:
Collaboration graph
[legend]

List of all members.

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 vtkObjectBaseNewInstanceInternal () const
 vtkInteractorStyleTerrain ()
 ~vtkInteractorStyleTerrain ()
void SelectRepresentation ()
void CreateLatLong ()

Protected Attributes

int LatLongLines
vtkSphereSourceLatLongSphere
vtkPolyDataMapperLatLongMapper
vtkActorLatLongActor
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

Reimplemented from vtkInteractorStyle.

Definition at line 70 of file vtkInteractorStyleTerrain.h.


Constructor & Destructor Documentation


Member Function Documentation

Instantiate the object.

Reimplemented from vtkInteractorStyle.

static int vtkInteractorStyleTerrain::IsTypeOf ( const char *  name) [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 vtkInteractorStyle.

virtual int vtkInteractorStyleTerrain::IsA ( const char *  name) [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 vtkInteractorStyle.

Reimplemented from vtkInteractorStyle.

virtual vtkObjectBase* vtkInteractorStyleTerrain::NewInstanceInternal ( ) const [protected, virtual]

Reimplemented from vtkInteractorStyle.

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.

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.

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.

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.


Member Data Documentation

Definition at line 106 of file vtkInteractorStyleTerrain.h.

Definition at line 108 of file vtkInteractorStyleTerrain.h.

Definition at line 109 of file vtkInteractorStyleTerrain.h.

Definition at line 110 of file vtkInteractorStyleTerrain.h.

Definition at line 111 of file vtkInteractorStyleTerrain.h.

Definition at line 116 of file vtkInteractorStyleTerrain.h.


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