12 #include <tbb/spin_rw_mutex.h>
13 #include <tbb/concurrent_queue.h>
14 #include <tbb/atomic.h>
27 #include <boost/unordered_map.hpp>
28 #include <boost/optional.hpp>
29 #include <boost/shared_ptr.hpp>
30 #include <boost/scoped_ptr.hpp>
33 #include <boost/geometry.hpp>
34 #include <boost/geometry/geometries/point.hpp>
35 #include <boost/geometry/geometries/box.hpp>
37 #include <boost/geometry/index/rtree.hpp>
74 virtual void setEarthFileName(
const DtFilename& file);
77 virtual void setCutoutFilename(
const char* OptionalSuffixe=NULL);
84 virtual bool isContainedWithinCutoutCache(
const osgEarth::GeoExtent & extent,
const osgEarth::TileKey & key);
97 virtual int highestPriorityPendingWork();
101 virtual void processCommandQueue();
106 virtual void setCurrentTime(
const double& currentTime);
109 virtual unsigned long numTriangles()
const;
112 virtual bool quitFlagSet()
const;
115 virtual void setQuit(
bool);
121 virtual void setLabel(
const DtString&);
124 virtual unsigned queuePageReloadsWithinExtent(
const osgEarth::GeoExtent & extent,
const DtUUID& dynamicUuid,
bool isRemoval =
false);
129 typedef boost::unordered_map<DtNodeId, TerrainRecord>
Map;
145 void setGeoExent(
const osgEarth::GeoExtent& extent);
146 const osgEarth::GeoExtent& geoExtent()
const;
148 void setUUID(
const DtUUID& dynamicTerrainUUID);
149 const DtUUID& uuid()
const;
161 typedef boost::geometry::index::rtree<DtDynamicTerrainRtreeValue, boost::geometry::index::quadratic<16> >
DtDynamicTerrainRtree;
188 virtual void addTriangles(
unsigned int);
191 virtual void removeTriangles(
unsigned int);
197 void modifyDynamicTerrainExtent(
const DtPoint & swCorner,
const DtPoint & neCorner,
bool isRemoval,
unsigned amount = 1);
203 bool hasDynamicTerrainWithinExtent(
const DtPoint & swCorner,
const DtPoint& neCorner)
const;
205 bool modifyDynamicTerrain(
const osgEarth::GeoExtent& dynamicTerrainExtent,
const DtUUID& dynamicTerrainUUID,
bool isRemoval);
206 bool hasDynamicTerrainWithinExtent(std::vector<DtDynamicTerrainRtreeValue> & values,
const osgEarth::GeoExtent & extent);
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
Class DtTerrainInterfaceConfig is a readable-writable class holding terrain interface configuration o...
Definition: terrainInterfaceConfig.h:32
This class keeps track of what parts of the terrain database are currently paged in and what ones are...
Definition: activePageTracker.h:37
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
unsigned long long DtTerrainIntersectIDType
Definition: terrainInterfaceDefines.h:28
tbb::concurrent_queue< DtTerrainPagerCommand * > DtPagerCommandQueue
Definition: vantageTerrainImplementationUtil.h:29
Definition: coordSystem.h:54
std::map< osgEarth::TileKey, boost::shared_ptr< DtTileData > > DtTerrainTileMap
Definition: tileData.h:316
Base class for Terrain Source trackers.
Definition: terrainSourceTracker.h:40
#define DT_DLL_vantageTerrainImplementation
This file is used to determine how to build.
Definition: vantageTerrainImplementationDefines.h:28
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
Contains makVrv::DtDynamicTerrainWorld class.
Definition: osgToBullet.h:99
Feature Insertion/Removal/Paging Features represent parts of the terrain which are individually ident...
Definition: DtDynamicTerrainWorld.h:99
DT_DLL_terrainCS bool operator!=(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
This class wraps the VR-Vantage Display Engine, and uses as a terrain loader and intersector.
Definition: vantageTerrainEngine.h:93