![]() |
VR-Forces 4.1 Class Documentation
|
This terrain implementation is an algorithmic representation of the world as a bald ellipsoid defined by WGS84. More...

Public Member Functions | |
| DtVantageTerrainImplementation (DtConsoleCommandManager *cmdMgr) | |
| virtual | ~DtVantageTerrainImplementation () |
| virtual bool | loadTerrain (const makArchives::DtGenericTerrainRecord &record, MAKVRinTerra::DtFeatureLoader &, const TerrainSettings &settings=TerrainSettings()) |
| Will set the UserDataDirectory and DataDirectory into the De's path configuration. | |
| virtual const Coordinate_System * | coordinateSystem () const |
| virtual bool | chordIntersect (const DtChord &chord, DtChordIntersectionRecord &record, DtIntersectionRecord::DtIntersectionType irtFlag=DtIntersectionRecord::INT_ALL_DATA, bool *dataAvailable=0, bool overrideBlockingAssert=false) const |
| Returns topmost intersection of chord with terrain in record. | |
| virtual bool | allIntersectsAlongChord (const DtChord &chord, DtChordIntersectRecordList &intList, DtIntersectionRecord::DtIntersectionType irtFlag=DtIntersectionRecord::INT_ALL_DATA, bool *dataAvailable=0, bool overrideBlockingAssert=false) const |
| Returns all intersections of chord with terrain. | |
| virtual bool | sphereIntersect (const DtSphere &sphere, DtSphereIntersectionRecord &record, DtIntersectionRecord::DtIntersectionType irtFlag=DtIntersectionRecord::INT_ALL_DATA, bool *dataAvailable=0, bool overrideBlockingAssert=false) const |
| Returns intersection of a sphere with the terrain. | |
| virtual void | preloadTerrainAreas (const DtTerrainPagingGeometryList &preloadGeometry) |
| Specifies a list of terrain areas that should be preloaded by the terrain implementation, in the case of a paging or streaming terrain source. | |
| virtual const DtTerrainCapabilities * | terrainCapabilities () const |
| virtual void | loadData (DtPagingMetaDataPtr metaData, DtTerrainPagingGeometryPtr geometry, bool *dataAvailable, bool overrideBlockingAssert=false) const |
| Verifies that all data is loaded along the specified chord. | |
| virtual const unsigned int | lastIntersectId () const |
| virtual void | loadConfigurationFile (const DtFilename &filename) |
| virtual const DtTerrainConfigurationOptions * | configurationOptions () const |
| virtual DtPagingMetaDataPtr | createMetaData (bool *dataAvailable, int intersectId) const |
| virtual void | setIntersectDataLoadExpireTime (const double &expireTime) |
| No-op. | |
| virtual void | expireDataLoadRequestsBeforeTime (const double ¤tTime) |
| No-op. | |
| virtual void | processTrianglesInArea (DtTriangleCallbackFcn func, DtTriangleCallbackFinalizeFcn finalize, DtTerrainProcessPolygonsBox &box, void *usr) const |
| void | forceTerrainPagingInBox (DtTerrainProcessPolygonsBox &box) const |
| virtual void | breakUpChords (const MAKVRinTerra::DtProj &, const DtChord &chord, std::vector< DtChord > &chords) |
Public Member Functions inherited from DtTerrainImplementation | |
| DtTerrainImplementation (DtConsoleCommandManager *cmdManager) | |
| virtual | ~DtTerrainImplementation () |
| virtual void | setAssertOnBlockingTerrainCalls (bool assertBlock) |
| Determines if an exception should be thrown if a blocking terrain call is made. | |
| virtual bool | assertOnBlockingTerrainCalls () const |
| Determines if an exception should be thrown if a blocking terrain call is made. | |
Static Public Member Functions | |
| static DtTerrainImplementation * | create (DtConsoleCommandManager *cmdMgr) |
| static DtVantageTerrainImplementationCreator * | creator () |
Protected Attributes | |
| Coordinate_System * | myCoordinateSystem |
| DtSharedMemoryBulletDebugDrawer * | myBulletDebugDrawer |
| unsigned int | myLastIntersectId |
| DtActivePageTracker * | myActivePageTracker |
| DtCollisionWorld * | myCollisionWorld |
| DtVantageTerrainEngine * | myVantageTerrainEngine |
| DtConsoleCommandOwner * | myCommandOwner |
| DtTerrainCapabilities | myCapabilities |
| DtTerrainConfigurationOptions * | myTerrainOptions |
| DtFilename | myTerrainOptionsFilename |
| DtPreloadCommandManager * | myPreloadCommandManager |
| double | myIntersectDataLoadExpireTime |
| bool | myThreadShutdown |
| tbb::tbb_thread * | myPreloadCommandThread |
| tbb::mutex | myShutdownMutex |
Protected Attributes inherited from DtTerrainImplementation | |
| bool | myAssertOnBlockingTerrainCalls |
| Determines if an exception should be thrown if a blocking terrain call is made. | |
| TerrainSettings | mySettings |
| Settings used for this implementation. | |
Additional Inherited Members | |
Public Types inherited from DtTerrainImplementation | |
| typedef std::map< std::string, std::string > | TerrainSettings |
This terrain implementation is an algorithmic representation of the world as a bald ellipsoid defined by WGS84.
All soil types are returned as the undefined soil type.
| DtVantageTerrainImplementation::DtVantageTerrainImplementation | ( | DtConsoleCommandManager * | cmdMgr | ) |
|
virtual |
|
virtual |
Will set the UserDataDirectory and DataDirectory into the De's path configuration.
Implements DtTerrainImplementation.
|
virtual |
Implements DtTerrainImplementation.
|
virtual |
Returns topmost intersection of chord with terrain in record.
| Input | |
| chord | the chord to test |
| irtFlag | specifies what intersection data should be filled in for the record. |
| Output | |
| record | the results of the intersection |
| dataAvailable | Please see "Synchronous and asynchronous calls with paged terrains" in DtTerrainInterface for information on how to specify that this function be blocking or non-blocking. If this parameter is specified and the required terrain data is not yet paged in, this call will return immediately and dataAvailable will be set to false. |
| overrideBlockingAssert | when set to true this parameter will prevent an assertion from being thrown when the terrain implementation has myAssertOnBlockingTerrainCalls set to true. This should only be done when the call is being made from outside the main simulation thread and a blocking call would not cause a a problem. |
Implements DtTerrainImplementation.
|
virtual |
Returns all intersections of chord with terrain.
| Input | |
| chord | the chord to test |
| irtFlag | specifies what intersection data should be filled in for the record. |
| Output | |
| intList | the results of the intersection |
| dataAvailable | Please see "Synchronous and asynchronous calls with paged terrains" in DtTerrainInterface for information on how to specify that this function be blocking or non-blocking. If this parameter is specified and the required terrain data is not yet paged in, this call will return immediately and dataAvailable will be set to false. |
| overrideBlockingAssert | when set to true this parameter will prevent an assertion from being thrown when the terrain implementation has myAssertOnBlockingTerrainCalls set to true. This should only be done when the call is being made from outside the main simulation thread and a blocking call would not cause a a problem. |
Implements DtTerrainImplementation.
|
virtual |
Returns intersection of a sphere with the terrain.
| Input | |
| sphere | the sphere to test |
| irtFlag | specifies what intersection data should be filled in for the record. |
| Output | |
| record | the results of the intersection |
| dataAvailable | Please see "Synchronous and asynchronous calls with paged terrains" in DtTerrainInterface for information on how to specify that this function be blocking or non-blocking. If this parameter is specified and the required terrain data is not yet paged in, this call will return immediately and dataAvailable will be set to false. |
| overrideBlockingAssert | when set to true this parameter will prevent an assertion from being thrown when the terrain implementation has myAssertOnBlockingTerrainCalls set to true. This should only be done when the call is being made from outside the main simulation thread and a blocking call would not cause a a problem. |
Implements DtTerrainImplementation.
|
virtual |
Specifies a list of terrain areas that should be preloaded by the terrain implementation, in the case of a paging or streaming terrain source.
The typical use of this is to specify parts of the terrain that are expected to be needed in the near future.
The terrain may not be loaded immediately upon making this call, and there is no guarantee that the terrain areas will be available for intersection immediately after making this call.
| preloadGeometry | A list of the geometric areas that should be preloaded. They can be specified using any of the subclasses of DtTerrainPagingGeometry. |
Reimplemented from DtTerrainImplementation.
|
virtual |
Implements DtTerrainImplementation.
|
static |
|
virtual |
Verifies that all data is loaded along the specified chord.
If not, and dataAvailable is NULL, this function will block while the data is loaded. If dataAvailable non-NULL, then it is set to false, and the function returns. A command to load the data is passed to the terrain engine thread.
|
inlinevirtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
No-op.
Override to set the default expiration time for data load requests generated by intersect calls that require data that has not yet been loaded (paged-in).
| expireTime | The expiration time to be assigned to load data requests generated by intersect calls on the terrain implementation. |
Reimplemented from DtTerrainImplementation.
|
virtual |
No-op.
Override to expire data load requests generated before the given time. See comment for #setIntersectLoadDataExpireTime.
| currentTime | The time to compare to data load requests to determine if they should be expired rather than executed. |
Reimplemented from DtTerrainImplementation.
|
virtual |
Reimplemented from DtTerrainImplementation.
|
static |
| void DtVantageTerrainImplementation::forceTerrainPagingInBox | ( | DtTerrainProcessPolygonsBox & | box | ) | const |
|
virtual |
Reimplemented from DtTerrainImplementation.
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |