23 #include <tbb/concurrent_unordered_map.h>
24 #include <unordered_map>
25 #include <unordered_set>
28 #define DTINDIRECTMODELSCONTAINER_DEBUG 0
37 class DtIndirectTextureCollectionPolicy;
38 class DtIndirectGeometryRegistrar;
39 class DtIndirectTextureCollectionPolicyFactory;
40 class DtIndirectLimitTextureStrategy;
84 virtual bool getModelNode(
const std::string& modelName,
const std::string& modelDefName,
const osg::Node*& modelNode,
int & modelId,
85 bool daylightControlled,
float minRange = -1,
float maxRange = -1, osgDB::Options *options = 0,
86 bool cullFaceEnabled =
true);
89 virtual bool hasModelNode(
const std::string& modelName)
const;
93 bool cullFaceEnabled =
true,
102 bool checkGeometriesOk(
const osg::Node* modelNode,
const std::string& modelName)
const;
117 #if DTINDIRECTMODELSCONTAINER_DEBUG
118 static tbb::atomic<int> myRefCount;
tbb::concurrent_unordered_map< std::string, DtModelInfo > ModelsToModelInfo
Definition: DtIndirectModelsContainer.h:111
const char * creatorTypeName< DtIndirectModelsContainer >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtIndirectModelsContainer.h:50
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Indirect geometry can have multiple models and their corresponding ids registered in it...
Definition: DtIndirectGeometryRegistrar.h:106
DtVirtualBaseClassCreator< DtIndirectModelsContainer, const DtIndirectLimitTextureStrategy &, const bool &, const bool & > DtIndirectModelsContainerCreator
creator
Definition: DtIndirectModelsContainer.h:43
MapMarkerNameToModelNode myMapMarkerNameToModelNode
Definition: DtIndirectModelsContainer.h:108
friend DtIndirectModelsContainerCreator
Definition: DtIndirectModelsContainer.h:59
class for holding an indirect geometry registrar (which holds the information about how to draw model...
Definition: DtIndirectModelsContainer.h:55
std::unordered_map< std::string, osg::ref_ptr< const osg::Node > > MapMarkerNameToModelNode
Definition: DtIndirectModelsContainer.h:107
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
ModelsToModelInfo myModelsToModelInfo
Definition: DtIndirectModelsContainer.h:112
OpenThreads::Mutex Mutex
Definition: DtOsgThreadingUtils.h:12
DtModelInfo class declaration.
This class is passed as a pointer to DtIndirectTextureProcessor. The processor then uses this in conj...
Definition: DtIndirectLimitTextureStrategy.h:65
tbb::atomic< int > myNextModelId
Definition: DtIndirectModelsContainer.h:113
osg::ref_ptr< DtIndirectGeometryRegistrar > myIndirectGeometryRegistrar
Definition: DtIndirectModelsContainer.h:105
non virtual container class for defining a polygon offset state
Definition: DtIndirectPolygonOffset.h:18
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
Threading::Mutex myMapMarkerNameToModelNodeMutex
Definition: DtIndirectModelsContainer.h:109
Contains the DtIndirectPolygonOffset class declaration.
DtDe & myDe
Definition: DtIndirectModelsContainer.h:115