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

DtOsgEarthStreamedFeatureManager is an osgEarth-specific implemenation of a DtStreamedFeatureManager. The manager uses a DtOsgEarthFeatureDataBroker to detect when tiles page in, and looks for CustomFeatureNodes in the sceneGraph of that tile. When found, those feature requests are processed using any registered creators.

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

Classes

struct  RegisteredFeatureContainer
 

Public Member Functions

virtual ~DtOsgEarthStreamedFeatureManager ()
 
- Public Member Functions inherited from makVrv::DtStreamedFeatureManager
virtual ~DtStreamedFeatureManager ()
 
virtual void addStreamedFeatureCreator (const std::string &registrantName, const std::string &styleName, DtStreamedFeatureCreator *creator)
 

Protected Types

typedef std::list
< RegisteredFeatureContainer
StrandedFeaturesList
 
- Protected Types inherited from makVrv::DtStreamedFeatureManager
typedef std::pair< std::string,
DtStreamedFeatureCreator * > 
CreatorElement
 
typedef
boost::unordered_multimap
< std::string, CreatorElement
FeatureClassCreatorMap
 
typedef std::pair
< FeatureClassCreatorMap::iterator,
FeatureClassCreatorMap::iterator > 
RangeIterFeatureClassToCreator
 
typedef std::pair
< FeatureClassCreatorMap::const_iterator,
FeatureClassCreatorMap::const_iterator > 
ConstRangeIterFeatureClassToCreator
 

Protected Member Functions

virtual void onDataLoaded (const osgEarth::Layer *layer, const osg::Node *data)
 
virtual void checkAndProcessStrandedFeatures ()
 
 DtOsgEarthStreamedFeatureManager (DtDe &de)
 
 DtOsgEarthStreamedFeatureManager ()
 
virtual void slot_terrainPatchCreated (DtTerrainPatchObject &patch)
 
virtual void moveFeaturesToStrandedList (const osgEarth::CustomFeatureNode *featureNode)
 
virtual void processNewFeatures (const osgEarth::CustomFeatureNode *featureNode)
 
virtual void slot_customFeatureNodeToBeDeleted (const osgEarth::CustomFeatureNode *node)
 
- Protected Member Functions inherited from makVrv::DtStreamedFeatureManager
 DtStreamedFeatureManager (DtDe &de)
 
 DtStreamedFeatureManager ()
 

Protected Attributes

DtKeyedSignalConnectionManager
< const
osgEarth::CustomFeatureNode * > 
myKeyedConnections
 
boost::mutex myStrandedFeatureMutex
 
StrandedFeaturesList myStrandedFeatures
 
DtSignalConnectionManager myConnections
 
- Protected Attributes inherited from makVrv::DtStreamedFeatureManager
DtDemyDe
 
FeatureClassCreatorMap myFeatureClassCreators
 

Friends

class DtOsgEarthStreamedFeatureCallback
 
class DtOsgEarthStreamedFeatureManagerCreator
 

Additional Inherited Members

- Public Attributes inherited from makVrv::DtStreamedFeatureManager
boost::signalslib::signal
< void(const std::string
&registrantName, DtUniqueID
featurId)> 
signal_featureAboutToBeDeleted
 

Member Typedef Documentation

Constructor & Destructor Documentation

virtual makVrv::DtOsgEarthStreamedFeatureManager::~DtOsgEarthStreamedFeatureManager ( )
virtual

DTOR.

makVrv::DtOsgEarthStreamedFeatureManager::DtOsgEarthStreamedFeatureManager ( DtDe de)
protected
makVrv::DtOsgEarthStreamedFeatureManager::DtOsgEarthStreamedFeatureManager ( )
protected

Member Function Documentation

virtual void makVrv::DtOsgEarthStreamedFeatureManager::processNewFeatures ( const osgEarth::CustomFeatureNode featureNode)
protectedvirtual

When a callback on the DtOsgEarthFeatureDataBroker is fired, it looks for CustomFeatureNodes attached to nodes in the tile's scenegrph. These get passed onto processNewFeatures() which calls any registered creators for the features contained within.

virtual void makVrv::DtOsgEarthStreamedFeatureManager::slot_customFeatureNodeToBeDeleted ( const osgEarth::CustomFeatureNode node)
protectedvirtual

The DtOsgEarthFeatureDataBroker callback connects the DtCustomFeatureNode's signal_aboutToBeDeleted to the our slot_customFeatureNodeToBeDeleted slot.

virtual void makVrv::DtOsgEarthStreamedFeatureManager::onDataLoaded ( const osgEarth::Layer *  layer,
const osg::Node *  data 
)
protectedvirtual
virtual void makVrv::DtOsgEarthStreamedFeatureManager::checkAndProcessStrandedFeatures ( )
protectedvirtual

Method called by the sceneDriver tick to process any features that need to be deleted. This method is mutex-protected, since features are placed on the stranded list from osgEarth paging threads (and the list will be processed in the render thread).

Implements makVrv::DtStreamedFeatureManager.

virtual void makVrv::DtOsgEarthStreamedFeatureManager::slot_terrainPatchCreated ( DtTerrainPatchObject patch)
protectedvirtual

Find out when the terrain patch is ready to accept DtOsgEarthFeatureDataBroker callbacks. When this signal fires, the manager looks up a terrain patch and installs an osgEarth data broker callback on osgEarth patches.

virtual void makVrv::DtOsgEarthStreamedFeatureManager::moveFeaturesToStrandedList ( const osgEarth::CustomFeatureNode featureNode)
protectedvirtual

Friends And Related Function Documentation

friend class DtOsgEarthStreamedFeatureCallback
friend

Friended with feature callback to allow it to call our processing methods.

Friended with creator so that it can use our constructor.

Member Data Documentation

DtKeyedSignalConnectionManager<const osgEarth::CustomFeatureNode*> makVrv::DtOsgEarthStreamedFeatureManager::myKeyedConnections
protected
boost::mutex makVrv::DtOsgEarthStreamedFeatureManager::myStrandedFeatureMutex
protected
StrandedFeaturesList makVrv::DtOsgEarthStreamedFeatureManager::myStrandedFeatures
protected
DtSignalConnectionManager makVrv::DtOsgEarthStreamedFeatureManager::myConnections
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)