VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | Friends
DtOsgEarthBaseGroundCoverSourceTracker Class Referenceabstract
Inheritance diagram for DtOsgEarthBaseGroundCoverSourceTracker:
Inheritance graph
[legend]

Public Member Functions

 DtOsgEarthBaseGroundCoverSourceTracker (DtVantageTerrainEngine *, DtPagerCommandQueue *commandQueue, osgEarth::MapNode *mapNode)
 
virtual ~DtOsgEarthBaseGroundCoverSourceTracker () override
 
virtual bool init (DtTerrainSourcePager &) override=0
 
virtual bool dataAvailable (DtPagingMetaDataPtr metaData, DtTerrainPagingGeometryPtr geometry) override
 
virtual void pageInData (DtPagingMetaDataPtr metaData, DtTerrainPagingGeometryPtr geometry) override=0
 
virtual bool canPageOutData (DtTerrainIntersectIDType intersectId) override
 
virtual DtTerrainIntersectIDType findOldestPagedData (unsigned int &numTriangles) override
 
virtual void addPagedInTile (const osgEarth::TileKey &tilekey, const std::shared_ptr< DtTileData > &tileData)
 
virtual void removePagedInTile (const osgEarth::TileKey tileKey)
 
virtual void findMissingTiles (const DtTerrainPagingGeometryPtr &geometry, DtTileKeyList &tiles) const
 
virtual void findPagedInTilesWithinExtent (std::vector< osgEarth::TileKey > &tileKeysPagedIn, const osgEarth::GeoExtent &extent) const
 
virtual void pageOutOldestData (const int priority) override=0
 
virtual unsigned maxLOD () const override
 
virtual void getProceduralTreeTile (DtDebugDrawTerrainOutputInterface::terrainLineList &nodeBoundingList) override=0
 
 GCTileDataCallback ()
 
virtual bool operator() (const std::shared_ptr< DtTileData > &tile) override=0
 
- Public Member Functions inherited from DtTerrainSourceTracker
 DtTerrainSourceTracker (DtVantageTerrainEngine *, DtPagerCommandQueue *commandQueue, osgEarth::MapNode *mapNode)
 
virtual ~DtTerrainSourceTracker ()
 
virtual DtTerrainInterfaceConfigconfigOptions ()
 
virtual const
DtTerrainInterfaceConfig
configOptions () const
 
virtual boost::optional
< DtTerrainIntersectOptions::Fidelity
intersectFidelity () const
 
virtual DtTerrainCategoryMask terrainCategories () const
 
virtual void addNodesToCollisionMapping (DtNodeId node, DtCollisionObjectList *collObjList)
 
virtual void removeNodeToCollisionMappings (DtNodeId node)
 
virtual DtCollisionObjectList collisionObjectsForNode (DtNodeId node)
 
virtual osgEarth::MapNode * mapNode () const
 
virtual const osgEarth::Profile * profile () const
 
virtual const Coordinate_SystemlocalCS () const
 
virtual void setLabel (const DtString &)
 
virtual DtString label () const
 
virtual void printInfo () const
 
virtual void getPageOutData (DtNodeBoundingList &nodeBoundingList)
 
virtual void getPageInData (DtNodeBoundingList &nodeBoundingList)
 
virtual unsigned getMaxLODForBilinearIntersection () const
 
virtual double intersetionTriangleMergeTolerance () const
 
virtual bool useLandCoverData () const
 
virtual bool useLifeMapLayer () const
 
virtual void getSoilFromString (const std::string &soilType, DtSurface &surface) const
 
virtual double triangleOutputMergeTolerance () const
 
virtual unsigned minElevationIndexLOD () const
 
virtual unsigned maxElevationIndexLOD () const
 
virtual bool useRawElevation () const
 
virtual osgEarth::TileKey getBestTileKey (const osgEarth::TileKey &) const
 
virtual bool findTileInCache (const DtTerrainPagingGeometry *geometry, std::vector< std::shared_ptr< DtTileData > > &data, const DtChord *chord=NULL) const
 
virtual void addTileToCache (const std::shared_ptr< DtTileData > &data, const DtChord *chord=NULL)
 
virtual void clearTileCache ()
 
virtual unsigned minElevationTileLoadingLOD () const
 
virtual void setMinElevationTileLoading (unsigned lod)
 

Protected Member Functions

virtual bool findData (const DtTerrainPagingGeometry *geometry, std::vector< std::shared_ptr< DtTileData > > &data, const DtPagingMetaDataPtr &metaData=DtPagingMetaDataPtr(), GCTileDataCallback *callback=0) const
 
virtual bool findData (const DtTerrainPagingGeometry *geometry, std::vector< std::shared_ptr< DtTileData > > &data, GCTileDataCallback *callback) const
 
virtual void findMissing (const DtTerrainPagingGeometry &geometry, DtTileKeyList &missing) const
 
virtual std::shared_ptr
< DtTileData
findOldestUnlocked () const
 

Protected Attributes

TileRootsmyTileSpatialIndexRoots
 
std::weak_ptr< DtTileDatamyOldestData
 
const double myWorldWidth
 
unsigned int myGroundCoverLod
 
- Protected Attributes inherited from DtTerrainSourceTracker
DtString myLabel
 
DtTerrainInterfaceConfig myConfig
 
DtPagerCommandQueuemyCommandQueue
 
DtNodeToCollObjMMap myNodeToCollObjMMap
 
tbb::spin_rw_mutex myMutex
 
tbb::spin_rw_mutex myTileCacheMutex
 
DtVantageTerrainEnginemyVantageTerrainEngine
 
const osg::ref_ptr
< osgEarth::MapNode > 
myMapNode
 
const osgEarth::Map * myMap
 
const osgEarth::Profile * myMapProfile
 
tileDataCacheVector myTileDataCache
 
std::atomic< intmyTileCacheHit
 
std::atomic< intmyTileCacheQuery
 
unsigned myMinElevationTileLoadingLOD
 
DtTerrainSourcePagermyPager
 

Private Attributes

bool myIsFinished
 

Friends

class DtOsgEarthBaseGroundCoverSourceTracker
 

Constructor & Destructor Documentation

DtOsgEarthBaseGroundCoverSourceTracker::DtOsgEarthBaseGroundCoverSourceTracker ( DtVantageTerrainEngine ,
DtPagerCommandQueue commandQueue,
osgEarth::MapNode *  mapNode 
)
virtual DtOsgEarthBaseGroundCoverSourceTracker::~DtOsgEarthBaseGroundCoverSourceTracker ( )
overridevirtual

DTOR.

Member Function Documentation

virtual bool DtOsgEarthBaseGroundCoverSourceTracker::init ( DtTerrainSourcePager )
overridepure virtual

Called after options are set. Returns false if error.

Reimplemented from DtTerrainSourceTracker.

Implemented in DtOsgEarthVegetationLayerSourceTracker, and DtOsgEarthGroundCoverSourceTracker.

virtual bool DtOsgEarthBaseGroundCoverSourceTracker::dataAvailable ( DtPagingMetaDataPtr  metaData,
DtTerrainPagingGeometryPtr  geometry 
)
overridevirtual
Returns
True if all data along this chord has been paged in.

Implements DtTerrainSourceTracker.

virtual void DtOsgEarthBaseGroundCoverSourceTracker::pageInData ( DtPagingMetaDataPtr  metaData,
DtTerrainPagingGeometryPtr  geometry 
)
overridepure virtual

Page in data within geometry. Determines which tiles are within the geometry and adds a page in command to myCommandQueue to page in any tiles within the geometry that have not yet been paged in.

Parameters
geometryThe geometry to page in data within.
intersectIdId to assign to the page in command to seed tileData for newly paged-in tiles.
priorityPriority to use for commands generated by this call.

Implements DtTerrainSourceTracker.

Implemented in DtOsgEarthVegetationLayerSourceTracker, and DtOsgEarthGroundCoverSourceTracker.

virtual bool DtOsgEarthBaseGroundCoverSourceTracker::canPageOutData ( DtTerrainIntersectIDType  intersectId)
overridevirtual
virtual DtTerrainIntersectIDType DtOsgEarthBaseGroundCoverSourceTracker::findOldestPagedData ( unsigned int numTriangles)
overridevirtual

Finds the least-recently-used tile and set myOldestPagedObject to it.

Parameters
numTrianglesOutThe number of triangles the least-recently-used tileId represents in the collision world.
Returns
The id of the last intersect test for which this tracker's least-recently-used data was necessary.

Implements DtTerrainSourceTracker.

virtual void DtOsgEarthBaseGroundCoverSourceTracker::addPagedInTile ( const osgEarth::TileKey &  tilekey,
const std::shared_ptr< DtTileData > &  tileData 
)
virtual

Adds a tileId and the corresponding tileData to #myPagedInTiles.

Parameters
tileIdKey for the tileData passed in.
tileDatatileData to create the tileId -> tileData mapping with.
virtual void DtOsgEarthBaseGroundCoverSourceTracker::removePagedInTile ( const osgEarth::TileKey  tileKey)
virtual

Removes a tileId and the corresponding tileData from #myPagedInTiles.

virtual void DtOsgEarthBaseGroundCoverSourceTracker::findMissingTiles ( const DtTerrainPagingGeometryPtr geometry,
DtTileKeyList tiles 
) const
virtual

Find all the tiles that intersect the geometry which are not paged in.

virtual void DtOsgEarthBaseGroundCoverSourceTracker::findPagedInTilesWithinExtent ( std::vector< osgEarth::TileKey > &  tileKeysPagedIn,
const osgEarth::GeoExtent &  extent 
) const
virtual

Finds the TileKeys for all of the Paged in Tiles that intersect the geo extent.

virtual void DtOsgEarthBaseGroundCoverSourceTracker::pageOutOldestData ( const int  priority)
overridepure virtual

Adds a page out command for the least-recently-used tileID to myCommandQueue.

Parameters
priorityPriority to use for commands generated by this call.

Implements DtTerrainSourceTracker.

Implemented in DtOsgEarthVegetationLayerSourceTracker, and DtOsgEarthGroundCoverSourceTracker.

virtual unsigned DtOsgEarthBaseGroundCoverSourceTracker::maxLOD ( ) const
overridevirtual

Return the max lod (for the ground cover it's the actual ground cover lod)

Reimplemented from DtTerrainSourceTracker.

virtual void DtOsgEarthBaseGroundCoverSourceTracker::getProceduralTreeTile ( DtDebugDrawTerrainOutputInterface::terrainLineList nodeBoundingList)
overridepure virtual

get the ground cover tile box for the debug draw tool

Reimplemented from DtTerrainSourceTracker.

Implemented in DtOsgEarthVegetationLayerSourceTracker, and DtOsgEarthGroundCoverSourceTracker.

virtual bool DtOsgEarthBaseGroundCoverSourceTracker::findData ( const DtTerrainPagingGeometry geometry,
std::vector< std::shared_ptr< DtTileData > > &  data,
const DtPagingMetaDataPtr metaData = DtPagingMetaDataPtr(),
GCTileDataCallback callback = 0 
) const
protectedvirtual
virtual bool DtOsgEarthBaseGroundCoverSourceTracker::findData ( const DtTerrainPagingGeometry geometry,
std::vector< std::shared_ptr< DtTileData > > &  data,
GCTileDataCallback callback 
) const
protectedvirtual
virtual void DtOsgEarthBaseGroundCoverSourceTracker::findMissing ( const DtTerrainPagingGeometry geometry,
DtTileKeyList missing 
) const
protectedvirtual
virtual std::shared_ptr<DtTileData> DtOsgEarthBaseGroundCoverSourceTracker::findOldestUnlocked ( ) const
protectedvirtual
DtOsgEarthBaseGroundCoverSourceTracker::GCTileDataCallback ( )
explicit
virtual bool DtOsgEarthBaseGroundCoverSourceTracker::operator() ( const std::shared_ptr< DtTileData > &  tile)
overridepure virtual

Friends And Related Function Documentation

Member Data Documentation

TileRoots* DtOsgEarthBaseGroundCoverSourceTracker::myTileSpatialIndexRoots
protected

roots of the quad tree (not necessarily 4, geodetic usually has 2)

std::weak_ptr<DtTileData> DtOsgEarthBaseGroundCoverSourceTracker::myOldestData
protected

cached pointer to oldest tile data

const double DtOsgEarthBaseGroundCoverSourceTracker::myWorldWidth
protected

width of world in osgearth coord sys, used for wrapping coords

unsigned int DtOsgEarthBaseGroundCoverSourceTracker::myGroundCoverLod
protected

ground cover lod

bool DtOsgEarthBaseGroundCoverSourceTracker::myIsFinished
private

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)