osgManipulator::MotionCommand Class Reference

Inheritance diagram for osgManipulator::MotionCommand:

osg::Referenced osgManipulator::Rotate3DCommand osgManipulator::Scale1DCommand osgManipulator::Scale2DCommand osgManipulator::ScaleUniformCommand osgManipulator::TranslateInLineCommand osgManipulator::TranslateInPlaneCommand

List of all members.

Public Types

enum  Stage { NONE, START, MOVE, FINISH }

Public Member Functions

 MotionCommand ()
virtual bool execute ()=0
virtual bool unexecute ()=0
virtual void applyConstraint (const Constraint *)=0
void addSelection (Selection *)
void removeSelection (Selection *)
virtual osg::Matrix getMotionMatrix () const =0
void setLocalToWorldAndWorldToLocal (const osg::Matrix &localToWorld, const osg::Matrix &worldToLocal)
const osg::MatrixgetLocalToWorld () const
const osg::MatrixgetWorldToLocal () const
void setStage (const Stage s)
Stage getStage () const

Protected Types

typedef std::vector
< osg::ref_ptr< Selection > > 
SelectionList

Protected Member Functions

virtual ~MotionCommand ()
SelectionListgetSelectionList ()
const SelectionListgetSelectionList () const


Detailed Description

Base class for motion commands that are generated by draggers.

Member Typedef Documentation

typedef std::vector< osg::ref_ptr<Selection> > osgManipulator::MotionCommand::SelectionList [protected]


Member Enumeration Documentation

enum osgManipulator::MotionCommand::Stage

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 bool osgManipulator::MotionCommand::execute (  )  [pure virtual]

Execute the command.

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

virtual bool osgManipulator::MotionCommand::unexecute (  )  [pure virtual]

Undo the command. The inverse of this command is executed.

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

virtual void osgManipulator::MotionCommand::applyConstraint ( const Constraint  )  [pure virtual]

Apply a constraint to the command.

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

void osgManipulator::MotionCommand::addSelection ( Selection  ) 

Add Selection (receiver) to the command. The command will be executed on all the selections.

void osgManipulator::MotionCommand::removeSelection ( Selection  ) 

Remove Selection (receiver) from the command.

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

Gets the matrix for transforming the Selection. This matrix is in the command's coordinate systems.

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

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.

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.

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::setStage ( const Stage  s  )  [inline]

Stage osgManipulator::MotionCommand::getStage (  )  const [inline]

SelectionList& osgManipulator::MotionCommand::getSelectionList (  )  [inline, protected]

const SelectionList& osgManipulator::MotionCommand::getSelectionList (  )  const [inline, protected]


The documentation for this class was generated from the following file:
Generated on Fri Jan 25 03:47:19 2008 for openscenegraph by  doxygen 1.5.4