17 #include <boost/unordered_map.hpp>
18 #include <boost/unordered_set.hpp>
20 #include <tbb/mutex.h>
37 class CustomFeatureNode;
43 class DtSpeedTreeForest;
44 class DtOsgTerrainPatchObject;
45 class CellNodeObserver;
57 const osgEarth::Layer* layer,
const osg::Node* data);
58 void onDataUnLoaded(
const osgEarth::Map* map,
const osgEarth::Layer* layer,
59 const osg::Node* data);
62 osgEarth::Layer* layer);
64 const osgEarth::Layer* layer);
73 const osg::Node* data);
78 void createObserver(
const osgEarth::Map* map,
const osgEarth::Layer* layer,
79 const osg::Node* data);
85 static bool verifyExists(
const osg::Observer* lhs,
const osg::Node* data);
87 std::string& strCleanModelName,
const std::string& strModelName,
96 typedef boost::unordered_map<const osg::Node*, CellNodeObserver*>
void removeForestFromMapData(const osg::Node *dataNode)
void onLayerUnLoaded(const osgEarth::MapNode *mapNode, const osgEarth::Layer *layer)
DtSpeedTreeForest * myForest
Definition: DtStreamedSpeedTreeForest.h:92
std::map< std::string, std::pair< std::string, bool > > MarkerToModelDefinition
Definition: DtStreamedSpeedTreeForest.h:84
static bool verifyExists(const osg::Observer *lhs, const osg::Node *data)
DtDe & myDe
Definition: DtStreamedSpeedTreeForest.h:94
DtStreamedSpeedTreeForest manages the streaming management for The DtSpeedTreeForest that is contains...
Definition: DtStreamedSpeedTreeForest.h:50
static bool getValidTreeModelDefinition(DtDe &de, std::string &strCleanModelName, const std::string &strModelName, MarkerToModelDefinition &cache)
void processNewFeatures(const DtOsgTerrainPatchObject &patch, const osg::Node *data)
ModelDefinitionSet myValidModelDefinitions
Definition: DtStreamedSpeedTreeForest.h:91
void mapDataToCell(const osg::Node *dataNode, DtUniqueID cellID)
DtSpeedTreeForest * forest()
Contains DLL export macros.
std::vector< DtTreeRecord * > DtVectorTreeRecords
Definition: DtTreeRecord.h:137
tbb::mutex myMapCellsToSubCellsMutex
Definition: DtStreamedSpeedTreeForest.h:103
DtStreamedSpeedTreeForest(DtDe &de, DtUniqueID id)
bool observerExists(const osg::Node *data)
MapCellsToSubCells myMapCellsToSubCells
Definition: DtStreamedSpeedTreeForest.h:102
boost::unordered_map< const osg::Node *, IdSet > MapCellsToSubCells
Definition: DtStreamedSpeedTreeForest.h:101
DtSpeedTreeForest is the SpeedTree implementation of a distributed DtForestObject.
Definition: DtSpeedTreeForest.h:47
Custom Feature Node.
Definition: CustomFeatureNode.h:43
A DtOsgTerrainPatchObject contains the methods for loading a file as a terrain.
Definition: DtOsgTerrainPatchObject.h:50
boost::unordered_set< std::string > ModelDefinitionSet
Definition: DtStreamedSpeedTreeForest.h:89
void onDataUnLoaded(const osgEarth::Map *map, const osgEarth::Layer *layer, const osg::Node *data)
void removeAndDestroyAllObservers(void)
std::set< DtUniqueID > IdSet
Definition: DtStreamedSpeedTreeForest.h:100
boost::unordered_map< const osg::Node *, CellNodeObserver * > MapCellsToObservers
Definition: DtStreamedSpeedTreeForest.h:97
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
MapCellsToObservers myMapCellsToObservers
Definition: DtStreamedSpeedTreeForest.h:98
void onLayerLoaded(const osgEarth::MapNode *mapNode, osgEarth::Layer *layer)
void createObserver(const osgEarth::Map *map, const osgEarth::Layer *layer, const osg::Node *data)
DtVectorTreeRecords myScratchVecTreeRecords
Definition: DtStreamedSpeedTreeForest.h:93
void processNewFeature(const DtOsgTerrainPatchObject &patch, const osgEarth::CustomFeatureNode *pFeatureNode, const osg::Node *data)
Contains makVrv::DtUniqueID type.
virtual ~DtStreamedSpeedTreeForest()
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
void destroyObserver(const osg::Node *data, bool bCheck)
void onDataLoaded(const DtOsgTerrainPatchObject &patch, const osgEarth::Map *map, const osgEarth::Layer *layer, const osg::Node *data)
Contains makVrv::DtTreeRecord class.