VR-Forces 4.6.1 Class Documentation
 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 | Static Protected Attributes
makVrv::DtOsgEarthFeatureDataBroker Class Reference

DtOsgEarthFeatureDataBroker listens to osgEarth feature layers (i.e. More...

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

Classes

class  Callback

Public Member Functions

 DtOsgEarthFeatureDataBroker (osgEarth::MapNode *mapNode, DtDe &de)
void addCallback (const std::string &registrant, Callback *cb)
void setOptimizeStateSharing (bool value)
bool getOptimizeStateSharing () const
void addModelLayer (osgEarth::ModelLayer *layer)
void notifyNewLayer (osgEarth::ModelLayer *layer)
void notifyPreMergeData (osgEarth::ModelLayer *layer, osg::Node *node)
void notifyNewData (osgEarth::ModelLayer *layer, osg::Node *data)
void notifyDataDeleted (osgEarth::ModelLayer *layer, osg::Node *data)

Protected Types

typedef osg::ref_ptr
< osgEarth::SceneGraphCallback > 
SceneGraphCallbackRefPtr
typedef osg::ref_ptr< CallbackCallbackRefPtr
typedef
boost::unordered_multimap
< std::string, CallbackRefPtr
FeatureDataCallbackMap
typedef std::pair
< FeatureDataCallbackMap::iterator,
FeatureDataCallbackMap::iterator > 
RangeIterFeatureDataCallbacks
typedef std::pair
< FeatureDataCallbackMap::const_iterator,
FeatureDataCallbackMap::const_iterator > 
ConstRangeIterFeatureDataCallbacks
typedef std::set< CallbackRefPtrCallbackRefSet
typedef boost::unordered_map
< std::string, std::vector
< std::string > > 
RegistrantToFeaturesMap
typedef boost::unordered_map
< std::string, std::vector
< std::string > >::iterator 
RegistrantToFeaturesMapIter
typedef boost::unordered_map
< osg::Node
*, FeaturePageObserver * > 
MapPagesToObservers

Protected Member Functions

virtual ~DtOsgEarthFeatureDataBroker ()
bool readFeatureNameRegistrationFile (const std::string &path, const std::string &filename)
 This method fills in myRegistrantToFeaturesMap, which tells which feature layers are of interest to which registrants.
std::string getFeatureNameFromModelLayer (const osgEarth::ModelLayer &layer)

Protected Attributes

osg::observer_ptr
< osgEarth::MapNode > 
myMapNode
osg::ref_ptr
< osgEarth::MapCallback > 
myMapCallback
std::set
< SceneGraphCallbackRefPtr
myOperations
DtDemyDe
bool myShareState
OpenThreads::Mutex myMapMutex
FeatureDataCallbackMap myFeatureDataCallbacks
CallbackRefSet myAllFeatureCallbacks
RegistrantToFeaturesMap myRegistrantToFeaturesMap
boost::unordered_map< const
osgEarth::ModelLayer
*, std::string > 
myFeatureNameLookup
MapPagesToObservers myMapPagesToObservers

Static Protected Attributes

static const chartheFeatureDataBrokerRegistrantToFeatureList

Detailed Description

DtOsgEarthFeatureDataBroker listens to osgEarth feature layers (i.e.

model layers with a feature source) and dispatches post-processor routines whenever new data pages in.

The class will accept "postMerge" callbacks. When a new subgraph pages in and merges into the scene graph, the decorator will invoke the callbacks on the data.

Member Typedef Documentation

typedef osg::ref_ptr<osgEarth::SceneGraphCallback> makVrv::DtOsgEarthFeatureDataBroker::SceneGraphCallbackRefPtr
protected
typedef boost::unordered_multimap<std::string, CallbackRefPtr> makVrv::DtOsgEarthFeatureDataBroker::FeatureDataCallbackMap
protected
typedef std::pair<FeatureDataCallbackMap::iterator, FeatureDataCallbackMap::iterator> makVrv::DtOsgEarthFeatureDataBroker::RangeIterFeatureDataCallbacks
protected
typedef std::pair<FeatureDataCallbackMap::const_iterator, FeatureDataCallbackMap::const_iterator> makVrv::DtOsgEarthFeatureDataBroker::ConstRangeIterFeatureDataCallbacks
protected
typedef boost::unordered_map<std::string, std::vector<std::string> > makVrv::DtOsgEarthFeatureDataBroker::RegistrantToFeaturesMap
protected
typedef boost::unordered_map<std::string, std::vector<std::string> >::iterator makVrv::DtOsgEarthFeatureDataBroker::RegistrantToFeaturesMapIter
protected
typedef boost::unordered_map<osg::Node*, FeaturePageObserver*> makVrv::DtOsgEarthFeatureDataBroker::MapPagesToObservers
protected

Constructor & Destructor Documentation

makVrv::DtOsgEarthFeatureDataBroker::DtOsgEarthFeatureDataBroker ( osgEarth::MapNode *  mapNode,
DtDe de 
)
virtual makVrv::DtOsgEarthFeatureDataBroker::~DtOsgEarthFeatureDataBroker ( )
protectedvirtual

Member Function Documentation

void makVrv::DtOsgEarthFeatureDataBroker::addCallback ( const std::string &  registrant,
Callback cb 
)
void makVrv::DtOsgEarthFeatureDataBroker::setOptimizeStateSharing ( bool  value)
bool makVrv::DtOsgEarthFeatureDataBroker::getOptimizeStateSharing ( ) const
void makVrv::DtOsgEarthFeatureDataBroker::addModelLayer ( osgEarth::ModelLayer *  layer)
void makVrv::DtOsgEarthFeatureDataBroker::notifyNewLayer ( osgEarth::ModelLayer *  layer)
void makVrv::DtOsgEarthFeatureDataBroker::notifyPreMergeData ( osgEarth::ModelLayer *  layer,
osg::Node *  node 
)
void makVrv::DtOsgEarthFeatureDataBroker::notifyNewData ( osgEarth::ModelLayer *  layer,
osg::Node *  data 
)
void makVrv::DtOsgEarthFeatureDataBroker::notifyDataDeleted ( osgEarth::ModelLayer *  layer,
osg::Node *  data 
)
bool makVrv::DtOsgEarthFeatureDataBroker::readFeatureNameRegistrationFile ( const std::string &  path,
const std::string &  filename 
)
protected

This method fills in myRegistrantToFeaturesMap, which tells which feature layers are of interest to which registrants.

When a registrant calls addCallback, we add a callback for each feature layer listed in the map

std::string makVrv::DtOsgEarthFeatureDataBroker::getFeatureNameFromModelLayer ( const osgEarth::ModelLayer &  layer)
protected

Member Data Documentation

const char* makVrv::DtOsgEarthFeatureDataBroker::theFeatureDataBrokerRegistrantToFeatureList
staticprotected
osg::observer_ptr<osgEarth::MapNode> makVrv::DtOsgEarthFeatureDataBroker::myMapNode
protected
osg::ref_ptr<osgEarth::MapCallback> makVrv::DtOsgEarthFeatureDataBroker::myMapCallback
protected
std::set<SceneGraphCallbackRefPtr> makVrv::DtOsgEarthFeatureDataBroker::myOperations
protected
DtDe& makVrv::DtOsgEarthFeatureDataBroker::myDe
protected
bool makVrv::DtOsgEarthFeatureDataBroker::myShareState
protected
OpenThreads::Mutex makVrv::DtOsgEarthFeatureDataBroker::myMapMutex
protected
FeatureDataCallbackMap makVrv::DtOsgEarthFeatureDataBroker::myFeatureDataCallbacks
protected
CallbackRefSet makVrv::DtOsgEarthFeatureDataBroker::myAllFeatureCallbacks
protected
RegistrantToFeaturesMap makVrv::DtOsgEarthFeatureDataBroker::myRegistrantToFeaturesMap
protected
boost::unordered_map<const osgEarth::ModelLayer*, std::string> makVrv::DtOsgEarthFeatureDataBroker::myFeatureNameLookup
protected
MapPagesToObservers makVrv::DtOsgEarthFeatureDataBroker::myMapPagesToObservers
protected

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

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)