![]() |
VR-Forces Developer's Guide
|
Handles the discover of MetadataNode nodes and the sharing of DtIndirectSharedMetadataNodeWrapper objects. This allows procedural geometry and instanced building clutter belonging to the same feature id to be controlled using a single visbile flag regardless of how the indirecting system batches the geometry.
Public Member Functions | |
| DtBuildingMetadataNodeHandler () | |
| void | findMetadataNodes (osg::Node *node) |
| DtIndirectMetadataNode * | createIndirectMetadataNode (const osgEarth::MetadataNode *node) |
Protected Attributes | |
| std::map< const osgEarth::MetadataNode *, std::shared_ptr < DtIndirectSharedMetadataNodeWrapper > > | myMetadataNodes |
| makVrv::DtBuildingMetadataNodeHandler::DtBuildingMetadataNodeHandler | ( | ) |
| void makVrv::DtBuildingMetadataNodeHandler::findMetadataNodes | ( | osg::Node * | node | ) |
Walks the given node and it's children to find all MetadataNode nodes. One instance of DtIndirectSharedMetadataNodeWrapper is created for each MetadataNode that is found.
| DtIndirectMetadataNode* makVrv::DtBuildingMetadataNodeHandler::createIndirectMetadataNode | ( | const osgEarth::MetadataNode * | node | ) |
Creates a new instance of DtIndirectMetadataNode linked to the given MetadataNode via the DtIndirectSharedMetadataNodeWrapper which is sharable between multiple DtIndirectMetadataNode objects.
|
protected |