osgManipulator::MotionCommand Class Referenceabstract

`#include <Command>`

Inheritance diagram for osgManipulator::MotionCommand:

## Public Types

enum | Stage { NONE , START , MOVE , FINISH }

## Public Member Functions

| MotionCommand ()
virtual MotionCommand * | createCommandInverse ()=0
virtual osg::Matrix | getMotionMatrix () const =0
virtual void | accept (const Constraint &constraint)
virtual void | accept (DraggerCallback &callback)
void | setLocalToWorldAndWorldToLocal (const osg::Matrix &localToWorld, const osg::Matrix &worldToLocal)
const osg::Matrix & | getLocalToWorld () const
const osg::Matrix & | getWorldToLocal () const
void | setStage (const Stage s)
Stage | getStage () const
Public Member Functions inherited from osg::Referenced
| Referenced ()
| Referenced (bool threadSafeRefUnref)
| Referenced (const Referenced &)
Referenced & | operator= (const Referenced &)
virtual void | setThreadSafeRefUnref (bool)
bool | getThreadSafeRefUnref () const
OpenThreads::Mutex * | getRefMutex () const
int | ref () const
int | unref () const
int | unref_nodelete () const
int | referenceCount () const
ObserverSet * | getObserverSet () const
ObserverSet * | getOrCreateObserverSet () const
void | addObserver (Observer *observer) const
void | removeObserver (Observer *observer) const

## Protected Member Functions

virtual | ~MotionCommand ()
Protected Member Functions inherited from osg::Referenced
virtual | ~Referenced ()
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const
void | deleteUsingDeleteHandler () const

## Additional Inherited Members

Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * | getGlobalReferencedMutex ()
static void | setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * | getDeleteHandler ()
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr | _observerSet
OpenThreads::Atomic | _refCount

## Detailed Description

Base class for motion commands that are generated by draggers.

## Member Enumeration Documentation

## Stage

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

## MotionCommand()

osgManipulator::MotionCommand::MotionCommand | ( |  | ) |

Referenced by createCommandInverse(), osgManipulator::Rotate3DCommand::createCommandInverse(), osgManipulator::Scale1DCommand::createCommandInverse(), osgManipulator::Scale2DCommand::createCommandInverse(), osgManipulator::ScaleUniformCommand::createCommandInverse(), osgManipulator::TranslateInLineCommand::createCommandInverse(), and osgManipulator::TranslateInPlaneCommand::createCommandInverse().

## ~MotionCommand()

virtual osgManipulator::MotionCommand::~MotionCommand | ( |  | ) |

protected virtual

## Member Function Documentation

## accept() [1/2]

virtual void osgManipulator::MotionCommand::accept | ( | const Constraint & | constraint | ) |

inline virtual

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

References osgManipulator::Constraint::constrain().

## accept() [2/2]

virtual void osgManipulator::MotionCommand::accept | ( | DraggerCallback & | callback | ) |

inline virtual

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

References osgManipulator::DraggerCallback::receive().

## createCommandInverse()

virtual MotionCommand * osgManipulator::MotionCommand::createCommandInverse | ( |  | ) |

pure virtual

create a MotionCommand that is the inverse of this command, and if applied will undo this commands changes.

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

References MotionCommand().

## getLocalToWorld()

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.

## getMotionMatrix()

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::Scale1DCommand, osgManipulator::Scale2DCommand, osgManipulator::ScaleUniformCommand, osgManipulator::TranslateInLineCommand, and osgManipulator::TranslateInPlaneCommand.

## getStage()

Stage osgManipulator::MotionCommand::getStage | ( |  | ) | const

inline

## getWorldToLocal()

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.

## setLocalToWorldAndWorldToLocal()

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.

## setStage()

void osgManipulator::MotionCommand::setStage | ( | const Stage | s | ) |

inline

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

- Command