16 #include <osgEarth/Profile>
21 #include <boost/ptr_container/ptr_vector.hpp>
33 class GCTileDataCallback;
37 osgEarth::MapNode* mapNode);
71 virtual void addPagedInTile(
72 const osgEarth::TileKey& tilekey,
73 const std::shared_ptr<DtTileData>& tileData);
76 virtual void removePagedInTile(
const osgEarth::TileKey tileKey);
82 virtual void findPagedInTilesWithinExtent(std::vector<osgEarth::TileKey> & tileKeysPagedIn,
const osgEarth::GeoExtent & extent)
const;
89 virtual unsigned maxLOD()
const override;
97 virtual bool findData(
99 std::vector< std::shared_ptr<DtTileData> >& data,
101 GCTileDataCallback* callback = 0)
const;
103 virtual bool findData(
105 std::vector< std::shared_ptr<DtTileData> >& data,
106 GCTileDataCallback* callback)
const;
108 virtual void findMissing(
113 virtual std::shared_ptr<DtTileData> findOldestUnlocked()
const;
131 explicit GCTileDataCallback();
133 virtual bool operator()(
const std::shared_ptr<DtTileData>& tile)
override = 0;
std::list< osgEarth::TileKey > DtTileKeyList
Definition: tileSpatialIndex.h:32
Definition: osgEarthCommands.h:45
std::vector< makVrf::DtLine > terrainLineList
Lines structure/calls/list.
Definition: debugDrawTerrainOutputInterface.h:109
TileRoots * myTileSpatialIndexRoots
roots of the quad tree (not necessarily 4, geodetic usually has 2)
Definition: osgEarthBaseGroundCoverSourceTracker.h:116
unsigned long long DtTerrainIntersectIDType
Definition: terrainInterfaceDefines.h:28
virtual bool init(DtTerrainSourcePager &)
Called after options are set. Returns false if error.
virtual void pageInData(DtPagingMetaDataPtr metaData, DtTerrainPagingGeometryPtr geometry)=0
Page in data within geometry. Determines which tiles are within the geometry and adds a page in comma...
virtual void pageOutOldestData(const int priority)=0
Adds a page out command for the least-recently-used tileID to myCommandQueue.
std::weak_ptr< DtTileData > myOldestData
cached pointer to oldest tile data
Definition: osgEarthBaseGroundCoverSourceTracker.h:119
tbb::concurrent_queue< DtTerrainPagerCommand * > DtPagerCommandQueue
Definition: vantageTerrainImplementationUtil.h:42
virtual void getProceduralTreeTile(DtDebugDrawTerrainOutputInterface::terrainLineList &nodeBoundingList)
Return a list of tiles that represent the ground cover loaded.
virtual unsigned maxLOD() const
Return the max lod.
virtual bool dataAvailable(DtPagingMetaDataPtr metaData, DtTerrainPagingGeometryPtr geometry)=0
Definition: osgEarthBaseGroundCoverSourceTracker.h:27
virtual bool operator()(const std::shared_ptr< DtTileData > &tile)=0
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
const double myWorldWidth
width of world in osgearth coord sys, used for wrapping coords
Definition: osgEarthBaseGroundCoverSourceTracker.h:122
unsigned int myGroundCoverLod
ground cover lod
Definition: osgEarthBaseGroundCoverSourceTracker.h:125
std::shared_ptr< DtPagingMetaData > DtPagingMetaDataPtr
Definition: terrainPagingGeometry.h:108
bool myIsFinished
Definition: osgEarthBaseGroundCoverSourceTracker.h:138
Definition: terrainSourceTracker.h:253
Definition: osgEarthCommands.h:20
Abstract base class for defining geometric areas for paging of terrain. Subclasses of this class will...
Definition: terrainPagingGeometry.h:24
A DtChord is a finite line segment in 3-space, represented by two points. Data derived from the two e...
#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
virtual bool canPageOutData(DtTerrainIntersectIDType intersectId)=0
virtual DtTerrainIntersectIDType findOldestPagedData(unsigned int &numTriangles)=0
Finds the least-recently-used tile and set myOldestPagedObject to it.
boost::ptr_vector< TileSpatialIndex > TileRoots
Definition: tileSpatialIndex.h:36