VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtInstanceParser.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include <vrvOsg/vrvOsg.h>
12 
13 #include <matrix/vlMath.h>
14 
16 
17 #include <map>
18 #include <bitset>
19 #include <memory>
20 
21 namespace osg
22 {
23  class LightSource;
24  class Node;
25  class Group;
26  class Geode;
27  class LOD;
28  class Sequence;
29  class Switch;
30  class StateSet;
31 }
32 
33 namespace osgSim
34 {
35  class MultiSwitch;
36  class DOFTransform;
37 }
38 
39 namespace makVrv
40 {
41  class DtDe;
47  class DT_DLL_VRVOSG ParseModelVisitor : public osg::NodeVisitor
48  {
49  public:
50  struct ParserOutput
51  {
60 
63 
66 
69 
72 
73  typedef std::map<osg::Node*, ArrayRange> NodeToDrawables;
74 
77  };
78 
80  ParseModelVisitor( DtDe& de);
81 
83  virtual ~ParseModelVisitor();
84 
87  virtual void apply(osg::LightSource& light);
88 
89  virtual void apply(osg::Node& node);
90 
91  virtual void apply(osg::Group& group);
92 
93  virtual void apply(osg::Geode& geode);
94 
95  virtual void apply(osg::LOD& lod);
96 
97  virtual void apply(osg::Sequence& sequence);
98 
99  virtual void apply(osg::Switch& sw);
100 
101  virtual void apply(osgSim::MultiSwitch& multiswitch);
102 
103  virtual void apply(osgSim::DOFTransform& dof);
105 
107  virtual ParserOutput& output();
108 
109  protected:
113  virtual void pushStateSet(osg::Node& node);
114 
118  virtual void popStateSet(osg::Node& node);
119 
120  protected:
121  typedef std::vector<osg::StateSet*> StateStack;
122 
125 
126  typedef std::vector<unsigned int> CounterStack;
127 
130 
132 
134 
135  };
136 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)