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>
35 class DtStreamedSpeedTreeForest;
79 osgEarth::Features::CustomFeatureNode::MarkerRequestList
requests;
106 typedef boost::unordered_set<osg::Node*>
NodeSet;
109 typedef boost::unordered_set<DtStreamedSpeedTreeForest*>
ForestSet;
130 void setNodeUnloaded(osg::Node* node);
134 const osgEarth::Features::CustomFeatureNode::MarkerRequestList& requests,
138 bool useScaleRandomization,
139 bool useOrientationRandomization,
153 bool isNodeUnloaded(osg::Node* node);
158 static std::size_t
hash_value(
const std::string& modelDefName,
159 const osgEarth::Features::CustomFeatureNode::OsgEarthMarkerRequest& val);
164 static void mergeTreeRequests(
DtDe& de);