class OSGGA_EXPORT osgGA::DriveManipulator

DriveManipulator is a camera manipulator which provides drive-like functionality.

Inheritance:


Public Methods

[more] DriveManipulator()
[more]virtual const char* className() const
[more]virtual void setByMatrix(const osg::Matrixd& matrix)
set the position of the matrix manipulator using a 4x4 Matrix
[more]virtual void setByInverseMatrix(const osg::Matrixd& matrix)
set the position of the matrix manipulator using a 4x4 Matrix
[more]virtual osg::Matrixd getMatrix() const
get the position of the manipulator as 4x4 Matrix
[more]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
[more]virtual void setNode(osg::Node*)
[more]virtual const osg::Node* getNode() const
[more]virtual osg::Node* getNode()
[more]virtual void computeHomePosition()
[more]virtual void home(const GUIEventAdapter& ea, GUIActionAdapter& us)
[more]virtual void init(const GUIEventAdapter& ea, GUIActionAdapter& us)
[more]virtual bool handle(const GUIEventAdapter& ea, GUIActionAdapter& us)
[more]virtual void getUsage(osg::ApplicationUsage& usage) const
Get the keyboard and mouse usage of this manipulator

Protected Classes

[more]enum SpeedControlMode

Protected Fields

[more]osg::ref_ptr<const GUIEventAdapter> _ga_t1
[more]osg::ref_ptr<const GUIEventAdapter> _ga_t0
[more]osg::ref_ptr<osg::Node> _node
[more]double _modelScale
[more]double _velocity
[more]double _height
[more]double _buffer
[more]SpeedControlMode _speedMode
[more]osg::Vec3d _eye
[more]osg::Quat _rotation
[more]double _distance

Protected Methods

[more]virtual ~DriveManipulator()
[more]void flushMouseEventStack()
Reset the internal GUIEvent stack
[more]void addMouseEvent(const GUIEventAdapter& ea)
Add the current mouse GUIEvent to internal stack
[more]void computePosition(const osg::Vec3d& eye, const osg::Vec3d& lv, const osg::Vec3d& up)
[more]bool calcMovement()
For the give mouse movement calculate the movement of the camera.


Inherited from MatrixManipulator:

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

ovirtual void setMinimumDistance(float minimumDistance)
ofloat getMinimumDistance() const
ovirtual void setCoordinateFrameCallback(CoordinateFrameCallback* cb)
oCoordinateFrameCallback* getCoordinateFrameCallback()
oconst CoordinateFrameCallback* getCoordinateFrameCallback() const
oosg::CoordinateFrame getCoordinateFrame(const osg::Vec3d& position) const
oosg::Vec3d getSideVector(const osg::CoordinateFrame& cf) const
oosg::Vec3d getFrontVector(const osg::CoordinateFrame& cf) const
oosg::Vec3d getUpVector(const osg::CoordinateFrame& cf) const
ovirtual osgUtil::SceneView::FusionDistanceMode getFusionDistanceMode() const
ovirtual float getFusionDistanceValue() const
ovirtual void setHomePosition(const osg::Vec3d& eye, const osg::Vec3d& center, const osg::Vec3d& up)
ovirtual void getHomePosition(osg::Vec3d& eye, osg::Vec3d& center, osg::Vec3d& up)
ovirtual void setAutoComputeHomePosition(bool flag)
obool getAutoComputeHomePosition() const
ovirtual void accept(GUIEventHandlerVisitor& v)

Protected Fields

odouble _minimumDistance
obool _autoComputeHomePosition
oosg::Vec3d _homeEye
oosg::Vec3d _homeCenter
oosg::Vec3d _homeUp
oosg::ref_ptr<CoordinateFrameCallback> _coordinateFrameCallback


Inherited from GUIEventHandler:

Public Methods

oMETA_Object (osgGA, GUIEventHandler) const () const
ovirtual CompositeGUIEventHandler* getComposite()


Documentation

DriveManipulator is a camera manipulator which provides drive-like functionality. By default, the left mouse button accelerates, the right mouse button decelerates, and the middle mouse button (or left and right simultaneously) stops dead.
o DriveManipulator()

ovirtual const char* className() const

ovirtual void setByMatrix(const osg::Matrixd& matrix)
set the position of the matrix manipulator using a 4x4 Matrix

ovirtual void setByInverseMatrix(const osg::Matrixd& matrix)
set the position of the matrix manipulator using a 4x4 Matrix

ovirtual osg::Matrixd getMatrix() const
get the position of the manipulator as 4x4 Matrix

ovirtual osg::Matrixd getInverseMatrix() const
get the position of the manipulator as a inverse matrix of the manipulator, typically used as a model view matrix

ovirtual void setNode(osg::Node*)

ovirtual const osg::Node* getNode() const

ovirtual osg::Node* getNode()

ovirtual void computeHomePosition()

ovirtual void home(const GUIEventAdapter& ea, GUIActionAdapter& us)

ovirtual void init(const GUIEventAdapter& ea, GUIActionAdapter& us)

ovirtual bool handle(const GUIEventAdapter& ea, GUIActionAdapter& us)

ovirtual void getUsage(osg::ApplicationUsage& usage) const
Get the keyboard and mouse usage of this manipulator

ovirtual ~DriveManipulator()

ovoid flushMouseEventStack()
Reset the internal GUIEvent stack

ovoid addMouseEvent(const GUIEventAdapter& ea)
Add the current mouse GUIEvent to internal stack

ovoid computePosition(const osg::Vec3d& eye, const osg::Vec3d& lv, const osg::Vec3d& up)

obool calcMovement()
For the give mouse movement calculate the movement of the camera. Return true is camera has moved and a redraw is required.

oosg::ref_ptr<const GUIEventAdapter> _ga_t1

oosg::ref_ptr<const GUIEventAdapter> _ga_t0

oosg::ref_ptr<osg::Node> _node

odouble _modelScale

odouble _velocity

odouble _height

odouble _buffer

oenum SpeedControlMode

o USE_MOUSE_Y_FOR_SPEED

o USE_MOUSE_BUTTONS_FOR_SPEED

oSpeedControlMode _speedMode

oosg::Vec3d _eye

oosg::Quat _rotation

odouble _distance


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.