![]() |
VR-Forces 4.10 Class Documentation
|
A DtBoundingVolumeTerrainSourceTracker tracks data from a paging terrain source for purposes such as determining whether the data necessary to intersect with specified geometry is available, generating commands to page in that geometry, and to determine what to page out when necessary. More...
Classes | |
| struct | DtNodeStatusSSELement |
Public Types | |
| typedef boost::shared_ptr < DtNodeStatusSSELement > | DtNodeStatusSSElementPtr |
| typedef DtSpatialSubdivision < DtNodeBoundingInfoPtr > | DtSpatialNodeBoundingInfoContainer |
| typedef DtSpatialSubdivision < DtNodeStatusSSElementPtr > | DtSpatialNodeStatusContainer |
Public Member Functions | |
| DtBoundingVolumeTerrainSourceTracker (DtVantageTerrainEngine *, DtPagerCommandQueue *commandQueue) | |
| virtual | ~DtBoundingVolumeTerrainSourceTracker () |
| virtual void | updatePagedOutInfo (const DtNodeBoundingInfoList &volumes, bool invalid=false) |
| virtual void | updatePagedOutInfo (const DtNodeBoundingInfoList &volumes, const DtNodeBoundingInfoList &removed, bool invalid=false) |
| This version allows the caller to pass in a list of volumes which have been removed, which can be much more efficient if there are a lot of volumes. More... | |
| virtual void | updatePagedInInfo (const DtNodeBoundingInfoMap &volumes, DtTerrainIntersectIDType intersectId=0) |
| virtual void | removePagedInInfo (DtNodeId node) |
| virtual bool | dataAvailable (DtPagingMetaDataPtr metaData, DtTerrainPagingGeometryPtr geometry) |
| virtual bool | isPagedOut (DtTerrainPagingGeometryPtr geometry, std::set< std::string > &retVec) |
| virtual void | pageInData (DtPagingMetaDataPtr metaData, DtTerrainPagingGeometryPtr geometry) |
| Page in data within geometry. More... | |
| virtual bool | canPageOutData (DtTerrainIntersectIDType intersectId) |
| virtual void | pageOutOldestData (const int priority) |
| Adds a page out command for the least-recently-used tileID to myCommandQueue. More... | |
| virtual DtTerrainIntersectIDType | findOldestPagedData (unsigned int &numTrianglesOut) |
| Finds the least-recently-used tile and set myOldestPagedObject to it. More... | |
| virtual void | printInfo () const |
| virtual bool | geometryIntersectPagedOutNodes (DtTerrainPagingGeometryPtr geometry) |
| check if the geometry intersect a paged out nodes (return true if it does, false otherwise) exist on the first intersection it gets More... | |
| virtual bool | geometryIntersectPagedOutNodes (DtTerrainPagingGeometryPtr geometry, std::set< std::string > &retVec) |
| check if the geometry intersect a paged out nodes (return true if it does, false otherwise) insert paged out nodes filename found into the retVec (and does not exits when intersection found) More... | |
| virtual bool | geometryIntersectPagedInNodes (DtPagingMetaDataPtr metaData, DtTerrainPagingGeometryPtr geometry) |
| check if the geometry intersect a paged int nodes (return true if it does, false otherwise) exist on the first intersection it gets More... | |
| virtual void | getPageOutData (DtNodeBoundingList &nodeBoundingList) |
| Return a copy of the paged out node bounding sphere. More... | |
| virtual void | getPageInData (DtNodeBoundingList &nodeBoundingList) |
| Return a copy of the paged in node bounding sphere. More... | |
Public Member Functions inherited from DtTerrainSourceTracker | |
| DtTerrainSourceTracker (DtVantageTerrainEngine *, DtPagerCommandQueue *commandQueue, osgEarth::MapNode *mapNode) | |
| CTOR. More... | |
| virtual | ~DtTerrainSourceTracker () |
| DTOR. More... | |
| virtual DtTerrainInterfaceConfig & | configOptions () |
| virtual const DtTerrainInterfaceConfig & | configOptions () const |
| virtual bool | init (DtTerrainSourcePager &) |
| Called after options are set. More... | |
| virtual boost::optional < DtTerrainIntersectOptions::Fidelity > | intersectFidelity () const |
| Fidelity that this tracker is configured for. More... | |
| virtual void | addNodesToCollisionMapping (DtNodeId node, DtCollisionObjectList *collObjList) |
| virtual void | removeNodeToCollisionMappings (DtNodeId node) |
| virtual DtCollisionObjectList | collisionObjectsForNode (DtNodeId node) |
| virtual osgEarth::MapNode * | mapNode () const |
| Access osgEarth::MapNode object. More... | |
| virtual const osgEarth::Profile * | profile () const |
| Access osgEarth::profile object. More... | |
| virtual const Coordinate_System * | localCS () const |
| Return the local coordinate system. More... | |
| virtual void | setLabel (const DtString &) |
| virtual void | getProceduralTreeTile (DtDebugDrawTerrainOutputInterface::terrainLineList &nodeBoundingList) |
| Return a list of tiles that represent the ground cover loaded. More... | |
| virtual unsigned | getMaxLODForBilinearIntersection () const |
| virtual double | intersetionTriangleMergeTolerance () const |
| virtual bool | useLandCoverData () const |
| Return true if the current tracker use land cover data. More... | |
| virtual void | getSoilFromString (const std::string &soilType, DtSurface &surface) const |
| virtual double | triangleOutputMergeTolerance () const |
| virtual unsigned | minElevationIndexLOD () const |
| virtual unsigned | maxElevationIndexLOD () const |
| virtual unsigned | maxLOD () const |
| Return the max lod. More... | |
| virtual bool | useRawElevation () const |
| Return true if the current tracker use raw elevation. More... | |
| virtual osgEarth::TileKey | getBestTileKey (const osgEarth::TileKey &) const |
| Return the best tile key to use (based on the tracker) for a pass tilekey. More... | |
| virtual bool | findTileInCache (const DtTerrainPagingGeometry *geometry, std::vector< boost::shared_ptr< DtTileData > > &data, const DtChord *chord=NULL) const |
| Check it the geometry intersect the tileDataCache (when we know the geometry is a chord, pass the chord pointer as the last optional parameters) More... | |
| virtual void | addTileToCache (const boost::shared_ptr< DtTileData > &data, const DtChord *chord=NULL) |
| Add a tile that was not find in the cache (by findTileInCache) (when we know the geometry is a chord, pass the chord pointer as the last optional parameters) More... | |
| virtual void | clearTileCache () |
| Clear the cache. More... | |
Protected Member Functions | |
| virtual bool | geometryIntersectPagedOutNodes (const DtSphere &sphere) |
| check if the geometry intersect a paged out nodes (return true if it does, false otherwise) exist on the first intersection it gets More... | |
| virtual bool | geometryIntersectPagedOutNodes (const DtLocalVertexList &vertexList) |
| virtual bool | geometryIntersectPagedOutNodes (const DtChord &chord) |
| virtual bool | geometryIntersectPagedOutNodes (const DtSphere &sphere, std::set< std::string > &retVec) |
| check if the geometry intersect a paged out nodes (return true if it does, false otherwise) insert paged out nodes filename found into the retVec (and does not exits when intersection found) Note: these function are duplicated on purpose for performance reason More... | |
| virtual bool | geometryIntersectPagedOutNodes (const DtLocalVertexList &vertexList, std::set< std::string > &retVec) |
| virtual bool | geometryIntersectPagedOutNodes (const DtChord &chord, std::set< std::string > &retVec) |
| virtual bool | geometryIntersectPagedInNodes (DtPagingMetaDataPtr metaData, const DtSphere &sphere) |
| check if the geometry intersect a paged in nodes (return true if it does, false otherwise) exist on the first intersection it gets More... | |
| virtual bool | geometryIntersectPagedInNodes (DtPagingMetaDataPtr metaData, const DtLocalVertexList &vertexList) |
| virtual bool | geometryIntersectPagedInNodes (DtPagingMetaDataPtr metaData, const DtChord &chord) |
| virtual DtTerrainIntersectIDType | findOldestPagedDataUnlocked (unsigned int &numTrianglesOut) |
| virtual DtPageInGeometryCommand * | createPageInGeometryCommand (DtPagingMetaDataPtr metaData) |
| virtual DtPageOutNodesCommand * | createPageOutNodesCommand (DtPagingMetaDataPtr metaData) |
| virtual unsigned int | getNumTriangles (DtNodeId node) |
A DtBoundingVolumeTerrainSourceTracker tracks data from a paging terrain source for purposes such as determining whether the data necessary to intersect with specified geometry is available, generating commands to page in that geometry, and to determine what to page out when necessary.
| typedef boost::shared_ptr<DtNodeStatusSSELement> DtBoundingVolumeTerrainSourceTracker::DtNodeStatusSSElementPtr |
| typedef DtSpatialSubdivision<DtNodeBoundingInfoPtr> DtBoundingVolumeTerrainSourceTracker::DtSpatialNodeBoundingInfoContainer |
| typedef DtSpatialSubdivision<DtNodeStatusSSElementPtr> DtBoundingVolumeTerrainSourceTracker::DtSpatialNodeStatusContainer |
| DtBoundingVolumeTerrainSourceTracker::DtBoundingVolumeTerrainSourceTracker | ( | DtVantageTerrainEngine * | , |
| DtPagerCommandQueue * | commandQueue | ||
| ) |
|
virtual |
|
virtual |
|
virtual |
This version allows the caller to pass in a list of volumes which have been removed, which can be much more efficient if there are a lot of volumes.
|
virtual |
|
virtual |
|
virtual |
Implements DtTerrainSourceTracker.
|
virtual |
|
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 |
Implements DtTerrainSourceTracker.
|
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 |
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 |
Reimplemented from DtTerrainSourceTracker.
|
virtual |
check if the geometry intersect a paged out nodes (return true if it does, false otherwise) exist on the first intersection it gets
|
virtual |
check if the geometry intersect a paged out nodes (return true if it does, false otherwise) insert paged out nodes filename found into the retVec (and does not exits when intersection found)
|
virtual |
check if the geometry intersect a paged int nodes (return true if it does, false otherwise) exist on the first intersection it gets
|
virtual |
Return a copy of the paged out node bounding sphere.
Reimplemented from DtTerrainSourceTracker.
|
virtual |
Return a copy of the paged in node bounding sphere.
Reimplemented from DtTerrainSourceTracker.
|
protectedvirtual |
check if the geometry intersect a paged out nodes (return true if it does, false otherwise) exist on the first intersection it gets
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
check if the geometry intersect a paged out nodes (return true if it does, false otherwise) insert paged out nodes filename found into the retVec (and does not exits when intersection found) Note: these function are duplicated on purpose for performance reason
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
check if the geometry intersect a paged in nodes (return true if it does, false otherwise) exist on the first intersection it gets
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protected |
For now, just a primitive list of spheres.
This should be an optimized data structure for speed.
|
protected |
List of paged in volumes. Used for tracking usage for paging out.
|
protected |
|
protected |
|
protected |
|
protected |
Spatial subdivision for finding relevant bounding nodes.
The subdivision is projected into topo from the origin of the terrain. Dimensions are specified in terrainOptions.mtl as "spatial-subdivision-dimensions".
|
protected |
|
protected |
|
mutableprotected |
|
mutableprotected |