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. |
osgGA::UFOManipulator::UFOManipulator | ( | ) |
Default constructor.
virtual const char* osgGA::UFOManipulator::className | ( | ) | const [virtual] |
virtual void osgGA::UFOManipulator::setByMatrix | ( | const osg::Matrixd & | matrix | ) | [virtual] |
Set the current position with a matrix.
matrix | A viewpoint matrix. |
Implements osgGA::MatrixManipulator.
virtual void osgGA::UFOManipulator::setByInverseMatrix | ( | const osg::Matrixd & | invmat | ) | [virtual] |
Set the current position with the invers matrix.
invmat | The inverse of a viewpoint matrix |
Implements osgGA::MatrixManipulator.
virtual osg::Matrixd osgGA::UFOManipulator::getMatrix | ( | ) | const [virtual] |
virtual osg::Matrixd osgGA::UFOManipulator::getInverseMatrix | ( | ) | const [virtual] |
virtual void osgGA::UFOManipulator::setNode | ( | osg::Node * | node | ) | [virtual] |
Set the subgraph this manipulator is driving the eye through.
node | root of subgraph |
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.
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 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.
virtual void osgGA::UFOManipulator::home | ( | const osgGA::GUIEventAdapter & | , | |
osgGA::GUIActionAdapter & | ||||
) | [virtual] |
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::init | ( | const GUIEventAdapter & | , | |
GUIActionAdapter & | ||||
) | [virtual] |
Start/restart the manipulator.
FIXME: what does this actually mean? Provide examples.
Reimplemented from osgGA::MatrixManipulator.
bool osgGA::UFOManipulator::handle | ( | const osgGA::GUIEventAdapter & | ea, | |
osgGA::GUIActionAdapter & | aa | |||
) | [virtual] |
void osgGA::UFOManipulator::getUsage | ( | osg::ApplicationUsage & | usage | ) | const [virtual] |
void osgGA::UFOManipulator::getCurrentPositionAsLookAt | ( | osg::Vec3 & | eye, | |
osg::Vec3 & | center, | |||
osg::Vec3 & | up | |||
) |
Report the current position as LookAt vectors.
void osgGA::UFOManipulator::setMinHeight | ( | double | in_min_height | ) | [inline] |
double osgGA::UFOManipulator::getMinHeight | ( | ) | const [inline] |
void osgGA::UFOManipulator::setMinDistance | ( | double | in_min_dist | ) | [inline] |
double osgGA::UFOManipulator::getMinDistance | ( | ) | const [inline] |
void osgGA::UFOManipulator::setForwardSpeed | ( | double | in_fs | ) | [inline] |
double osgGA::UFOManipulator::getForwardSpeed | ( | ) | const [inline] |
void osgGA::UFOManipulator::setSideSpeed | ( | double | in_ss | ) | [inline] |
double osgGA::UFOManipulator::getSideSpeed | ( | ) | const [inline] |
void osgGA::UFOManipulator::setRotationSpeed | ( | double | in_rot_speed | ) | [inline] |
double osgGA::UFOManipulator::getRotationSpeed | ( | ) | const [inline] |
void osgGA::UFOManipulator::_stop | ( | ) | [protected] |
void osgGA::UFOManipulator::_keyDown | ( | const osgGA::GUIEventAdapter & | ea, | |
osgGA::GUIActionAdapter & | ||||
) | [protected] |
void osgGA::UFOManipulator::_keyUp | ( | const osgGA::GUIEventAdapter & | ea, | |
osgGA::GUIActionAdapter & | ||||
) | [protected] |
void osgGA::UFOManipulator::_frame | ( | const osgGA::GUIEventAdapter & | ea, | |
osgGA::GUIActionAdapter & | ||||
) | [protected] |
void osgGA::UFOManipulator::_adjustPosition | ( | ) | [protected] |
osg::ref_ptr<osg::Node> osgGA::UFOManipulator::_node [protected] |
float osgGA::UFOManipulator::_viewAngle [protected] |
osg::Matrixd osgGA::UFOManipulator::_matrix [protected] |
osg::Matrixd osgGA::UFOManipulator::_inverseMatrix [protected] |
osg::Matrixd osgGA::UFOManipulator::_offset [protected] |
double osgGA::UFOManipulator::_minHeightAboveGround [protected] |
double osgGA::UFOManipulator::_minDistanceInFront [protected] |
double osgGA::UFOManipulator::_speedEpsilon [protected] |
double osgGA::UFOManipulator::_forwardSpeed [protected] |
double osgGA::UFOManipulator::_sideSpeed [protected] |
double osgGA::UFOManipulator::_upSpeed [protected] |
double osgGA::UFOManipulator::_speedAccelerationFactor [protected] |
double osgGA::UFOManipulator::_speedDecelerationFactor [protected] |
bool osgGA::UFOManipulator::_decelerateUpSideRate [protected] |
double osgGA::UFOManipulator::_directionRotationEpsilon [protected] |
double osgGA::UFOManipulator::_directionRotationRate [protected] |
double osgGA::UFOManipulator::_directionRotationAcceleration [protected] |
double osgGA::UFOManipulator::_directionRotationDeceleration [protected] |
double osgGA::UFOManipulator::_viewOffsetDelta [protected] |
double osgGA::UFOManipulator::_pitchOffsetRate [protected] |
double osgGA::UFOManipulator::_pitchOffset [protected] |
double osgGA::UFOManipulator::_yawOffsetRate [protected] |
double osgGA::UFOManipulator::_yawOffset [protected] |
double osgGA::UFOManipulator::_t0 [protected] |
double osgGA::UFOManipulator::_dt [protected] |
osg::Vec3 osgGA::UFOManipulator::_direction [protected] |
osg::Vec3 osgGA::UFOManipulator::_position [protected] |
bool osgGA::UFOManipulator::_shift [protected] |
bool osgGA::UFOManipulator::_ctrl [protected] |
bool osgGA::UFOManipulator::_decelerateOffsetRate [protected] |
bool osgGA::UFOManipulator::_straightenOffset [protected] |