![]() |
VR-Forces Developer's Guide
|

Public Member Functions | |
| TileData (const DtTerrainSourceTracker &tracker, const osgEarth::TileKey &key) | |
| virtual DtTerrainIntersectIDType | getLastUsed () const override |
| virtual bool | updateLastUsed (DtTerrainIntersectIDType value) override |
| virtual bool | addActiveTileKey (const osgEarth::TileKey &key) override |
| virtual void | recomputeActiveTileKeyAreas () override |
| virtual bool | insideValidArea (const DtPoint &p) const override |
| virtual bool | extentInsideValidArea (unsigned x1, unsigned y1, unsigned x2, unsigned y2) const override |
| virtual bool | extentOutsideValidArea (unsigned x1, unsigned y1, unsigned x2, unsigned y2) const override |
| virtual bool | getLandCoverName (const DtPoint &pt, std::string &landCoverName, bool &dataAvailable, bool blockOnUnavailable) const override |
| virtual int | getLandCoverValue (const DtPoint &pt, bool &dataAvailable, bool blockOnUnavailable) const override |
Public Member Functions inherited from DtTileData | |
| DtTileData (const DtTerrainSourceTracker &tracker, const osgEarth::TileKey &key) | |
| virtual | ~DtTileData () |
| virtual bool | inUse () const |
| bool | setSoilType (const DtPoint &geodeticPt, DtSurface &surface, bool blockIfUnavailable, bool &landDataAvailable) const |
| DtSurface | setSoilType (const DtTerrainTriangleStruct &tri, bool blockIfUnavailable) const |
| virtual void | addMaskExtents (const Extent::Vector &extents) |
| virtual void | addMaskExtent (const Extent &extent) |
| virtual void | removeMaskExtent (const Extent &extent) |
| virtual void | getMaskExtents (Extent::Vector &extents) |
| virtual std::string | description () const =0 |
| virtual unsigned | numberOfVertices () const =0 |
| virtual unsigned | numberOfTrianglesForVertices () const |
| virtual void | getTriangleVerticesGridSpaced (unsigned xindex, unsigned yindex, double &x, double &y) const =0 |
| virtual void | getTriangleVertices (unsigned xindex, unsigned yindex, double &x, double &y) const =0 |
| virtual void | getTriangleIndices (double x, double y, unsigned &xindex, unsigned &yindex) const =0 |
| virtual double | getTriangleIdxVsHeightFieldIdxRatio () const |
| virtual double | interpolateHeight (unsigned triangleXIndex, unsigned triangleYIndex, unsigned *heightFieldXUsed=0, unsigned *heightFieldYUsed=0) const =0 |
| virtual double | heightField (unsigned col, unsigned row) const =0 |
| unsigned | numberOfTriangles () const |
| virtual bool | findIntersectionsNonRecursive (const DtChord &chord, unsigned x1, unsigned y1, unsigned x2, unsigned y2, DtVrfChordIntersectRecordList &intList, const DtTerrainIntersectOptions &options, DtIntersectionRecord::DtIntersectionType irtFlag) const |
| virtual bool | findIntersections (const DtChord &chord, DtVrfChordIntersectRecordList &intList, const DtTerrainIntersectOptions &options) const =0 |
| virtual void | findTriangles (const DtTerrainProcessPolygonsBox &box, unsigned x1, unsigned y1, unsigned x2, unsigned y2, DtTriangleOutputInterface &, bool singleCell=false, bool insideValidAreaChecked=false) const |
| virtual void | findTriangles (const DtTerrainProcessPolygonsBox &box, DtTriangleOutputInterface &) const =0 |
| virtual osgEarth::FeatureList & | groundFeatureList () |
| virtual void | forceLoadAllData (bool isBlocking=true) |
Protected Types | |
| typedef std::set < osgEarth::TileKey > | TileKeySet |
Protected Attributes | |
| std::atomic < DtTerrainIntersectIDType > | myLastUsed |
| TileKeySet | myInactiveTileKeys |
| TileKeySet | myActiveTileKeys |
| tbb::spin_rw_mutex | myInactiveAreasMutex |
| Extent::Vector | myInactiveAreas |
| IndexExtent::Vector | myInactiveIndexAreas |
Protected Attributes inherited from DtTileData | |
| tbb::spin_rw_mutex | maskExtentsMutex |
| Extent::Vector | maskExtents |
| Extent::Vector | unSimplifiedMaskExtents |
| IndexExtent::Vector | maskIndexExtents |
| osgEarth::FeatureList | myGroundFeatureList |
Additional Inherited Members | |
Public Types inherited from DtTileData | |
| enum | TileType { Normal, Empty } |
Public Attributes inherited from DtTileData | |
| const DtTerrainSourceTracker & | tracker |
| double | elevationTolerance |
| CS_Type | cstype |
| const osgEarth::TileKey | tileKey |
| osg::ref_ptr < osgEarth::TerrainTileModel > | tileModel |
| Extent | extent |
| DtExtent | dtExtent |
| const osgEarth::TileKey & | myKey |
| TileType | type |
| std::vector< osg::ref_ptr < osg::Node > > | geometries |
| std::vector< osg::ref_ptr < osg::Node > > | features |
| std::vector< osgEarth::TileKey > | featuresTileKey |
| std::vector< std::string > | featuresLayerName |
| std::atomic< unsigned int > | numTriangles |
| bool | blacklist |
| bool | pendingRemoval |
Protected Member Functions inherited from DtTileData | |
| virtual void | checkIntersect (const DtChord &chord, const int &cellX, const int &cellY, DtVrfChordIntersectRecordList &intList, const DtTerrainIntersectOptions &options, DtIntersectionRecord::DtIntersectionType irtFlag, bool tileLargeEnoughForBilinear, bool &foundIntersection) const |
|
protected |
| TileData::TileData | ( | const DtTerrainSourceTracker & | tracker, |
| const osgEarth::TileKey & | key | ||
| ) |
|
overridevirtual |
Return the last intersect id which touch this tile.
Implements DtTileData.
|
overridevirtual |
Update last intersect id.
Implements DtTileData.
|
overridevirtual |
Activate this tile (i.e a subregion) of this tile. This complexity is b/c sometimes tiles are only valid for a portion of their extent since there is higher resolution data available for certain subtiles. All the various subtiles (up to the max lod) have to be checked and only once we are sure there is no higher res data can we use that region in this tile.
Implements DtTileData.
|
overridevirtual |
Should be called to enable a tilekey subarea once everything else needed for it is setup. This would be do automatically in addActiveTileKey but that function needs to be called before the masks and skirt geometry are dealt with in order to reject multiple page ins. The area can only be enabled after that is all done though, otherwise there might be some intersections done on the masked out area b/c it is not setup yet.
Implements DtTileData.
Returns true if the point is inside a valid area. Invalid areas are areas which are covered by a mask (i.e. an cut in), have higher resolution elevation data, or have not been checked for higher resolution data yet. Does not use mask tolerance.
Reimplemented from DtTileData.
|
overridevirtual |
Returns true if the extent is entirely inside a valid area (doesn't intersect any invalid areas). Invalid areas are areas which are covered by a mask (i.e. an cut in), have higher resolution elevation data, or have not been checked for higher resolution data yet. Coordinates are triangle indices.
Reimplemented from DtTileData.
|
overridevirtual |
Returns true if the extent is entirely outside the valid area. This means that there is no data to intersect with in this extent in this tile. This function is generally used for optimization and may return false even if the extent actually is completely outside the valid area. Coordinates are triangle indices.
Reimplemented from DtTileData.
|
overridevirtual |
Return the land cover name for a location.
Implements DtTileData.
|
overridevirtual |
Return the land cover index value for a location.
Implements DtTileData.
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |