![]() |
VR-Forces 5.0.1 Developer's Guide
|
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.

Classes | |
| struct | RegisteredFeatureContainer |
Public Member Functions | |
| virtual | ~DtOsgEarthStreamedFeatureManager () |
Public Member Functions inherited from makVrv::DtStreamedFeatureManager | |
| virtual | ~DtStreamedFeatureManager () |
| virtual void | addStreamedFeatureCreator (const std::string ®istrantName, 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 |
Protected Attributes inherited from makVrv::DtStreamedFeatureManager | |
| DtDe & | myDe |
| FeatureClassCreatorMap | myFeatureClassCreators |
Friends | |
| class | DtOsgEarthStreamedFeatureCallback |
| class | DtOsgEarthStreamedFeatureManagerCreator |
Additional Inherited Members | |
Public Attributes inherited from makVrv::DtStreamedFeatureManager | |
| boost::signalslib::signal < void(const std::string ®istrantName, DtUniqueID featurId)> | signal_featureAboutToBeDeleted |
|
protected |
|
virtual |
DTOR.
|
protected |
|
protected |
|
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.
|
protectedvirtual |
The DtOsgEarthFeatureDataBroker callback connects the DtCustomFeatureNode's signal_aboutToBeDeleted to the our slot_customFeatureNodeToBeDeleted slot.
|
protectedvirtual |
|
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.
|
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.
|
protectedvirtual |
|
friend |
Friended with feature callback to allow it to call our processing methods.
|
friend |
Friended with creator so that it can use our constructor.
|
protected |
|
protected |
|
protected |