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 Member Functions | Static Public Member Functions | Protected Attributes
DtMetaflightTerrainSourcePager Class Reference

DtMetaflightTerrainSourcePager is a derived terrainSourcePager that handles metaflight terrains.

Inheritance diagram for DtMetaflightTerrainSourcePager:
Inheritance graph
[legend]

Classes

class  DtMetaflightTerrainVisitor
 

Public Member Functions

 DtMetaflightTerrainSourcePager (DtVantageTerrainEngine *terrainEngine, osg::Group *rootNode, makVrf::DtSurfaceCharacteristicMapConstPtr surfaceCharacterMap)
 
virtual ~DtMetaflightTerrainSourcePager ()
 
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)
 
- 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)
 
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 Attributes

osg::Group * myRootNode
 
DtHierNodeBoundingVolumeMap myPagedInNodes
 
DtHierNodeBoundingVolumeMap myPagedOutNodes
 
makVrf::DtSurfaceCharacteristicMapConstPtr mySurfaceCharacterMap
 
- 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 )()
 
- 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
 
- 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)
 
- 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
 

Constructor & Destructor Documentation

DtMetaflightTerrainSourcePager::DtMetaflightTerrainSourcePager ( DtVantageTerrainEngine terrainEngine,
osg::Group *  rootNode,
makVrf::DtSurfaceCharacteristicMapConstPtr  surfaceCharacterMap 
)
virtual DtMetaflightTerrainSourcePager::~DtMetaflightTerrainSourcePager ( )
virtual

Member Function Documentation

virtual DtTerrainSourceTracker* DtMetaflightTerrainSourcePager::createTerrainSourceTracker ( DtVantageTerrainEngine )
virtual

Creates and returns a DtOsgTerrainSourceTracker.

Implements DtTerrainSourcePager.

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

This function must page in all the geometry specified by the argument, and return true when successful. If this method returns false, it will be called again later, until it returns true or times out.

Implements DtBoundingVolumeTerrainSourcePager.

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

This function must cause the page out of the nodeIds specified. It should return true when successful. It will be called repeatedly with the same arguments until it succeeds.

Implements DtBoundingVolumeTerrainSourcePager.

virtual void DtMetaflightTerrainSourcePager::updatePageTracker ( DtTerrainIntersectIDType  intersectId = 0)
virtual
static DtTerrainSourcePager* DtMetaflightTerrainSourcePager::terrainChooserFunction ( osg::Node &  node,
DtVantageTerrainEngine terrainEngine,
makVrf::DtSurfaceCharacteristicMapConstPtr  surfaceCharacterMap 
)
static

This is the function that is registered with the DtTerrainSourceChooser. If node is a DtHierarchicalPagedLod node, then a DtMetaflightTerrainSourcePager is returned.

Member Data Documentation

osg::Group* DtMetaflightTerrainSourcePager::myRootNode
protected
DtHierNodeBoundingVolumeMap DtMetaflightTerrainSourcePager::myPagedInNodes
protected

This is the list of nodes for only the LODs that we will page into the terrain.

DtHierNodeBoundingVolumeMap DtMetaflightTerrainSourcePager::myPagedOutNodes
protected
makVrf::DtSurfaceCharacteristicMapConstPtr DtMetaflightTerrainSourcePager::mySurfaceCharacterMap
protected

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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)