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) |
| osgEarth::TileKey::Direction | nextTileDirection (osgEarth::TileKey::Direction latDirection, osgEarth::TileKey::Direction lonDirection, bool isMostlyEastWest, double slope, double startX, double startY, double edgeX, double edgeY) |
| | Determine what direction the next tile under the chord is in, given the edge values in X and Y of the current tile.
|
Constructor & Destructor Documentation
| DtOsgEarthTerrainSourceTracker::DtOsgEarthTerrainSourceTracker |
( |
DtPagerCommandQueue * |
commandQueue, |
|
|
const osgEarth::Profile * |
profile, |
|
|
unsigned int |
lod |
|
) |
| |
| virtual DtOsgEarthTerrainSourceTracker::~DtOsgEarthTerrainSourceTracker |
( |
| ) |
|
|
virtual |
Member Function Documentation
| virtual void DtOsgEarthTerrainSourceTracker::addPagedInTile |
( |
const osgEarth::TileKey |
tileKey, |
|
|
DtTileData * |
tileData |
|
) |
| |
|
virtual |
Adds a tileId and the corresponding tileData to myPagedInTiles.
- Parameters
-
| 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 |
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.
- Parameters
-
| geometry | The geometry to test for data available. |
| intersectId | Optional parameter to mark already-paged-in tiles with. |
- Returns
- True if all data within this geometry has been paged in.
Implements DtTerrainSourceTracker.
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
-
| 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.
- Parameters
-
| numTrianglesOut | The 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 DtOsgEarthTerrainSourceTracker::pageOutOldestData |
( |
const int |
priority | ) |
|
|
virtual |
Adds a page out command for the least-recently-used tileID to myCommandQueue.
- Parameters
-
| priority | Priority to use for commands generated by this call. |
Implements DtTerrainSourceTracker.
| virtual void DtOsgEarthTerrainSourceTracker::drawDebugInfo |
( |
btIDebugDraw * |
debugDrawer | ) |
|
|
virtual |
| virtual bool DtOsgEarthTerrainSourceTracker::canPageOutData |
( |
unsigned int |
intersectId | ) |
|
|
virtual |
Calls a tilesIn function based on the geometry's type.
| virtual void DtOsgEarthTerrainSourceTracker::pageOutData |
( |
const DtTileKeyList |
tilesToRemove, |
|
|
const int |
priority |
|
) |
| |
|
protectedvirtual |
Creates a page out command with the given list of ids and adds it to the command queue.
- Parameters
-
| 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 |
|
) |
| |
|
protectedvirtual |
| virtual void DtOsgEarthTerrainSourceTracker::tilesInSphere |
( |
const DtSphere & |
sphere, |
|
|
DtTileKeyList & |
tilesOut |
|
) |
| |
|
protectedvirtual |
| virtual bool DtOsgEarthTerrainSourceTracker::dataAvailable |
( |
DtTileKeyList & |
keyList, |
|
|
const unsigned int |
intersectId = 0 |
|
) |
| |
|
protectedvirtual |
| virtual void DtOsgEarthTerrainSourceTracker::drawTile |
( |
btIDebugDraw * |
debugDrawer, |
|
|
const DtTileData & |
tileData |
|
) |
| |
|
protectedvirtual |
| osgEarth::TileKey::Direction DtOsgEarthTerrainSourceTracker::nextTileDirection |
( |
osgEarth::TileKey::Direction |
latDirection, |
|
|
osgEarth::TileKey::Direction |
lonDirection, |
|
|
bool |
isMostlyEastWest, |
|
|
double |
slope, |
|
|
double |
startX, |
|
|
double |
startY, |
|
|
double |
edgeX, |
|
|
double |
edgeY |
|
) |
| |
|
protected |
Determine what direction the next tile under the chord is in, given the edge values in X and Y of the current tile.
lat and lon Direction are the directions in latitude and longitude from chord start to chord end. isMostlyEastWest is true if the chord delta X > delta Y; checking this condition allows the function to avoid dealing with small or zero sized deltas. slope is deltaX/deltaY or vice versa (see below). startX and Y are the chord start coordinates.
If isMostlyEastWest, then the slope is assumed to be (endY - startY)/(endX - startX), otherwise the reciprocal of that value. If lat direction is north, then edgeY is assumed to be yMax of the tile extent; otherwise yMin. If lon direction is east, then edgeX is assumed to be xMax of the extent; otherwise xMin.
Member Data Documentation
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 |
| bool DtOsgEarthTerrainSourceTracker::myRecomputeOldestPagedObject |
|
protected |
The documentation for this class was generated from the following file: