openscenegraph
osgManipulator::MotionCommand Class Referenceabstract

#include <Command>

Inheritance diagram for osgManipulator::MotionCommand:
osg::Referenced osgManipulator::Rotate3DCommand osgManipulator::Scale1DCommand osgManipulator::Scale2DCommand osgManipulator::ScaleUniformCommand osgManipulator::TranslateInLineCommand osgManipulator::TranslateInPlaneCommand

Public Types

enum  Stage { NONE , START , MOVE , FINISH }

Public Member Functions

 MotionCommand ()
virtual MotionCommandcreateCommandInverse ()=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::MatrixgetLocalToWorld () const
const osg::MatrixgetWorldToLocal () const
void setStage (const Stage s)
Stage getStage () const
Public Member Functions inherited from osg::Referenced
 Referenced ()
 Referenced (bool threadSafeRefUnref)
 Referenced (const Referenced &)
Referencedoperator= (const Referenced &)
virtual void setThreadSafeRefUnref (bool)
bool getThreadSafeRefUnref () const
OpenThreads::MutexgetRefMutex () const
int ref () const
int unref () const
int unref_nodelete () const
int referenceCount () const
ObserverSetgetObserverSet () const
ObserverSetgetOrCreateObserverSet () 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::MutexgetGlobalReferencedMutex ()
static void setDeleteHandler (DeleteHandler *handler)
static DeleteHandlergetDeleteHandler ()
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

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()

◆ ~MotionCommand()

virtual osgManipulator::MotionCommand::~MotionCommand ( )
protectedvirtual

Member Function Documentation

◆ accept() [1/2]

◆ accept() [2/2]

◆ createCommandInverse()

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

◆ 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: