18 #include <osgdb_osgearth_model_feature_custom/CustomFeatureNode.h>
20 #include <OpenThreads/Thread>
22 #include <boost/thread/mutex.hpp>
23 #include <boost/unordered_set.hpp>
24 #include <boost/foreach.hpp>
36 class DtStreamedSpeedTreeForest;
80 osgEarth::Features::CustomFeatureNode::MarkerRequestList
requests;
107 typedef boost::unordered_set<osg::Node*>
NodeSet;
110 typedef boost::unordered_set<DtStreamedSpeedTreeForest*>
ForestSet;
131 void setNodeUnloaded(osg::Node* node);
135 const osgEarth::Features::CustomFeatureNode::MarkerRequestList& requests,
139 bool useScaleRandomization,
140 bool useOrientationRandomization,
154 bool isNodeUnloaded(osg::Node* node);
159 static std::size_t
hash_value(
const std::string& modelDefName,
160 const osgEarth::Features::CustomFeatureNode::OsgEarthMarkerRequest& val);
165 static void mergeTreeRequests(
DtDe& de);