VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Friends
makVrv::DtIndirectBuildingsHandler Class Reference

class used to collect geometry coming in via buildings layer and add it to the indirect engine. More...

Public Member Functions

virtual ~DtIndirectBuildingsHandler ()
 DTOR. More...
 
virtual void onDataPremerge (osg::Node *data)
 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. More...
 
virtual void onDataUnloaded (const osg::Node *data)
 Callback for osgEarth unloaded callback which is called in the main render thread when a tile is being paged out. More...
 

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)
 CTOR. More...
 
virtual void processBuildingsExternalModelNodes (const osg::Node *data)
 handle external references in the buildings layer (gs) More...
 
virtual void processInstancedModelNodes (const osg::Node *data)
 handle instanced models in the buildings layer (gt) More...
 
virtual void processElevationsLodNodes (const osg::Node *data)
 handle tagged geodes in the buildings layer (these are the geodes corresponding to procedural geo corresponding to the elevations in the buildings layer) More...
 
const osg::Node * preloadModelAndRunDynamicTerrainParser (const std::string &modelName)
 loads the model and stores a reference pointer to it in the modelName to modelNode map. More...
 

Protected Attributes

DtDemyDe
 
const osgEarth::Layer & myLayer
 
DtCellToGeoSpecificIndirectGeoMapmyCellToBuildingsGSIndirectGeoMap
 external models go here geospecific More...
 
DtCellToGeoTypicalIndirectGeoMapmyCellToGTIndirectGeoMap
 instanced models go here geotypical, share models More...
 
DtIndirectModelsContainermyGTModelsContainer
 
DtCellToGeoSpecificIndirectGeoMapmyCellToTaggedGeodesGeoSpecificIndirectGeoMap
 Procedural stuff that ends up as geodes. Is also geospecific in the sense that each. More...
 
DtIndirectFadeParameters myFadeParameters
 
boost::mutex myProcessedNodeMapMutex
 
boost::condition_variable myProcessedNodeMapCondition
 
std::map< std::string, NodeRefPtrmyProcessedNodeMap
 
std::map< std::string, boolmyIsProcessingNodeMap
 
DtModelSemanticsMappermyModelSematicsMapper
 
bool myDynamicTerrainInstallerActive
 

Private Member Functions

 DtIndirectBuildingsHandler (const DtIndirectBuildingsHandler &other)
 Copy Constructor not implemented – Copy Not Allowed. More...
 
DtIndirectBuildingsHandleroperator= (const DtIndirectBuildingsHandler &other)
 Assignment Operator Not implemented – Assignment Not Allowed. More...
 

Friends

class DtIndirectBuildingsHandlerCreator
 creator friend class so it is the only one that can create new DtIndirectBuildingsHandler More...
 

Detailed Description

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

Member Typedef Documentation

Constructor & Destructor Documentation

virtual makVrv::DtIndirectBuildingsHandler::~DtIndirectBuildingsHandler ( )
virtual

DTOR.

makVrv::DtIndirectBuildingsHandler::DtIndirectBuildingsHandler ( DtDe de,
const osgEarth::Layer &  layer,
const DtIndirectFadeParameters fadeParameters,
bool  dynamicTerrainInstallerActive 
)
protected

CTOR.

makVrv::DtIndirectBuildingsHandler::DtIndirectBuildingsHandler ( const DtIndirectBuildingsHandler other)
private

Copy Constructor not implemented – Copy Not Allowed.

Member Function Documentation

DtIndirectBuildingsHandler& makVrv::DtIndirectBuildingsHandler::operator= ( const DtIndirectBuildingsHandler other)
private

Assignment Operator Not implemented – Assignment Not Allowed.

virtual void makVrv::DtIndirectBuildingsHandler::onDataPremerge ( osg::Node *  data)
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 void makVrv::DtIndirectBuildingsHandler::onDataUnloaded ( const osg::Node *  data)
virtual

Callback for osgEarth unloaded callback which is called in the main render thread when a tile is being paged out.

virtual void makVrv::DtIndirectBuildingsHandler::processBuildingsExternalModelNodes ( const osg::Node *  data)
protectedvirtual

handle external references in the buildings layer (gs)

virtual void makVrv::DtIndirectBuildingsHandler::processInstancedModelNodes ( const osg::Node *  data)
protectedvirtual

handle instanced models in the buildings layer (gt)

virtual void makVrv::DtIndirectBuildingsHandler::processElevationsLodNodes ( const osg::Node *  data)
protectedvirtual

handle tagged geodes in the buildings layer (these are the geodes corresponding to procedural geo corresponding to the elevations in the buildings layer)

const osg::Node* makVrv::DtIndirectBuildingsHandler::preloadModelAndRunDynamicTerrainParser ( const std::string &  modelName)
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.

Friends And Related Function Documentation

friend class DtIndirectBuildingsHandlerCreator
friend

creator friend class so it is the only one that can create new DtIndirectBuildingsHandler

Member Data Documentation

DtDe& makVrv::DtIndirectBuildingsHandler::myDe
protected
const osgEarth::Layer& makVrv::DtIndirectBuildingsHandler::myLayer
protected
DtCellToGeoSpecificIndirectGeoMap* makVrv::DtIndirectBuildingsHandler::myCellToBuildingsGSIndirectGeoMap
protected

external models go here geospecific

DtCellToGeoTypicalIndirectGeoMap* makVrv::DtIndirectBuildingsHandler::myCellToGTIndirectGeoMap
protected

instanced models go here geotypical, share models

DtIndirectModelsContainer* makVrv::DtIndirectBuildingsHandler::myGTModelsContainer
protected
DtCellToGeoSpecificIndirectGeoMap* makVrv::DtIndirectBuildingsHandler::myCellToTaggedGeodesGeoSpecificIndirectGeoMap
protected

Procedural stuff that ends up as geodes. Is also geospecific in the sense that each.

DtIndirectFadeParameters makVrv::DtIndirectBuildingsHandler::myFadeParameters
protected
boost::mutex makVrv::DtIndirectBuildingsHandler::myProcessedNodeMapMutex
protected
boost::condition_variable makVrv::DtIndirectBuildingsHandler::myProcessedNodeMapCondition
protected
std::map<std::string, NodeRefPtr > makVrv::DtIndirectBuildingsHandler::myProcessedNodeMap
protected
std::map<std::string, bool > makVrv::DtIndirectBuildingsHandler::myIsProcessingNodeMap
protected
DtModelSemanticsMapper& makVrv::DtIndirectBuildingsHandler::myModelSematicsMapper
protected
bool makVrv::DtIndirectBuildingsHandler::myDynamicTerrainInstallerActive
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)