VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtInstanceParser.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2017 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 
18 
19 #include <map>
20 #include <bitset>
21 #include <memory>
22 
23 namespace osg
24 {
25  class LightSource;
26  class Node;
27  class Group;
28  class Geode;
29  class LOD;
30  class Sequence;
31  class Switch;
32  class StateSet;
33 }
34 
35 namespace osgSim
36 {
37  class MultiSwitch;
38  class DOFTransform;
39 }
40 
41 namespace makVrv
42 {
43  class DtDe;
49  class DT_DLL_VRVOSG ParseModelVisitor : public osg::NodeVisitor
50  {
51  public:
52  struct ParserOutput
53  {
62 
65 
68 
71 
74 
77 
78  typedef std::map<osg::Node*, ArrayRange> NodeToDrawables;
79 
82  };
83 
85  ParseModelVisitor(DtDe& de, const DtArticulatedModelParser::SwitchSetMap& defaultActiveSwitchState);
86 
88  virtual ~ParseModelVisitor();
89 
92  virtual void apply(osg::LightSource& light);
93 
94  virtual void apply(osg::Node& node);
95 
96  virtual void apply(osg::Group& group);
97 
98  virtual void apply(osg::Geode& geode);
99 
100  virtual void apply(osg::LOD& lod);
101 
102  virtual void apply(osg::Sequence& sequence);
103 
104  virtual void apply(osg::Switch& sw);
105 
106  virtual void apply(osgSim::MultiSwitch& multiswitch);
107 
108  virtual void apply(osgSim::DOFTransform& dof);
110 
111  virtual void setDefaultLightPointRange( float range );
112 
114  virtual ParserOutput& output();
115 
116  protected:
120  virtual void pushStateSet(osg::Node& node);
121 
125  virtual void popStateSet(osg::Node& node);
126 
127  protected:
128  typedef std::vector<osg::StateSet*> StateStack;
129 
132 
133  typedef std::vector<unsigned int> CounterStack;
134 
137 
140 
143 
144  };
145 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)