openscenegraph
osgGA::FlightManipulator Class Reference

#include <FlightManipulator>

Inheritance diagram for osgGA::FlightManipulator:
osgGA::FirstPersonManipulator osgGA::StandardManipulator osgGA::CameraManipulator osgGA::GUIEventHandler osgGA::EventHandler osg::NodeCallback osg::DrawableEventCallback osg::Callback osg::Callback osg::Object osg::Object osg::Referenced osg::Referenced

Public Types

enum  YawControlMode { YAW_AUTOMATICALLY_WHEN_BANKED , NO_AUTOMATIC_YAW }
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 }

Public Member Functions

 FlightManipulator (int flags=UPDATE_MODEL_SIZE|COMPUTE_HOME_USING_BBOX)
 FlightManipulator (const FlightManipulator &fpm, const osg::CopyOp &copyOp=osg::CopyOp::SHALLOW_COPY)
 META_Object (osgGA, FlightManipulator)
virtual void setYawControlMode (YawControlMode ycm)
YawControlMode getYawControlMode () const
 Returns the Yaw control for the flight model.
virtual void home (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual void init (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual void getUsage (osg::ApplicationUsage &usage) const
Public Member Functions inherited from osgGA::FirstPersonManipulator
 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 (double)
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.
bool getAllowThrow () const
 Returns true if the camera can be thrown, false otherwise. It defaults to true.
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)
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 NodeCallbackasNodeCallback ()
virtual const NodeCallbackasNodeCallback () const
virtual DrawableEventCallbackasDrawableEventCallback ()
virtual const DrawableEventCallbackasDrawableEventCallback () const
virtual EventHandlerasEventHandler ()
virtual const EventHandlerasEventHandler () const
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)
virtual CallbackasCallback ()
virtual const CallbackasCallback () const
virtual CallbackObjectasCallbackObject ()
virtual const CallbackObjectasCallbackObject () const
virtual StateAttributeCallbackasStateAttributeCallback ()
virtual const StateAttributeCallbackasStateAttributeCallback () const
virtual UniformCallbackasUniformCallback ()
virtual const UniformCallbackasUniformCallback () const
virtual DrawableUpdateCallbackasDrawableUpdateCallback ()
virtual const DrawableUpdateCallbackasDrawableUpdateCallback () const
virtual DrawableCullCallbackasDrawableCullCallback ()
virtual const DrawableCullCallbackasDrawableCullCallback () const
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 StateSetasStateSet ()
virtual const StateSetasStateSet () const
virtual StateAttributeasStateAttribute ()
virtual const StateAttributeasStateAttribute () const
virtual UniformasUniform ()
virtual const UniformasUniform () const
virtual CameraasCamera ()
virtual const CameraasCamera () const
virtual DrawableasDrawable ()
virtual const DrawableasDrawable () const
virtual UserDataContainerasUserDataContainer ()
virtual const UserDataContainerasUserDataContainer () const
virtual ValueObjectasValueObject ()
virtual const ValueObjectasValueObject () const
virtual ImageasImage ()
virtual const ImageasImage () 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)
template<class T>
void setUserDataContainer (const ref_ptr< T > &udc)
osg::UserDataContainergetUserDataContainer ()
const osg::UserDataContainergetUserDataContainer () const
osg::UserDataContainergetOrCreateUserDataContainer ()
virtual void setUserData (Referenced *obj)
template<class T>
void setUserData (const ref_ptr< T > &ud)
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::DrawableEventCallback
 DrawableEventCallback ()
 DrawableEventCallback (const DrawableEventCallback &org, const CopyOp &copyop)
 META_Object (osg, DrawableEventCallback)

Protected Member Functions

