15 #include <osg/observer_ptr>
16 #include <osg/ref_ptr>
18 #include <osgEarth/Map>
19 #include <boost/unordered_map.hpp>
50 virtual void onLayerLoaded(osgEarth::MapNode* mapNode,
51 osgEarth::ModelLayer* layer) =0;
53 virtual void onDataLoaded(osgEarth::Map* map,
54 osgEarth::ModelLayer* layer,
55 osg::Node* newData) =0;
63 void addCallback(
const std::string& registrant,
Callback* cb);
67 void setOptimizeStateSharing(
bool value);
68 bool getOptimizeStateSharing()
const;
75 void addModelLayer(osgEarth::ModelLayer* layer);
79 void notifyNewLayer(osgEarth::ModelLayer* layer);
84 void notifyNewData(osgEarth::ModelLayer* layer, osg::Node* data);
93 bool readFeatureNameRegistrationFile(
const std::string& path,
94 const std::string& filename );
97 static std::string getFeatureNameFromModelLayer(
98 const osgEarth::ModelLayer& layer );
113 typedef boost::unordered_multimap<std::string, CallbackRefPtr>
115 typedef std::pair<FeatureDataCallbackMap::iterator,
117 typedef std::pair<FeatureDataCallbackMap::const_iterator,
118 FeatureDataCallbackMap::const_iterator>
123 typedef boost::unordered_map<std::string, std::vector<std::string> >
126 typedef boost::unordered_map<std::string,