version 3.3

VRS::SphereGroundPlateNavigation Class Reference

The SphereNavigation allows to move the camera on a virtual sphere around a focus point. More...

#include <vrs/sg/spheregroundplatenavigation.h>

Inheritance diagram for VRS::SphereGroundPlateNavigation:

VRS::GroundPlateNavigation VRS::InteractionTechnique VRS::SharedObj VRS::Visitable

List of all members.

Public Member Functions

 SphereGroundPlateNavigation (double yValOfGroundPlate=0.0)
 The SphereNavigation needs a terrain, to check the focus point validity.
void setSensitivity (double degreesPerPixel=0.25)
 Sets the intensity in which a mouse motion of 1 pixel causes the camera to move around the sphere.
double getSensitivity () const
 Returns the current sensitivity.
void enableVisualFlowLimit (double visualFlow)
 If a visual flow limit is set, the camera speed is limited near the terrain, so that for a mouse movement of 'd' pixels a point at a distance 'h' is moved 'd*visualFlow' pixels times across the screen.
void disableVisualFlowLimit ()
double getVisualFlowLimit () const
bool getVisualFlowLimitEnabled () const
virtual void onDragMotion (int x, int y, SO< MotionEvent >, MouseButtonFunctionID id, int startX, int startY)
 VRS_TYPEINFO (SphereGroundPlateNavigation, GroundPlateNavigation)

Static Public Attributes

static const MouseButtonFunctionID MoveCamera


Detailed Description

The SphereNavigation allows to move the camera on a virtual sphere around a focus point.

The LookTo vector is never changed. The SphereNavigation does only work when there is a valid focus point, i.e. if the ray through the middle of the screen hits the terrain.

Use the assign-methods of InteractionTechnique to change mouse button or function keys.


Constructor & Destructor Documentation

VRS::SphereGroundPlateNavigation::SphereGroundPlateNavigation ( double  yValOfGroundPlate = 0.0  ) 

The SphereNavigation needs a terrain, to check the focus point validity.


Member Function Documentation

void VRS::SphereGroundPlateNavigation::setSensitivity ( double  degreesPerPixel = 0.25  ) 

Sets the intensity in which a mouse motion of 1 pixel causes the camera to move around the sphere.

'degreesPerPixel' must be positive and smaller than 90.

double VRS::SphereGroundPlateNavigation::getSensitivity (  )  const

Returns the current sensitivity.

void VRS::SphereGroundPlateNavigation::enableVisualFlowLimit ( double  visualFlow  ) 

If a visual flow limit is set, the camera speed is limited near the terrain, so that for a mouse movement of 'd' pixels a point at a distance 'h' is moved 'd*visualFlow' pixels times across the screen.

For 'h' the current height above the terrain is used.

void VRS::SphereGroundPlateNavigation::disableVisualFlowLimit (  ) 

double VRS::SphereGroundPlateNavigation::getVisualFlowLimit (  )  const

bool VRS::SphereGroundPlateNavigation::getVisualFlowLimitEnabled (  )  const

virtual void VRS::SphereGroundPlateNavigation::onDragMotion ( int  x,
int  y,
SO< MotionEvent ,
MouseButtonFunctionID  id,
int  startX,
int  startY 
) [virtual]

VRS::SphereGroundPlateNavigation::VRS_TYPEINFO ( SphereGroundPlateNavigation  ,
GroundPlateNavigation   
)


Member Data Documentation


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

Generated on Sat May 18 06:00:34 2013 by Doxygen 1.5.6
© 2001-2010 Hasso-Plattner-Institut | Impressum | Contact