VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Attributes | Friends
DtOsgEarthTerrainSourceTracker Class Reference
Inheritance diagram for DtOsgEarthTerrainSourceTracker:
Inheritance graph
[legend]

Classes

struct  IndexConfig
 Information about each individual index file. More...
class  IndexInputInterface
 Generic interface for reading from index. More...
class  IndexInterface
 Interface for allowing users to monitor/control the indexing process. More...
class  IndexOutputInterface
 Generic interface for writing to index. More...
class  TileSpatialIndex

Public Member Functions

 DtOsgEarthTerrainSourceTracker (DtVantageTerrainEngine *, DtPagerCommandQueue *commandQueue, osgEarth::MapNode *mapNode)
virtual bool useRawElevation () const
 True if using elevation data (i.e. if using osgEarth REX engine).
virtual boost::optional
< DtTerrainIntersectOptions::Fidelity
intersectFidelity () const
 Fidelity this tracker is configured for.
virtual unsigned tileCount () const
 Number of currently paged in tiles.
virtual unsigned cellCount () const
 Number of cells in index.
virtual osgEarth::MapNode * mapNode () const
 Access osgEarth::MapNode object.
virtual bool init (DtTerrainSourcePager &)
 Initialize after configuration.
virtual void addPagedInTile (const osgEarth::TileKey &tilekey, const boost::shared_ptr< 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 bool findHeightFieldIntersections (DtTerrainIntersectStatus &status, const DtChord &chord, DtVrfChordIntersectRecordList &intList, const DtTerrainIntersectOptions &options) const
 Performs terrain intersections.
virtual bool halveChordAndFindHeightFieldIntrx (const DtChord &chord, DtChord convertedChord, const DtTerrainIntersectOptions &options, DtTerrainIntersectStatus &status, DtVrfChordIntersectRecordList &intList) const
 Used in findHeightFieldIntersections.
virtual bool splitChordAt180AndFindHeightFieldIntrx (const DtChord &chord, const DtTerrainIntersectOptions &options, DtTerrainIntersectStatus &status, DtVrfChordIntersectRecordList &intList) const
 Used in findHeightFieldIntersections.
virtual void processTriangles (DtTriangleOutputInterface &output, const DtTerrainProcessPolygonsBox &box) const
 Outputs triangles interpolated from elevation data.
virtual void pageInData (DtPagingMetaDataPtr metaData, DtTerrainPagingGeometryPtr geometry)
 Page in data within geometry.
virtual DtTerrainIntersectIDType 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 bool canPageOutData (DtTerrainIntersectIDType intersectId)
 Returns true if there is data that can be paged out.
virtual osgEarth::TileKey getBestTileKey (const osgEarth::TileKey &) const
 Uses osgearth layer data to find the smallest lod for a given area that actually has data.
virtual void findMissingTiles (const DtTerrainPagingGeometryPtr &geometry, DtTileKeyList &tiles) const
 Find all the tiles that intersect the geometry which are not paged in.
virtual void writeIndex (IndexInterface &, IndexOutputInterface &) const
 Writes an index using the whole terrain (i.e. merged) elevation data.
virtual bool writeIndexLayers (IndexInterface &, unsigned precision) const
 Writes indices for each elevation layer.
virtual std::vector< IndexConfiggetIndexConfigInfoForLayer (const osgEarth::ElevationLayer &layer) const
 Return vector of index config objects, one per each index set in layer.
virtual void readIndex (IndexInputInterface &, unsigned layerNumber, const IndexConfig &idxConfig)
 Reads an index file.
virtual bool readIndexLayers ()
 Reads per layer index files.
 TileDataCallback ()
virtual bool operator() (const boost::shared_ptr< DtTileData > &tile)=0
virtual unsigned maxLOD () const
 Max lod that the tracker will generate.
virtual void setMaxLOD (unsigned)
virtual unsigned getMaxLODForBilinearIntersection () const
 Max lod at which intersections will be done by exact solution of bilinear surface.
virtual void setMaxLODForBilinearIntersection (unsigned)
virtual double triangleOutputMergeTolerance () const
 If the max difference between true elevation and elevation defined by the two triangles that make up this cell is less than this value then the system will use those two triangles instead of breaking them up further.
virtual void setTriangleOutputMergeTolerance (double tol)
virtual double intersetionTriangleMergeTolerance () const
virtual void setIntersectionTriangleMergeTolerance (double tol)
virtual unsigned minElevationIndexLOD () const
 Sets the range of LOD levels where elevation values from the terrain index will be used.
virtual void setMinElevationIndexLOD (unsigned)
virtual unsigned maxElevationIndexLOD () const
virtual void setMaxElevationIndexLOD (unsigned)
virtual double maxChordLengthBeforeSplitSquared () const
 Set the max chord length before chords are split.
virtual void setMaxChordLengthBeforeSplit (double)
virtual unsigned maxElevationChordSplitTestLOD () const
 Sets the max lod used to estimate max terrain elevation under chords.
virtual void setMaxElevationChordSplitTestLOD (unsigned)
- Public Member Functions inherited from DtTerrainSourceTracker
 DtTerrainSourceTracker (DtVantageTerrainEngine *, DtPagerCommandQueue *commandQueue)
virtual ~DtTerrainSourceTracker ()
virtual DtTerrainInterfaceConfigconfigOptions ()
virtual const
DtTerrainInterfaceConfig
configOptions () const
virtual bool init (DtTerrainSourcePager &)
 Called after options are set.
virtual boost::optional
< DtTerrainIntersectOptions::Fidelity
intersectFidelity () const
 Fidelity that this tracker is configured for.
virtual bool dataAvailable (DtPagingMetaDataPtr metaData, DtTerrainPagingGeometryPtr geometry)=0
virtual void pageInData (DtPagingMetaDataPtr metaData, DtTerrainPagingGeometryPtr geometry)=0
virtual bool canPageOutData (DtTerrainIntersectIDType intersectId)=0
virtual DtTerrainIntersectIDType findOldestPagedData (unsigned int &numTriangles)=0
virtual void pageOutOldestData (const int priority)=0
virtual void addNodesToCollisionMapping (DtNodeId node, DtCollisionObjectList *collObjList)
virtual void removeNodeToCollisionMappings (DtNodeId node)
virtual DtCollisionObjectList collisionObjectsForNode (DtNodeId node)
virtual const Coordinate_SystemlocalCS () const
virtual void setLabel (const DtString &)
virtual void printInfo () const

Protected Types

typedef boost::ptr_vector
< TileSpatialIndex
TileRoots

Protected Member Functions

virtual DtPageInTilesCommandcreatePageInTilesCommand (DtPagingMetaDataPtr metaData)
virtual DtPageOutTilesCommandcreatePageOutTilesCommand (DtPagingMetaDataPtr metaData)
virtual bool nearCenterOfEarth (const DtChord &chord) const
virtual bool aboveAllTerrain (const DtChord &geocentricChord, const DtChord &geodeticCoord) const
virtual bool shortEnoughForIntersection (const DtChord &geocentricChord, const DtChord &geodeticChord, double chordLengthSq) const
 Determines if the chord is (not) above the threshold length myMaxChordLengthBeforeSplitSquared.
virtual bool crosses180Lon (const DtChord &geodeticChord) const
 Determines if the chord goes between end points that are on opposite sides of the lon = 180 meridian.
virtual bool findData (const DtTerrainPagingGeometry *geometry, std::vector< boost::shared_ptr< DtTileData > > &data, const DtPagingMetaDataPtr &metaData=DtPagingMetaDataPtr(), TileDataCallback *callback=0) const
virtual bool findData (const DtTerrainPagingGeometry *geometry, std::vector< boost::shared_ptr< DtTileData > > &data, TileDataCallback *callback) const
virtual void findMissing (const DtTerrainPagingGeometry &geometry, DtTileKeyList &missing) const
virtual boost::shared_ptr
< DtTileData
findOldest () const
virtual boost::shared_ptr
< DtTileData
findOldestUnlocked () const
virtual void convertGeometry (const DtTerrainPagingGeometryPtr &geometry, std::vector< DtTerrainPagingGeometryPtr > &output) const
 Convert geometry to internal coordinate system.
virtual bool convertGeometry (const DtTerrainPagingChord &geometry, std::vector< DtTerrainPagingGeometryPtr > &output) const
virtual bool convertGeometry (const DtTerrainPagingSphere &geometry, std::vector< DtTerrainPagingGeometryPtr > &output) const
virtual bool convertGeometry (const DtTerrainPagingShape &geometry, std::vector< DtTerrainPagingGeometryPtr > &output) const

Protected Attributes

const osg::ref_ptr
< osgEarth::MapNode > 
myMapNode
 map node for whole terrain
osgEarth::ElevationLayerVector myElevationLayers
 top level elevation layers
osgEarth::ElevationLayerVector myFlattenedElevationLayers
 flattens composite layers
const bool myUseRawElevation
 use elevation (if false old geometry system will be used)
unsigned int myMaxLOD
 max LOD of the whole system
unsigned int myMaxLODForBilinearIntersection
 max LOD which will use exact intersection with bilinear surface
double myTriangleOutputMergeTolerance
 max error tolerances used to decide when it's not necessary triangle elevation to full resolution
double myIntersetionTriangleMergeTolerance
unsigned myMinElevationIndexLOD
 range of LODs where elevation from index will be used
unsigned myMaxElevationIndexLOD
double myMaxChordLengthBeforeSplitSquared
 max chord length squared before chords are split
unsigned myMaxElevationChordSplitLOD
 max lod used for estimated max elevation under chord for spliting chords
TileRoots myTileSpatialIndexRoots
 roots of the quad tree (not necessarily 4, geodetic usually has 2)
const double myWorldWidth
 width of world in osgearth coord sys, used for wrapping coords
DtTerrainIntersectOptions::Fidelity myFidelity
 intersect fidelity for this layer
boost::weak_ptr< DtTileDatamyOldestData
 cached pointer to oldest tile data
- Protected Attributes inherited from DtTerrainSourceTracker
DtString myLabel
DtTerrainInterfaceConfig myConfig
DtPagerCommandQueuemyCommandQueue
DtNodeToCollObjMMap myNodeToCollObjMMap
tbb::spin_rw_mutex myMutex
DtVantageTerrainEnginemyVantageTerrainEngine

Private Attributes

bool myIsFinished

Friends

class DtOsgEarthTerrainSourceTracker

Member Typedef Documentation

typedef boost::ptr_vector<TileSpatialIndex> DtOsgEarthTerrainSourceTracker::TileRoots
protected

Constructor & Destructor Documentation

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

Member Function Documentation

virtual bool DtOsgEarthTerrainSourceTracker::useRawElevation ( ) const
virtual

True if using elevation data (i.e. if using osgEarth REX engine).

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

Fidelity this tracker is configured for.

virtual unsigned DtOsgEarthTerrainSourceTracker::maxLOD ( ) const
virtual

Max lod that the tracker will generate.

virtual void DtOsgEarthTerrainSourceTracker::setMaxLOD ( unsigned  )
virtual
virtual unsigned DtOsgEarthTerrainSourceTracker::getMaxLODForBilinearIntersection ( ) const
virtual

Max lod at which intersections will be done by exact solution of bilinear surface.

Higher lods will be intersected against the same triangle grid that REX uses.

virtual void DtOsgEarthTerrainSourceTracker::setMaxLODForBilinearIntersection ( unsigned  )
virtual
virtual double DtOsgEarthTerrainSourceTracker::triangleOutputMergeTolerance ( ) const
virtual

If the max difference between true elevation and elevation defined by the two triangles that make up this cell is less than this value then the system will use those two triangles instead of breaking them up further.

Intersection is for terrain intersections. Triangle output is for triangle generation.

virtual void DtOsgEarthTerrainSourceTracker::setTriangleOutputMergeTolerance ( double  tol)
virtual
virtual double DtOsgEarthTerrainSourceTracker::intersetionTriangleMergeTolerance ( ) const
virtual
virtual void DtOsgEarthTerrainSourceTracker::setIntersectionTriangleMergeTolerance ( double  tol)
virtual
virtual unsigned DtOsgEarthTerrainSourceTracker::minElevationIndexLOD ( ) const
virtual

Sets the range of LOD levels where elevation values from the terrain index will be used.

virtual void DtOsgEarthTerrainSourceTracker::setMinElevationIndexLOD ( unsigned  )
virtual
virtual unsigned DtOsgEarthTerrainSourceTracker::maxElevationIndexLOD ( ) const
virtual
virtual void DtOsgEarthTerrainSourceTracker::setMaxElevationIndexLOD ( unsigned  )
virtual
virtual double DtOsgEarthTerrainSourceTracker::maxChordLengthBeforeSplitSquared ( ) const
virtual

Set the max chord length before chords are split.

virtual void DtOsgEarthTerrainSourceTracker::setMaxChordLengthBeforeSplit ( double  )
virtual
virtual unsigned DtOsgEarthTerrainSourceTracker::maxElevationChordSplitTestLOD ( ) const
virtual

Sets the max lod used to estimate max terrain elevation under chords.

virtual void DtOsgEarthTerrainSourceTracker::setMaxElevationChordSplitTestLOD ( unsigned  )
virtual
virtual unsigned DtOsgEarthTerrainSourceTracker::tileCount ( ) const
virtual

Number of currently paged in tiles.

virtual unsigned DtOsgEarthTerrainSourceTracker::cellCount ( ) const
virtual

Number of cells in index.

virtual osgEarth::MapNode* DtOsgEarthTerrainSourceTracker::mapNode ( ) const
virtual

Access osgEarth::MapNode object.

virtual bool DtOsgEarthTerrainSourceTracker::init ( DtTerrainSourcePager )
virtual

Initialize after configuration.

virtual void DtOsgEarthTerrainSourceTracker::addPagedInTile ( const osgEarth::TileKey &  tilekey,
const boost::shared_ptr< 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.

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.

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.
virtual bool DtOsgEarthTerrainSourceTracker::findHeightFieldIntersections ( DtTerrainIntersectStatus status,
const DtChord chord,
DtVrfChordIntersectRecordList intList,
const DtTerrainIntersectOptions options 
) const
virtual

Performs terrain intersections.

Parameters
statusSee DtTerrainIntersectStatus.
chordChord to intersect.
intListResults added to this.
optionsSee DtTerrainIntersectOptions.
virtual bool DtOsgEarthTerrainSourceTracker::halveChordAndFindHeightFieldIntrx ( const DtChord chord,
DtChord  convertedChord,
const DtTerrainIntersectOptions options,
DtTerrainIntersectStatus status,
DtVrfChordIntersectRecordList intList 
) const
virtual

Used in findHeightFieldIntersections.

Splits a long chord (shortEnoughForIntersection is false) into halves and recursively checks findHeightFieldIntersections on each.

virtual bool DtOsgEarthTerrainSourceTracker::splitChordAt180AndFindHeightFieldIntrx ( const DtChord chord,
const DtTerrainIntersectOptions options,
DtTerrainIntersectStatus status,
DtVrfChordIntersectRecordList intList 
) const
virtual

Used in findHeightFieldIntersections.

Splits the chord at lon = 180 (Geoc y=0) and recursively checks findHeightFieldIntersections on each part.

virtual void DtOsgEarthTerrainSourceTracker::processTriangles ( DtTriangleOutputInterface output,
const DtTerrainProcessPolygonsBox box 
) const
virtual

Outputs triangles interpolated from elevation data.

Parameters
outputOutput interface which received triangles.
boxQuery which defines which area is output.
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.

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.
virtual DtTerrainIntersectIDType 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.
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.
virtual bool DtOsgEarthTerrainSourceTracker::canPageOutData ( DtTerrainIntersectIDType  intersectId)
virtual

Returns true if there is data that can be paged out.

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

Uses osgearth layer data to find the smallest lod for a given area that actually has data.

The osgearth APIs can only return a larger tile (i.e. smaller lod), so this function is used by starting with the highest LOD (the max LOD set, which is 19 by default for REX) and then going up. Elevation layers may not have any information on this in which case the input key will be returned. This is all used so that we don't have to always have to start checking for data at the highest LOD. The quadtree itself uses this to cap the depth in a given area.

virtual void DtOsgEarthTerrainSourceTracker::findMissingTiles ( const DtTerrainPagingGeometryPtr geometry,
DtTileKeyList tiles 
) const
virtual

Find all the tiles that intersect the geometry which are not paged in.

virtual void DtOsgEarthTerrainSourceTracker::writeIndex ( IndexInterface ,
IndexOutputInterface  
) const
virtual

Writes an index using the whole terrain (i.e. merged) elevation data.

virtual bool DtOsgEarthTerrainSourceTracker::writeIndexLayers ( IndexInterface ,
unsigned  precision 
) const
virtual

Writes indices for each elevation layer.

Returns
True if no error, false otherwise.
virtual std::vector<IndexConfig> DtOsgEarthTerrainSourceTracker::getIndexConfigInfoForLayer ( const osgEarth::ElevationLayer &  layer) const
virtual

Return vector of index config objects, one per each index set in layer.

virtual void DtOsgEarthTerrainSourceTracker::readIndex ( IndexInputInterface ,
unsigned  layerNumber,
const IndexConfig idxConfig 
)
virtual

Reads an index file.

virtual bool DtOsgEarthTerrainSourceTracker::readIndexLayers ( )
virtual

Reads per layer index files.

Returns
True if no error, false otherwise.
virtual DtPageInTilesCommand* DtOsgEarthTerrainSourceTracker::createPageInTilesCommand ( DtPagingMetaDataPtr  metaData)
protectedvirtual
virtual DtPageOutTilesCommand* DtOsgEarthTerrainSourceTracker::createPageOutTilesCommand ( DtPagingMetaDataPtr  metaData)
protectedvirtual
virtual void DtOsgEarthTerrainSourceTracker::convertGeometry ( const DtTerrainPagingGeometryPtr geometry,
std::vector< DtTerrainPagingGeometryPtr > &  output 
) const
protectedvirtual

Convert geometry to internal coordinate system.

virtual bool DtOsgEarthTerrainSourceTracker::convertGeometry ( const DtTerrainPagingChord geometry,
std::vector< DtTerrainPagingGeometryPtr > &  output 
) const
protectedvirtual
virtual bool DtOsgEarthTerrainSourceTracker::convertGeometry ( const DtTerrainPagingSphere geometry,
std::vector< DtTerrainPagingGeometryPtr > &  output 
) const
protectedvirtual
virtual bool DtOsgEarthTerrainSourceTracker::convertGeometry ( const DtTerrainPagingShape geometry,
std::vector< DtTerrainPagingGeometryPtr > &  output 
) const
protectedvirtual
virtual bool DtOsgEarthTerrainSourceTracker::nearCenterOfEarth ( const DtChord chord) const
protectedvirtual
virtual bool DtOsgEarthTerrainSourceTracker::aboveAllTerrain ( const DtChord geocentricChord,
const DtChord geodeticCoord 
) const
protectedvirtual
virtual bool DtOsgEarthTerrainSourceTracker::shortEnoughForIntersection ( const DtChord geocentricChord,
const DtChord geodeticChord,
double  chordLengthSq 
) const
protectedvirtual

Determines if the chord is (not) above the threshold length myMaxChordLengthBeforeSplitSquared.

virtual bool DtOsgEarthTerrainSourceTracker::crosses180Lon ( const DtChord geodeticChord) const
protectedvirtual

Determines if the chord goes between end points that are on opposite sides of the lon = 180 meridian.

virtual bool DtOsgEarthTerrainSourceTracker::findData ( const DtTerrainPagingGeometry geometry,
std::vector< boost::shared_ptr< DtTileData > > &  data,
const DtPagingMetaDataPtr metaData = DtPagingMetaDataPtr(),
TileDataCallback callback = 0 
) const
protectedvirtual
virtual bool DtOsgEarthTerrainSourceTracker::findData ( const DtTerrainPagingGeometry geometry,
std::vector< boost::shared_ptr< DtTileData > > &  data,
TileDataCallback callback 
) const
protectedvirtual
virtual void DtOsgEarthTerrainSourceTracker::findMissing ( const DtTerrainPagingGeometry geometry,
DtTileKeyList missing 
) const
protectedvirtual
virtual boost::shared_ptr<DtTileData> DtOsgEarthTerrainSourceTracker::findOldest ( ) const
protectedvirtual
virtual boost::shared_ptr<DtTileData> DtOsgEarthTerrainSourceTracker::findOldestUnlocked ( ) const
protectedvirtual
DtOsgEarthTerrainSourceTracker::TileDataCallback ( )
explicit
virtual bool DtOsgEarthTerrainSourceTracker::operator() ( const boost::shared_ptr< DtTileData > &  tile)
pure virtual

Friends And Related Function Documentation

friend class DtOsgEarthTerrainSourceTracker
friend

Member Data Documentation

const osg::ref_ptr<osgEarth::MapNode> DtOsgEarthTerrainSourceTracker::myMapNode
protected

map node for whole terrain

osgEarth::ElevationLayerVector DtOsgEarthTerrainSourceTracker::myElevationLayers
protected

top level elevation layers

osgEarth::ElevationLayerVector DtOsgEarthTerrainSourceTracker::myFlattenedElevationLayers
protected

flattens composite layers

const bool DtOsgEarthTerrainSourceTracker::myUseRawElevation
protected

use elevation (if false old geometry system will be used)

unsigned int DtOsgEarthTerrainSourceTracker::myMaxLOD
protected

max LOD of the whole system

unsigned int DtOsgEarthTerrainSourceTracker::myMaxLODForBilinearIntersection
protected

max LOD which will use exact intersection with bilinear surface

double DtOsgEarthTerrainSourceTracker::myTriangleOutputMergeTolerance
protected

max error tolerances used to decide when it's not necessary triangle elevation to full resolution

double DtOsgEarthTerrainSourceTracker::myIntersetionTriangleMergeTolerance
protected
unsigned DtOsgEarthTerrainSourceTracker::myMinElevationIndexLOD
protected

range of LODs where elevation from index will be used

unsigned DtOsgEarthTerrainSourceTracker::myMaxElevationIndexLOD
protected
double DtOsgEarthTerrainSourceTracker::myMaxChordLengthBeforeSplitSquared
protected

max chord length squared before chords are split

unsigned DtOsgEarthTerrainSourceTracker::myMaxElevationChordSplitLOD
protected

max lod used for estimated max elevation under chord for spliting chords

TileRoots DtOsgEarthTerrainSourceTracker::myTileSpatialIndexRoots
protected

roots of the quad tree (not necessarily 4, geodetic usually has 2)

const double DtOsgEarthTerrainSourceTracker::myWorldWidth
protected

width of world in osgearth coord sys, used for wrapping coords

DtTerrainIntersectOptions::Fidelity DtOsgEarthTerrainSourceTracker::myFidelity
protected

intersect fidelity for this layer

boost::weak_ptr<DtTileData> DtOsgEarthTerrainSourceTracker::myOldestData
protected

cached pointer to oldest tile data

bool DtOsgEarthTerrainSourceTracker::myIsFinished
private

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

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)