version 3.3

VRS::MoveFocusGroundPlateNavigation Class Reference

The MoveFocusNavigation allows to select a focus point on the screen. More...

#include <vrs/sg/movefocusgroundplatenavigation.h>

Inheritance diagram for VRS::MoveFocusGroundPlateNavigation:

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

List of all members.

Public Types

enum  Mode { PRESERVE_POSITION, PRESERVE_ANGLE }
 The mode determines the way how the MoveFocusNavigation achieves the goal that the selected focus point moves to the middle of the screen. More...

Public Member Functions

 MoveFocusGroundPlateNavigation (double yValOfGroundPlate=0.0, Mode mode=PRESERVE_POSITION)
 The MoveFocusNavigation needs a canvas to check the focus point validity.
void setMode (Mode mode)
 Sets the way how the focus point moves to the middle of the screen. See Mode for more information.
Mode getMode () const
void setAnimationTime (double minSeconds=0.25, double maxSeconds=2.5)
 The animation time specifies the time length of the transfer from one focus point to a new one Dependent of the rotation angle, the rotation time is between minSeconds and maxSeconds.
double getMinAnimationTime () const
double getMaxAnimationTime () const
virtual void onDragStart (int x, int y, SO< ButtonEvent >, MouseButtonFunctionID id)
 See navigationtechnique.h.
virtual void onTimer (SO< TimeEvent > event, double secondsSinceLastTimeEvent)
 If the InteractionTechnique is active (i.e.
 VRS_TYPEINFO (MoveFocusGroundPlateNavigation, GroundPlateNavigation)

Static Public Attributes

static const MouseButtonFunctionID MoveFocus


Detailed Description

The MoveFocusNavigation allows to select a focus point on the screen.

It introduces an animation that changes the viewing direction gradually to the target focus point.


Member Enumeration Documentation

The mode determines the way how the MoveFocusNavigation achieves the goal that the selected focus point moves to the middle of the screen.

PRESERVE_POSITION: The focus-change animation does only rotate the camera. PRESERVE_ANGLE: The focus-change animation does only move the camera parallel to the terrain.

Enumerator:
PRESERVE_POSITION 
PRESERVE_ANGLE 


Constructor & Destructor Documentation

VRS::MoveFocusGroundPlateNavigation::MoveFocusGroundPlateNavigation ( double  yValOfGroundPlate = 0.0,
Mode  mode = PRESERVE_POSITION 
)

The MoveFocusNavigation needs a canvas to check the focus point validity.


Member Function Documentation

void VRS::MoveFocusGroundPlateNavigation::setMode ( Mode  mode  ) 

Sets the way how the focus point moves to the middle of the screen. See Mode for more information.

Mode VRS::MoveFocusGroundPlateNavigation::getMode (  )  const

void VRS::MoveFocusGroundPlateNavigation::setAnimationTime ( double  minSeconds = 0.25,
double  maxSeconds = 2.5 
)

The animation time specifies the time length of the transfer from one focus point to a new one Dependent of the rotation angle, the rotation time is between minSeconds and maxSeconds.

double VRS::MoveFocusGroundPlateNavigation::getMinAnimationTime (  )  const

double VRS::MoveFocusGroundPlateNavigation::getMaxAnimationTime (  )  const

virtual void VRS::MoveFocusGroundPlateNavigation::onDragStart ( int  x,
int  y,
SO< ButtonEvent ,
MouseButtonFunctionID  id 
) [virtual]

See navigationtechnique.h.

virtual void VRS::MoveFocusGroundPlateNavigation::onTimer ( SO< TimeEvent event,
double  secondsSinceLastTimeEvent 
) [virtual]

If the InteractionTechnique is active (i.e.

has control of the view parameters) it receives user events and time events. The time event has a special meaning, because after the onTimer() call the current view parameters are finally applied. I.e. all view parameter states between two onTimer()-calls are not relevant. For convenience the time since the last time event is added, which could be alternatively calculated from the time event.

Reimplemented from VRS::InteractionTechnique.

VRS::MoveFocusGroundPlateNavigation::VRS_TYPEINFO ( MoveFocusGroundPlateNavigation  ,
GroundPlateNavigation   
)


Member Data Documentation


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

Generated on Tue May 22 06:00:29 2012 by Doxygen 1.5.6
© 2001-2010 Hasso-Plattner-Institut | Impressum | Contact