OpenSceneGraph  3.0.1
Public Types | Public Member Functions | Protected Member Functions
osgManipulator::MotionCommand Class Reference

Base class for motion commands that are generated by draggers. More...

Inheritance diagram for osgManipulator::MotionCommand:
Inheritance graph
[legend]

List of all members.

Public Types

enum  Stage { NONE, START, MOVE, FINISH }
 Motion command are based on click-drag-release actions. More...

Public Member Functions

 MotionCommand ()
virtual MotionCommandcreateCommandInverse ()=0
 create a MotionCommand that is the inverse of this command, and if applied will undo this commands changes.
virtual osg::Matrix getMotionMatrix () const =0
 Gets the matrix for transforming the object being dragged.
void setLocalToWorldAndWorldToLocal (const osg::Matrix &localToWorld, const osg::Matrix &worldToLocal)
 Sets the matrix for transforming the command's local coordinate system to the world/object coordinate system.
const osg::MatrixgetLocalToWorld () const
 Gets the matrix for transforming the command's local coordinate system to the world/object coordinate system.
const osg::MatrixgetWorldToLocal () const
 Gets the matrix for transforming the command's world/object coordinate system to the command's local coordinate system.
void setStage (const Stage s)
Stage getStage () const

Protected Member Functions

virtual ~MotionCommand ()

Detailed Description

Base class for motion commands that are generated by draggers.


Member Enumeration Documentation

Motion command are based on click-drag-release actions.

So each command needs to indicate which stage of the motion the command represents.

Enumerator:
NONE 
START 

Click or pick start.

MOVE 

Drag or pick move.

FINISH 

Release or pick finish.


Constructor & Destructor Documentation

osgManipulator::MotionCommand::MotionCommand ( )
virtual osgManipulator::MotionCommand::~MotionCommand ( ) [protected, virtual]

Member Function Documentation

virtual MotionCommand* osgManipulator::MotionCommand::createCommandInverse ( ) [pure virtual]
const osg::Matrix& osgManipulator::MotionCommand::getLocalToWorld ( ) const [inline]

Gets the matrix for transforming the command's local coordinate system to the world/object coordinate system.

virtual osg::Matrix osgManipulator::MotionCommand::getMotionMatrix ( ) const [pure virtual]

Gets the matrix for transforming the object being dragged.

This matrix is in the command's coordinate systems.

Implemented in osgManipulator::Rotate3DCommand, osgManipulator::ScaleUniformCommand, osgManipulator::Scale2DCommand, osgManipulator::Scale1DCommand, osgManipulator::TranslateInPlaneCommand, and osgManipulator::TranslateInLineCommand.

Stage osgManipulator::MotionCommand::getStage ( ) const [inline]
const osg::Matrix& osgManipulator::MotionCommand::getWorldToLocal ( ) const [inline]

Gets the matrix for transforming the command's world/object coordinate system to the command's local coordinate system.

void osgManipulator::MotionCommand::setLocalToWorldAndWorldToLocal ( const osg::Matrix localToWorld,
const osg::Matrix worldToLocal 
) [inline]

Sets the matrix for transforming the command's local coordinate system to the world/object coordinate system.

void osgManipulator::MotionCommand::setStage ( const Stage  s) [inline]

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.