VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions
makVrv::DtIndirectGeometryCallback Class Reference

DtIndirectGeometryCallback is a data broker callback that handles feature tile load/unload callbacks to handle the rendering of these features using indirect rendering.

Inheritance diagram for makVrv::DtIndirectGeometryCallback:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtIndirectGeometryCallback ()
 
virtual void onLayerLoaded (const osgEarth::MapNode *mapNode, osgEarth::Layer *layer) override
 
virtual void onLayerOpened (const osgEarth::MapNode *mapNode, osgEarth::Layer *layer)
 
virtual void onLayerClosed (const osgEarth::MapNode *mapNode, osgEarth::Layer *layer)
 
virtual void processLayer (const osgEarth::MapNode *mapNode, osgEarth::Layer *layer)
 
virtual void onDataPreMerge (const osgEarth::Layer *layer, osg::Node *newData) override
 
virtual void onDataLoaded (const osgEarth::Layer *layer, const osg::Node *newData) override
 
virtual void onDataUnloaded (const osgEarth::Layer *layer, const osg::Node *oldData) override
 
virtual const std::string & instanceClassName () const override
 
virtual void setFeatureDataBroker (DtOsgEarthFeatureDataBroker *featureDataBroker)
 
- Public Member Functions inherited from makVrv::DtOsgEarthFeatureDataBroker::Callback
virtual float callbackOrder ()
 
DtIndirectFadeParameters parseFadeParametersForLayer (const osgEarth::MapNode *mapNode, osgEarth::Layer *layer)
 

Static Public Member Functions

static const std::string & className ()
 

Protected Types

typedef std::unordered_map
< const osgEarth::Layer
*, DtIndirectGeometryLayerManager * > 
MapLayerToLayerManagerIndirectGeometry
 

Protected Member Functions

 DtIndirectGeometryCallback (DtDe &de)
 
virtual bool checkForIndirectRenderingParameter (osgEarth::Layer *layer)
 
virtual void processBuildingLayer (osgEarth::Buildings::BuildingLayer *buildingLayer) const
 
virtual void processModelLayer (osgEarth::Layer *layer) const
 

Protected Attributes

friend DtIndirectGeometryCallbackCreator
 
DtDemyDe
 
DtOsgEarthFeatureDataBrokermyFeatureDataBroker
 
MapLayerToLayerManagerIndirectGeometry myMapLayerToLayerManagerIndirectGeometry
 

Static Protected Attributes

static const std::string theClassName
 

Private Member Functions

 DtIndirectGeometryCallback ()=delete
 
DtIndirectGeometryCallbackoperator= (const DtIndirectGeometryCallback &other)=delete
 
 DtIndirectGeometryCallback (const DtIndirectGeometryCallback &other)=delete
 

Additional Inherited Members

- Static Protected Member Functions inherited from makVrv::DtOsgEarthFeatureDataBroker::Callback
static bool isModelLayer (const osgEarth::Layer *layer)
 

Member Typedef Documentation

map of layers in the osg earth terrain to the layer manager for each layer

Constructor & Destructor Documentation

virtual makVrv::DtIndirectGeometryCallback::~DtIndirectGeometryCallback ( )
virtual

DTOR.

makVrv::DtIndirectGeometryCallback::DtIndirectGeometryCallback ( DtDe de)
protected

CTOR.

makVrv::DtIndirectGeometryCallback::DtIndirectGeometryCallback ( )
privatedelete

CTOR (unimplemented default CTOR)

makVrv::DtIndirectGeometryCallback::DtIndirectGeometryCallback ( const DtIndirectGeometryCallback other)
privatedelete

Copy Constructor Not implemented – Copy Constructor Not Allowed.

Member Function Documentation

DtIndirectGeometryCallback& makVrv::DtIndirectGeometryCallback::operator= ( const DtIndirectGeometryCallback other)
privatedelete

Assignment Operator Not implemented – Assignment Not Allowed.

virtual void makVrv::DtIndirectGeometryCallback::onLayerLoaded ( const osgEarth::MapNode *  mapNode,
osgEarth::Layer *  layer 
)
overridevirtual

