VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIndirectGeometryLayerManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 
17 
19 
20 #include <osg/Matrixd>
21 
22 #include <boost/unordered_map.hpp>
23 #include <tbb/concurrent_unordered_map.h>
24 
25 namespace osg
26 {
27  class Node;
28 }
29 namespace osgEarth
30 {
31  namespace Features
32  {
33  class CustomFeatureNode;
34  }
35 }
36 
37 namespace makVrv
38 {
39  class DtIndirectGeometryRegistrar;
40  class DtIndirectGeometry;
41 
57  {
58  public:
61 
64 
67  virtual void onDataPremerge(osg::Node* newData);
68 
71  virtual void onDataLoaded(const osg::Node* newData);
72 
75  virtual void onDataUnloaded(const osg::Node* oldData);
76  protected:
78  virtual void processNewFeature(const osgEarth::Features::CustomFeatureNode* pFeatureNode, const osg::Node* data);
79 
83  virtual bool getModelNode(const std::string& modelName, osg::Node*& modelNode, int & modelId);
84 
86  virtual void registerModelWithRegistrar(const osg::Node* modelNode, const std::string& modelName, const DtModelInfo& modelInfo);
87  protected:
90 
92 
93  typedef boost::unordered_map<std::string, osg::ref_ptr< osg::Node > > MapMarkerNameToModelNode;
96 
99  typedef tbb::concurrent_unordered_map<std::string, DtModelInfo> ModelsToModelInfo;
101  tbb::atomic<int> myNextModelId;
102 
104  private:
107  };
108 }

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)