openscenegraph
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
osgGA::FirstPersonManipulator Class Reference
Inheritance diagram for osgGA::FirstPersonManipulator:
osgGA::StandardManipulator osgGA::CameraManipulator osgGA::GUIEventHandler osg::NodeCallback osg::Drawable::EventCallback osg::Object osg::Object osg::Referenced osg::Referenced osgGA::FlightManipulator

List of all members.

Classes

class  FirstPersonAnimationData

Public Member Functions

 FirstPersonManipulator (int flags=DEFAULT_SETTINGS)
 FirstPersonManipulator (const FirstPersonManipulator &fpm, const osg::CopyOp &copyOp=osg::CopyOp::SHALLOW_COPY)
 META_Object (osgGA, FirstPersonManipulator)
virtual void setByMatrix (const osg::Matrixd &matrix)
virtual void setByInverseMatrix (const osg::Matrixd &matrix)
virtual osg::Matrixd getMatrix () const
virtual osg::Matrixd getInverseMatrix () const
virtual void setTransformation (const osg::Vec3d &eye, const osg::Quat &rotation)
virtual void setTransformation (const osg::Vec3d &eye, const osg::Vec3d &center, const osg::Vec3d &up)
virtual void getTransformation (osg::Vec3d &eye, osg::Quat &rotation) const
virtual void getTransformation (osg::Vec3d &eye, osg::Vec3d &center, osg::Vec3d &up) const
virtual void setVelocity (const double &velocity)
double getVelocity () const
 Returns velocity.
