VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
makVrv::DtArticulatedModelParser Class Reference

Default implementation of the model parser for Articulated models. More...

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

Public Types

Output structures
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
 
typedef std::map< int, intStateValueMap
 
typedef std::vector< intStateExistenceList
 
typedef boost::unordered_map
< int, StateExistenceList
StateExistenceMap
 
typedef std::vector
< osg::ref_ptr< osg::Group > > 
GroupList
 
typedef boost::unordered_map
< std::string, GroupList
AnnotationMap
 
typedef std::vector< boolValueList
 
typedef std::vector< ValueListSwitchSetList
 
typedef std::map
< osgSim::MultiSwitch
*, SwitchSetList
SwitchSetMap
 

Public Member Functions

 DtArticulatedModelParser (DtDe &de, DtModelSemanticsMapper &modelSematicsMapper)
 CTOR. More...
 
virtual ~DtArticulatedModelParser ()
 DTOR. More...
 
virtual void apply (osg::Group &group)
 Apply functions used for iterating through a model using the as a node visitor. More...
 
virtual void apply (osg::Sequence &sequence)
 
virtual void apply (osgSim::MultiSwitch &multiswitch)
 
virtual void apply (osgSim::DOFTransform &transform)
 
virtual void apply (osg::Transform &transform)
 
- Public Member Functions inherited from makVrv::DtModelParser
 DtModelParser ()
 CTOR. More...
 
virtual ~DtModelParser ()
 DTOR. More...
 

Static Public Member Functions

static std::string parserFormat ()
 Get the string to indicate the parser format this parser supports. More...
 

Public Attributes

PartMap myPartMap
 
StateMap myStateMap
 
AnimationMap myAnimationMap
 
AnnotationMap myAnnotationMap
 
StateExistenceMap myStateExistenceMap
 
StateValueMap myStateValueMap
 
SwitchSetMap myDefaultActiveSwitchState
 
DtModelSemanticsMappermyModelSematicsMapper
 

Protected Member Functions

virtual bool parseSwitchDeclaration (const std::string &desc, osgSim::MultiSwitch &multiswitch)
 Parse a switch declaration and add a state to the model if it is able to parse the description. More...
 
virtual bool parseDefaultMultiSwitchValues (osgSim::MultiSwitch &multiswitch)
 Parse a switch to save the default values to be re-used when use by a simple model (props) More...
 
const
DtModelSemanticsMapper::States::Id
createCustomStateId (const std::string &stateName, DtModelSemanticsMapper &mapper)
 Creates a custom state id if possible. More...
 
virtual bool parseStateDeclaration (const std::string &desc, osg::Group &group)
 Parse a state node. More...
 
virtual bool parseAnnotationDeclaration (const std::string &desc, osg::Group &group)
 Parse a annotation node. More...
 
virtual bool parsePartDeclaration (const std::string &desc, osgSim::DOFTransform &transform)
 Parse a part declaration and add a part if the parse was successful. More...
 
virtual bool parseAnimationDeclaration (const std::string &desc, osg::Sequence &sequence)
 Parse an animation declaration and add an animation if the part was successful. More...
 
std::vector< intparseValueList (const std::string &valueList)
 Parse a value list string into a list of integers. More...
 
void pushStateId (int idNumber, osgSim::MultiSwitch *lastStateId)
 Push a state id onto a local stack. More...
 
void popStateId ()
 Pop a state id onto a local stack. More...
 
osgSim::MultiSwitch * lastStateId () const
 
int lastStateIdNumber () const
 
get/set parsed data interface
void getParts (DtArticulatedModel::PartList &parts) const
 
const PartMapparts () const
 
const StateMapstates () const
 
const AnimationMapanimations () const
 
void addPart (int partNumber, osgSim::DOFTransform *node)
 
void addState (int stateNumber, osgSim::MultiSwitch *node)
 
void addAnimation (const std::string &animationName, osg::Sequence *node)
 
void setStateValueExists (int stateNumber, int stateValue)
 
void addAnnotationGroup (const std::string &annotation, osg::Group *group)
 
void setDepthMask (osg::Group &parent)
 

Protected Attributes

std::string mySwitchTag
 
std::string myStateTag
 
std::string myPartTag
 
std::string myAnimationTag
 
std::string mySkipTag
 
std::string myNoSkipTag
 
std::string myAnnotationTag
 
std::string myLoopCountTag
 
std::string myLastFrameTimeTag
 
std::stack< osg::ref_ptr
< osgSim::MultiSwitch > > 
myStateIds
 
std::stack< intmyStateIdNumbers
 
DtDemyDe
 

Detailed Description

Default implementation of the model parser for Articulated models.

Member Typedef Documentation

typedef std::vector<osg::ref_ptr<osgSim::DOFTransform> > makVrv::DtArticulatedModelParser::PartTransformList
typedef std::vector< osg::ref_ptr<osgSim::MultiSwitch> > makVrv::DtArticulatedModelParser::StateList
typedef boost::unordered_map<int, StateList > makVrv::DtArticulatedModelParser::StateMap
typedef std::vector< osg::ref_ptr<osg::Sequence> > makVrv::DtArticulatedModelParser::AnimationList
typedef boost::unordered_map<std::string, AnimationList > makVrv::DtArticulatedModelParser::AnimationMap
typedef std::vector< osg::ref_ptr<osg::Group> > makVrv::DtArticulatedModelParser::GroupList
typedef boost::unordered_map<std::string, GroupList > makVrv::DtArticulatedModelParser::AnnotationMap
typedef std::map<osgSim::MultiSwitch*, SwitchSetList> makVrv::DtArticulatedModelParser::SwitchSetMap

Constructor & Destructor Documentation

makVrv::DtArticulatedModelParser::DtArticulatedModelParser ( DtDe de,
DtModelSemanticsMapper modelSematicsMapper 
)

CTOR.

virtual makVrv::DtArticulatedModelParser::~DtArticulatedModelParser ( )
virtual

DTOR.

Member Function Documentation

static std::string makVrv::DtArticulatedModelParser::parserFormat ( )
static

Get the string to indicate the parser format this parser supports.

virtual void makVrv::DtArticulatedModelParser::apply ( osg::Group &  group)
virtual

Apply functions used for iterating through a model using the as a node visitor.

Reimplemented in makVrv::DtDynamicTerrainParser.

virtual void makVrv::DtArticulatedModelParser::apply ( osg::Sequence &  sequence)
virtual

Reimplemented in makVrv::DtDynamicTerrainParser.

virtual void makVrv::DtArticulatedModelParser::apply ( osgSim::MultiSwitch &  multiswitch)
virtual

Reimplemented in makVrv::DtDynamicTerrainParser.

virtual void makVrv::DtArticulatedModelParser::apply ( osgSim::DOFTransform &  transform)
virtual
virtual void makVrv::DtArticulatedModelParser::apply ( osg::Transform &  transform)
virtual
virtual bool makVrv::DtArticulatedModelParser::parseSwitchDeclaration ( const std::string &  desc,
osgSim::MultiSwitch &  multiswitch 
)
protectedvirtual

Parse a switch declaration and add a state to the model if it is able to parse the description.

Return values
trueif a state was added.
falseif a state was not added.
virtual bool makVrv::DtArticulatedModelParser::parseDefaultMultiSwitchValues ( osgSim::MultiSwitch &  multiswitch)
protectedvirtual

Parse a switch to save the default values to be re-used when use by a simple model (props)

const DtModelSemanticsMapper::States::Id* makVrv::DtArticulatedModelParser::createCustomStateId ( const std::string &  stateName,
DtModelSemanticsMapper mapper 
)
protected

Creates a custom state id if possible.

Returns
NULL if a state was not added.
virtual bool makVrv::DtArticulatedModelParser::parseStateDeclaration ( const std::string &  desc,
osg::Group &  group 
)
protectedvirtual

Parse a state node.

A state is added if a declaration was parsed.

Return values
trueif a state was added.
falseif a state was not added.
virtual bool makVrv::DtArticulatedModelParser::parseAnnotationDeclaration ( const std::string &  desc,
osg::Group &  group 
)
protectedvirtual

Parse a annotation node.

An annotation is added if a declaration was parsed.

Return values
trueif a state was added.
falseif a state was not added.
virtual bool makVrv::DtArticulatedModelParser::parsePartDeclaration ( const std::string &  desc,
osgSim::DOFTransform &  transform 
)
protectedvirtual

Parse a part declaration and add a part if the parse was successful.

Return values
trueif a part was added.
falseif a part was not added.

Reimplemented in DtVrfArticulatedModelParser.

virtual bool makVrv::DtArticulatedModelParser::parseAnimationDeclaration ( const std::string &  desc,
osg::Sequence &  sequence 
)
protectedvirtual

Parse an animation declaration and add an animation if the part was successful.

Return values
trueif an animation was added.
falseif an animation was not added.
std::vector<int> makVrv::DtArticulatedModelParser::parseValueList ( const std::string &  valueList)
protected

Parse a value list string into a list of integers.

void makVrv::DtArticulatedModelParser::pushStateId ( int  idNumber,
osgSim::MultiSwitch *  lastStateId 
)
protected

Push a state id onto a local stack.

This allows for tracking which the current state is when adding children.

void makVrv::DtArticulatedModelParser::popStateId ( )
protected

Pop a state id onto a local stack.

This removes a state id after a node's children have been traversed.

osgSim::MultiSwitch* makVrv::DtArticulatedModelParser::lastStateId ( ) const
protected
Return values
0(invalidId) if there are no ids.
int makVrv::DtArticulatedModelParser::lastStateIdNumber ( ) const
protected
Return values
0(invalidId) if there are no ids.
void makVrv::DtArticulatedModelParser::getParts ( DtArticulatedModel::PartList parts) const
protected
const PartMap& makVrv::DtArticulatedModelParser::parts ( ) const
protected
const StateMap& makVrv::DtArticulatedModelParser::states ( ) const
protected
const AnimationMap& makVrv::DtArticulatedModelParser::animations ( ) const
protected
void makVrv::DtArticulatedModelParser::addPart ( int  partNumber,
osgSim::DOFTransform *  node 
)
protected
void makVrv::DtArticulatedModelParser::addState ( int  stateNumber,
osgSim::MultiSwitch *  node 
)
protected
void makVrv::DtArticulatedModelParser::addAnimation ( const std::string &  animationName,
osg::Sequence *  node 
)
protected
void makVrv::DtArticulatedModelParser::setStateValueExists ( int  stateNumber,
int  stateValue 
)
protected
void makVrv::DtArticulatedModelParser::addAnnotationGroup ( const std::string &  annotation,
osg::Group *  group 
)
protected
void makVrv::DtArticulatedModelParser::setDepthMask ( osg::Group &  parent)
protected

Member Data Documentation

std::string makVrv::DtArticulatedModelParser::mySwitchTag
protected
std::string makVrv::DtArticulatedModelParser::myStateTag
protected
std::string makVrv::DtArticulatedModelParser::myPartTag
protected
std::string makVrv::DtArticulatedModelParser::myAnimationTag
protected
std::string makVrv::DtArticulatedModelParser::mySkipTag
protected
std::string makVrv::DtArticulatedModelParser::myNoSkipTag
protected
std::string makVrv::DtArticulatedModelParser::myAnnotationTag
protected
std::string makVrv::DtArticulatedModelParser::myLoopCountTag
protected
std::string makVrv::DtArticulatedModelParser::myLastFrameTimeTag
protected
std::stack<osg::ref_ptr<osgSim::MultiSwitch> > makVrv::DtArticulatedModelParser::myStateIds
protected
std::stack<int> makVrv::DtArticulatedModelParser::myStateIdNumbers
protected
DtDe& makVrv::DtArticulatedModelParser::myDe
protected
PartMap makVrv::DtArticulatedModelParser::myPartMap
StateMap makVrv::DtArticulatedModelParser::myStateMap
AnimationMap makVrv::DtArticulatedModelParser::myAnimationMap
AnnotationMap makVrv::DtArticulatedModelParser::myAnnotationMap
StateExistenceMap makVrv::DtArticulatedModelParser::myStateExistenceMap
StateValueMap makVrv::DtArticulatedModelParser::myStateValueMap
SwitchSetMap makVrv::DtArticulatedModelParser::myDefaultActiveSwitchState
DtModelSemanticsMapper& makVrv::DtArticulatedModelParser::myModelSematicsMapper

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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)