OpenSceneGraph  3.0.1
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
osgGA::NodeTrackerManipulator Class Reference
Inheritance diagram for osgGA::NodeTrackerManipulator:
Inheritance graph
[legend]

List of all members.

Public Types

enum  TrackerMode { NODE_CENTER, NODE_CENTER_AND_AZIM, NODE_CENTER_AND_ROTATION }
enum  RotationMode { TRACKBALL, ELEVATION_AZIM }

Public Member Functions

 NodeTrackerManipulator (int flags=DEFAULT_SETTINGS)
 NodeTrackerManipulator (const NodeTrackerManipulator &om, const osg::CopyOp &copyOp=osg::CopyOp::SHALLOW_COPY)
 META_Object (osgGA, NodeTrackerManipulator)
void setTrackNodePath (const osg::NodePath &nodePath)
void setTrackNodePath (const osg::ObserverNodePath &nodePath)
osg::ObserverNodePathgetTrackNodePath ()
void setTrackNode (osg::Node *node)
osg::NodegetTrackNode ()
const osg::NodegetTrackNode () const
void setTrackerMode (TrackerMode mode)
TrackerMode getTrackerMode () const
void setRotationMode (RotationMode mode)
RotationMode getRotationMode () const
virtual void setByMatrix (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 *)
 Attach a node to the manipulator, automatically detaching any previously attached node.
virtual void computeHomePosition ()

Protected Member Functions

virtual bool performMovementLeftMouseButton (const double eventTimeDelta, const double dx, const double dy)
virtual bool performMovementMiddleMouseButton (const double eventTimeDelta, const double dx, const double dy)
virtual bool performMovementRightMouseButton (const double eventTimeDelta, const double dx, const double dy)
void computeNodeWorldToLocal (osg::Matrixd &worldToLocal) const
void computeNodeLocalToWorld (osg::Matrixd &localToWorld) const
void computeNodeCenterAndRotation (osg::Vec3d &center, osg::Quat &rotation) const
void computePosition (const osg::Vec3d &eye, const osg::Vec3d &lv, const osg::Vec3d &up)

Protected Attributes

osg::ObserverNodePath _trackNodePath
TrackerMode _trackerMode

Member Enumeration Documentation

Enumerator:
TRACKBALL 

Use a trackball style manipulation of the view direction w.r.t the tracked orientation.

ELEVATION_AZIM 

Allow the elevation and azimuth angles to be adjust w.r.t the tracked orientation.

Enumerator:
NODE_CENTER 

Track the center of the node's bounding sphere, but not rotations of the node.

For databases which have a CoordinateSystemNode, the orientation is kept relative the coordinate frame if the center of the node.

NODE_CENTER_AND_AZIM 

Track the center of the node's bounding sphere, and the azimuth rotation (about the z axis of the current coordinate frame).

For databases which have a CoordinateSystemNode, the orientation is kept relative the coordinate frame if the center of the node.

NODE_CENTER_AND_ROTATION 

Tack the center of the node's bounding sphere, and the all rotations of the node.


Constructor & Destructor Documentation

osgGA::NodeTrackerManipulator::NodeTrackerManipulator ( int  flags = DEFAULT_SETTINGS)
osgGA::NodeTrackerManipulator::NodeTrackerManipulator ( const NodeTrackerManipulator om,
const osg::CopyOp copyOp = osg::CopyOp::SHALLOW_COPY 
)

Member Function Documentation

virtual void osgGA::NodeTrackerManipulator::computeHomePosition ( ) [virtual]
void osgGA::NodeTrackerManipulator::computeNodeCenterAndRotation ( osg::Vec3d center,
osg::Quat rotation 
) const [protected]
void osgGA::NodeTrackerManipulator::computeNodeLocalToWorld ( osg::Matrixd localToWorld) const [protected]
void osgGA::NodeTrackerManipulator::computeNodeWorldToLocal ( osg::Matrixd worldToLocal) const [protected]
void osgGA::NodeTrackerManipulator::computePosition ( const osg::Vec3d eye,
const osg::Vec3d lv,
const osg::Vec3d up 
) [protected]
virtual osg::Matrixd osgGA::NodeTrackerManipulator::getInverseMatrix ( ) const [virtual]

get the position of the manipulator as a inverse matrix of the manipulator, typically used as a model view matrix.

Reimplemented from osgGA::OrbitManipulator.

virtual osg::Matrixd osgGA::NodeTrackerManipulator::getMatrix ( ) const [virtual]

get the position of the manipulator as 4x4 Matrix.

Reimplemented from osgGA::OrbitManipulator.

RotationMode osgGA::NodeTrackerManipulator::getRotationMode ( ) const
TrackerMode osgGA::NodeTrackerManipulator::getTrackerMode ( ) const [inline]
osg::Node* osgGA::NodeTrackerManipulator::getTrackNode ( ) [inline]
const osg::Node* osgGA::NodeTrackerManipulator::getTrackNode ( ) const [inline]
osg::ObserverNodePath& osgGA::NodeTrackerManipulator::getTrackNodePath ( ) [inline]
osgGA::NodeTrackerManipulator::META_Object ( osgGA  ,
NodeTrackerManipulator   
)
virtual bool osgGA::NodeTrackerManipulator::performMovementLeftMouseButton ( const double  eventTimeDelta,
const double  dx,
const double  dy 
) [protected, virtual]

Reimplemented from osgGA::OrbitManipulator.

virtual bool osgGA::NodeTrackerManipulator::performMovementMiddleMouseButton ( const double  eventTimeDelta,
const double  dx,
const double  dy 
) [protected, virtual]

Reimplemented from osgGA::OrbitManipulator.

virtual bool osgGA::NodeTrackerManipulator::performMovementRightMouseButton ( const double  eventTimeDelta,
const double  dx,
const double  dy 
) [protected, virtual]

Reimplemented from osgGA::OrbitManipulator.

virtual void osgGA::NodeTrackerManipulator::setByMatrix ( const osg::Matrixd matrix) [virtual]

set the position of the matrix manipulator using a 4x4 Matrix.

Reimplemented from osgGA::OrbitManipulator.

virtual void osgGA::NodeTrackerManipulator::setNode ( osg::Node ) [virtual]

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.

Reimplemented from osgGA::StandardManipulator.

void osgGA::NodeTrackerManipulator::setRotationMode ( RotationMode  mode)
void osgGA::NodeTrackerManipulator::setTrackerMode ( TrackerMode  mode)
void osgGA::NodeTrackerManipulator::setTrackNode ( osg::Node node)
void osgGA::NodeTrackerManipulator::setTrackNodePath ( const osg::NodePath nodePath)
void osgGA::NodeTrackerManipulator::setTrackNodePath ( const osg::ObserverNodePath nodePath) [inline]

Member Data Documentation


The documentation for this class was generated from the following file:

osg logo
Generated at Mon Oct 3 2011 12:39:47 for the OpenSceneGraph by doxygen 1.7.5.