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 |
typedef std::vector< osg::ref_ptr<Selection> > osgManipulator::MotionCommand::SelectionList [protected] |
osgManipulator::MotionCommand::MotionCommand | ( | ) |
virtual osgManipulator::MotionCommand::~MotionCommand | ( | ) | [protected, virtual] |
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] |