VR-Forces 4.0.4 Class Documentation
Public Member Functions | Protected Member Functions | Protected Attributes
DtOsgEarthTerrainSourceTracker Class Reference
Inheritance diagram for DtOsgEarthTerrainSourceTracker:
Inheritance graph
[legend]

List of all members.

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 DtPageInTilesCommandcreatePageInTilesCommand (DtPagingMetaDataPtr metaData)
virtual DtPageOutTilesCommandcreatePageOutTilesCommand (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

Constructor & Destructor Documentation

DtOsgEarthTerrainSourceTracker::DtOsgEarthTerrainSourceTracker ( DtPagerCommandQueue commandQueue,
const osgEarth::Profile *  profile,
unsigned int  lod 
)

Member Function Documentation

virtual void DtOsgEarthTerrainSourceTracker::addPagedInTile ( const osgEarth::TileKey  tileKey,
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 DtOsgEarthTerrainSourceTracker::removePagedInTile ( const osgEarth::TileKey  tileKey) [virtual]

Removes a tileId and the corresponding tileData from myPagedInTiles.

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:
geometryThe geometry to test for data available.
intersectIdOptional 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:
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.

virtual unsigned int DtOsgEarthTerrainSourceTracker::findOldestPagedData ( unsigned int &  numTrianglesOut) [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 DtOsgEarthTerrainSourceTracker::pageOutOldestData ( const int  priority) [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.

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 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.

Parameters:
tilesToRemoveThe list of tile ids to page out.
priorityPriority 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]

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]

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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)