VR-Forces 4.0.4 Class Documentation
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes
makVrv::DtOsgArticulatedModel Class Reference

An articulated model manipulator for controlling an articulated model. More...

Inheritance diagram for makVrv::DtOsgArticulatedModel:
Inheritance graph
[legend]

List of all members.

Public Types

typedef std::vector< osg::Node * > NodeList
typedef boost::unordered_map
< int, NodeList
NodePathCache
typedef std::vector
< osg::ref_ptr
< osgSim::DOFTransform > > 
PartTransformList
typedef boost::unordered_map
< int, PartTransformList
PartMap
typedef std::vector
< osg::ref_ptr
< osgSim::MultiSwitch > > 
StateList
typedef boost::unordered_map
< int, StateList
StateMap
typedef std::vector
< osg::ref_ptr< osg::Sequence > > 
AnimationList
typedef boost::unordered_map
< std::string, AnimationList
AnimationMap

Public Member Functions

 DtOsgArticulatedModel (DtDe &, DtUniqueID id)
 CTOR.
virtual ~DtOsgArticulatedModel ()
 DTOR.
virtual void setModelDefinition (const std::string &str)
 Override the set model definition function.
virtual std::string className () const
 Get the class name of the model instance owner.
virtual void setModelScalingEnabled (bool b)
 Indicate whether or not this model may be model-scaled Default is false.
virtual void setLocalModelScalingEnabled (bool enabled)
 Indicates whether local model scaling for the model is enabled.
virtual void setLocalModelScalingAmount (float localScl)
 Sets the amount of local scaling to apply to the model.
virtual void setPosition (int vtx, const DtVector &position)
 Set the position of a control vertex in the model.
virtual void setOrientation (int vtx, const DtTaitBryan &orientation)
 Set the orientation of a vertex in the model.
virtual void setVisible (bool isVisible)
 Set the model visible or invisible.
virtual void setVisibleViaSwitch (bool isVisible)
 Set the model visible or invisible.
virtual void setPartTranslation (int partNumber, const DtVector &transform, const DtVector &velocity)
 Update the part translation.
virtual void setPartOrientation (int partNumber, const DtTaitBryan &orientation, const DtVector &rotationalVelocity)
 Rotate the part.
virtual void setState (int stateNumber, int stateValue)
 Set the state on the model.
virtual void setAnimationFrame (const std::string &animationName, int frameIndex)
 Set the current frame of an animation.
virtual void setAnimationRange (const std::string &animationName, int firstFrameIndex, int lastFrameIndex)
 Set the animation range.
virtual void setAnimationSpeed (const std::string &animationName, double framesPerSecond)
 Set the animation speed.
virtual bool findPartPositionAndOrientation (int partNumber, DtVector &position, DtQuat &ori)
 Finds the absolute position and orientation of a part.
DtVector partTranslation (int partNumber)
 Get a part translation.
DtTaitBryan partOrientation (int partNumber)
 Get a part orientation.
int state (int stateNumber)
 Get the state value.
int animationFrameCount (const std::string &animationName)
 Get number of frames in an animation.
int animationCurrentFrame (const std::string &animationName)
 Get the current frame of an animation.
int animationFirstFrame (const std::string &animationName)
 Get the first frame in the current range in an animation.
int animationLastFrame (const std::string &animationName)
 Get the last frame in the current range in an animation.
double animationSpeed (const std::string &animationName)
 Get the speed of an animation.
const PartMapparts () const
 Get a map of the current parts.
virtual void getParts (PartList &parts) const
 Only a list of all the parts.
const StateMapstates () const
 Get a map of the current states.
const AnimationMapanimations () const
 Get a map of the current animations.
virtual void addPart (int partNumber, osgSim::DOFTransform *node)
 Add a part off the DOF transform node and a part Number.
virtual void addState (int stateNumber, osgSim::MultiSwitch *node)
 Add a switch off the DOF switch node and a part number.
virtual void setStateValueExists (int stateNumber, int stateValue)
 Set when a state value exists; only state values that have had this method called on them will be used.
virtual void addAnimation (const std::string &animationName, osg::Sequence *node)
 Add animation Sequence.
virtual void setColor (float r, float g, float b, float a)
 Finds the absolute position and orientation of a part.
virtual void setPartVisibility (int partNumber, bool onOff)
 Finds the absolute position and orientation of a part.
virtual void setSolid (bool isSolid)
 Set whether or not other scene objects can ground clamp to this model.

Protected Types

typedef std::vector< boolStateExistenceList
typedef boost::unordered_map
< int, StateExistenceList
StateExistenceMap

Protected Member Functions

virtual void addToScene (const DtUniqueID &sceneObjectId, int modelSet, int visualizerType)
 Virtual Functions to be implemented, add this model to the scene.