virtual void setAcceleration (const double &acceleration, bool relativeToModelSize=false)
double getAcceleration (bool *relativeToModelSize=NULL) const
virtual void setMaxVelocity (const double &maxVelocity, bool relativeToModelSize=false)
double getMaxVelocity (bool *relativeToModelSize=NULL) const
virtual void setWheelMovement (const double &wheelMovement, bool relativeToModelSize=false)
double getWheelMovement (bool *relativeToModelSize=NULL) const
virtual void home (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual void home (double)
virtual void init (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)

Protected Member Functions

virtual bool handleMouseWheel (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual bool performMovementLeftMouseButton (const double eventTimeDelta, const double dx, const double dy)
virtual bool performMouseDeltaMovement (const float dx, const float dy)
virtual void applyAnimationStep (const double currentProgress, const double prevProgress)
virtual bool startAnimationByMousePointerIntersection (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
void moveForward (const double distance)
void moveForward (const osg::Quat &rotation, const double distance)
void moveRight (const double distance)
void moveUp (const double distance)
virtual void allocAnimationData ()

Protected Attributes

osg::Vec3d _eye
osg::Quat _rotation
double _velocity
double _acceleration
double _maxVelocity
double _wheelMovement

Static Protected Attributes

static int _accelerationFlagIndex
static int _maxVelocityFlagIndex
static int _wheelMovementFlagIndex

Detailed Description

FirstPersonManipulator is base class for camera control based on position and orientation of camera, like walk, drive, and flight manipulators.


Constructor & Destructor Documentation

osgGA::FirstPersonManipulator::FirstPersonManipulator ( int  flags = DEFAULT_SETTINGS)
osgGA::FirstPersonManipulator::FirstPersonManipulator ( const FirstPersonManipulator fpm,
const osg::CopyOp copyOp = osg::CopyOp::SHALLOW_COPY 
)

Member Function Documentation

virtual void osgGA::FirstPersonManipulator::allocAnimationData ( ) [inline, protected, virtual]

Reimplemented from osgGA::StandardManipulator.

virtual void osgGA::FirstPersonManipulator::applyAnimationStep ( const double  currentProgress,
const double  prevProgress 
) [protected, virtual]

Reimplemented from osgGA::StandardManipulator.

double osgGA::FirstPersonManipulator::getAcceleration ( bool *  relativeToModelSize = NULL) const
virtual osg::Matrixd osgGA::FirstPersonManipulator::getInverseMatrix ( ) const [virtual]

get the position of the manipulator as a inverse matrix of the manipulator, typically used as a model view matrix.

Implements osgGA::CameraManipulator.

virtual osg::Matrixd osgGA::FirstPersonManipulator::getMatrix ( ) const [virtual]

get the position of the manipulator as 4x4 Matrix.

Implements osgGA::CameraManipulator.

double osgGA::FirstPersonManipulator::getMaxVelocity ( bool *  relativeToModelSize = NULL) const
virtual void osgGA::FirstPersonManipulator::getTransformation ( osg::Vec3d eye,
osg::Quat rotation 
) const [virtual]

Gets manipulator's eye position and eye orientation.

Implements osgGA::StandardManipulator.

virtual void osgGA::FirstPersonManipulator::getTransformation ( osg::Vec3d eye,
osg::Vec3d center,
osg::Vec3d up 
) const [virtual]

Gets manipulator's focal center, eye position, and up vector.

Implements osgGA::StandardManipulator.

double osgGA::FirstPersonManipulator::getVelocity ( ) const [inline]

Returns velocity.

References _velocity.

double osgGA::FirstPersonManipulator::getWheelMovement ( bool *  relativeToModelSize = NULL) const
virtual bool osgGA::FirstPersonManipulator::handleMouseWheel ( const osgGA::GUIEventAdapter ea,
osgGA::GUIActionAdapter us 
) [protected, virtual]

Reimplemented from osgGA::StandardManipulator.

virtual void osgGA::FirstPersonManipulator::home ( const osgGA::GUIEventAdapter ,
osgGA::GUIActionAdapter  
) [virtual]

Move the camera to the default position. May be ignored by manipulators if home functionality is not appropriate.

Reimplemented from osgGA::StandardManipulator.

Reimplemented in osgGA::FlightManipulator.

virtual void osgGA::FirstPersonManipulator::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::StandardManipulator.

virtual void osgGA::FirstPersonManipulator::init ( const osgGA::GUIEventAdapter ,
osgGA::GUIActionAdapter  
) [virtual]

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

Reimplemented from osgGA::StandardManipulator.

Reimplemented in osgGA::FlightManipulator.

osgGA::FirstPersonManipulator::META_Object ( osgGA  ,
FirstPersonManipulator   
)
void osgGA::FirstPersonManipulator::moveForward ( const double  distance) [protected]
void osgGA::FirstPersonManipulator::moveForward ( const osg::Quat rotation,
const double  distance 
) [protected]
void osgGA::FirstPersonManipulator::moveRight ( const double  distance) [protected]
void osgGA::FirstPersonManipulator::moveUp ( const double  distance) [protected]
virtual bool osgGA::FirstPersonManipulator::performMouseDeltaMovement ( const float  dx,
const float  dy 
) [protected, virtual]

Reimplemented from osgGA::StandardManipulator.

virtual bool osgGA::FirstPersonManipulator::performMovementLeftMouseButton ( const double  eventTimeDelta,
const double  dx,
const double  dy 
) [protected, virtual]

Reimplemented from osgGA::StandardManipulator.

Reimplemented in osgGA::FlightManipulator.

virtual void osgGA::FirstPersonManipulator::setAcceleration ( const double &  acceleration,
bool  relativeToModelSize = false 
) [virtual]
virtual void osgGA::FirstPersonManipulator::setByInverseMatrix ( const osg::Matrixd matrix) [virtual]

set the position of the matrix manipulator using a 4x4 Matrix.

Implements osgGA::CameraManipulator.

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

set the position of the matrix manipulator using a 4x4 Matrix.

Implements osgGA::CameraManipulator.

virtual void osgGA::FirstPersonManipulator::setMaxVelocity ( const double &  maxVelocity,
bool  relativeToModelSize = false 
) [virtual]
virtual void osgGA::FirstPersonManipulator::setTransformation ( const osg::Vec3d eye,
const osg::Vec3d center,
const osg::Vec3d up 
) [virtual]

Sets manipulator by eye position, center of rotation, and up vector.

Implements osgGA::StandardManipulator.

virtual void osgGA::FirstPersonManipulator::setTransformation ( const osg::Vec3d eye,
const osg::Quat rotation 
) [virtual]

Sets manipulator by eye position and eye orientation.

Implements osgGA::StandardManipulator.

virtual void osgGA::FirstPersonManipulator::setVelocity ( const double &  velocity) [virtual]
virtual void osgGA::FirstPersonManipulator::setWheelMovement ( const double &  wheelMovement,
bool  relativeToModelSize = false 
) [virtual]
virtual bool osgGA::FirstPersonManipulator::startAnimationByMousePointerIntersection ( const osgGA::GUIEventAdapter ea,
osgGA::GUIActionAdapter us 
) [protected, virtual]

Reimplemented from osgGA::StandardManipulator.


Member Data Documentation

Referenced by getVelocity().


The documentation for this class was generated from the following file: