FlightManipulator is a MatrixManipulator which provides flight simulator-like updating of the camera position & orientation.
Inheritance:
Public Classes
-
enum YawControlMode
Public Methods
-
FlightManipulator()
-
virtual const char* className() const
-
virtual void setByMatrix(const osg::Matrixd& matrix)
- set the position of the matrix manipulator using a 4x4 Matrix
-
virtual void setByInverseMatrix(const osg::Matrixd& matrix)
- set the position of the matrix manipulator using a 4x4 Matrix
-
virtual osg::Matrixd getMatrix() const
- get the position of the manipulator as 4x4 Matrix
-
virtual osg::Matrixd getInverseMatrix() const
- get the position of the manipulator as a inverse matrix of the manipulator, typically used as a model view matrix
-
virtual void setNode(osg::Node*)
-
virtual const osg::Node* getNode() const
-
virtual osg::Node* getNode()
-
virtual void home(const GUIEventAdapter& ea, GUIActionAdapter& us)
-
virtual void init(const GUIEventAdapter& ea, GUIActionAdapter& us)
-
virtual bool handle(const GUIEventAdapter& ea, GUIActionAdapter& us)
-
virtual void getUsage(osg::ApplicationUsage& usage) const
- Get the keyboard and mouse usage of this manipulator
-
void setYawControlMode(YawControlMode ycm)
- Configure the Yaw control for the flight model.
Protected Fields
-
osg::ref_ptr<const GUIEventAdapter> _ga_t1
-
osg::ref_ptr<const GUIEventAdapter> _ga_t0
-
osg::ref_ptr<osg::Node> _node
-
double _modelScale
-
double _acceleration
-
double _velocity
-
YawControlMode _yawMode
-
osg::Vec3d _eye
-
osg::Quat _rotation
-
double _distance
Protected Methods
-
virtual ~FlightManipulator()
-
void flushMouseEventStack()
- Reset the internal GUIEvent stack
-
void addMouseEvent(const GUIEventAdapter& ea)
- Add the current mouse GUIEvent to internal stack
-
void computePosition(const osg::Vec3& eye, const osg::Vec3& lv, const osg::Vec3& up)
-
bool calcMovement()
- For the give mouse movement calculate the movement of the camera.
Public Classes
-
class CoordinateFrameCallback: public osg::Referenced
- callback class to use to allow matrix manipulators to querry the application for the local coordinate frame
Public Methods
-
virtual void setMinimumDistance(float minimumDistance)
-
float getMinimumDistance() const
-
virtual void setCoordinateFrameCallback(CoordinateFrameCallback* cb)
-
CoordinateFrameCallback* getCoordinateFrameCallback()
-
const CoordinateFrameCallback* getCoordinateFrameCallback() 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 osgUtil::SceneView::FusionDistanceMode getFusionDistanceMode() const
-
virtual float getFusionDistanceValue() const
-
virtual void setHomePosition(const osg::Vec3d& eye, const osg::Vec3d& center, const osg::Vec3d& up)
-
virtual void getHomePosition(osg::Vec3d& eye, osg::Vec3d& center, osg::Vec3d& up)
-
virtual void setAutoComputeHomePosition(bool flag)
-
bool getAutoComputeHomePosition() const
-
virtual void computeHomePosition()
-
virtual void accept(GUIEventHandlerVisitor& v)
Protected Fields
-
double _minimumDistance
-
bool _autoComputeHomePosition
-
osg::Vec3d _homeEye
-
osg::Vec3d _homeCenter
-
osg::Vec3d _homeUp
-
osg::ref_ptr<CoordinateFrameCallback> _coordinateFrameCallback
Public Methods
-
META_Object (osgGA, GUIEventHandler) const () const
-
virtual CompositeGUIEventHandler* getComposite()
Documentation
FlightManipulator is a MatrixManipulator 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.
- FlightManipulator()
- virtual const char* className() const
- virtual void setByMatrix(const osg::Matrixd& matrix)
- set the position of the matrix manipulator using a 4x4 Matrix
- virtual void setByInverseMatrix(const osg::Matrixd& matrix)
- set the position of the matrix manipulator using a 4x4 Matrix
- virtual osg::Matrixd getMatrix() const
- get the position of the manipulator as 4x4 Matrix
- virtual osg::Matrixd getInverseMatrix() const
- get the position of the manipulator as a inverse matrix of the manipulator, typically used as a model view matrix
- virtual void setNode(osg::Node*)
- virtual const osg::Node* getNode() const
- virtual osg::Node* getNode()
- virtual void home(const GUIEventAdapter& ea, GUIActionAdapter& us)
- virtual void init(const GUIEventAdapter& ea, GUIActionAdapter& us)
- virtual bool handle(const GUIEventAdapter& ea, GUIActionAdapter& us)
- virtual void getUsage(osg::ApplicationUsage& usage) const
- Get the keyboard and mouse usage of this manipulator
- enum YawControlMode
- YAW_AUTOMATICALLY_WHEN_BANKED
- NO_AUTOMATIC_YAW
- void setYawControlMode(YawControlMode ycm)
- Configure the Yaw control for the flight model.
- virtual ~FlightManipulator()
- void flushMouseEventStack()
- Reset the internal GUIEvent stack
- void addMouseEvent(const GUIEventAdapter& ea)
- Add the current mouse GUIEvent to internal stack
- void computePosition(const osg::Vec3& eye, const osg::Vec3& lv, const osg::Vec3& up)
- bool calcMovement()
- For the give mouse movement calculate the movement of the camera.
Return true is camera has moved and a redraw is required.
- osg::ref_ptr<const GUIEventAdapter> _ga_t1
- osg::ref_ptr<const GUIEventAdapter> _ga_t0
- osg::ref_ptr<osg::Node> _node
- double _modelScale
- double _acceleration
- double _velocity
- YawControlMode _yawMode
- osg::Vec3d _eye
- osg::Quat _rotation
- double _distance
- This class has no child classes.
Alphabetic index HTML hierarchy of classes or Java
This page was generated with the help of DOC++.