![]() |
VR-Forces 5.0.3 Developer's Guide
|
class used to collect geometry coming in via buildings layer and add it to the indirect engine. will process: -external references (gs) -instanced references (gt) -procedural geometry (gt) -procedural geometry (gt) -instanced roofs (gt) Handles callbacks from a buildings layer premerge callback to add the data to the indirect engine
Public Member Functions | |
| virtual | ~DtIndirectBuildingsHandler () |
| virtual void | onDataPremerge (osg::Node *data) |
| virtual void | onDataUnloaded (const osg::Node *data) |
| virtual void | slot_postTick () |
Protected Types | |
| typedef osg::ref_ptr< const osg::Node > | NodeRefPtr |
Protected Member Functions | |
| DtIndirectBuildingsHandler (DtDe &de, const osgEarth::Layer &layer, const DtIndirectFadeParameters &fadeParameters, bool dynamicTerrainInstallerActive, bool cullFaceEnabled) | |
| virtual void | processBuildingsExternalModelNodes (const osg::Node *data) |
| virtual void | processInstancedModelNodes (const osg::Node *data) |
| virtual void | processElevationsLodNodes (const osg::Node *data) |
| const osg::Node * | preloadModelAndRunDynamicTerrainParser (const std::string &modelName) |
Protected Attributes | |
| friend | DtIndirectBuildingsHandlerCreator |
| DtDe & | myDe |
| osg::observer_ptr< const osgEarth::Layer > | myLayer |
| DtCellToGeoSpecificIndirectGeoMap * | myGsMap |
| DtCellToGeoTypicalIndirectGeoMap * | myGtMap |
| DtIndirectModelsContainer * | myGtModelsContainer |
| DtCellToGeoSpecificIndirectGeoMap * | myProceduralGsMap |
| DtIndirectFadeParameters | myFadeParameters |
| boost::mutex | myProcessedNodeMapMutex |
| boost::condition_variable | myProcessedNodeMapCondition |
| std::map< std::string, NodeRefPtr > | myProcessedNodeMap |
| std::map< std::string, bool > | myIsProcessingNodeMap |
| DtModelSemanticsMapper & | myModelSematicsMapper |
| const bool | myDynamicTerrainInstallerActive |
| const bool | myCullFaceEnabled |
| DtSignalConnectionManager | myConnections |
Private Member Functions | |
| DtIndirectBuildingsHandler (const DtIndirectBuildingsHandler &other) | |
| DtIndirectBuildingsHandler & | operator= (const DtIndirectBuildingsHandler &other) |
|
protected |
|
virtual |
DTOR.
|
protected |
CTOR.
|
private |
Copy Constructor not implemented – Copy Not Allowed.
|
private |
Assignment Operator Not implemented – Assignment Not Allowed.
|
virtual |
Callback for osgEarth premerge callback which is called in the background paging thread when the tile has been loaded but not yet added to the scenegraph.
|
virtual |
Callback for osgEarth unloaded callback which is called in the main render thread when a tile is being paged out.
|
virtual |
handle the postTick signal.
|
protectedvirtual |
handle external references in the buildings layer (gs)
|
protectedvirtual |
handle instanced models in the buildings layer (gt)
|
protectedvirtual |
handle tagged geodes in the buildings layer (these are the geodes corresponding to procedural geo corresponding to the elevations in the buildings layer)
|
protected |
loads the model and stores a reference pointer to it in the modelName to modelNode map. also waits for other threads to finish if they are loading the same model. Returns a raw point to the model but it is saved in the member variable map so it will not be deleted in the rest of the premerge processing.
|
protected |
creator friend class so it is the only one that can create new DtIndirectBuildingsHandler
|
protected |
|
protected |
store by observer ptr here onDataPremerge for a node can get launched (in another thread) just after the layer has been deleted (e.g. reload) so the layer and hence the nodes being traverse via findTopMostNodeOfType are possibly invalid
|
protected |
external models go here geospecific
|
protected |
instanced models go here geotypical, share models
|
protected |
|
protected |
Procedural stuff that ends up as geodes. Is also geospecific in the sense that each.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
manager for connections