VR-Forces 5.0.2 Developer's Guide
 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 | Static Protected Attributes
DtTerrainSourcePager Class Referenceabstract

DtTerrainSourcePager is the base class for terrain pagers. There will be one terrainSourcePager per terrain patch. They will each handle paging in terrain from an individual source, such as metaflight, paged .ive, or osgEarth streaming terrain.

Inheritance diagram for DtTerrainSourcePager:
Inheritance graph
[legend]

Classes

class  DtPendingTileKeyReload
 
class  DynamicTerrainNode
 
class  TerrainRecord
 

Public Member Functions

 DtTerrainSourcePager (DtVantageTerrainEngine *terrainEngine, osgEarth::MapNode *mapNode)
 
virtual ~DtTerrainSourcePager ()
 
virtual bool init ()
 
virtual void tick ()
 
virtual void setEarthFileName (const DtFilename &file)
 
virtual void setCutoutFilename (const char *OptionalSuffixe=NULL)
 
virtual bool isContainedWithinCutoutCache (const osgEarth::GeoExtent &extent, const osgEarth::TileKey &key)
 
virtual DtTerrainSourceTrackercreateTerrainSourceTracker (DtVantageTerrainEngine *)=0
 
virtual DtTerrainSourceTrackerterrainSourceTracker ()
 
virtual void updatePageTracker (DtTerrainIntersectIDType intersectId=0)=0
 
virtual int highestPriorityPendingWork ()
 
virtual void processCommandQueue ()
 
virtual void setCurrentTime (const double &currentTime)
 
virtual unsigned long numTriangles () const
 
virtual bool quitFlagSet () const
 
virtual void setQuit (bool)
 
virtual const Coordinate_SystemlocalCS () const
 
virtual void setLabel (const DtString &)
 
virtual DtString label () const
 
virtual unsigned queuePageReloadsWithinExtent (const osgEarth::GeoExtent &extent, const DtUUID &dynamicUuid, bool isRemoval=false)
 
virtual void clearCutoutCache ()
 
virtual void clearTerrainEngineReference ()
 
- Public Member Functions inherited from DtTerrainInterfaceConfig
 DtTerrainInterfaceConfig (const std::string &matchPattern="")
 
DtTerrainInterfaceConfigoperator= (const DtTerrainInterfaceConfig &)
 
virtual bool loadFromFile (const std::string &file, std::ostream &log)
 
virtual bool loadFromFile (const std::string &file)
 
virtual bool loadFromSourceSpecificFile (const std::string &file, const std::string &ext="mtl")
 
virtual void configure (DtTerrainInterfaceConfig &config, const std::string &matchText, bool ignoreUnspecified=true) const
 
virtual void configure (DtTerrainInterfaceConfig &config, bool ignoreUnspecified=true) const
 
virtual void configurePaths (std::string &path) const
 
virtual void print (std::ostream &, bool printUnspecified=true) const
 
DtString prettyPrint () const
 
void setName (const DtString &)
 
std::string modelDefinitionPath () const
 
std::string simCachePath () const
 
std::string featureConfigFile () const
 
- Public Member Functions inherited from DtReaderWriter
 DtReaderWriter ()
 
 DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL)
 
const DtReaderWriteroperator= (const DtReaderWriter &orig)
 
bool operator== (const DtReaderWriter &) const
 
bool operator!= (const DtReaderWriter &rhs)
 
virtual ~DtReaderWriter ()
 
virtual void putSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 
virtual void postPutSelf ()
 
virtual void prePutSelf ()
 
virtual void getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 
virtual void postGetSelf ()
 
virtual void preGetSelf ()
 
virtual void writeSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 
virtual DtSymbolString name () const
 
virtual void addAlias (const DtSymbolString &alias)
 
virtual void addAlias (const DtString &alias)
 
virtual bool hasAlias (const DtSymbolString &alias)
 
virtual const aliasContaineraliases () const
 
virtual void setReadonly (bool flag)
 
bool isReadonly () const
 
virtual void reset ()
 
virtual int alignment () const
 
virtual bool variableIsBound () const
 
virtual void unbindVariable ()
 
virtual const charreaderWriterType () const
 
virtual const charxmlType () const
 
std::string debugText () const
 
virtual void bindVariables (DtVariableBindingsList variableBindings)
 