virtual bool handleFrame (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 flightHandleEvent (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual bool performMovement ()
virtual bool performMovementLeftMouseButton (const double eventTimeDelta, const double dx, const double dy)
virtual bool performMovementMiddleMouseButton (const double eventTimeDelta, const double dx, const double dy)
virtual bool performMovementRightMouseButton (const double eventTimeDelta, const double dx, const double dy)
Protected Member Functions inherited from osgGA::FirstPersonManipulator
virtual bool handleMouseWheel (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
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 handleResize (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 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

YawControlMode _yawMode
Protected Attributes inherited from osgGA::FirstPersonManipulator
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

Additional Inherited Members

Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
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 ()
Static Protected Attributes inherited from osgGA::FirstPersonManipulator
static int _accelerationFlagIndex
static int _maxVelocityFlagIndex
static int _wheelMovementFlagIndex
Static Protected Attributes inherited from osgGA::StandardManipulator
static int numRelativeFlagsAllocated

Detailed Description

FlightManipulator is a CameraManipulator which provides flight simulator-like updating of the camera position & orientation. By default, the left mouse button accelerates, the right mouse button decelerates, and the middle mouse button (or left and right simultaneously) stops dead.

Member Enumeration Documentation

◆ YawControlMode

Enumerator
YAW_AUTOMATICALLY_WHEN_BANKED 
NO_AUTOMATIC_YAW 

Constructor & Destructor Documentation

◆ FlightManipulator() [1/2]

◆ FlightManipulator() [2/2]

osgGA::FlightManipulator::FlightManipulator ( const FlightManipulator & fpm,
const osg::CopyOp & copyOp = osg::CopyOp::SHALLOW_COPY )

Member Function Documentation

◆ flightHandleEvent()

virtual bool osgGA::FlightManipulator::flightHandleEvent ( const osgGA::GUIEventAdapter & ea,
osgGA::GUIActionAdapter & us )
protectedvirtual

◆ getUsage()

virtual void osgGA::FlightManipulator::getUsage ( osg::ApplicationUsage & ) const
virtual

Get the user interface usage of this event handler, i.e. keyboard and mouse bindings.

Reimplemented from osgGA::StandardManipulator.

◆ getYawControlMode()

FlightManipulator::YawControlMode osgGA::FlightManipulator::getYawControlMode ( ) const
inline

Returns the Yaw control for the flight model.

References _yawMode.

Referenced by setYawControlMode().

◆ handleFrame()

virtual bool osgGA::FlightManipulator::handleFrame ( const osgGA::GUIEventAdapter & ea,
osgGA::GUIActionAdapter & us )
protectedvirtual

Reimplemented from osgGA::StandardManipulator.

◆ handleKeyDown()

virtual bool osgGA::FlightManipulator::handleKeyDown ( const osgGA::GUIEventAdapter & ea,
osgGA::GUIActionAdapter & us )
protectedvirtual

Reimplemented from osgGA::StandardManipulator.

◆ handleMouseDrag()

virtual bool osgGA::FlightManipulator::handleMouseDrag ( const osgGA::GUIEventAdapter & ea,
osgGA::GUIActionAdapter & us )
protectedvirtual

Reimplemented from osgGA::StandardManipulator.

◆ handleMouseMove()

virtual bool osgGA::FlightManipulator::handleMouseMove ( const osgGA::GUIEventAdapter & ea,
osgGA::GUIActionAdapter & us )
protectedvirtual

Reimplemented from osgGA::StandardManipulator.

◆ handleMousePush()

virtual bool osgGA::FlightManipulator::handleMousePush ( const osgGA::GUIEventAdapter & ea,
osgGA::GUIActionAdapter & us )
protectedvirtual

Reimplemented from osgGA::StandardManipulator.

◆ handleMouseRelease()

virtual bool osgGA::FlightManipulator::handleMouseRelease ( const osgGA::GUIEventAdapter & ea,
osgGA::GUIActionAdapter & us )
protectedvirtual

Reimplemented from osgGA::StandardManipulator.

◆ home()

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

◆ init()

virtual void osgGA::FlightManipulator::init ( const osgGA::GUIEventAdapter & ,
osgGA::GUIActionAdapter &  )
virtual

Start/restart the manipulator.

Reimplemented from osgGA::FirstPersonManipulator.

◆ META_Object()

osgGA::FlightManipulator::META_Object ( osgGA ,
FlightManipulator  )

References FlightManipulator().

◆ performMovement()

virtual bool osgGA::FlightManipulator::performMovement ( )
protectedvirtual

Reimplemented from osgGA::StandardManipulator.

◆ performMovementLeftMouseButton()

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

Reimplemented from osgGA::FirstPersonManipulator.

◆ performMovementMiddleMouseButton()

virtual bool osgGA::FlightManipulator::performMovementMiddleMouseButton ( const double eventTimeDelta,
const double dx,
const double dy )
protectedvirtual

Reimplemented from osgGA::StandardManipulator.

◆ performMovementRightMouseButton()

virtual bool osgGA::FlightManipulator::performMovementRightMouseButton ( const double eventTimeDelta,
const double dx,
const double dy )
protectedvirtual

Reimplemented from osgGA::StandardManipulator.

◆ setYawControlMode()

virtual void osgGA::FlightManipulator::setYawControlMode ( YawControlMode ycm)
virtual

References getYawControlMode().

Member Data Documentation

◆ _yawMode

YawControlMode osgGA::FlightManipulator::_yawMode
protected

Referenced by getYawControlMode().


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