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
DtOsgEarthGroundCoverSourcePager Class Reference

DtOsgEarthGroundCoverSourcePager is a derived terrainSourcePager that handles a streaming terrain source.

Inheritance diagram for DtOsgEarthGroundCoverSourcePager:
Inheritance graph
[legend]

Classes

class  treemodel
 

Public Member Functions

 DtOsgEarthGroundCoverSourcePager (DtVantageTerrainEngine *terrainEngine, osgEarth::MapNode *mapNode)
 
virtual ~DtOsgEarthGroundCoverSourcePager ()
 
virtual bool init ()
 
virtual void tick ()
 
unsigned reloadQueuedPages ()
 
virtual bool pageInTiles (DtTileKeyList &tileIds, DtTerrainIntersectIDType intersectId=0)
 
virtual bool pageOutTiles (const DtTileKeyList &tilesToRemove)
 
virtual DtTerrainSourceTrackercreateTerrainSourceTracker (DtVantageTerrainEngine *)
 
virtual void updatePageTracker (DtTerrainIntersectIDType intersectId=0)
 
virtual void setGroundCoverLayer (osg::ref_ptr< osgEarth::Splat::GroundCoverLayer > gclayer)
 
virtual unsigned int groundCoverLod () const
 
virtual void findMissingTiles (const DtTerrainPagingGeometryPtr &geometry, DtTileKeyList &tiles) const
 
unsigned reloadPagesWithinExtent (const osgEarth::GeoExtent &extent, bool isRemoval=false)
 
virtual unsigned queuePageReloadsWithinExtent (const osgEarth::GeoExtent &extent, const DtUUID &dynamicUuid, bool isRemoval=false)
 
virtual osg::ref_ptr
< osg::MatrixTransform > 
createTree (const osg::ref_ptr< osgEarth::Feature > &feature)
 
- Public Member Functions inherited from DtTerrainSourcePager
 DtTerrainSourcePager (DtVantageTerrainEngine *terrainEngine, osgEarth::MapNode *mapNode)
 
virtual ~DtTerrainSourcePager ()
 
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 DtTerrainSourceTrackerterrainSourceTracker ()
 
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 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 std::map< int, treemodelDtTreeMap
 
- Protected Types inherited from DtTerrainSourcePager
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 bool reloadTile (const osgEarth::TileKey &tileKey, bool isRemoval=false, unsigned numEvents=1)
 
virtual boost::shared_ptr
< DtTileData
createTileDataFromGroundCover (const osgEarth::TileKey &tilekey, DtTerrainIntersectIDType intersectId, bool createIfAlreadyLoaded=false) const
 
virtual bool pageInTile (const osgEarth::TileKey &tileKey, DtTerrainIntersectIDType intersectId=0)
 
virtual bool pageOutTile (const osgEarth::TileKey &tileKey)
 
virtual void addTile (const osgEarth::TileKey &tilekey, const boost::shared_ptr< DtTileData > &tile)
 
virtual void addEmptyTile (const osgEarth::TileKey &tilekey, DtTerrainIntersectIDType intersectId=0)
 
- Protected Member Functions inherited from DtTerrainSourcePager
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

DtTreeMap myTreeMap
 
osgEarth::Splat::GroundCoverFeatureGenerator myFeatureGenerator
 
osg::ref_ptr
< osgEarth::Splat::GroundCoverLayer > 
myGcLayer
 
DtOsgEarthGroundCoverSourceTrackermyOsgTracker
 
tbb::spin_rw_mutex myTileKeysForReloadMutex
 
tbb::spin_rw_mutex myCreateTreeMutex
 
tbb::task_arena myArena
 
std::set< intmyErrorMessages
 
- Protected Attributes inherited from DtTerrainSourcePager
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
 

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
 
- Static Protected Attributes inherited from DtTerrainSourcePager
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
 

Member Typedef Documentation

Constructor & Destructor Documentation

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

CTOR.

virtual DtOsgEarthGroundCoverSourcePager::~DtOsgEarthGroundCoverSourcePager ( )
virtual

DTOR.

Member Function Documentation

virtual bool DtOsgEarthGroundCoverSourcePager::init ( )
virtual

Called after pager is configured.

Reimplemented from DtTerrainSourcePager.

virtual void DtOsgEarthGroundCoverSourcePager::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 from DtTerrainSourcePager.

unsigned DtOsgEarthGroundCoverSourcePager::reloadQueuedPages ( )

Reloads the queued pages.

Returns
number of pages reloaded
virtual bool DtOsgEarthGroundCoverSourcePager::pageInTiles ( DtTileKeyList tileIds,
DtTerrainIntersectIDType  intersectId = 0 
)
virtual

Calls pageIntile for a single tile in the list and then removes it from the list.

Parameters
tileIdsList of tileIds to page in. When a tile is successfully paged in, it is removed from this list.
intersectIdOptional intersectId to seed new tiles with.
Returns
True if all tiles are paged in.
virtual bool DtOsgEarthGroundCoverSourcePager::pageOutTiles ( const DtTileKeyList tilesToRemove)
virtual

Pages out the requested tiles, removes the corresponding collision objects from the collision world, decrements the terrainEngine's triangle count, and decrements the terrainEngine's pending removal command count.

Parameters
tilesToRemoveList of tileIds to page out.
Returns
True if all tiles are removed successfully.
virtual DtTerrainSourceTracker* DtOsgEarthGroundCoverSourcePager::createTerrainSourceTracker ( DtVantageTerrainEngine )
virtual

