OSG  3.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
osgGA::FirstPersonManipulator Class Reference

#include <FirstPersonManipulator.h>

Inheritance diagram for osgGA::FirstPersonManipulator:
Inheritance graph
[legend]
Collaboration diagram for osgGA::FirstPersonManipulator:
Collaboration graph
[legend]

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. More...
 
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)
 
- Public Member Functions inherited from osgGA::StandardManipulator
 StandardManipulator (int flags=DEFAULT_SETTINGS)
 
 StandardManipulator (const StandardManipulator &m, const osg::CopyOp &copyOp=osg::CopyOp::SHALLOW_COPY)
 
virtual const char * className () const
 
virtual void setNode (osg::Node *)
 
virtual const osg::NodegetNode () const
 
virtual osg::NodegetNode ()
 
virtual void setVerticalAxisFixed (bool value)
 
bool getVerticalAxisFixed () const
 Returns whether manipulator preserves camera's "UP" vector. More...
 
bool getAllowThrow () const
 Returns true if the camera can be thrown, false otherwise. It defaults to true. More...
 
virtual void setAllowThrow (bool allowThrow)
 
virtual void setAnimationTime (const double t)
 
double getAnimationTime () const
 
bool isAnimating () const
 
virtual void finishAnimation ()
 
virtual bool handle (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
 
virtual void getUsage (osg::ApplicationUsage &usage) const
 
- Public Member Functions inherited from osgGA::CameraManipulator
virtual void setCoordinateFrameCallback (CoordinateFrameCallback *cb)
 
CoordinateFrameCallbackgetCoordinateFrameCallback ()
 
const CoordinateFrameCallbackgetCoordinateFrameCallback () const
 
osg::CoordinateFrame getCoordinateFrame (const osg::Vec3d &position) const
 
osg::Vec3d getSideVector (const osg::CoordinateFrame &cf) const
 
osg::Vec3d getFrontVector (const osg::CoordinateFrame &cf) const
 
osg::Vec3d getUpVector (const osg::CoordinateFrame &cf) const
 
virtual void updateCamera (osg::Camera &camera)
 
virtual
osgUtil::SceneView::FusionDistanceMode 
getFusionDistanceMode () const
 
virtual float getFusionDistanceValue () const
 
void setIntersectTraversalMask (unsigned int mask)
 
unsigned int getIntersectTraversalMask () const
 
virtual void setHomePosition (const osg::Vec3d &eye, const osg::Vec3d &center, const osg::Vec3d &up, bool autoComputeHomePosition=false)
 
virtual void getHomePosition (osg::Vec3d &eye, osg::Vec3d &center, osg::Vec3d &up) const
 
virtual void setAutoComputeHomePosition (bool flag)
 
bool getAutoComputeHomePosition () const
 
virtual void computeHomePosition (const osg::Camera *camera=NULL, bool useBoundingBox=false)
 
virtual bool handle (osgGA::Event *event, osg::Object *object, osg::NodeVisitor *nv)
 
- Public Member Functions inherited from osgGA::GUIEventHandler
 GUIEventHandler ()
 
 GUIEventHandler (const GUIEventHandler &eh, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 
 META_Object (osgGA, GUIEventHandler)
 
virtual bool handle (const GUIEventAdapter &ea, GUIActionAdapter &aa, osg::Object *, osg::NodeVisitor *)
 
- Public Member Functions inherited from osgGA::EventHandler
 EventHandler ()
 
 EventHandler (const EventHandler &eh, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 
 META_Object (osgGA, EventHandler)
 
virtual bool run (osg::Object *object, osg::Object *data)
 
virtual void operator() (osg::Node *node, osg::NodeVisitor *nv)
 
virtual void event (osg::NodeVisitor *nv, osg::Drawable *drawable)
 
- Public Member Functions inherited from osg::NodeCallback
 NodeCallback ()
 
 NodeCallback (const NodeCallback &nc, const CopyOp &copyop)
 
 META_Object (osg, NodeCallback)
 
- Public Member Functions inherited from osg::Callback
 Callback ()
 
 Callback (const Callback &cb, const CopyOp &copyop)
 
 META_Object (osg, Callback)
 
bool traverse (osg::Object *object, osg::Object *data)
 
void setNestedCallback (osg::Callback *cb)
 
osg::CallbackgetNestedCallback ()
 
const osg::CallbackgetNestedCallback () const
 
void addNestedCallback (osg::Callback *nc)
 
void removeNestedCallback (osg::Callback *nc)
 
- Public Member Functions inherited from osg::Object
 Object ()
 
 Object (bool threadSafeRefUnref)
 
 Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 
virtual ObjectcloneType () const =0
 
virtual Objectclone (const CopyOp &) const =0
 
virtual bool isSameKindAs (const Object *) const
 
virtual const char * libraryName () const =0
 
std::string getCompoundClassName () const
 
virtual NodeasNode ()
 
virtual const NodeasNode () const
 
virtual NodeVisitorasNodeVisitor ()
 
virtual const NodeVisitorasNodeVisitor () const
 
virtual StateAttributeasStateAttribute ()
 
virtual const StateAttributeasStateAttribute () const
 
virtual UniformasUniform ()
 
virtual const UniformasUniform () const
 
virtual void setThreadSafeRefUnref (bool threadSafe)
 
virtual void setName (const std::string &name)
 
void setName (const char *name)
 
const std::string & getName () const
 
void setDataVariance (DataVariance dv)
 
DataVariance getDataVariance () const
 
virtual void computeDataVariance ()
 
void setUserDataContainer (osg::UserDataContainer *udc)
 
osg::UserDataContainergetUserDataContainer ()
 
const osg::UserDataContainergetUserDataContainer () const
 
osg::UserDataContainergetOrCreateUserDataContainer ()
 
virtual void setUserData (Referenced *obj)
 
virtual ReferencedgetUserData ()
 
virtual const ReferencedgetUserData () const
 
template<typename T >
bool getUserValue (const std::string &name, T &value) const
 
template<typename T >
void setUserValue (const std::string &name, const T &value)
 
virtual void resizeGLObjectBuffers (unsigned int)
 
virtual void releaseGLObjects (osg::State *=0) const
 
template<typename T >
BoolValueObject
UCharValueObject
UShortValueObject
UIntValueObject
DoubleValueObject
Vec3fValueObject
Vec2dValueObject
Vec4dValueObject
PlaneValueObject
MatrixdValueObject
BoundingBoxdValueObject
BoundingSpheredValueObject
bool 
getUserValue (const std::string &name, T &value) const
 
- Public Member Functions inherited from osg::Referenced
 Referenced ()
 
 Referenced (bool threadSafeRefUnref)
 
 Referenced (const Referenced &)
 
Referencedoperator= (const Referenced &)
 
bool getThreadSafeRefUnref () const
 
OpenThreads::MutexgetRefMutex () const
 
int ref () const
 
int unref () const
 
int unref_nodelete () const
 
int referenceCount () const
 
ObserverSetgetObserverSet () const
 
ObserverSetgetOrCreateObserverSet () const
 
void addObserver (Observer *observer) const
 
void removeObserver (Observer *observer) const
 
- Public Member Functions inherited from osg::Drawable::EventCallback
 EventCallback ()
 
 EventCallback (const EventCallback &, const CopyOp &)
 
 META_Object (osg, EventCallback)
 

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 Member Functions inherited from osgGA::StandardManipulator
virtual bool handleFrame (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
 
virtual bool handleResize (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
 
virtual bool handleMouseMove (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
 
virtual bool handleMouseDrag (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
 
virtual bool handleMousePush (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
 
virtual bool handleMouseRelease (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
 
virtual bool handleKeyDown (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
 
virtual bool handleKeyUp (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
 
virtual bool handleMouseDeltaMovement (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
 
virtual bool performMovement ()
 
virtual bool performMovementMiddleMouseButton (const double eventTimeDelta, const double dx, const double dy)
 
virtual bool performMovementRightMouseButton (const double eventTimeDelta, const double dx, const double dy)
 
virtual bool performAnimationMovement (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
 
void addMouseEvent (const osgGA::GUIEventAdapter &ea)
 
void flushMouseEventStack ()
 
virtual bool isMouseMoving () const
 
float getThrowScale (const double eventTimeDelta) const
 
virtual void centerMousePointer (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
 
void fixVerticalAxis (osg::Vec3d &eye, osg::Quat &rotation, bool disallowFlipOver)
 
virtual bool setCenterByMousePointerIntersection (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
 
bool getRelativeFlag (int index) const
 
void setRelativeFlag (int index, bool value)
 
- Protected Member Functions inherited from osgGA::CameraManipulator
 CameraManipulator ()
 
 CameraManipulator (const CameraManipulator &mm, const osg::CopyOp &copyOp=osg::CopyOp::SHALLOW_COPY)
 
virtual ~CameraManipulator ()
 
std::string getManipulatorName () const
 
- Protected Member Functions inherited from osgGA::GUIEventHandler
virtual ~GUIEventHandler ()
 
- Protected Member Functions inherited from osg::NodeCallback
virtual ~NodeCallback ()
 
- Protected Member Functions inherited from osg::Callback
virtual ~Callback ()
 
- Protected Member Functions inherited from osg::Object
virtual ~Object ()
 
- Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
 
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
 
void deleteUsingDeleteHandler () const
 

Protected Attributes

osg::Vec3d _eye
 
osg::Quat _rotation
 
double _velocity
 
double _acceleration
 
double _maxVelocity
 
double _wheelMovement
 
- Protected Attributes inherited from osgGA::StandardManipulator
bool _thrown
 
bool _allowThrow
 
float _mouseCenterX
 
float _mouseCenterY
 
osg::ref_ptr< const
osgGA::GUIEventAdapter
_ga_t1
 
osg::ref_ptr< const
osgGA::GUIEventAdapter
_ga_t0
 
double _delta_frame_time
 
double _last_frame_time
 
osg::ref_ptr< osg::Node_node
 
double _modelSize
 
bool _verticalAxisFixed
 
osg::ref_ptr< AnimationData_animationData
 
int _flags
 
int _relativeFlags
 
- Protected Attributes inherited from osgGA::CameraManipulator
unsigned int _intersectTraversalMask
 
bool _autoComputeHomePosition
 
osg::Vec3d _homeEye
 
osg::Vec3d _homeCenter
 
osg::Vec3d _homeUp
 
osg::ref_ptr
< CoordinateFrameCallback
_coordinateFrameCallback
 
- Protected Attributes inherited from osg::Callback
ref_ptr< Callback_nestedCallback
 
- Protected Attributes inherited from osg::Object
std::string _name
 
DataVariance _dataVariance
 
osg::UserDataContainer_userDataContainer
 
- Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
 
OpenThreads::Atomic _refCount
 

Static Protected Attributes

static int _accelerationFlagIndex
 
static int _maxVelocityFlagIndex
 
static int _wheelMovementFlagIndex
 
- Static Protected Attributes inherited from osgGA::StandardManipulator
static int numRelativeFlagsAllocated
 

Additional Inherited Members

- Public Types inherited from osgGA::StandardManipulator
enum  UserInteractionFlags {
  UPDATE_MODEL_SIZE = 0x01, COMPUTE_HOME_USING_BBOX = 0x02, PROCESS_MOUSE_WHEEL = 0x04, SET_CENTER_ON_WHEEL_FORWARD_MOVEMENT = 0x08,
  DEFAULT_SETTINGS = UPDATE_MODEL_SIZE | PROCESS_MOUSE_WHEEL
}
 
- Public Types inherited from osg::Object
enum  DataVariance { DYNAMIC, STATIC, UNSPECIFIED }
 
- Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
 
static void setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting)
 
static bool getThreadSafeReferenceCounting ()
 
static void setDeleteHandler (DeleteHandler *handler)
 
static DeleteHandlergetDeleteHandler ()
 
- Static Protected Member Functions inherited from osgGA::StandardManipulator
static void rotateYawPitch (osg::Quat &rotation, const double yaw, const double pitch, const osg::Vec3d &localUp=osg::Vec3d(0., 0., 0.))
 
static void fixVerticalAxis (osg::Quat &rotation, const osg::Vec3d &localUp, bool disallowFlipOver)
 
static void fixVerticalAxis (const osg::Vec3d &forward, const osg::Vec3d &up, osg::Vec3d &newUp, const osg::Vec3d &localUp, bool disallowFlipOver)
 
static int allocateRelativeFlag ()
 

Detailed Description

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

Definition at line 30 of file FirstPersonManipulator.h.

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 ( )
inlineprotectedvirtual

Reimplemented from osgGA::StandardManipulator.

Definition at line 98 of file FirstPersonManipulator.h.

virtual void osgGA::FirstPersonManipulator::applyAnimationStep ( const double  currentProgress,
const double  prevProgress 
)
protectedvirtual

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.

Definition at line 107 of file FirstPersonManipulator.h.

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

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 
)
protectedvirtual

Reimplemented from osgGA::StandardManipulator.

virtual bool osgGA::FirstPersonManipulator::performMovementLeftMouseButton ( const double  eventTimeDelta,
const double  dx,
const double  dy 
)
protectedvirtual

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::Quat rotation 
)
virtual

Sets manipulator by eye position and eye orientation.

Implements osgGA::StandardManipulator.

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::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 
)
protectedvirtual

Reimplemented from osgGA::StandardManipulator.

Member Data Documentation

double osgGA::FirstPersonManipulator::_acceleration
protected

Definition at line 85 of file FirstPersonManipulator.h.

int osgGA::FirstPersonManipulator::_accelerationFlagIndex
staticprotected

Definition at line 86 of file FirstPersonManipulator.h.

osg::Vec3d osgGA::FirstPersonManipulator::_eye
protected

Definition at line 81 of file FirstPersonManipulator.h.

double osgGA::FirstPersonManipulator::_maxVelocity
protected

Definition at line 87 of file FirstPersonManipulator.h.

int osgGA::FirstPersonManipulator::_maxVelocityFlagIndex
staticprotected

Definition at line 88 of file FirstPersonManipulator.h.

osg::Quat osgGA::FirstPersonManipulator::_rotation
protected

Definition at line 82 of file FirstPersonManipulator.h.

double osgGA::FirstPersonManipulator::_velocity
protected

Definition at line 83 of file FirstPersonManipulator.h.

double osgGA::FirstPersonManipulator::_wheelMovement
protected

Definition at line 89 of file FirstPersonManipulator.h.

int osgGA::FirstPersonManipulator::_wheelMovementFlagIndex
staticprotected

Definition at line 90 of file FirstPersonManipulator.h.


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