virtual void removeFromScene ()
 Virtual Functions to be implemented, remove this model from the scene.
virtual void disablePart (int partNumber)
virtual void enablePart (int partNumber)
virtual void modelInstanceToBeDeleted ()
virtual void modelInstanceCreated (bool castShadows)

Static Protected Member Functions

static void matrixdToTaitBryan (const osg::Matrixd &rotation, DtTaitBryan &tb)
static double clampUnity (double x)

Protected Attributes

StateExistenceMap myStateExistenceMap
DtOsgSceneConnectormySceneConnector
PartMap myPartMap
StateMap myStateMap
AnimationMap myAnimationMap
NodePathCache myNodePathCache
bool myUseSwitch

Static Protected Attributes

static const unsigned int theNodePathCacheSize = 4

Detailed Description

An articulated model manipulator for controlling an articulated model.


Member Typedef Documentation

typedef std::vector<osg::Node*> makVrv::DtOsgArticulatedModel::NodeList
typedef boost::unordered_map<int, NodeList> makVrv::DtOsgArticulatedModel::NodePathCache
typedef std::vector<osg::ref_ptr<osgSim::DOFTransform> > makVrv::DtOsgArticulatedModel::PartTransformList
typedef boost::unordered_map<int, PartTransformList > makVrv::DtOsgArticulatedModel::PartMap
typedef std::vector< osg::ref_ptr<osgSim::MultiSwitch> > makVrv::DtOsgArticulatedModel::StateList
typedef boost::unordered_map<int, StateList > makVrv::DtOsgArticulatedModel::StateMap
typedef std::vector< osg::ref_ptr<osg::Sequence> > makVrv::DtOsgArticulatedModel::AnimationList
typedef boost::unordered_map<std::string, AnimationList > makVrv::DtOsgArticulatedModel::AnimationMap
typedef std::vector<bool> makVrv::DtOsgArticulatedModel::StateExistenceList [protected]
typedef boost::unordered_map<int, StateExistenceList> makVrv::DtOsgArticulatedModel::StateExistenceMap [protected]

Constructor & Destructor Documentation

CTOR.

DTOR.


Member Function Documentation

virtual void makVrv::DtOsgArticulatedModel::setModelDefinition ( const std::string &  str) [virtual]

Override the set model definition function.

Use this to parse a model after it is loaded.

Implements makVrv::DtArticulatedModel.

virtual std::string makVrv::DtOsgArticulatedModel::className ( ) const [virtual]

Get the class name of the model instance owner.

This is used to control how model instances are created.

Implements makVrv::DtArticulatedModel.

Indicate whether or not this model may be model-scaled Default is false.

Implements makVrv::DtArticulatedModel.

Indicates whether local model scaling for the model is enabled.

Local model scaling overrides generic (global) model scaling. Default is false.

Implements makVrv::DtArticulatedModel.

virtual void makVrv::DtOsgArticulatedModel::setLocalModelScalingAmount ( float  localScl) [virtual]

Sets the amount of local scaling to apply to the model.

Only applies when local model scaling is enabled.

Implements makVrv::DtArticulatedModel.

virtual void makVrv::DtOsgArticulatedModel::setPosition ( int  vtx,
const DtVector position 
) [virtual]

Set the position of a control vertex in the model.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgArticulatedModel::setOrientation ( int  vtx,
const DtTaitBryan &  orientation 
) [virtual]

Set the orientation of a vertex in the model.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgArticulatedModel::setVisible ( bool  isVisible) [virtual]

Set the model visible or invisible.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgArticulatedModel::setVisibleViaSwitch ( bool  isVisible) [virtual]

Set the model visible or invisible.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgArticulatedModel::setPartTranslation ( int  partNumber,
const DtVector transform,
const DtVector velocity 
) [virtual]

Update the part translation.

Implements makVrv::DtArticulatedModel.

virtual void makVrv::DtOsgArticulatedModel::setPartOrientation ( int  partNumber,
const DtTaitBryan &  orientation,
const DtVector rotationalVelocity 
) [virtual]

Rotate the part.

Implements makVrv::DtArticulatedModel.

virtual void makVrv::DtOsgArticulatedModel::setState ( int  stateNumber,
int  stateValue 
) [virtual]

Set the state on the model.

Implements makVrv::DtArticulatedModel.

virtual void makVrv::DtOsgArticulatedModel::setAnimationFrame ( const std::string &  animationName,
int  frameIndex 
) [virtual]

Set the current frame of an animation.

Implements makVrv::DtArticulatedModel.

virtual void makVrv::DtOsgArticulatedModel::setAnimationRange ( const std::string &  animationName,
int  firstFrameIndex,
int  lastFrameIndex 
) [virtual]

Set the animation range.

Implements makVrv::DtArticulatedModel.

