VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
DtThreeDTileTerrainSourcePager Class Reference

DtThreeDTileTerrainSourcePager is a derived terrainSourcePager that handles a source such as 3d tile.

Inheritance diagram for DtThreeDTileTerrainSourcePager:
Inheritance graph
[legend]

Classes

class  DtActivePageVisitor
 

Public Types

typedef std::map< std::string,
NodePagingRecord
NodePagingRecordMap
 
- 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 )()
 

Public Member Functions

 DtThreeDTileTerrainSourcePager (DtVantageTerrainEngine *terrainEngine, osg::Group *rootNode, makVrf::DtSurfaceCharacteristicMapConstPtr surfaceCharacterMap)
 
virtual ~DtThreeDTileTerrainSourcePager ()
 
virtual DtTerrainSourceTrackercreateTerrainSourceTracker (DtVantageTerrainEngine *)
 
virtual bool pageInGeometry (const DtTerrainPagingGeometryPtr geometry, DtTerrainIntersectIDType intersectId=0)
 
virtual bool pageOutNodes (std::list< DtNodeId > &nodesToRemove)
 
virtual void updatePageTracker (DtTerrainIntersectIDType intersectId=0)
 
virtual const NodePagingRecordMappagedInNodes () const
 
- Public Member Functions inherited from DtBoundingVolumeTerrainSourcePager
 DtBoundingVolumeTerrainSourcePager (DtVantageTerrainEngine *terrainEngine)
 
virtual ~DtBoundingVolumeTerrainSourcePager ()
 
- Public Member Functions inherited from DtTerrainSourcePager
 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 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 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) const
 
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 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)
 

Static Public Member Functions

static DtTerrainSourcePagerterrainChooserFunction (osg::Node &node, DtVantageTerrainEngine *terrainEngine, makVrf::DtSurfaceCharacteristicMapConstPtr surfaceCharacterMap)
 
- 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)
 

Protected Member Functions

osg::Node * terrainRoot ()
 
- 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

osg::ref_ptr< osg::Node > myRootNode
 
osg::Matrix myMatrix
 
NodePagingRecordMap myPagedInNodes
 
makVrf::DtSurfaceCharacteristicMapConstPtr mySurfaceCharacterMap
 
float myGeometricError
 
- 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 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 pathFinderMaxDisjointNetworks
 
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
 
TBool proceduralSimVegetationEnabled
 
- 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
 
- 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

DtThreeDTileTerrainSourcePager::DtThreeDTileTerrainSourcePager ( DtVantageTerrainEngine terrainEngine,
osg::Group *  rootNode,
makVrf::DtSurfaceCharacteristicMapConstPtr  surfaceCharacterMap 
)

Constructor for this class. Typically called from DtVantageTerrainImplementation::creator()

virtual DtThreeDTileTerrainSourcePager::~DtThreeDTileTerrainSourcePager ( )
virtual

Destructor.

Member Function Documentation

virtual DtTerrainSourceTracker* DtThreeDTileTerrainSourcePager::createTerrainSourceTracker ( DtVantageTerrainEngine )
virtual

Creates, sets (myTerrainSourceTracker) and returns a DtTerrainSourceTracker.

Implements DtTerrainSourcePager.

virtual bool DtThreeDTileTerrainSourcePager::pageInGeometry ( const DtTerrainPagingGeometryPtr  geometry,
DtTerrainIntersectIDType  intersectId = 0 
)
virtual

Pages in geometry by using a ThreeDTileGeometryPageInVisitor and updates the tracker.

Implements DtBoundingVolumeTerrainSourcePager.

virtual bool DtThreeDTileTerrainSourcePager::pageOutNodes ( std::list< DtNodeId > &  nodesToRemove)
virtual

Pages out geometry and updates the tracker.

Implements DtBoundingVolumeTerrainSourcePager.

virtual void DtThreeDTileTerrainSourcePager::updatePageTracker ( DtTerrainIntersectIDType  intersectId = 0)
virtual

Updates the DtOsgTerrainSourceTracker.

Implements DtBoundingVolumeTerrainSourcePager.

virtual const NodePagingRecordMap& DtThreeDTileTerrainSourcePager::pagedInNodes ( ) const
virtual

Returns a const reference of all paged in nodes.

static DtTerrainSourcePager* DtThreeDTileTerrainSourcePager::terrainChooserFunction ( osg::Node &  node,
DtVantageTerrainEngine terrainEngine,
makVrf::DtSurfaceCharacteristicMapConstPtr  surfaceCharacterMap 
)
static

This is the function that is registered with the DtTerrainSourceChooser. If node is a osgEarth::Contrib::ThreeDTiles::ThreeDTilesetNode node, then a DtThreeDTileTerrainSourcePager is returned.

osg::Node* DtThreeDTileTerrainSourcePager::terrainRoot ( )
protected

The root node that this pager is operating on.

Member Data Documentation

osg::ref_ptr<osg::Node> DtThreeDTileTerrainSourcePager::myRootNode
protected

The node on which this pager operates.

osg::Matrix DtThreeDTileTerrainSourcePager::myMatrix
protected
NodePagingRecordMap DtThreeDTileTerrainSourcePager::myPagedInNodes
protected

Holds all the nodes which have been paged in.

makVrf::DtSurfaceCharacteristicMapConstPtr DtThreeDTileTerrainSourcePager::mySurfaceCharacterMap
protected
float DtThreeDTileTerrainSourcePager::myGeometricError
protected

3Dtile geometric error (set this in the earth file with <ThreeDTiles vrfsim:geometricError=2.0> it will limit the resolution of the geometry loaded if you don't set it -1 (it will load everything) set to a value from 0.01 to 15.0


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

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)