## class OSGGA_EXPORT osgGA::DriveManipulator

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

## Inheritance:

### Public Methods

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

### Protected Fields

osg::ref_ptr<const GUIEventAdapter> _ga_t1
osg::ref_ptr<const GUIEventAdapter> _ga_t0
osg::ref_ptr<osg::Node> _node
float _modelScale
float _velocity
float _height
float _buffer
SpeedControlMode _speedMode
osg::Vec3 _eye
osg::Quat _rotation
float _distance

### Protected Methods

virtual ~DriveManipulator()
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.

### Protected Members

enum SpeedControlMode

### Inherited from MatrixManipulator:

### Public Methods

virtual osgUtil::SceneView::FusionDistanceMode getFusionDistanceMode() const
virtual float getFusionDistanceValue() const
virtual void accept(GUIEventHandlerVisitor& v)

### Inherited from GUIEventHandler:

### Public Methods

META_Object (osgGA, GUIEventHandler) const () const
virtual 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.

`DriveManipulator()`

`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

`virtual ~DriveManipulator()`

`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`

`float _modelScale`

`float _velocity`

`float _height`

`float _buffer`

`enum SpeedControlMode`

`USE_MOUSE_Y_FOR_SPEED`

`USE_MOUSE_BUTTONS_FOR_SPEED`

`SpeedControlMode _speedMode`

`osg::Vec3 _eye`

`osg::Quat _rotation`

`float _distance`

This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java

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