virtual void makVrv::DtOsgArticulatedModel::setAnimationSpeed ( const std::string &  animationName,
double  framesPerSecond 
) [virtual]

Set the animation speed.

Implements makVrv::DtArticulatedModel.

virtual bool makVrv::DtOsgArticulatedModel::findPartPositionAndOrientation ( int  partNumber,
DtVector position,
DtQuat ori 
) [virtual]

Finds the absolute position and orientation of a part.

This function is more efficient than calling both the position and orientation functions.

Implements makVrv::DtArticulatedModel.

Get a part translation.

Return values:
0,0,0when the part number is invalid.
DtTaitBryan makVrv::DtOsgArticulatedModel::partOrientation ( int  partNumber)

Get a part orientation.

Return values:
0,0,0when the part number is invalid.
int makVrv::DtOsgArticulatedModel::state ( int  stateNumber)

Get the state value.

Return values:
-1when the state number is invalid.
int makVrv::DtOsgArticulatedModel::animationFrameCount ( const std::string &  animationName)

Get number of frames in an animation.

Return values:
-1when the animation number is invalid.
int makVrv::DtOsgArticulatedModel::animationCurrentFrame ( const std::string &  animationName)

Get the current frame of an animation.

Return values:
-1when the animation number is invalid.
int makVrv::DtOsgArticulatedModel::animationFirstFrame ( const std::string &  animationName)

Get the first frame in the current range in an animation.

Return values:
-1when the animation number is invalid.
int makVrv::DtOsgArticulatedModel::animationLastFrame ( const std::string &  animationName)

Get the last frame in the current range in an animation.

Return values:
-1when the animation number is invalid.
double makVrv::DtOsgArticulatedModel::animationSpeed ( const std::string &  animationName)

Get the speed of an animation.

Return values:
-1.0when the animation number is invalid.

Get a map of the current parts.

virtual void makVrv::DtOsgArticulatedModel::getParts ( PartList parts) const [virtual]

Only a list of all the parts.

Implements makVrv::DtArticulatedModel.

Get a map of the current states.

Get a map of the current animations.

virtual void makVrv::DtOsgArticulatedModel::addPart ( int  partNumber,
osgSim::DOFTransform *  node 
) [virtual]

Add a part off the DOF transform node and a part Number.

virtual void makVrv::DtOsgArticulatedModel::addState ( int  stateNumber,
osgSim::MultiSwitch *  node 
) [virtual]

Add a switch off the DOF switch node and a part number.

virtual void makVrv::DtOsgArticulatedModel::setStateValueExists ( int  stateNumber,
int  stateValue 
) [virtual]

Set when a state value exists; only state values that have had this method called on them will be used.

virtual void makVrv::DtOsgArticulatedModel::addAnimation ( const std::string &  animationName,
osg::Sequence *  node 
) [virtual]

Add animation Sequence.

virtual void makVrv::DtOsgArticulatedModel::setColor ( float  r,
float  g,
float  b,
float  a 
) [virtual]

Finds the absolute position and orientation of a part.

This function is more efficient than calling both the position and orientation functions.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgArticulatedModel::setPartVisibility ( int  partNumber,
bool  onOff 
) [virtual]

Finds the absolute position and orientation of a part.

This function is more efficient than calling both the position and orientation functions.

Implements makVrv::DtArticulatedModel.

virtual void makVrv::DtOsgArticulatedModel::setSolid ( bool  isSolid) [virtual]

Set whether or not other scene objects can ground clamp to this model.

Implements makVrv::DtModel.

virtual void makVrv::DtOsgArticulatedModel::addToScene ( const DtUniqueID sceneObjectId,
int  modelSet,
int  visualizerType 
) [protected, virtual]

Virtual Functions to be implemented, add this model to the scene.

Implements makVrv::DtModel.

virtual void makVrv::DtOsgArticulatedModel::removeFromScene ( ) [protected, virtual]

Virtual Functions to be implemented, remove this model from the scene.

Implements makVrv::DtModel.

virtual void makVrv::DtOsgArticulatedModel::disablePart ( int  partNumber) [protected, virtual]
virtual void makVrv::DtOsgArticulatedModel::enablePart ( int  partNumber) [protected, virtual]
virtual void makVrv::DtOsgArticulatedModel::modelInstanceToBeDeleted ( ) [protected, virtual]
virtual void makVrv::DtOsgArticulatedModel::modelInstanceCreated ( bool  castShadows) [protected, virtual]
static void makVrv::DtOsgArticulatedModel::matrixdToTaitBryan ( const osg::Matrixd &  rotation,
DtTaitBryan &  tb 
) [static, protected]
static double makVrv::DtOsgArticulatedModel::clampUnity ( double  x) [static, protected]

Member Data Documentation

const unsigned int makVrv::DtOsgArticulatedModel::theNodePathCacheSize = 4 [static, protected]

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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)