VR-Forces 4.3 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 <vrvCore/DtDe.h>
14 
15 #include <vrvOsg/DtOsgRenderer.h>
19 
21 
22 #include <osg/Geometry>
23 #include <osg/Image>
24 #include <osg/ImageStream>
25 #include <osg/Texture2D>
26 #include <osg/Sequence>
27 
28 #include <osgUtil/Optimizer>
29 
30 #include <osgSim/MultiSwitch>
31 #include <osgSim/DOFTransform>
32 
33 #include <osgViewer/CompositeViewer>
34 
35 #include <osgEarth/VirtualProgram>
36 
37 #include <matrix/vlMath.h>
38 
39 #include <boost/bind.hpp>
40 #include <boost/asio.hpp>
41 #include <boost/detail/atomic_count.hpp>
42 
44 
45 #include <map>
46 #include <bitset>
47 #include <memory>
48 
49 namespace makVrv
50 {
56  class DT_DLL_VRVOSG ParseModelVisitor : public osg::NodeVisitor
57  {
58  public:
59  struct ParserOutput
60  {
69 
72 
75 
78 
81 
82  typedef std::map<osg::Node*, ArrayRange> NodeToDrawables;
83 
86  };
87 
89  ParseModelVisitor( DtDe& de);
90 
92  virtual ~ParseModelVisitor();
93 
96  virtual void apply(osg::LightSource& light);
97 
98  virtual void apply(osg::Node& node);
99 
100  virtual void apply(osg::Group& group);
101 
102  virtual void apply(osg::Geode& geode);
103 
104  virtual void apply(osg::LOD& lod);
105 
106  virtual void apply(osg::Sequence& sequence);
107 
108  virtual void apply(osg::Switch& sw);
109 
110  virtual void apply(osgSim::MultiSwitch& multiswitch);
111 
112  virtual void apply(osgSim::DOFTransform& dof);
114 
116  virtual ParserOutput& output();
117 
118  protected:
122  virtual void pushStateSet(osg::Node& node);
123 
127  virtual void popStateSet(osg::Node& node);
128 
129  protected:
130  typedef std::vector<osg::StateSet*> StateStack;
131 
134 
135  typedef std::vector<unsigned int> CounterStack;
136 
139 
141 
143 
144  };
145 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)