25 #include <tbb/atomic.h>
26 #include <tbb/spin_rw_mutex.h>
28 #include <boost/unordered_map.hpp>
29 #include <boost/optional.hpp>
31 #include <osgEarth/TileKey>
33 typedef boost::unordered_multimap<DtNodeId, boost::shared_ptr<btCollisionObject> >
DtNodeToCollObjMMap;
34 typedef std::pair<DtNodeToCollObjMMap::iterator, DtNodeToCollObjMMap::iterator>
51 myPt0 = chord->endpoint0();
52 myPt1 = chord->endpoint1();
97 virtual boost::optional<DtTerrainIntersectOptions::Fidelity> intersectFidelity()
const;
125 virtual void pageOutOldestData(
const int priority) = 0;
128 virtual void addNodesToCollisionMapping(
DtNodeId node,
132 virtual void removeNodeToCollisionMappings(
DtNodeId node);
138 virtual osgEarth::MapNode* mapNode()
const;
141 virtual const osgEarth::Profile* profile()
const;
147 virtual void setLabel(
const DtString&);
150 virtual void printInfo()
const;
162 virtual unsigned getMaxLODForBilinearIntersection()
const;
165 virtual double intersetionTriangleMergeTolerance()
const;
168 virtual bool useLandCoverData()
const;
171 virtual bool useLifeMapLayer()
const;
174 virtual void getSoilFromString(
const std::string & soilType,
DtSurface& surface)
const;
177 virtual double triangleOutputMergeTolerance()
const;
180 virtual unsigned minElevationIndexLOD()
const;
183 virtual unsigned maxElevationIndexLOD()
const;
186 virtual unsigned maxLOD()
const;
189 virtual bool useRawElevation()
const;
192 virtual osgEarth::TileKey getBestTileKey(
const osgEarth::TileKey&)
const;
196 virtual bool findTileInCache(
const DtTerrainPagingGeometry* geometry, std::vector< boost::shared_ptr<DtTileData> >& data,
197 const DtChord* chord=NULL)
const;
202 virtual void addTileToCache(
const boost::shared_ptr<DtTileData>& data,
const DtChord* chord = NULL);
205 virtual void clearTileCache();
209 virtual unsigned minElevationTileLoadingLOD()
const;
210 virtual void setMinElevationTileLoading(
unsigned lod);
252 virtual bool operator()(
const boost::shared_ptr<DtTileData>& tile) = 0;
254 virtual bool finish()
const {
return myIsFinished; }
255 virtual void setFinish(
bool finish) { myIsFinished=finish; }
DtTileData is tracked by the DtOsgEarthTerrainSourceTracker for paging out tiles. ...
Definition: tileData.h:38
NOTE: This entire class is deprecated, in favor of Dt3dChord.
Definition: chord.h:40
Class DtTerrainInterfaceConfig is a readable-writable class holding terrain interface configuration o...
Definition: terrainInterfaceConfig.h:32
DtBoost::shared_ptr< DtTerrainPagingGeometry > DtTerrainPagingGeometryPtr
Definition: terrainPagingGeometry.h:46
TileCache(boost::shared_ptr< DtTileData > tilePointer, const DtChord *chord=NULL)
Definition: terrainSourceTracker.h:44
DtPoint myPt1
Definition: terrainSourceTracker.h:67
std::vector< makVrf::DtLine > terrainLineList
Lines structure/calls/list.
Definition: debugDrawTerrainOutputInterface.h:103
DtString myLabel
map node for whole terrain
Definition: terrainSourceTracker.h:215
bool myIsChord
Definition: terrainSourceTracker.h:65
unsigned long long DtTerrainIntersectIDType
Definition: terrainInterfaceDefines.h:28
tbb::atomic< int > myTileCacheQuery
map node for whole terrain
Definition: terrainSourceTracker.h:239
tbb::spin_rw_mutex myMutex
map node for whole terrain
Definition: terrainSourceTracker.h:223
Definition: surface.h:181
boost::unordered_multimap< DtNodeId, boost::shared_ptr< btCollisionObject > > DtNodeToCollObjMMap
Definition: terrainSourceTracker.h:33
tbb::concurrent_queue< DtTerrainPagerCommand * > DtPagerCommandQueue
Definition: vantageTerrainImplementationUtil.h:41
DtPagerCommandQueue * myCommandQueue
map node for whole terrain
Definition: terrainSourceTracker.h:219
bool myIsFinished
Definition: terrainSourceTracker.h:259
const osg::ref_ptr< osgEarth::MapNode > myMapNode
map node for whole terrain
Definition: terrainSourceTracker.h:230
TileCache(const TileCache &tile)
Definition: terrainSourceTracker.h:55
TileDataCallback()
Definition: terrainSourceTracker.h:250
Definition: coordSystem.h:54
DtVantageTerrainEngine * myVantageTerrainEngine
map node for whole terrain
Definition: terrainSourceTracker.h:227
DtTerrainSourcePager * myPager
map node for whole terrain
Definition: terrainSourceTracker.h:244
boost::shared_ptr< DtTileData > myTilePointer
Definition: terrainSourceTracker.h:64
std::pair< DtNodeToCollObjMMap::iterator, DtNodeToCollObjMMap::iterator > DtNodeToCollObjRangePair
Definition: terrainSourceTracker.h:35
std::list< DtSphere2 > DtNodeBoundingList
Definition: sphere2.h:20
Base class for Terrain Source trackers. Determines if the necessary data To perform an intersection i...
Definition: terrainSourceTracker.h:75
const osgEarth::Map * myMap
map node for whole terrain
Definition: terrainSourceTracker.h:231
unsigned myMinElevationTileLoadingLOD
Min lod an elevation tile can loaded.
Definition: terrainSourceTracker.h:242
Definition: terrainSourceTracker.h:247
virtual bool finish() const
Definition: terrainSourceTracker.h:254
const osgEarth::Profile * myMapProfile
map node for whole terrain
Definition: terrainSourceTracker.h:232
Abstract base class for defining geometric areas for paging of terrain. Subclasses of this class will...
Definition: terrainPagingGeometry.h:24
DtNodeToCollObjMMap myNodeToCollObjMMap
map node for whole terrain
Definition: terrainSourceTracker.h:221
DtTerrainInterfaceConfig myConfig
map node for whole terrain
Definition: terrainSourceTracker.h:217
#define DT_DLL_vantageTerrainImplementation
This file is used to determine how to build.
Definition: vantageTerrainImplementationDefines.h:28
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
tbb::spin_rw_mutex myTileCacheMutex
map node for whole terrain
Definition: terrainSourceTracker.h:225
This class wraps the VR-Vantage Display Engine, and uses as a terrain loader and intersector. This is the terrain engine that powers the DtVantageTerrainImplementation. The DtVantageTerrainEngine runs the DtDe it its own thread, and processes commands thought the command queue.
Definition: vantageTerrainEngine.h:109
virtual void setFinish(bool finish)
Definition: terrainSourceTracker.h:255
std::vector< TileCache > tileDataCacheVector
Definition: terrainSourceTracker.h:70
DtBoost::shared_ptr< DtPagingMetaData > DtPagingMetaDataPtr
Definition: terrainPagingGeometry.h:101
tileDataCacheVector myTileDataCache
Tile Data cache to speed up intersections.
Definition: terrainSourceTracker.h:235
DtPoint myPt0
Definition: terrainSourceTracker.h:66
std::list< boost::shared_ptr< btCollisionObject > > DtCollisionObjectList
Definition: bulletUtil.h:49
Definition: terrainSourceTracker.h:41
tbb::atomic< int > myTileCacheHit
Stats for cache.
Definition: terrainSourceTracker.h:238
Interface to query terrain polygon.