| VRS - The Virtual Rendering System |
| version 3.3 |
#include <vrs/sg/interactionconcept.h>

Public Member Functions | |
| InteractionConcept (SO< LookAt > lookAt=NULL) | |
| Constructs a InteractionConcept. | |
| SO< LookAt > | getLookAt () const |
| Get/Set LookAt, which is controlled by the InteractionConcept. | |
| void | setLookAt (SO< LookAt > lookAt) |
| void | addInteractionMode (SO< InteractionMode > mode) |
| Adds a new InteractionMode. 'mode' must not be NULL. Registering a mode twice has no effect. | |
| void | removeInteractionMode (SO< InteractionMode > mode) |
| Removes a InteractionMode. | |
| SO< Iterator< SO < InteractionMode > > > | interactionModeIterator () const |
| Returns an iterator of all InteractionModes. | |
| void | selectInteractionMode (SO< InteractionMode > mode) |
| Selects the current InteractionMode. 'mode' may be NULL. In this case, interaction is disabled. */. | |
| SO< InteractionMode > | getSelectedInteractionMode () const |
| Returns the currently selected Interaction Mode (may be NULL). | |
| virtual void | setConstraintChecker (ConstraintChecker *checker) |
| Set a ConstraintChecker. | |
| virtual ConstraintChecker * | getConstraintChecker () const |
| Returns the current ConstraintChecker. | |
| void | initParentPointers () |
| Only needed for internal use: ensures that the parent pointers of all stored InteractionModes and InteractionTechniques are valid. | |
| virtual BehaviorNode::InvalidationHint | handle (Event *event) |
| Receives events and passes it to the active InteractionMode. | |
| void | brake () |
| Should be used by InteractionTechniques if the user obviously wants to stop movement as fast as possible. | |
| SO< ViewParameterSet > | getViewParameters () const |
| Provides access to the current view parameters. | |
| SO< ViewParameterSet > | getPreviousViewParameters () const |
| When viewParameters_ has been changed by a InteractionTechnique, constraints may need the previous ones to cancel the change. | |
| void | setMotionStateCallback (VRS::SO< VRS::Callback2< bool, bool > > callback) |
| Set a callback that is activated, when the state of motion or viewing direction changes. | |
| VRS_TYPEINFO (InteractionConcept, BehaviorNode) | |
| VRS_SERIALIZABLE (InteractionConcept) | |
Classes | |
| class | ViewParameterSet |
| The ViewParameterSet represents all view parameters that can be interactively changed by InteractionTechniques. More... | |
It contains a set of InteractionModes. Each InteractionMode defines a combination of InteractionTechniques and associated constraints. While a single InteractionMode contains InteractionTechnques that work together without explicit mode switches, the InteractionModes of a InteractionConcept are intended as a collection of interaction modes between which the user can explicitly switch. E.g. you could combine the click-and-fly-technque with a flyer into a single InteractionMode and combine modes such as 'flying mode', 'walking mode', 'zooming-and-panning' into a InteractionConcept that allows to switch between these modes. To activate a InteractionConcept it must be appended onto the behavior graph of a canvas. Then it receives events and pass it to the currently selected InteractionMode. In addition to the InteractionModes a InteractionConcept defines a sequence of user-defined constraints that are applied to the view parameters proposed by a InteractionTechnique. Examples include max-distance, max-height etc. For each InteractionMode, it can be specified whether the view parameters should be directly applied or passed to a physical simulation engine, which smoothes the camera movement. The settings for the physical simulation can be chosen individually for each mode. For a InteractionConcept a InteractionEnvironmentData object may be defined. This object provides access to the virtual environment that is needed by some InteractionTechniques. E.g. it provides information about an underlying terrain and a scene graph to display control elements or interaction cues. All InteractionTechniques used in a InteractionConcept get access to the defined InteractionEnvironmentData. Note: Each InteractionTechnique can only be used in one InteractionMode and each InteractionMode can be part of only one InteractionConcept.
Constructs a InteractionConcept.
Though 'lookAt' may be NULL, the InteractionConcept will not work until a LookAt is set.
Get/Set LookAt, which is controlled by the InteractionConcept.
Note: When using setLookAt() the current state of LookAt is used for initilization. However further changes of the LookAt are not considered by the InteractionConcept, i.e. they will be immediately overwritten.
| void VRS::InteractionConcept::addInteractionMode | ( | SO< InteractionMode > | mode | ) |
Adds a new InteractionMode. 'mode' must not be NULL. Registering a mode twice has no effect.
| void VRS::InteractionConcept::removeInteractionMode | ( | SO< InteractionMode > | mode | ) |
Removes a InteractionMode.
'mode' must be a previously added mode. If the currently selected InteractionMode is removed, the first one in the list is selected instead.
| SO<Iterator<SO<InteractionMode> > > VRS::InteractionConcept::interactionModeIterator | ( | ) | const |
Returns an iterator of all InteractionModes.
| void VRS::InteractionConcept::selectInteractionMode | ( | SO< InteractionMode > | mode | ) |
Selects the current InteractionMode. 'mode' may be NULL. In this case, interaction is disabled. */.
| SO<InteractionMode> VRS::InteractionConcept::getSelectedInteractionMode | ( | ) | const |
Returns the currently selected Interaction Mode (may be NULL).
| virtual void VRS::InteractionConcept::setConstraintChecker | ( | ConstraintChecker * | checker | ) | [virtual] |
Set a ConstraintChecker.
| virtual ConstraintChecker* VRS::InteractionConcept::getConstraintChecker | ( | ) | const [virtual] |
Returns the current ConstraintChecker.
| void VRS::InteractionConcept::initParentPointers | ( | ) |
Only needed for internal use: ensures that the parent pointers of all stored InteractionModes and InteractionTechniques are valid.
| virtual BehaviorNode::InvalidationHint VRS::InteractionConcept::handle | ( | Event * | event | ) | [virtual] |
| void VRS::InteractionConcept::brake | ( | ) |
Should be used by InteractionTechniques if the user obviously wants to stop movement as fast as possible.
If a physical engine is used, this information is passed to it, so that the slow down is shortened.
| SO<ViewParameterSet> VRS::InteractionConcept::getViewParameters | ( | ) | const |
Provides access to the current view parameters.
The current ViewParameterSet is either the last one that have been applied, or it may be changed by the InteractionTechnique by user events since the last time event. Note: You should not change the view parameters from outside. The non-constant access is only intended for InteractionModes and InteractionTechniques.
| SO<ViewParameterSet> VRS::InteractionConcept::getPreviousViewParameters | ( | ) | const |
When viewParameters_ has been changed by a InteractionTechnique, constraints may need the previous ones to cancel the change.
| void VRS::InteractionConcept::setMotionStateCallback | ( | VRS::SO< VRS::Callback2< bool, bool > > | callback | ) |
Set a callback that is activated, when the state of motion or viewing direction changes.
May be set to NULL to clear notification. The callback flags, if a motion started or stopped, and if the lookfrom state starts or stops changing. Thus, the callback function needs two parameters: void motionCallback(bool motionStateChanged, bool viewDirStateChanged); There is no immediate update, but in the next time step (usually the next millisecond).
| VRS::InteractionConcept::VRS_TYPEINFO | ( | InteractionConcept | , | |
| BehaviorNode | ||||
| ) |
| VRS::InteractionConcept::VRS_SERIALIZABLE | ( | InteractionConcept | ) |