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::Node * | getNode () const |
| virtual osg::Node * | getNode () |
| 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 ¢er, osg::Vec3 &up) |
| 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 |
| virtual | ~UFOManipulator () |
| bool | intersect (const osg::Vec3d &start, const osg::Vec3d &end, osg::Vec3d &intersection) const |
| 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::Vec3d | _direction |
| osg::Vec3d | _position |
| bool | _shift |
| bool | _ctrl |
| bool | _decelerateOffsetRate |
| bool | _straightenOffset |
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 |
( |
|
) |
|
| virtual osgGA::UFOManipulator::~UFOManipulator |
( |
|
) |
[protected, virtual] |
Member Function Documentation
| void osgGA::UFOManipulator::_adjustPosition |
( |
|
) |
[protected] |
| void osgGA::UFOManipulator::_stop |
( |
|
) |
[protected] |
| virtual const char* osgGA::UFOManipulator::className |
( |
|
) |
const [virtual] |
| 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.
Report the current position as LookAt vectors
| double osgGA::UFOManipulator::getForwardSpeed |
( |
|
) |
const [inline] |
| virtual osg::Matrixd osgGA::UFOManipulator::getInverseMatrix |
( |
|
) |
const [virtual] |
| virtual osg::Matrixd osgGA::UFOManipulator::getMatrix |
( |
|
) |
const [virtual] |
| double osgGA::UFOManipulator::getMinDistance |
( |
|
) |
const [inline] |
| double osgGA::UFOManipulator::getMinHeight |
( |
|
) |
const [inline] |
| 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.
| double osgGA::UFOManipulator::getRotationSpeed |
( |
|
) |
const [inline] |
| double osgGA::UFOManipulator::getSideSpeed |
( |
|
) |
const [inline] |
| void osgGA::UFOManipulator::home |
( |
double |
|
) |
[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 inverse matrix
- Parameters:
-
| invmat | The inverse of a viewpoint matrix |
Implements osgGA::MatrixManipulator.
| virtual void osgGA::UFOManipulator::setByMatrix |
( |
const osg::Matrixd & |
matrix |
) |
[virtual] |
| void osgGA::UFOManipulator::setForwardSpeed |
( |
double |
in_fs |
) |
[inline] |
| void osgGA::UFOManipulator::setMinDistance |
( |
double |
in_min_dist |
) |
[inline] |
| void osgGA::UFOManipulator::setMinHeight |
( |
double |
in_min_height |
) |
[inline] |
| virtual void osgGA::UFOManipulator::setNode |
( |
osg::Node * |
node |
) |
[virtual] |
| void osgGA::UFOManipulator::setRotationSpeed |
( |
double |
in_rot_speed |
) |
[inline] |
| void osgGA::UFOManipulator::setSideSpeed |
( |
double |
in_ss |
) |
[inline] |
Member Data Documentation
The documentation for this class was generated from the following file: