VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Attributes
DtTerrainSourceTracker Class Referenceabstract

Base class for Terrain Source trackers. More...

Inheritance diagram for DtTerrainSourceTracker:
Inheritance graph
[legend]

Public Member Functions

 DtTerrainSourceTracker (DtVantageTerrainEngine *, DtPagerCommandQueue *commandQueue, osgEarth::MapNode *mapNode)
 CTOR. More...
 
virtual ~DtTerrainSourceTracker ()
 DTOR. More...
 
virtual DtTerrainInterfaceConfigconfigOptions ()
 
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 bool dataAvailable (DtPagingMetaDataPtr metaData, DtTerrainPagingGeometryPtr geometry)=0
 
virtual void pageInData (DtPagingMetaDataPtr metaData, DtTerrainPagingGeometryPtr geometry)=0
 Page in data within geometry. More...
 
virtual bool canPageOutData (DtTerrainIntersectIDType intersectId)=0
 
virtual DtTerrainIntersectIDType findOldestPagedData (unsigned int &numTriangles)=0
 Finds the least-recently-used tile and set myOldestPagedObject to it. More...
 
virtual void pageOutOldestData (const int priority)=0
 Adds a page out command for the least-recently-used tileID to myCommandQueue. 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 Coordinate_SystemlocalCS () const
 Return the local coordinate system. More...
 
virtual void setLabel (const DtString &)
 
virtual void printInfo () const
 
virtual void getPageOutData (DtNodeBoundingList &nodeBoundingList)
 Return a list of bounding sphere that represent the the paged in tiles. More...
 
virtual void getPageInData (DtNodeBoundingList &nodeBoundingList)
 Return a list of bounding sphere that represent the the paged out tiles. More...
 
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 DtSurface getSoilFromString (const std::string &soilType) 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...
 

Protected Attributes

DtString myLabel
 
DtTerrainInterfaceConfig myConfig
 
DtPagerCommandQueuemyCommandQueue
 
DtNodeToCollObjMMap myNodeToCollObjMMap
 
tbb::spin_rw_mutex myMutex
 
DtVantageTerrainEnginemyVantageTerrainEngine
 
const osg::ref_ptr
< osgEarth::MapNode > 
myMapNode
 map node for whole terrain More...
 

Detailed Description

Base class for Terrain Source trackers.

Determines if the necessary data To perform an intersection is currently available. Can also create commands for a DtTerrainSourceTracker to actually perform the paging.

Constructor & Destructor Documentation

DtTerrainSourceTracker::DtTerrainSourceTracker ( DtVantageTerrainEngine ,
DtPagerCommandQueue commandQueue,
osgEarth::MapNode *  mapNode 
)

CTOR.

virtual DtTerrainSourceTracker::~DtTerrainSourceTracker ( )
virtual

DTOR.

Member Function Documentation

virtual DtTerrainInterfaceConfig& DtTerrainSourceTracker::configOptions ( )
virtual
virtual const DtTerrainInterfaceConfig& DtTerrainSourceTracker::configOptions ( ) const
virtual
virtual bool DtTerrainSourceTracker::init ( DtTerrainSourcePager )
virtual

Called after options are set.

Returns false if error.

Reimplemented in DtOsgEarthTerrainSourceTracker, and DtOsgEarthGroundCoverSourceTracker.

virtual boost::optional<DtTerrainIntersectOptions::Fidelity> DtTerrainSourceTracker::intersectFidelity ( ) const
virtual

Fidelity that this tracker is configured for.

The default returns an empty optional which means that this tracker will be used for all terrain intersections. If value is returned then this tracker will only be used for intersections which specify that fidelity.

Reimplemented in DtOsgEarthTerrainSourceTracker.

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

Implemented in DtOsgEarthTerrainSourceTracker, DtBoundingVolumeTerrainSourceTracker, and DtOsgEarthGroundCoverSourceTracker.

virtual void DtTerrainSourceTracker::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.

Implemented in DtOsgEarthTerrainSourceTracker, DtBoundingVolumeTerrainSourceTracker, and DtOsgEarthGroundCoverSourceTracker.

virtual bool DtTerrainSourceTracker::canPageOutData ( DtTerrainIntersectIDType  intersectId)
pure virtual
virtual DtTerrainIntersectIDType DtTerrainSourceTracker::findOldestPagedData ( unsigned int numTriangles)
pure 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.

Implemented in DtOsgEarthTerrainSourceTracker, DtBoundingVolumeTerrainSourceTracker, and DtOsgEarthGroundCoverSourceTracker.

virtual void DtTerrainSourceTracker::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.

Implemented in DtOsgEarthTerrainSourceTracker, DtBoundingVolumeTerrainSourceTracker, and DtOsgEarthGroundCoverSourceTracker.

virtual void DtTerrainSourceTracker::addNodesToCollisionMapping ( DtNodeId  node,
DtCollisionObjectList collObjList 
)
virtual
virtual void DtTerrainSourceTracker::removeNodeToCollisionMappings ( DtNodeId  node)
virtual
virtual DtCollisionObjectList DtTerrainSourceTracker::collisionObjectsForNode ( DtNodeId  node)
virtual
virtual osgEarth::MapNode* DtTerrainSourceTracker::mapNode ( ) const
virtual

Access osgEarth::MapNode object.

virtual const Coordinate_System* DtTerrainSourceTracker::localCS ( ) const
virtual

Return the local coordinate system.

virtual void DtTerrainSourceTracker::setLabel ( const DtString )
virtual
virtual void DtTerrainSourceTracker::printInfo ( ) const
virtual
virtual void DtTerrainSourceTracker::getPageOutData ( DtNodeBoundingList nodeBoundingList)
virtual

Return a list of bounding sphere that represent the the paged in tiles.

Reimplemented in DtBoundingVolumeTerrainSourceTracker.

virtual void DtTerrainSourceTracker::getPageInData ( DtNodeBoundingList nodeBoundingList)
virtual

Return a list of bounding sphere that represent the the paged out tiles.

Reimplemented in DtBoundingVolumeTerrainSourceTracker.

virtual void DtTerrainSourceTracker::getProceduralTreeTile ( DtDebugDrawTerrainOutputInterface::terrainLineList nodeBoundingList)
virtual

Return a list of tiles that represent the ground cover loaded.

Reimplemented in DtOsgEarthGroundCoverSourceTracker.

virtual unsigned DtTerrainSourceTracker::getMaxLODForBilinearIntersection ( ) const
virtual

Reimplemented in DtOsgEarthTerrainSourceTracker.

virtual double DtTerrainSourceTracker::intersetionTriangleMergeTolerance ( ) const
virtual

Reimplemented in DtOsgEarthTerrainSourceTracker.

virtual bool DtTerrainSourceTracker::useLandCoverData ( ) const
virtual

Return true if the current tracker use land cover data.

Reimplemented in DtOsgEarthTerrainSourceTracker.

virtual DtSurface DtTerrainSourceTracker::getSoilFromString ( const std::string &  soilType) const
virtual

Reimplemented in DtOsgEarthTerrainSourceTracker.

virtual double DtTerrainSourceTracker::triangleOutputMergeTolerance ( ) const
virtual

Reimplemented in DtOsgEarthTerrainSourceTracker.

virtual unsigned DtTerrainSourceTracker::minElevationIndexLOD ( ) const
virtual

Reimplemented in DtOsgEarthTerrainSourceTracker.

virtual unsigned DtTerrainSourceTracker::maxElevationIndexLOD ( ) const
virtual

Reimplemented in DtOsgEarthTerrainSourceTracker.

virtual unsigned DtTerrainSourceTracker::maxLOD ( ) const
virtual

Return the max lod.

Reimplemented in DtOsgEarthGroundCoverSourceTracker, and DtOsgEarthTerrainSourceTracker.

virtual bool DtTerrainSourceTracker::useRawElevation ( ) const
virtual

Return true if the current tracker use raw elevation.

Reimplemented in DtOsgEarthTerrainSourceTracker.

virtual osgEarth::TileKey DtTerrainSourceTracker::getBestTileKey ( const osgEarth::TileKey &  ) const
virtual

Return the best tile key to use (based on the tracker) for a pass tilekey.

Reimplemented in DtOsgEarthTerrainSourceTracker.

Member Data Documentation

DtString DtTerrainSourceTracker::myLabel
protected
DtTerrainInterfaceConfig DtTerrainSourceTracker::myConfig
protected
DtPagerCommandQueue* DtTerrainSourceTracker::myCommandQueue
protected
DtNodeToCollObjMMap DtTerrainSourceTracker::myNodeToCollObjMMap
protected
tbb::spin_rw_mutex DtTerrainSourceTracker::myMutex
mutableprotected
DtVantageTerrainEngine* DtTerrainSourceTracker::myVantageTerrainEngine
protected
const osg::ref_ptr<osgEarth::MapNode> DtTerrainSourceTracker::myMapNode
protected

map node for whole terrain


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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)