21 #include <boost/unordered_map.hpp>
22 #include <tbb/concurrent_unordered_map.h>
33 class DtIndirectTextureCollectionPolicy;
34 class DtIndirectGeometryRegistrar;
35 class DtIndirectTextureCollectionPolicyFactory;
37 #define DTINDIRECTMODELSCONTAINER_DEBUG 0
39 class DtIndirectModelsContainerCreator;
72 virtual bool getModelNode(
const std::string& modelName,
const osg::Node*& modelNode,
int & modelId,
73 bool daylightControlled,
float minRange = -1,
float maxRange = -1, osgDB::Options *options = 0,
74 bool cullFaceEnabled =
true);
77 virtual bool hasModelNode(
const std::string& modelName)
const;
80 virtual bool addModelNodeIfNeeded(
const osg::Node* modelNode,
int& modelId,
const std::string& modelNameSuffix,
81 bool cullFaceEnabled =
true,
85 virtual void registerModelWithRegistrar(
const osg::Node* modelNode,
const std::string& modelName,
const DtModelInfo& modelInfo,
86 bool cullFaceEnabled =
true,
95 bool checkGeometriesOk(
const osg::Node* modelNode,
const std::string& modelName);
111 #if DTINDIRECTMODELSCONTAINER_DEBUG
112 static tbb::atomic<int> myRefCount;
146 static const std::string& theClassName();
tbb::concurrent_unordered_map< std::string, DtModelInfo > ModelsToModelInfo
Definition: DtIndirectModelsContainer.h:105
Virtual base class.
Definition: DtVirtualBaseClass.h:19
DtDe & myDe
Definition: DtIndirectModelsContainer.h:149
DtIndirectTextureCollectionPolicy * myTextureCollectionPolicy
Definition: DtIndirectModelsContainer.h:98
#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
Indirect geometry can have multiple models and their corresponding ids registered in it...
Definition: DtIndirectGeometryRegistrar.h:106
MapMarkerNameToModelNode myMapMarkerNameToModelNode
Definition: DtIndirectModelsContainer.h:102
Abstract class to look in the stateset and collect textures specified via its template The effect tex...
Definition: DtIndirectTextureCollectionPolicy.h:38
class for holding an indirect geometry registrar (which holds the information about how to draw model...
Definition: DtIndirectModelsContainer.h:43
Contains makVrv::DtVirtualBaseClass class.
ModelsToModelInfo myModelsToModelInfo
Definition: DtIndirectModelsContainer.h:106
OpenThreads::Mutex Mutex
Definition: DtOsgThreadingUtils.h:12
Factory for creating different collection policies.
Definition: DtIndirectTextureCollectionPolicy.h:104
creator for DtIndirectModelsContainer
Definition: DtIndirectModelsContainer.h:118
DtIndirectTextureCollectionPolicyFactory & myIndirectTextureCollectionPolicyFactory
Definition: DtIndirectModelsContainer.h:151
DtModelInfo class declaration.
tbb::atomic< int > myNextModelId
Definition: DtIndirectModelsContainer.h:107
osg::ref_ptr< DtIndirectGeometryRegistrar > myIndirectGeometryRegistrar
Definition: DtIndirectModelsContainer.h:99
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:101
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Threading::Mutex myMapMarkerNameToModelNodeMutex
Definition: DtIndirectModelsContainer.h:103
Contains the DtIndirectPolygonOffset class declaration.
DtDe & myDe
Definition: DtIndirectModelsContainer.h:109