openscenegraph
Public Types | Public Member Functions | Protected Member Functions | List of all members
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()

osgManipulator::MotionCommand::MotionCommand ( )

◆ ~MotionCommand()

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

Member Function Documentation

◆ accept() [1/2]

virtual void osgManipulator::MotionCommand::accept ( const Constraint constraint)
inlinevirtual

◆ accept() [2/2]

virtual void osgManipulator::MotionCommand::accept ( DraggerCallback callback)
inlinevirtual

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

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