Inheritance diagram for osgGA::UFOManipulator:
Public Member Functions | |
UFOManipulator () | |
Default constructor. | |
virtual const char * | className () const |
return className | |
virtual void | setByMatrix (const osg::Matrixd &matrix) |
Set the current position with a matrix. | |
virtual void | setByInverseMatrix (const osg::Matrixd &invmat) |
Set the current position with the invers matrix. | |
virtual osg::Matrixd | getMatrix () const |
Get the current viewmatrix. | |
virtual osg::Matrixd | getInverseMatrix () const |
Get the current inverse view matrix. | |
virtual void | setNode (osg::Node *node) |
Set the subgraph this manipulator is driving the eye through. | |
virtual const osg::Node * | getNode () const |
Get the root node of the subgraph this manipulator is driving the eye through (const). | |
virtual osg::Node * | getNode () |
Get the root node of the subgraph this manipulator is driving the eye through. | |
virtual void | computeHomePosition () |
Computes the home position based on the extents and scale of the scene graph rooted at node. | |
virtual void | home (const osgGA::GUIEventAdapter &, osgGA::GUIActionAdapter &) |
Sets the viewpoint matrix to the home position. | |
void | home (double) |
Move the camera to the default position. | |
virtual void | init (const GUIEventAdapter &,GUIActionAdapter &) |
Start/restart the manipulator. | |
bool | handle (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &aa) |
Handles incoming osgGA events. | |
void | getUsage (osg::ApplicationUsage &usage) const |
Reports Usage parameters to the application. | |
void | getCurrentPositionAsLookAt (osg::Vec3 &eye, osg::Vec3 ¢er, osg::Vec3 &up) |
Report the current position as LookAt vectors. | |
void | setMinHeight (double in_min_height) |
double | getMinHeight () const |
void | setMinDistance (double in_min_dist) |
double | getMinDistance () const |
void | setForwardSpeed (double in_fs) |
double | getForwardSpeed () const |
void | setSideSpeed (double in_ss) |
double | getSideSpeed () const |
void | setRotationSpeed (double in_rot_speed) |
double | getRotationSpeed () const |
Protected Member Functions | |
void | _stop () |
void | _keyDown (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &) |
void | _keyUp (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &) |
void | _frame (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &) |
void | _adjustPosition () |
Protected Attributes | |
osg::ref_ptr< osg::Node > | _node |
float | _viewAngle |
osg::Matrixd | _matrix |
osg::Matrixd | _inverseMatrix |
osg::Matrixd | _offset |
double | _minHeightAboveGround |
double | _minDistanceInFront |
double | _speedEpsilon |
double | _forwardSpeed |
double | _sideSpeed |
double | _upSpeed |
double | _speedAccelerationFactor |
double | _speedDecelerationFactor |
bool | _decelerateUpSideRate |
double | _directionRotationEpsilon |
double | _directionRotationRate |
double | _directionRotationAcceleration |
double | _directionRotationDeceleration |
double | _viewOffsetDelta |
double | _pitchOffsetRate |
double | _pitchOffset |
double | _yawOffsetRate |
double | _yawOffset |
double | _t0 |
double | _dt |
osg::Vec3 | _direction |
osg::Vec3 | _position |
bool | _shift |
bool | _ctrl |
bool | _decelerateOffsetRate |
bool | _straightenOffset |
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:
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. |
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. |
|
Default constructor.
|
|
|
|
|
|
|
|
|
|
|
|
return className
Reimplemented from osgGA::MatrixManipulator. |
|
Computes the home position based on the extents and scale of the scene graph rooted at node.
Reimplemented from osgGA::MatrixManipulator. |
|
Report the current position as LookAt vectors.
|
|
|
|
Get the current inverse view matrix.
Implements osgGA::MatrixManipulator. |
|
Get the current viewmatrix.
Implements osgGA::MatrixManipulator. |
|
|
|
|
|
Get the root node of the subgraph this manipulator is driving the eye through.
Reimplemented from osgGA::MatrixManipulator. |
|
Get the root node of the subgraph this manipulator is driving the eye through (const).
Reimplemented from osgGA::MatrixManipulator. |
|
|
|
|
|
Reports Usage parameters to the application.
Reimplemented from osgGA::GUIEventHandler. |
|
Handles incoming osgGA events.
|
|
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. |
|
Sets the viewpoint matrix to the home position.
|
|
Start/restart the manipulator. FIXME: what does this actually mean? Provide examples. Reimplemented from osgGA::MatrixManipulator. |
|
Set the current position with the invers matrix.
Implements osgGA::MatrixManipulator. |
|
Set the current position with a matrix.
Implements osgGA::MatrixManipulator. |
|
|
|
|
|
|
|
Set the subgraph this manipulator is driving the eye through.
Reimplemented from osgGA::MatrixManipulator. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|