Public Types | Public Member Functions | Protected Types | 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 bool execute ()=0
 Execute the command.
virtual bool unexecute ()=0
 Undo the command.
virtual void applyConstraint (const Constraint *)=0
 Apply a constraint to the command.
void addSelection (Selection *)
 Add Selection (receiver) to the command.
void removeSelection (Selection *)
 Remove Selection (receiver) from the command.
virtual osg::Matrix getMotionMatrix () const =0
 Gets the matrix for transforming the Selection.
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::Matrix & getLocalToWorld () const
 Gets the matrix for transforming the command's local coordinate system to the world/object coordinate system.
const osg::Matrix & getWorldToLocal () 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 Types

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

Protected Member Functions

virtual ~MotionCommand ()
SelectionList & getSelectionList ()
const SelectionList & getSelectionList () const

Detailed Description

Base class for motion commands that are generated by draggers.


Member Typedef Documentation


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

void osgManipulator::MotionCommand::addSelection ( Selection *   ) 

Add Selection (receiver) to the command.

The command will be executed on all the selections.

virtual void osgManipulator::MotionCommand::applyConstraint ( const Constraint *   )  [pure virtual]
virtual bool osgManipulator::MotionCommand::execute (  )  [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]
const SelectionList& osgManipulator::MotionCommand::getSelectionList (  )  const [inline, protected]
SelectionList& osgManipulator::MotionCommand::getSelectionList (  )  [inline, protected]
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::removeSelection ( Selection *   ) 

Remove Selection (receiver) from the command.

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

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

osg logo
Generated at Wed Nov 3 2010 02:40:18 for the OpenSceneGraph by doxygen 1.7.1.