21 #include <boost/unordered_map.hpp>
22 #include <tbb/concurrent_unordered_map.h>
33 class DtIndirectTextureCollectionPolicy;
34 class DtIndirectGeometryRegistrar;
35 class DtIndirectTextureCollectionPolicyFactory;
36 class DtIndirectGeometryRegistrarCreator;
38 #define DTINDIRECTMODELSCONTAINER_DEBUG 0
40 class DtIndirectModelsContainerCreator;
41 class DtAggregatedGeometryCreator;
42 class DtIndirectGeometryAggregatorCreator;
43 class DtCoreGlBufferCreator;
83 virtual bool getModelNode(
const std::string& modelName,
const osg::Node*& modelNode,
int & modelId,
float minRange = -1,
float maxRange = -1, osgDB::Options *options = 0);
86 virtual bool addModelNodeIfNeeded(
const osg::Node* modelNode,
int& modelId,
const std::string& modelNameSuffix,
87 bool cullFaceEnabled =
true,
91 virtual void registerModelWithRegistrar(
const osg::Node* modelNode,
const std::string& modelName,
const DtModelInfo& modelInfo,
92 bool cullFaceEnabled =
true,
101 bool checkGeometriesOk(
const osg::Node* modelNode,
const std::string& modelName);
117 #if DTINDIRECTMODELSCONTAINER_DEBUG
118 static tbb::atomic<int> myRefCount;
154 static const std::string& theClassName();
The DtAggregatedGeometry creator for the DtAggregatedGeometryCreator class.
Definition: DtAggregatedGeometry.h:274
tbb::concurrent_unordered_map< std::string, DtModelInfo > ModelsToModelInfo
Definition: DtIndirectModelsContainer.h:111
Virtual base class.
Definition: DtVirtualBaseClass.h:22
DtDe & myDe
Definition: DtIndirectModelsContainer.h:157
DtIndirectTextureCollectionPolicy * myTextureCollectionPolicy
Definition: DtIndirectModelsContainer.h:104
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtModelInfo is a mapping of a 'model' name to a 'model' id A 'model' can have a number of lods...
Definition: DtModelInfo.h:25
creator for DtCoreGlBuffer
Definition: DtCoreGlBuffer.h:58
Indirect geometry can have multiple models and their corresponding ids registered in it...
Definition: DtIndirectGeometryRegistrar.h:101
MapMarkerNameToModelNode myMapMarkerNameToModelNode
Definition: DtIndirectModelsContainer.h:108
Abstract class to look in the stateset and collect textures specified via its template The effect tex...
Definition: DtIndirectTextureCollectionPolicy.h:38
creator for DtIndirectGeometryAggregator
Definition: DtIndirectGeometryAggregator.h:211
class for holding an indirect geometry registrar (which holds the information about how to draw model...
Definition: DtIndirectModelsContainer.h:47
Contains makVrv::DtVirtualBaseClass class.
ModelsToModelInfo myModelsToModelInfo
Definition: DtIndirectModelsContainer.h:112
DtIndirectGeometryRegistrarCreator & myIndirectGeomRegistrarCreator
Definition: DtIndirectModelsContainer.h:160
OpenThreads::Mutex Mutex
Definition: DtOsgThreadingUtils.h:12
Factory for creating different collection policies.
Definition: DtIndirectTextureCollectionPolicy.h:104
creator for DtIndirectModelsContainer
Definition: DtIndirectModelsContainer.h:124
DtIndirectTextureCollectionPolicyFactory & myIndirectTextureCollectionPolicyFactory
Definition: DtIndirectModelsContainer.h:159
DtModelInfo class declaration.
tbb::atomic< int > myNextModelId
Definition: DtIndirectModelsContainer.h:113
osg::ref_ptr< DtIndirectGeometryRegistrar > myIndirectGeometryRegistrar
Definition: DtIndirectModelsContainer.h:105
creator for DtIndirectGeometryRegistrar
Definition: DtIndirectGeometryRegistrar.h:288
non virtual container class for defining a polygon offset state
Definition: DtIndirectPolygonOffset.h:18
Contains DLL export macros.
boost::unordered_map< std::string, osg::ref_ptr< const osg::Node > > MapMarkerNameToModelNode
Definition: DtIndirectModelsContainer.h:107
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Threading::Mutex myMapMarkerNameToModelNodeMutex
Definition: DtIndirectModelsContainer.h:109
Contains the DtIndirectPolygonOffset class declaration.
DtDe & myDe
Definition: DtIndirectModelsContainer.h:115