callbacks Will be called when osgEarth loads a new feature layer

Implements makVrv::DtOsgEarthFeatureDataBroker::Callback.

virtual void makVrv::DtIndirectGeometryCallback::onLayerOpened ( const osgEarth::MapNode *  mapNode,
osgEarth::Layer *  layer 
)
virtual

Will be called when osgEarth closes the layer.

Reimplemented from makVrv::DtOsgEarthFeatureDataBroker::Callback.

virtual void makVrv::DtIndirectGeometryCallback::onLayerClosed ( const osgEarth::MapNode *  mapNode,
osgEarth::Layer *  layer 
)
virtual

Will be called when osgEarth closes the layer.

Reimplemented from makVrv::DtOsgEarthFeatureDataBroker::Callback.

virtual void makVrv::DtIndirectGeometryCallback::processLayer ( const osgEarth::MapNode *  mapNode,
osgEarth::Layer *  layer 
)
virtual

Will be called when osgEarth loads a new feature layer or opens a layer.

virtual void makVrv::DtIndirectGeometryCallback::onDataPreMerge ( const osgEarth::Layer *  layer,
osg::Node *  newData 
)
overridevirtual

Invoked by the broker from the pager thread before new data is added to the scenegraph. called in a background loader thread.

Implements makVrv::DtOsgEarthFeatureDataBroker::Callback.

virtual void makVrv::DtIndirectGeometryCallback::onDataLoaded ( const osgEarth::Layer *  layer,
const osg::Node *  newData 
)
overridevirtual

Will be called when osgEarth loads data for a layer.

Implements makVrv::DtOsgEarthFeatureDataBroker::Callback.

virtual void makVrv::DtIndirectGeometryCallback::onDataUnloaded ( const osgEarth::Layer *  layer,
const osg::Node *  oldData 
)
overridevirtual

Will be called when data for a given layer is about to be deleted.

Reimplemented from makVrv::DtOsgEarthFeatureDataBroker::Callback.

virtual const std::string& makVrv::DtIndirectGeometryCallback::instanceClassName ( ) const
overridevirtual

Get the class type for this particular instance of the Callback derived class.

Implements makVrv::DtOsgEarthFeatureDataBroker::Callback.

virtual void makVrv::DtIndirectGeometryCallback::setFeatureDataBroker ( DtOsgEarthFeatureDataBroker featureDataBroker)
virtual

Set the feature data broker that this callback is installed on.

virtual bool makVrv::DtIndirectGeometryCallback::checkForIndirectRenderingParameter ( osgEarth::Layer *  layer)
protectedvirtual

check the layer's config for the indirect_enabled flag and use it to determine if indirect should be used for this layer.

virtual void makVrv::DtIndirectGeometryCallback::processBuildingLayer ( osgEarth::Buildings::BuildingLayer *  buildingLayer) const
protectedvirtual

processLayer helper method to process a building layer. Sets up the filter usage parameter for the building layer so that the callbacks needed for indirect are called.

virtual void makVrv::DtIndirectGeometryCallback::processModelLayer ( osgEarth::Layer *  layer) const
protectedvirtual

processLayer helper method to process a model layer. Sets up the filter usage parameter for the model layer so that the callbacks needed for indirect are called.

static const std::string& makVrv::DtIndirectGeometryCallback::className ( )
static

Get the class name ("indirectGeometryManager", which is used to register with the DtOsgEarthFeatureDataBroker)

Member Data Documentation

friend makVrv::DtIndirectGeometryCallback::DtIndirectGeometryCallbackCreator
protected

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

const std::string makVrv::DtIndirectGeometryCallback::theClassName
staticprotected
DtDe& makVrv::DtIndirectGeometryCallback::myDe
protected
DtOsgEarthFeatureDataBroker* makVrv::DtIndirectGeometryCallback::myFeatureDataBroker
protected
MapLayerToLayerManagerIndirectGeometry makVrv::DtIndirectGeometryCallback::myMapLayerToLayerManagerIndirectGeometry
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)