Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

osgGA::UFOManipulator Class Reference

A UFO manipulator driven with keybindings. More...

Inheritance diagram for osgGA::UFOManipulator:

osgGA::MatrixManipulator osgGA::GUIEventHandler osg::NodeCallback osg::Drawable::EventCallback osg::Object osg::Object osg::Referenced osg::Referenced List of all members.

Public Member Functions

 UFOManipulator ()
virtual const char * className () const
virtual void setByMatrix (const osg::Matrixd &matrix)
virtual void setByInverseMatrix (const osg::Matrixd &invmat)
virtual osg::Matrixd getMatrix () const
virtual osg::Matrixd getInverseMatrix () const
virtual void setNode (osg::Node *node)
virtual const osg::NodegetNode () const
virtual osg::NodegetNode ()
virtual void computeHomePosition ()
virtual void home (const osgGA::GUIEventAdapter &, osgGA::GUIActionAdapter &)
void home (double)
virtual void init (const GUIEventAdapter &, GUIActionAdapter &)
bool handle (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &aa)
void getUsage (osg::ApplicationUsage &usage) const
void getCurrentPositionAsLookAt (osg::Vec3 &eye, osg::Vec3 &center, osg::Vec3 &up)

Detailed Description

A UFO manipulator driven with keybindings.

The UFOManipulator is better suited for applications that employ architectural walk-throughs, or situations where the eyepoint motion model must move slowly, deliberately and well controlled.

The UFO Manipulator allows the following movements with the listed Key combinations:

Parameters:
UpArrow Acceleration forward.
DownArrow Acceleration backward (or deceleration forward).
LeftArrow Rotate view and direction of travel to the left.
RightArrow Rotate view and direction of travel to the right.
SpaceBar Brake. Gradually decelerates linear and rotational movement.
Shift/UpArrow Accelerate up.
Shift/DownArrow Accelerate down.
Shift/LeftArrow Accelerate (linearly) left.
Shift/RightArrow Accelerate (linearly) right.
Shift/SpaceBar Instant brake. Immediately stop all linear and rotational movement.
When the Shift key is released, up, down, linear left and/or linear right movement is decelerated.

Parameters:
Ctrl/UpArrow Rotate view (but not direction of travel) up.
Ctrl/DownArrow Rotate view (but not direction of travel) down.
Ctrl/LeftArrow Rotate view (but not direction of travel) left.
Ctrl/RightArrow Rotate view (but not direction of travel) right.
Ctrl/Return Straightens out the view offset.


Constructor & Destructor Documentation

osgGA::UFOManipulator::UFOManipulator  ) 
 

Default constructor


Member Function Documentation

virtual const char* osgGA::UFOManipulator::className  )  const [virtual]
 

return className

Returns:
returns constant "UFO"

Reimplemented from osgGA::MatrixManipulator.

virtual void osgGA::UFOManipulator::computeHomePosition  )  [virtual]
 

Computes the home position based on the extents and scale of the scene graph rooted at node

Reimplemented from osgGA::MatrixManipulator.

void osgGA::UFOManipulator::getCurrentPositionAsLookAt osg::Vec3 eye,
osg::Vec3 center,
osg::Vec3 up
 

Report the current position as LookAt vectors

virtual osg::Matrixd osgGA::UFOManipulator::getInverseMatrix  )  const [virtual]
 

Get the current inverse view matrix

Implements osgGA::MatrixManipulator.

virtual osg::Matrixd osgGA::UFOManipulator::getMatrix  )  const [virtual]
 

Get the current viewmatrix

Implements osgGA::MatrixManipulator.

virtual osg::Node* osgGA::UFOManipulator::getNode  )  [virtual]
 

Get the root node of the subgraph this manipulator is driving the eye through

Reimplemented from osgGA::MatrixManipulator.

virtual const osg::Node* osgGA::UFOManipulator::getNode  )  const [virtual]
 

Get the root node of the subgraph this manipulator is driving the eye through (const)

Reimplemented from osgGA::MatrixManipulator.

void osgGA::UFOManipulator::getUsage osg::ApplicationUsage usage  )  const [virtual]
 

Reports Usage parameters to the application

Reimplemented from osgGA::GUIEventHandler.

bool osgGA::UFOManipulator::handle const osgGA::GUIEventAdapter ea,
osgGA::GUIActionAdapter aa
[virtual]
 

Handles incoming osgGA events

Reimplemented from osgGA::MatrixManipulator.

void osgGA::UFOManipulator::home double   )  [virtual]
 

Move the camera to the default position. This version does not require GUIEventAdapter and GUIActionAdapter so may be called from somewhere other than a handle() method in GUIEventHandler. Application must be aware of implications.

Reimplemented from osgGA::MatrixManipulator.

virtual void osgGA::UFOManipulator::home const osgGA::GUIEventAdapter ,
osgGA::GUIActionAdapter
[virtual]
 

Sets the viewpoint matrix to the home position

Reimplemented from osgGA::MatrixManipulator.

virtual void osgGA::UFOManipulator::init const GUIEventAdapter ,
GUIActionAdapter
[virtual]
 

Start/restart the manipulator. FIXME: what does this actually mean? Provide examples.

Reimplemented from osgGA::MatrixManipulator.

virtual void osgGA::UFOManipulator::setByInverseMatrix const osg::Matrixd invmat  )  [virtual]
 

Set the current position with the invers matrix

Parameters:
invmat The inverse of a viewpoint matrix

Implements osgGA::MatrixManipulator.

virtual void osgGA::UFOManipulator::setByMatrix const osg::Matrixd matrix  )  [virtual]
 

Set the current position with a matrix

Parameters:
matrix A viewpoint matrix.

Implements osgGA::MatrixManipulator.

virtual void osgGA::UFOManipulator::setNode osg::Node node  )  [virtual]
 

Set the subgraph this manipulator is driving the eye through.

Parameters:
node root of subgraph

Reimplemented from osgGA::MatrixManipulator.


The documentation for this class was generated from the following file:
Generated on Wed Jun 7 08:31:05 2006 for OpenSceneGraph by  doxygen 1.4.4