17 #include <vlutil/vlString.h>
19 #include <osg/Matrixd>
21 #include <boost/unordered_map.hpp>
39 class DtDynamicTerrainSequenceNode;
107 const osg::Matrix& matrix = osg::Matrix::identity());
113 const osg::Matrix& matrix = osg::Matrix::identity());
120 static std::string parserFormat();
122 virtual void apply( osg::Group& group );
123 virtual void apply( osgSim::MultiSwitch& multiswitch );
125 virtual void apply( osg::Sequence& sequence );
131 const StateTransformList& stateTransforms()
const;
132 void addStateTransform(
const osg::Matrixd& mat );
134 const TerrainSwitchList& terrainSwitches()
const;
137 const StateIndexList& stateIndices()
const;
145 virtual void runVisitor(osg::Node&,
const osg::Matrix&);
151 virtual bool parseSwitchNames(
const std::string& desc,
152 osgSim::MultiSwitch& multiswitch, std::list<DtString>& stateNames );
158 virtual void parseSwitchValues(
const osg::Node& node, std::list<DtString>& valueNames );
162 virtual void parseValueListString(
const std::string& valueList, std::list<DtString>& valueNames );
165 virtual void popSwitch();
169 virtual void popSwitchIndex();
172 virtual void pushSwitchChildCount(
int child );
173 virtual void popSwitchChildCount();
174 virtual int findCurrentSwitchChildCount()
const;
175 virtual void incrementSwitchChildCount();
176 virtual void decrementSwitchChildCount();
191 typedef boost::unordered_map<DynamicTerrain::NodePathHash, DynamicTerrain::NodePathHash>
ParentHashMap;
205 static void registerCreator(
DtDe& de);