VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIndirectGeometryCallback.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 
15 
17 
19 
20 #include <boost/unordered_map.hpp>
21 
22 namespace osg
23 {
24  class Node;
25 }
26 
27 
28 namespace osgEarth
29 {
30  class MapNode;
31  class Layer;
32  class Map;
33 }
34 
35 namespace makVrv
36 {
37  class DtIndirectGeometryLayerManager;
38 
45  {
46  public:
48  virtual ~DtIndirectGeometryCallback();
49 
50  protected:
53 
56 
57  private:
60 
63 
66 
67  public:
68 
71  virtual void onLayerLoaded(const osgEarth::MapNode* mapNode, osgEarth::Layer* layer);
72 
75  virtual void onDataPreMerge(const osgEarth::Map* map, const osgEarth::Layer* layer, osg::Node* newData);
76 
78  virtual void onDataLoaded(const osgEarth::Map* map, const osgEarth::Layer* layer, const osg::Node* newData);
79 
81  virtual void onDataUnloaded(const osgEarth::Map* map, const osgEarth::Layer* layer, const osg::Node* oldData);
82 
84  virtual const std::string& instanceClassName() const;
85 
87  virtual void setFeatureDataBroker(DtOsgEarthFeatureDataBroker* featureDataBroker);
88 
89  protected:
90 
92  virtual bool checkForIndirectRenderingParameter(osgEarth::Layer* layer);
93 
94  public:
96  static const std::string& className();
97 
98  protected:
99  static const std::string theClassName;
101 
103 
105  typedef boost::unordered_map<const osgEarth::Layer*, DtIndirectGeometryLayerManager* > MapLayerToLayerManagerIndirectGeometry;
107 
108  };
109 
114  {
115  public:
118 
121 
122  private:
127 
128  public:
131  static DtIndirectGeometryCallbackCreator& instance(DtDe& de);
132 
134  static void registerInstance(DtDe& de,
136 
138  virtual DtIndirectGeometryCallback* create();
139 
140  protected:
141 
143 
144  };
145 }
Virtual base class.
Definition: DtVirtualBaseClass.h:22
boost::unordered_map< const osgEarth::Layer *, DtIndirectGeometryLayerManager * > MapLayerToLayerManagerIndirectGeometry
map of layers in the osg earth terrain to the layer manager for each layer
Definition: DtIndirectGeometryCallback.h:105
#define DT_DLL_VRVOSGEARTH
Definition: vrvOsgEarth.h:21
The DtIndirectGeometryCallback creator for the DtIndirectGeometryCallbackCreator class.
Definition: DtIndirectGeometryCallback.h:113
DtOsgEarthFeatureDataBroker listens to osgEarth feature layers (i.e.
Definition: DtOsgEarthFeatureDataBroker.h:60
Contains makVrv::DtVirtualBaseClass class.
Declarations for classes used in DtICullingAndLOD.
MapLayerToLayerManagerIndirectGeometry myMapLayerToLayerManagerIndirectGeometry
Definition: DtIndirectGeometryCallback.h:106
Definition: DtOsgEarthFeatureDataBroker.h:65
DtOsgEarthFeatureDataBroker * myFeatureDataBroker
Definition: DtIndirectGeometryCallback.h:102
DtIndirectGeometryCallback is a data broker callback that handles feature tile load/unload callbacks ...
Definition: DtIndirectGeometryCallback.h:43
Contains makVrv::DtOsgEarthFeatureDataBroker class.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtDe & myDe
Definition: DtIndirectGeometryCallback.h:100
static const std::string theClassName
Definition: DtIndirectGeometryCallback.h:99
DtDe & myDe
Definition: DtIndirectGeometryCallback.h:142
Contains DLL export macros.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)