virtual std::list
< DtVariableNameType
unboundVariables () const
 
bool invalid () const
 
virtual bool hasChild (const DtReaderWriter *p) const
 
virtual bool hasVariableReference () const
 
virtual void bindLocalVariables (const DtVariableBindingsList &variableBindings)
 
virtual void recordUpdateTime () const
 
virtual bool wasUpdatedSince (DtTime t) const
 
virtual bool changedSinceLastChecked ()
 
virtual bool peekChangedSinceLastChecked () const
 
virtual void putData (std::string &fp, int indentLevel=0)
 
virtual DtlObjPtr getData (DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
 
virtual void setValueSpecified (bool specified, bool recurse=false)
 
virtual bool valueSpecified () const
 
virtual bool isVariableReference () const
 
virtual void setIsVariableReference (bool value)
 
virtual void clearAllVariableReferenceFlags ()
 
virtual DtSymbolString variableName () const
 
virtual void setVariableName (const DtSymbolString variableName)
 
virtual const DtReaderWriterdefaultRWValue () const
 
virtual DtReaderWriterdefaultRWValue ()
 
virtual void setDefaultRWValue (DtReaderWriter *)
 
virtual bool checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 
const DtReaderWriterRegistryregistry () const
 
DtReaderWriterRegistryregistry ()
 
virtual DtPropertyInterfaceproperty ()
 
virtual const DtPropertyInterfaceproperty () const
 
virtual DtString toXml () const
 
virtual DtRwVariableBindingsgenerateVariableBindings () const
 
virtual bool toXml (const DtFilename &) const
 
virtual bool fromXml (const DtString &)
 
virtual bool fromXmlFile (const DtFilename &)
 
virtual void putSelf (DtEnvironmentSP, DtEnvValueSP parent) const
 
virtual void putData (DtEnvironmentSP, DtEnvValueSP value) const
 
virtual void putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const
 
virtual void getSelf (const DtEnvironmentSP, const DtEnvValueSP root, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
 
virtual void getData (const DtEnvironmentSP, const DtEnvValueSP, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
 
virtual void unrecognizedItem (const DtEnvironmentSP env, const DtEnvValueSP root, const SearchPaths &searchPaths, const DtVariableBindingsList &varBindings)
 
virtual void getVariableReference (DtEnvironmentSP, DtEnvValueSP value)
 

Protected Types

typedef
boost::geometry::model::point
< double,
2, boost::geometry::cs::geographic
< boost::geometry::degree > > 
DtDynamicTerrainRtreeCoord
 
typedef
boost::geometry::model::box
< DtDynamicTerrainRtreeCoord
DtDynamicTerrainRtreeBox
 
typedef std::pair
< DtDynamicTerrainRtreeBox,
boost::shared_ptr
< DynamicTerrainNode > > 
DtDynamicTerrainRtreeValue
 
typedef
boost::geometry::index::rtree
< DtDynamicTerrainRtreeValue,
boost::geometry::index::quadratic< 16 > > 
DtDynamicTerrainRtree
 
typedef std::set
< DtPendingTileKeyReload
DtPendingTileKeyReloadSet
 
typedef tbb::spin_rw_mutex Mutex
 

Protected Member Functions

virtual unsigned int addTerrain (const osg::ref_ptr< osg::Node > &node, DtVrfSimTerrainProcessor &, const char *debugWhoisCalling="unknown")
 
virtual unsigned int removeTerrain (const osg::ref_ptr< osg::Node > &node, const char *debugWhoisCalling="unknown")
 
virtual void addTriangles (unsigned int, const char *debugString="unknown")
 
virtual void removeTriangles (unsigned int, const char *debugString="unknown")
 
void modifyDynamicTerrainExtent (const DtPoint &swCorner, const DtPoint &neCorner, bool isRemoval, unsigned amount=1)
 
bool hasDynamicTerrainWithinExtent (const DtPoint &swCorner, const DtPoint &neCorner) const
 
bool modifyDynamicTerrain (const osgEarth::GeoExtent &dynamicTerrainExtent, const DtUUID &dynamicTerrainUUID, bool isRemoval)
 
bool hasDynamicTerrainWithinExtent (std::vector< DtDynamicTerrainRtreeValue > &values, const osgEarth::GeoExtent &extent)
 
void eraseCommand (DtCommandPriorityMultimap::iterator &itr)
 
void eraseAndInsertCommand (DtCommandPriorityMultimap::iterator &itr)
 
bool getFirsCommand (DtCommandPriorityMultimap::iterator &itrToProcess)
 
- Protected Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 

Protected Attributes

Mutex myMutex
 
DtString myName
 
tbb::atomic< boolmyQuitFlag
 
DtVantageTerrainEnginemyTerrainEngine
 
DtTerrainSourceTrackermyTerrainSourceTracker
 
double myCurrentTime
 
DtPagerCommandQueue myCommandQueue
 
DtCommandPriorityMultimap myPriorityCommandMultimap
 
unsigned long myNumTriangles
 
tbb::spin_mutex myTerrainRecordsMutex
 
TerrainRecord::Map myTerrainRecords
 
boost::optional< short intmyDefaultBulletObjectMask
 
osgEarth::MapNode * myMapNode
 
const osgEarth::Map * myMap
 
const osgEarth::Profile * myMapProfile
 
DtFilename myEarthFile
 
boost::scoped_ptr< DtCutoutCachemyCutoutCache
 
tbb::spin_rw_mutex myPagedInTilesMapMutex
 
DtTerrainTileMap myPagedInTilesMap
 
tbb::spin_rw_mutex myTileKeysForReloadMutex
 
DtPendingTileKeyReloadSet myTileKeysForReload
 
tbb::spin_rw_mutex myDynamicTerrainRtreeMutex
 
DtDynamicTerrainRtree myDynamicTerrainRtree
 
std::set< osgEarth::TileKey > mySetOfTileKeysToReload
 
- Protected Attributes inherited from DtTerrainInterfaceConfig
TString myModelDefinitionPath
 
TString mySimCachePath
 
TString myFeatureConfigFile
 
- Protected Attributes inherited from DtReaderWriter
const DtSymbolString myName
 
DtReaderWriterRegistry myRegistry
 
DtReaderWriterRegistrymyParentRegistry
 
bool myValueSpecified
 
bool myReadOnlyFlag
 
bool myIsVariableReference
 
DtSymbolString myVariableName
 
bool myVariableIsBound
 
DtReaderWritermyDefaultValue
 
aliasContainer myAliases
 
bool myInvalid
 
bool myChangedFlag
 

Static Protected Attributes

static tbb::spin_rw_mutex myMultiMapMutex
 
- Static Protected Attributes inherited from DtReaderWriter
static DtString theUnspecifiedValue
 
static DtGetSelfCallbackInfo thePostGetSelfCallback
 
static DtPutSelfCallbackInfo thePrePutSelfCallback
 
static const DtVariableBindingsList theEmptyVariableBindingsList
 
static bool theCreatorFcnSet
 
static DtReaderWriterFactorytheFactory
 
static
DtReaderWriterFactoryCreatorFcn 
theFactoryCreatorFcn
 
static bool thePutIndent
 
static DtOutputStream * theOutputStream
 

Additional Inherited Members

- Public Types inherited from DtReaderWriter
typedef std::vector
< DtSymbolString
aliasContainer
 
typedef std::vector
< DtSymbolString >::iterator 
aliasIter
 
typedef std::vector
< DtSymbolString >
::const_iterator 
aliasConstIter
 
typedef std::vector< DtFilename > SearchPaths
 
typedef std::pair
< DtSymbolString, DtString
DtVariableNameType
 
typedef DtReaderWriterFactory *(* DtReaderWriterFactoryCreatorFcn )()
 
- Static Public Member Functions inherited from DtTerrainInterfaceConfig
static void setModelDefinitionDefault (const std::string &)
 
- Static Public Member Functions inherited from DtReaderWriter
static void putIndent (std::string &fp, int indentLevel)
 
static const
DtVariableBindingsList
nullVariableReference ()
 
static void setPostGetSelfCallback (DtGetSelfCallbackFcn fcn, void *usrData)
 
static void setPrePutSelfCallback (DtPutSelfCallbackFcn fcn, void *usrData)
 
static void setPutIndent (bool)
 
static bool putIndent ()
 
static const chartheXmlType ()
 
static const DtFilename & appPath ()
 
static void setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn)
 
static void createReaderWriterFactory ()
 
static void cleanupFactory ()
 
static DtReaderWriterFactoryfactory ()
 
static void setOutputStream (DtOutputStream *stream)
 
static DtOutputStream & outputStream ()
 
static DtReaderWritercreateFromXmlFile (const DtFilename &, bool createAsProperty=false)
 
static DtReaderWritercreateFromXml (const DtString &, bool createAsProperty=false)
 
static DtReaderWritercreateFromEnvironment (DtEnvironmentSP, bool createAsProperty=false)
 
static DtString getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root)
 
- Public Attributes inherited from DtTerrainInterfaceConfig
TInt maxNetworkThreads
 
TInt maxUnusedFeatures
 
TInt areaPageTableLoadingThreads
 
TInt featuresHighestLoadLOD
 
TInt featuresLowestLoadLOD
 
TInt featuresPerTileTarget
 
TInt featuresMaxIndexLOD
 
TInt minFeaturesToIndexTile
 
TReal featuresIndexRatio
 
TBool deduplicateFeatures
 
TBool cacheLastFeatureTile
 
TBool loadTerraPageImagery
 
TBool loadTerraPageLocalMaterials
 
TInt pathFinderMaxSize
 
TInt pathFinderPageTableDepth
 
TReal pathFinderLoadTimeout
 
TReal pathFinderVertexTolerance
 
TInt pathFinderMinVertexSearch
 
TReal pathFinderDotProductDistanceThreshold
 
TReal pathFinderMinSearchRadius
 
TInt triangleThreshold
 
TInt cacheOnlyMaxLod
 
TBool loadImagery
 
TInt blockingIntersectPageInPriority
 
TInt intersectPageInPriority
 
TInt pageOutPriority
 
TInt defaultPreloadPriority
 
TVector spatialSubdivisionDimensions
 
TBool useS57ForTerrainGeneration
 
TBool oceanLayerPresent
 
TReal seaLevel
 
TReal seaFloor
 
TBool useSoundingPoints
 
TBool pageFeatures
 
TReal featuresMinUnloadTime
 
TInt terrainMinUnloadIntersectDiff
 
TInt minElevationIndexLOD
 
TInt maxElevationIndexLOD
 
TReal elevationTriangleOutputMergeTolerance
 
TReal elevationIntersectTriangleMergeTolerance
 
TReal maxChordLengthBeforeSplit
 
TInt maxElevationChordSplitTestLOD
 
TInt lowFidelityIntersectionLOD
 
TString pluginsDirectory
 
TInt featureIntersectionMode
 
TBool activePagerTbbMode
 
TInt nbTerrainThread
 
TInt minElevationTileLoadingLod
 

Member Typedef Documentation

typedef boost::geometry::model::point<double, 2, boost::geometry::cs::geographic<boost::geometry::degree> > DtTerrainSourcePager::DtDynamicTerrainRtreeCoord
protected
typedef boost::geometry::model::box<DtDynamicTerrainRtreeCoord> DtTerrainSourcePager::DtDynamicTerrainRtreeBox
protected
typedef boost::geometry::index::rtree<DtDynamicTerrainRtreeValue, boost::geometry::index::quadratic<16> > DtTerrainSourcePager::DtDynamicTerrainRtree
protected
typedef tbb::spin_rw_mutex DtTerrainSourcePager::Mutex
protected

Constructor & Destructor Documentation

DtTerrainSourcePager::DtTerrainSourcePager ( DtVantageTerrainEngine terrainEngine,
osgEarth::MapNode *  mapNode 
)

Constructor.

virtual DtTerrainSourcePager::~DtTerrainSourcePager ( )
virtual

Destructor. Deletes all pending commands and myTerrainSourceTracker.

Member Function Documentation

virtual bool DtTerrainSourcePager::init ( )
virtual

Called after pager is configured.

Reimplemented in DtOsgEarthTerrainSourcePager, and DtOsgEarthGroundCoverSourcePager.

virtual void DtTerrainSourcePager::tick ( )
virtual

Processes commands from the priority-sorted command map. Executes the first command and returns, or expires commands until it finds a command to execute.

Reimplemented in DtOsgEarthTerrainSourcePager, and DtOsgEarthGroundCoverSourcePager.

virtual void DtTerrainSourcePager::setEarthFileName ( const DtFilename &  file)
virtual

Sets the earth file name that this pager was loaded from. This is used to find the cutout cache file.

virtual void DtTerrainSourcePager::setCutoutFilename ( const char OptionalSuffixe = NULL)
virtual

This will set the cutout filename, passing a suffix will append it (ex. for ground cover layer)

virtual bool DtTerrainSourcePager::isContainedWithinCutoutCache ( const osgEarth::GeoExtent &  extent,
const osgEarth::TileKey &  key 
)
virtual

Used to determine if a cratering event takes place within a cutout cache region (i.e. hi-res inset) which which is unaffected at this time by cratering.

Parameters
extentthe GeoExtent of the cratering event
keythe TileKey to test return True if the extent is within a cutout extent else False
virtual DtTerrainSourceTracker* DtTerrainSourcePager::createTerrainSourceTracker ( DtVantageTerrainEngine )
pure virtual
virtual DtTerrainSourceTracker* DtTerrainSourcePager::terrainSourceTracker ( )
virtual

Accessor for myTerrainSourceTracker.

virtual void DtTerrainSourcePager::updatePageTracker ( DtTerrainIntersectIDType  intersectId = 0)
pure virtual
virtual int DtTerrainSourcePager::highestPriorityPendingWork ( )
virtual

Calls processCommandQueue to add new commands into the priority-sorted command map. Then returns the priority of the highest-priority pending command.

Reimplemented in DtOsgEarthTerrainSourcePager.

virtual void DtTerrainSourcePager::processCommandQueue ( )
virtual

Takes incoming commands off the command queue and adds them to the priority-sorted command map.

virtual void DtTerrainSourcePager::setCurrentTime ( const double currentTime)
virtual

Sets myCurrentTime for purposes of expiring old page-in commands. The time passed in will only be used if it is greater than myCurrentTime.

Parameters
Thenew time to use for expiring commands.
virtual unsigned long DtTerrainSourcePager::numTriangles ( ) const
virtual

Number of triangles paged in to this pager.

virtual bool DtTerrainSourcePager::quitFlagSet ( ) const
virtual
virtual void DtTerrainSourcePager::setQuit ( bool  )
virtual
virtual const Coordinate_System* DtTerrainSourcePager::localCS ( ) const
virtual
virtual void DtTerrainSourcePager::setLabel ( const DtString )
virtual
virtual DtString DtTerrainSourcePager::label ( ) const
virtual
virtual unsigned DtTerrainSourcePager::queuePageReloadsWithinExtent ( const osgEarth::GeoExtent &  extent,
const DtUUID dynamicUuid,
bool  isRemoval = false 
)
virtual
virtual void DtTerrainSourcePager::clearCutoutCache ( )
virtual

Clear cutout cache map.

virtual void DtTerrainSourcePager::clearTerrainEngineReference ( )
virtual

Remove terrain engine reference when its getting destroy.

virtual unsigned int DtTerrainSourcePager::addTerrain ( const osg::ref_ptr< osg::Node > &  node,
DtVrfSimTerrainProcessor ,
const char debugWhoisCalling = "unknown" 
)
protectedvirtual

Add terrain node (return the number of triangles added)

virtual unsigned int DtTerrainSourcePager::removeTerrain ( const osg::ref_ptr< osg::Node > &  node,
const char debugWhoisCalling = "unknown" 
)
protectedvirtual

Remove terrain node (return the number of triangles added)

virtual void DtTerrainSourcePager::addTriangles ( unsigned  int,
const char debugString = "unknown" 
)
protectedvirtual

Adds triangles to the triangle count.

virtual void DtTerrainSourcePager::removeTriangles ( unsigned  int,
const char debugString = "unknown" 
)
protectedvirtual

Removes triangles from the triangle count.

void DtTerrainSourcePager::modifyDynamicTerrainExtent ( const DtPoint swCorner,
const DtPoint neCorner,
bool  isRemoval,
unsigned  amount = 1 
)
protected

Updates internal tracking of dynamic terrain elements for tiles at LOD 15.

Parameters
swCornerthe South West Corner in geodetic coordinates for the extent of the dynamic terrain tile at LOD 15
neCornerthe North East Corner in geodetic coordinates for the extent of the dynamic terrain tile at LOD 15
isRemovalboolean used to indicate whether a dynamic terrain instance was removed or added
bool DtTerrainSourcePager::hasDynamicTerrainWithinExtent ( const DtPoint swCorner,
const DtPoint neCorner 
) const
protected

Determines whether the extent has dynamic terrain within it so it can be added to a new tile load.

Parameters
swCornerthe southwest corner of the extent in geodetic decimal degrees
neCornerthe northeast corner of the extent in geodetic decimal degrees
Returns
bool DtTerrainSourcePager::modifyDynamicTerrain ( const osgEarth::GeoExtent &  dynamicTerrainExtent,
const DtUUID dynamicTerrainUUID,
bool  isRemoval 
)
protected
bool DtTerrainSourcePager::hasDynamicTerrainWithinExtent ( std::vector< DtDynamicTerrainRtreeValue > &  values,
const osgEarth::GeoExtent &  extent 
)
protected
void DtTerrainSourcePager::eraseCommand ( DtCommandPriorityMultimap::iterator &  itr)
protected

Erase a command from the multimap (mutex)

void DtTerrainSourcePager::eraseAndInsertCommand ( DtCommandPriorityMultimap::iterator &  itr)
protected

Erase and reinsert a command from the multimap (mutex)

bool DtTerrainSourcePager::getFirsCommand ( DtCommandPriorityMultimap::iterator &  itrToProcess)
protected

get the first command from the multimap and tag it as processing (mutex)

Member Data Documentation

Mutex DtTerrainSourcePager::myMutex
mutableprotected
tbb::spin_rw_mutex DtTerrainSourcePager::myMultiMapMutex
staticprotected
DtString DtTerrainSourcePager::myName
protected
tbb::atomic<bool> DtTerrainSourcePager::myQuitFlag
protected

Set when the paging should stop.

DtVantageTerrainEngine* DtTerrainSourcePager::myTerrainEngine
protected

Pointer to the terrain implementation's terrain engine. This class does not own the terrain engine.

DtTerrainSourceTracker* DtTerrainSourcePager::myTerrainSourceTracker
protected

The terrain source tracker that is updated by this pager.

double DtTerrainSourcePager::myCurrentTime
protected

Time to compare a command's expire time to before executing the command. If the command's expire time is less than the current time, the command will not be executed.

DtPagerCommandQueue DtTerrainSourcePager::myCommandQueue
protected

Thread-safe queue to put commands on.

DtCommandPriorityMultimap DtTerrainSourcePager::myPriorityCommandMultimap
protected

Multimap of priorities to paging commands. Commands are taken off the queue and put here until they are either executed or expired.

unsigned long DtTerrainSourcePager::myNumTriangles
protected

Number of triangles paged in to this pager.

tbb::spin_mutex DtTerrainSourcePager::myTerrainRecordsMutex
protected
TerrainRecord::Map DtTerrainSourcePager::myTerrainRecords
protected
boost::optional<short int> DtTerrainSourcePager::myDefaultBulletObjectMask
protected
osgEarth::MapNode* DtTerrainSourcePager::myMapNode
protected

Map node.

const osgEarth::Map* DtTerrainSourcePager::myMap
protected
const osgEarth::Profile* DtTerrainSourcePager::myMapProfile
protected
DtFilename DtTerrainSourcePager::myEarthFile
protected

Path to earth file that was used to load this elevation source.

boost::scoped_ptr<DtCutoutCache> DtTerrainSourcePager::myCutoutCache
protected

Cache for storing mask cutout areas and skirt geometry. Creating the cutout masks (areas of the elevation that should be ignored b/c there is geometry there) and skirts (geometry generated by osgearth to connect the cut in site geometry and the elevation) is very slow so we cache it.

tbb::spin_rw_mutex DtTerrainSourcePager::myPagedInTilesMapMutex
mutableprotected

Mutex for page in map.

DtTerrainTileMap DtTerrainSourcePager::myPagedInTilesMap
protected

Map of tileIds to terrainTiles.

tbb::spin_rw_mutex DtTerrainSourcePager::myTileKeysForReloadMutex
mutableprotected
DtPendingTileKeyReloadSet DtTerrainSourcePager::myTileKeysForReload
protected
tbb::spin_rw_mutex DtTerrainSourcePager::myDynamicTerrainRtreeMutex
mutableprotected
DtDynamicTerrainRtree DtTerrainSourcePager::myDynamicTerrainRtree
protected
std::set<osgEarth::TileKey> DtTerrainSourcePager::mySetOfTileKeysToReload
protected

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

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)