## class OSGGA_EXPORT osgGA::TrackballManipulator

## Inheritance:

### Public Methods

TrackballManipulator()
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 osgUtil::SceneView::FusionDistanceMode getFusionDistanceMode() const
  Get the FusionDistanceMode.
virtual float getFusionDistanceValue() const
  Get the FusionDistanceValue.
virtual void setNode(osg::Node*)
  Attach a node to the manipulator.
virtual const osg::Node* getNode() const
  Return node if attached
virtual osg::Node* getNode()
  Return node if attached
virtual void home(const GUIEventAdapter& ea, GUIActionAdapter& us)
  Move the camera to the default position.
virtual void init(const GUIEventAdapter& ea, GUIActionAdapter& us)
  Start/restart the manipulator
virtual bool handle(const GUIEventAdapter& ea, GUIActionAdapter& us)
  handle events, return true if handled, false otherwise
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 _minimumZoomScale
bool _thrown
osg::Vec3 _center
osg::Quat _rotation
float _distance

### Protected Methods

virtual ~TrackballManipulator()
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.
void trackball(osg::Vec3& axis, float& angle, float p1x, float p1y, float p2x, float p2y)
float tb_project_to_sphere(float r, float x, float y)
bool isMouseMoving()
  Check the speed at which the mouse is moving.

### Inherited from MatrixManipulator:

### Public Methods

virtual void accept(GUIEventHandlerVisitor& v)

### Inherited from GUIEventHandler:

### Public Methods

META_Object (osgGA, GUIEventHandler) const () const
virtual CompositeGUIEventHandler* getComposite()

## Documentation

`TrackballManipulator()`

`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 osgUtil::SceneView::FusionDistanceMode getFusionDistanceMode() const`
  Get the FusionDistanceMode. Used by SceneView for setting up setereo convergence.

`virtual float getFusionDistanceValue() const`
  Get the FusionDistanceValue. Used by SceneView for setting up setereo convergence.

`virtual void setNode(osg::Node*)`
  Attach a node to the manipulator. Automatically detaches previously attached node. setNode(NULL) detaches previously nodes. Is ignored by manipulators which do not require a reference model.

`virtual const osg::Node* getNode() const`
  Return node if attached

`virtual osg::Node* getNode()`
  Return node if attached

`virtual void home(const GUIEventAdapter& ea, GUIActionAdapter& us)`
  Move the camera to the default position. May be ignored by manipulators if home functionality is not appropriate.

`virtual void init(const GUIEventAdapter& ea, GUIActionAdapter& us)`
  Start/restart the manipulator

`virtual bool handle(const GUIEventAdapter& ea, GUIActionAdapter& us)`
  handle events, return true if handled, false otherwise

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

`virtual ~TrackballManipulator()`

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

`void trackball(osg::Vec3& axis, float& angle, float p1x, float p1y, float p2x, float p2y)`

`float tb_project_to_sphere(float r, float x, float y)`

`bool isMouseMoving()`
  Check the speed at which the mouse is moving. If speed is below a threshold then return false, otherwise return true.

`osg::ref_ptr<const GUIEventAdapter> _ga_t1`

`osg::ref_ptr<const GUIEventAdapter> _ga_t0`

`osg::ref_ptr<osg::Node> _node`

`float _modelScale`

`float _minimumZoomScale`

`bool _thrown`

`osg::Vec3 _center`

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