20 #include <osgEarth/MapNode>
21 #include <osgEarth/GeoData>
22 #include <osgEarth/LandCoverLayer>
23 #include <osgEarth/TerrainConstraintLayer>
24 #include <osgEarthProcedural/LifeMapLayer>
26 #include <osgTerrain/Terrain>
28 #include <tbb/task_arena.h>
32 class TerrainTileModel;
67 virtual bool init()
override;
72 virtual void tick()
override;
81 bool forcePageInAllData =
false);
88 virtual bool pageOutTiles(
const DtTileKeyList& tilesToRemove);
98 virtual const unsigned int determineTrackerLod();
101 virtual osgEarth::TerrainOptionsAPI osgEarthTerrainOptions()
const;
109 unsigned reloadQueuedPages();
113 const osgEarth::GeoExtent& extent,
const DtUUID& dynamicUuid,
bool isRemoval =
false)
override;
116 static osgTerrain::Locator* createLocatorForKey(
const osgEarth::TileKey& key,
const osgEarth::Util::MapNode& mapInfo);
119 virtual void setTerrainSourcePagerName(
const std::string& name);
122 virtual std::string terrainSourcePagerName();
130 virtual unsigned queuePagesToReloadNotAlreadyLoaded(
const osgEarth::GeoExtent & extent);
137 virtual bool reloadTile(
const osgEarth::TileKey & tileKey,
bool isRemoval =
false);
143 virtual bool findFirstParent(osgEarth::TileKey & firstParentTileKey,
const osgEarth::TileKey & tileKey);
149 virtual bool modifyMaskExtentsForFirstParent(
const std::shared_ptr<DtTileData> tileData,
bool isRemoval =
false);
161 virtual bool pageInTile(
const osgEarth::TileKey& tileKey,
163 bool forcePageInAllData =
false);
171 virtual bool pageOutTile(
const osgEarth::TileKey& tileKey,
bool pageOutSubtiles);
178 virtual std::shared_ptr<DtTileData> createTileDataFromTileModel(
179 const osgEarth::TileKey& tilekey,
181 bool createIfAlreadyLoaded =
false)
const;
187 virtual std::shared_ptr<DtTileData> createTileDataFromHeightfield(
188 const osgEarth::TileKey& tilekey,
196 virtual std::shared_ptr<DtTileData> createTileDataFromGeometry(
197 const osgEarth::TileKey& tilekey,
211 virtual void addTile(
const osgEarth::TileKey& tilekey,
const std::shared_ptr<DtTileData>& tile);
218 virtual void addMasks(
const osgEarth::TileKey& tilekey,
const std::shared_ptr<DtTileData>& tile);
220 virtual bool hasConstraintsOrDynamicTerrain(
const TileKey& key);
248 osgEarth::Procedural::LandCoverSample::Factory::Ptr
myFactory;
UUID is a unique ID wrapper class.
Definition: uuid.h:59
std::list< osgEarth::TileKey > DtTileKeyList
Definition: tileSpatialIndex.h:32
Definition: featureContext.h:36
unsigned long long DtTerrainIntersectIDType
Definition: terrainInterfaceDefines.h:28
Definition: osgEarthTerrainSourceTracker.h:66
std::shared_ptr< DtTerrainPagingGeometry > DtTerrainPagingGeometryPtr
Definition: terrainPagingGeometry.h:46
Base class for Terrain Source trackers. Determines if the necessary data To perform an intersection i...
Definition: terrainSourceTracker.h:75
Fidelity
Allows the system to use differently fidelity data for intersecting against. Currently only implement...
Definition: terrainIntersectOptions.h:102
#define DT_DLL_vantageTerrainImplementation
This file is used to determine how to build.
Definition: vantageTerrainImplementationDefines.h:28
This class wraps the VR-Vantage Display Engine, and uses as a terrain loader and intersector. This is the terrain engine that powers the DtVantageTerrainImplementation. The DtVantageTerrainEngine runs the DtDe it its own thread, and processes commands thought the command queue.
Definition: vantageTerrainEngine.h:112