![]() |
VR-Forces 4.0.4 Class Documentation
|
Public Member Functions | |
| DtOsgEarthTerrainSourceTracker (DtPagerCommandQueue *commandQueue, const osgEarth::Profile *profile, unsigned int lod) | |
| virtual | ~DtOsgEarthTerrainSourceTracker () |
| virtual void | addPagedInTile (const osgEarth::TileKey tileKey, DtTileData *tileData) |
| Adds a tileId and the corresponding tileData to myPagedInTiles. | |
| virtual void | removePagedInTile (const osgEarth::TileKey tileKey) |
| Removes a tileId and the corresponding tileData from myPagedInTiles. | |
| virtual bool | dataAvailable (DtPagingMetaDataPtr metaData, DtTerrainPagingGeometryPtr geometry) |
| Finds all tiles within geometry, and tests to see whether they have all been paged in already. | |
| virtual void | pageInData (DtPagingMetaDataPtr metaData, DtTerrainPagingGeometryPtr geometry) |
| Page in data within geometry. | |
| virtual unsigned int | findOldestPagedData (unsigned int &numTrianglesOut) |
| Finds the least-recently-used tile and set myOldestPagedObject to it. | |
| virtual void | pageOutOldestData (const int priority) |
| Adds a page out command for the least-recently-used tileID to myCommandQueue. | |
| virtual void | drawDebugInfo (btIDebugDraw *debugDrawer) |
| Draws the tile boundaries if we are drawing tile boundaries. | |
| virtual bool | canPageOutData (unsigned int intersectId) |
| Returns true if there is data that can be paged out. | |
Protected Member Functions | |
| virtual DtPageInTilesCommand * | createPageInTilesCommand (DtPagingMetaDataPtr metaData) |
| virtual DtPageOutTilesCommand * | createPageOutTilesCommand (DtPagingMetaDataPtr metaData) |
| virtual void | tilesInGeometry (DtTerrainPagingGeometryPtr geometry, DtTileKeyList &tilesOut) |
| Calls a tilesIn function based on the geometry's type. | |
| virtual void | pageOutData (const DtTileKeyList tilesToRemove, const int priority) |
| Creates a page out command with the given list of ids and adds it to the command queue. | |
| virtual void | tilesUnderChord (const DtChord &chord, DtTileKeyList &tilesOut) |
| virtual void | tilesInSphere (const DtSphere &sphere, DtTileKeyList &tilesOut) |
| virtual void | tilesInShape (const DtLocalVertexList &vertices, DtTileKeyList &tilesOut) |
| virtual bool | dataAvailable (DtTileKeyList &keyList, const unsigned int intersectId=0) |
| virtual void | drawTile (btIDebugDraw *debugDrawer, const DtTileData &tileData) |
Protected Attributes | |
| DtPagedTilesMap | myPagedInTiles |
| Map of tileIds to the id of the last intersect that required that tile. | |
| std::set< osgEarth::TileKey > | myTilesPendingRemoval |
| osg::ref_ptr< const osgEarth::Profile > | myProfile |
| unsigned int | myLOD |
| osgEarth::TileKey * | myOldestPagedObject |
| bool | myRecomputeOldestPagedObject |
| DtOsgEarthTerrainSourceTracker::DtOsgEarthTerrainSourceTracker | ( | DtPagerCommandQueue * | commandQueue, |
| const osgEarth::Profile * | profile, | ||
| unsigned int | lod | ||
| ) |
| virtual DtOsgEarthTerrainSourceTracker::~DtOsgEarthTerrainSourceTracker | ( | ) | [virtual] |
| virtual void DtOsgEarthTerrainSourceTracker::addPagedInTile | ( | const osgEarth::TileKey | tileKey, |
| DtTileData * | tileData | ||
| ) | [virtual] |
Adds a tileId and the corresponding tileData to myPagedInTiles.
| tileId | Key for the tileData passed in. |
| tileData | tileData to create the tileId -> tileData mapping with. |
| virtual void DtOsgEarthTerrainSourceTracker::removePagedInTile | ( | const osgEarth::TileKey | tileKey | ) | [virtual] |
Removes a tileId and the corresponding tileData from myPagedInTiles.
| virtual bool DtOsgEarthTerrainSourceTracker::dataAvailable | ( | DtPagingMetaDataPtr | metaData, |
| DtTerrainPagingGeometryPtr | geometry | ||
| ) | [virtual] |
Finds all tiles within geometry, and tests to see whether they have all been paged in already.
Tiles within the geometry that have been paged in have their "lastUsed" data set to the intersectId parameter for removal priority.
| geometry | The geometry to test for data available. |
| intersectId | Optional parameter to mark already-paged-in tiles with. |
Implements DtTerrainSourceTracker.
| virtual void DtOsgEarthTerrainSourceTracker::pageInData | ( | DtPagingMetaDataPtr | metaData, |
| DtTerrainPagingGeometryPtr | geometry | ||
| ) | [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.
| geometry | The geometry to page in data within. |
| intersectId | Id to assign to the page in command to seed tileData for newly paged-in tiles. |
| priority | Priority to use for commands generated by this call. |
Implements DtTerrainSourceTracker.
| virtual unsigned int DtOsgEarthTerrainSourceTracker::findOldestPagedData | ( | unsigned int & | numTrianglesOut | ) | [virtual] |
Finds the least-recently-used tile and set myOldestPagedObject to it.
| numTrianglesOut | The number of triangles the least-recently-used tileId represents in the collision world. |
Implements DtTerrainSourceTracker.
| virtual void DtOsgEarthTerrainSourceTracker::pageOutOldestData | ( | const int | priority | ) | [virtual] |
Adds a page out command for the least-recently-used tileID to myCommandQueue.
| priority | Priority to use for commands generated by this call. |
Implements DtTerrainSourceTracker.
| virtual void DtOsgEarthTerrainSourceTracker::drawDebugInfo | ( | btIDebugDraw * | debugDrawer | ) | [virtual] |
Draws the tile boundaries if we are drawing tile boundaries.
Implements DtTerrainSourceTracker.
| virtual bool DtOsgEarthTerrainSourceTracker::canPageOutData | ( | unsigned int | intersectId | ) | [virtual] |
Returns true if there is data that can be paged out.
Implements DtTerrainSourceTracker.
| virtual DtPageInTilesCommand* DtOsgEarthTerrainSourceTracker::createPageInTilesCommand | ( | DtPagingMetaDataPtr | metaData | ) | [protected, virtual] |
| virtual DtPageOutTilesCommand* DtOsgEarthTerrainSourceTracker::createPageOutTilesCommand | ( | DtPagingMetaDataPtr | metaData | ) | [protected, virtual] |
| virtual void DtOsgEarthTerrainSourceTracker::tilesInGeometry | ( | DtTerrainPagingGeometryPtr | geometry, |
| DtTileKeyList & | tilesOut | ||
| ) | [protected, virtual] |
Calls a tilesIn function based on the geometry's type.
| virtual void DtOsgEarthTerrainSourceTracker::pageOutData | ( | const DtTileKeyList | tilesToRemove, |
| const int | priority | ||
| ) | [protected, virtual] |
Creates a page out command with the given list of ids and adds it to the command queue.
| tilesToRemove | The list of tile ids to page out. |
| priority | Priority to use for commands generated by this call. |
| virtual void DtOsgEarthTerrainSourceTracker::tilesUnderChord | ( | const DtChord & | chord, |
| DtTileKeyList & | tilesOut | ||
| ) | [protected, virtual] |
| virtual void DtOsgEarthTerrainSourceTracker::tilesInSphere | ( | const DtSphere & | sphere, |
| DtTileKeyList & | tilesOut | ||
| ) | [protected, virtual] |
| virtual void DtOsgEarthTerrainSourceTracker::tilesInShape | ( | const DtLocalVertexList & | vertices, |
| DtTileKeyList & | tilesOut | ||
| ) | [protected, virtual] |
| virtual bool DtOsgEarthTerrainSourceTracker::dataAvailable | ( | DtTileKeyList & | keyList, |
| const unsigned int | intersectId = 0 |
||
| ) | [protected, virtual] |
| virtual void DtOsgEarthTerrainSourceTracker::drawTile | ( | btIDebugDraw * | debugDrawer, |
| const DtTileData & | tileData | ||
| ) | [protected, virtual] |
Map of tileIds to the id of the last intersect that required that tile.
std::set<osgEarth::TileKey> DtOsgEarthTerrainSourceTracker::myTilesPendingRemoval [protected] |
osg::ref_ptr<const osgEarth::Profile> DtOsgEarthTerrainSourceTracker::myProfile [protected] |
unsigned int DtOsgEarthTerrainSourceTracker::myLOD [protected] |
osgEarth::TileKey* DtOsgEarthTerrainSourceTracker::myOldestPagedObject [protected] |