class OSGGA_EXPORT osgGA::MatrixManipulator


Inheritance:


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

[more]virtual const char* className() const
[more]virtual void setMinimumDistance(float minimumDistance)
set the minimum distance (as ratio) the eye point can be zoomed in towards the center before the center is pushed forward
[more]float getMinimumDistance() const
get the minimum distance (as ratio) the eye point can be zoomed in
[more]virtual void setCoordinateFrameCallback(CoordinateFrameCallback* cb)
set the coordinate frame which callback tells the manipulator which way is up, east and north
[more]CoordinateFrameCallback* getCoordinateFrameCallback()
get the coordinate frame callback which tells the manipulator which way is up, east and north
[more]const CoordinateFrameCallback* getCoordinateFrameCallback() const
get the coordinate frame callback which tells the manipulator which way is up, east and north
[more]osg::CoordinateFrame getCoordinateFrame(const osg::Vec3d& position) const
get the coordinate frame
[more]osg::Vec3d getSideVector(const osg::CoordinateFrame& cf) const
[more]osg::Vec3d getFrontVector(const osg::CoordinateFrame& cf) const
[more]osg::Vec3d getUpVector(const osg::CoordinateFrame& cf) 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 osgUtil::SceneView::FusionDistanceMode getFusionDistanceMode() const
Get the FusionDistanceMode.
[more]virtual float getFusionDistanceValue() const
Get the FusionDistanceValue.
[more]virtual void setNode(osg::Node*)
Attach a node to the manipulator, automatically detaching any previously attached node.
[more]virtual const osg::Node* getNode() const
Return const node if attached
[more]virtual osg::Node* getNode()
Return node if attached
[more]virtual void setHomePosition(const osg::Vec3d& eye, const osg::Vec3d& center, const osg::Vec3d& up)
[more]virtual void getHomePosition(osg::Vec3d& eye, osg::Vec3d& center, osg::Vec3d& up)
[more]virtual void setAutoComputeHomePosition(bool flag)
[more]bool getAutoComputeHomePosition() const
[more]virtual void computeHomePosition()
[more]virtual void home(const GUIEventAdapter&, GUIActionAdapter&)
Move the camera to the default position.
[more]virtual void init(const GUIEventAdapter&, GUIActionAdapter&)
Start/restart the manipulator.
[more]virtual bool handle(const GUIEventAdapter& ea, GUIActionAdapter& us)
Handle events, return true if handled, false otherwise.
[more]virtual void accept(GUIEventHandlerVisitor& v)
Handle visitations

Protected Fields

[more]double _minimumDistance
[more]bool _autoComputeHomePosition
[more]osg::Vec3d _homeEye
[more]osg::Vec3d _homeCenter
[more]osg::Vec3d _homeUp
[more]osg::ref_ptr<CoordinateFrameCallback> _coordinateFrameCallback

Protected Methods

[more] MatrixManipulator()
[more]virtual ~MatrixManipulator()


Inherited from GUIEventHandler:

Public Methods

oMETA_Object (osgGA, GUIEventHandler) const () const
ovirtual CompositeGUIEventHandler* getComposite()
ovirtual void getUsage(osg::ApplicationUsage&) const


Documentation

MatrixManipulator is an abstract base class defining the interface, and a certain amount of default functionality, for classes which wish to control OSG cameras in response to GUI events.

ovirtual const char* className() const

ovirtual void setMinimumDistance(float minimumDistance)
set the minimum distance (as ratio) the eye point can be zoomed in towards the center before the center is pushed forward

ofloat getMinimumDistance() const
get the minimum distance (as ratio) the eye point can be zoomed in

ovirtual void setCoordinateFrameCallback(CoordinateFrameCallback* cb)
set the coordinate frame which callback tells the manipulator which way is up, east and north

oCoordinateFrameCallback* getCoordinateFrameCallback()
get the coordinate frame callback which tells the manipulator which way is up, east and north

oconst CoordinateFrameCallback* getCoordinateFrameCallback() const
get the coordinate frame callback which tells the manipulator which way is up, east and north

oosg::CoordinateFrame getCoordinateFrame(const osg::Vec3d& position) const
get the coordinate frame

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

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

ovirtual void setNode(osg::Node*)
Attach a node to the manipulator, automatically detaching any previously attached node. setNode(NULL) detaches previous nodes. May be ignored by manipulators which do not require a reference model.

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

ovirtual osg::Node* getNode()
Return node if attached

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

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

ovirtual void init(const GUIEventAdapter&, GUIActionAdapter&)
Start/restart the manipulator. FIXME: what does this actually mean? Provide examples.

ovirtual bool handle(const GUIEventAdapter& ea, GUIActionAdapter& us)
Handle events, return true if handled, false otherwise.

ovirtual void accept(GUIEventHandlerVisitor& v)
Handle visitations

o MatrixManipulator()

ovirtual ~MatrixManipulator()

odouble _minimumDistance

obool _autoComputeHomePosition

oosg::Vec3d _homeEye

oosg::Vec3d _homeCenter

oosg::Vec3d _homeUp

oosg::ref_ptr<CoordinateFrameCallback> _coordinateFrameCallback


Direct child classes:
TrackerManipulator
TrackballManipulator
TerrainManipulator
KeySwitchMatrixManipulator
HoverManipulator
FlightManipulator
DriveManipulator
AnimationPathManipulator

Alphabetic index HTML hierarchy of classes or Java



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