![]() |
VR-Forces Developer's Guide
|
class for holding an indirect geometry registrar (which holds the information about how to draw models) and handling the adding/registering the model to the registrar
Classes | |
| struct | ModelParams |
Public Member Functions | |
| virtual | ~DtIndirectModelsContainer () |
| virtual bool | getModelNode (const std::string &modelName, const std::string &modelDefName, const osg::Node *&modelNode, int &modelId, const ModelParams ¶ms, osgDB::Options *options) |
| virtual bool | hasModelNode (const std::string &modelName) const |
| virtual const osg::Node * | findModelNode (const std::string &modelName) const |
| virtual int | findModelId (const std::string &modelName) const |
| virtual bool | addModelNodeIfNeeded (osg::ref_ptr< const osg::Node > modelNode, int &modelId, const std::string &modelNameSuffix, bool cullFaceEnabled, const DtIndirectPolygonOffset &polygonOffset, bool daylightControlled) |
| virtual DtIndirectGeometryRegistrar * | registrar (void) |
Public Attributes | |
| friend | DtIndirectModelsContainerCreator |
Protected Types | |
| typedef std::unordered_map < std::string, osg::ref_ptr < const osg::Node > > | MapMarkerNameToModelNode |
| typedef tbb::concurrent_unordered_map < std::string, DtModelInfo > | ModelsToModelInfo |
Protected Member Functions | |
| DtIndirectModelsContainer (DtDe &de, const DtIndirectLimitTextureStrategy &limitTextureStrategy) | |
| bool | checkGeometriesOk (const osg::Node *modelNode, const std::string &modelName) const |
Private Member Functions | |
| DtIndirectModelsContainer ()=delete | |
| DtIndirectModelsContainer (const DtIndirectModelsContainer &other)=delete | |
| DtIndirectModelsContainer & | operator= (const DtIndirectModelsContainer &other)=delete |
|
protected |
|
protected |
|
virtual |
destructor
|
protected |
protected. only creator can create
|
privatedelete |
Default Constructor not implemented.
|
privatedelete |
Copy Constructor not implemented – Copy Not Allowed.
|
privatedelete |
Assignment Operator Not implemented – Assignment Not Allowed.
|
virtual |
Get the model node after reading the file, and the id for a model name(file) and cache it if does not exist. if the model name is being read for the first time minRange, maxRange are the additional top level start and end values that will modulate all the lods within the model Return the cached node and model id, if it exists. Will return false if the model file cannot be read (and modelNode and modelId will be 0).
|
virtual |
has a model node registered?
|
virtual |
find
|
virtual |
find
|
virtual |
Add the model node (if not added already), with id as modelId.
|
virtual |
access the registrar
|
protected |
whether at least one geometry under modelNode has vertices (and hence can be supported)
| friend makVrv::DtIndirectModelsContainer::DtIndirectModelsContainerCreator |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |