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 ()
 
virtual bool init (DtTerrainSourcePager &)=0
 
virtual bool dataAvailable (DtPagingMetaDataPtr metaData, DtTerrainPagingGeometryPtr geometry)
 
virtual void pageInData (DtPagingMetaDataPtr metaData, DtTerrainPagingGeometryPtr geometry)=0
 
virtual bool canPageOutData (DtTerrainIntersectIDType intersectId)
 
virtual DtTerrainIntersectIDType findOldestPagedData (unsigned int &numTriangles)
 
virtual void addPagedInTile (const osgEarth::TileKey &tilekey, const boost::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)=0
 
unsigned maxLOD () const
 
 GCTileDataCallback ()
 
virtual bool operator() (const boost::shared_ptr< DtTileData > &tile)=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 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 void printInfo () const
 
virtual void getPageOutData (DtNodeBoundingList &nodeBoundingList)
 
virtual void getPageInData (DtNodeBoundingList &nodeBoundingList)
 
virtual void getProceduralTreeTile (DtDebugDrawTerrainOutputInterface::terrainLineList &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< boost::shared_ptr< DtTileData > > &data, const DtChord *chord=NULL) const
 
virtual void addTileToCache (const boost::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< boost::shared_ptr< DtTileData > > &data, const DtPagingMetaDataPtr &metaData=DtPagingMetaDataPtr(), GCTileDataCallback *callback=0) const
 
virtual bool findData (const DtTerrainPagingGeometry *geometry, std::vector< boost::shared_ptr< DtTileData > > &data, GCTileDataCallback *callback) const
 
virtual void findMissing (const DtTerrainPagingGeometry &geometry, DtTileKeyList &missing) const
 
virtual boost::shared_ptr
< DtTileData
findOldestUnlocked () const
 

Protected Attributes

TileRootsmyTileSpatialIndexRoots
 
boost::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
 
tbb::atomic< intmyTileCacheHit
 
tbb::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 ( )
virtual

DTOR.

Member Function Documentation

virtual bool DtOsgEarthBaseGroundCoverSourceTracker::init ( DtTerrainSourcePager )
pure virtual

Called after options are set. Returns false if error.

Reimplemented from DtTerrainSourceTracker.

Implemented in DtOsgEarthGroundCoverSourceTracker, and DtOsgEarthVegetationLayerSourceTracker.

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

Implements DtTerrainSourceTracker.

virtual void DtOsgEarthBaseGroundCoverSourceTracker::pageInData ( DtPagingMetaDataPtr  metaData,
DtTerrainPagingGeometryPtr  geometry 
)
pure 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 DtOsgEarthGroundCoverSourceTracker, and DtOsgEarthVegetationLayerSourceTracker.

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

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 boost::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)
pure 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 DtOsgEarthGroundCoverSourceTracker, and DtOsgEarthVegetationLayerSourceTracker.

unsigned DtOsgEarthBaseGroundCoverSourceTracker::maxLOD ( ) const
virtual

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

Reimplemented from DtTerrainSourceTracker.

virtual bool DtOsgEarthBaseGroundCoverSourceTracker::findData ( const DtTerrainPagingGeometry geometry,
std::vector< boost::shared_ptr< DtTileData > > &  data,
const DtPagingMetaDataPtr metaData = DtPagingMetaDataPtr(),
GCTileDataCallback callback = 0 
) const
protectedvirtual
virtual bool DtOsgEarthBaseGroundCoverSourceTracker::findData ( const DtTerrainPagingGeometry geometry,
std::vector< boost::shared_ptr< DtTileData > > &  data,
GCTileDataCallback callback 
) const
protectedvirtual
virtual void DtOsgEarthBaseGroundCoverSourceTracker::findMissing ( const DtTerrainPagingGeometry geometry,
DtTileKeyList missing 
) const
protectedvirtual
virtual boost::shared_ptr<DtTileData> DtOsgEarthBaseGroundCoverSourceTracker::findOldestUnlocked ( ) const
protectedvirtual
DtOsgEarthBaseGroundCoverSourceTracker::GCTileDataCallback ( )
explicit
virtual bool DtOsgEarthBaseGroundCoverSourceTracker::operator() ( const boost::shared_ptr< DtTileData > &  tile)
pure 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)

boost::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 Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)