Creates and returns a DtOsgEarthTerrainSourceTracker.

Implements DtTerrainSourcePager.

virtual void DtOsgEarthGroundCoverSourcePager::updatePageTracker ( DtTerrainIntersectIDType  intersectId = 0)
virtual
virtual void DtOsgEarthGroundCoverSourcePager::setGroundCoverLayer ( osg::ref_ptr< osgEarth::Splat::GroundCoverLayer >  gclayer)
virtual

Set the ground layer associated to the pager.

virtual unsigned int DtOsgEarthGroundCoverSourcePager::groundCoverLod ( ) const
virtual

only lod that the tracker will generate.

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

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

unsigned DtOsgEarthGroundCoverSourcePager::reloadPagesWithinExtent ( const osgEarth::GeoExtent &  extent,
bool  isRemoval = false 
)

Reloads all pages that are already loaded within the extent.

Parameters
extentgeodetic extent of the dynamic feature being added or removed
isRemovalboolean used to determine if the reload is due to a removal or insertion of a dynamic feature
virtual unsigned DtOsgEarthGroundCoverSourcePager::queuePageReloadsWithinExtent ( const osgEarth::GeoExtent &  extent,
const DtUUID dynamicUuid,
bool  isRemoval = false 
)
virtual

Reimplemented from DtTerrainSourcePager.

virtual osg::ref_ptr<osg::MatrixTransform> DtOsgEarthGroundCoverSourcePager::createTree ( const osg::ref_ptr< osgEarth::Feature > &  feature)
virtual

Create an osg tree outline for the simEngine.

virtual bool DtOsgEarthGroundCoverSourcePager::reloadTile ( const osgEarth::TileKey &  tileKey,
bool  isRemoval = false,
unsigned  numEvents = 1 
)
protectedvirtual

Reloads a tile and keeps track of cratering events that affect the tile.

Parameters
tileKeythe TileKey of the tile to reload
isRemovaltrue if the crater is being removed, false if its being added
numEventsthe number of craters for the reload
Returns
true if the tile was reloaded
virtual boost::shared_ptr<DtTileData> DtOsgEarthGroundCoverSourcePager::createTileDataFromGroundCover ( const osgEarth::TileKey &  tilekey,
DtTerrainIntersectIDType  intersectId,
bool  createIfAlreadyLoaded = false 
) const
protectedvirtual

Sets up and returns a new DtTileData object from an osgEarth ground cover.

Parameters
tilekeyTile to create.
intersectIdIntersectId to seed the tileData with for page-out priority.
createIfAlreadyLoadedsetting to true forces it create tile data regardless if it is already loaded.
Returns
Newly created DtTileData.
virtual bool DtOsgEarthGroundCoverSourcePager::pageInTile ( const osgEarth::TileKey &  tileKey,
DtTerrainIntersectIDType  intersectId = 0 
)
protectedvirtual

Load a ground cover terrain patch in memory.

virtual bool DtOsgEarthGroundCoverSourcePager::pageOutTile ( const osgEarth::TileKey &  tileKey)
protectedvirtual

Unload a ground cover terrain patch.

virtual void DtOsgEarthGroundCoverSourcePager::addTile ( const osgEarth::TileKey &  tilekey,
const boost::shared_ptr< DtTileData > &  tile 
)
protectedvirtual

Adds a configured tile data object to the terrain.

Parameters
tilekeyKey for the area which is being enabled on the tile. This is not necessarily the same as the key for the tile model in the tile data. If it is not then it is a descendant of that key.
tileTile data to add. The same tile data may be added multiple times, each time with different tilekey parameter because different subareas of the tile data are being paged in. This is because if we page in tile data due to intersections in one area, there may be higher resolution data in other areas so we have to keep track of which areas have been checked. This is all done in createTileDataFromTileModel.
virtual void DtOsgEarthGroundCoverSourcePager::addEmptyTile ( const osgEarth::TileKey &  tilekey,
DtTerrainIntersectIDType  intersectId = 0 
)
protectedvirtual

Used when a tile cannot be created by osgEarth's tileBuilder. Creates a Terrain Tile with all heights at 0.

Member Data Documentation

DtTreeMap DtOsgEarthGroundCoverSourcePager::myTreeMap
protected

Tree Map.

osgEarth::Splat::GroundCoverFeatureGenerator DtOsgEarthGroundCoverSourcePager::myFeatureGenerator
protected

Used to extract procedural trees/shrub/ect.

osg::ref_ptr<osgEarth::Splat::GroundCoverLayer> DtOsgEarthGroundCoverSourcePager::myGcLayer
protected

ground cover of the pager

DtOsgEarthGroundCoverSourceTracker* DtOsgEarthGroundCoverSourcePager::myOsgTracker
protected

Associated Tracker.

tbb::spin_rw_mutex DtOsgEarthGroundCoverSourcePager::myTileKeysForReloadMutex
mutableprotected

Mutex for the tile reload when dynamic terrain gets modify.

tbb::spin_rw_mutex DtOsgEarthGroundCoverSourcePager::myCreateTreeMutex
protected

Mutex for creating tree geometry.

tbb::task_arena DtOsgEarthGroundCoverSourcePager::myArena
protected

Tbb arena to limit number of threads.

std::set<int> DtOsgEarthGroundCoverSourcePager::myErrorMessages
protected

list of error messages


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)