VR-Forces 4.1.1 Class Documentation
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
DtExtentTerrainImplementation Class Reference
Inheritance diagram for DtExtentTerrainImplementation:
Inheritance graph
[legend]

Public Member Functions

 DtExtentTerrainImplementation (DtConsoleCommandManager *cmdMgr)
virtual ~DtExtentTerrainImplementation ()
virtual bool loadTerrain (const makArchives::DtGenericTerrainRecord &record, MAKVRinTerra::DtFeatureLoader &, const TerrainSettings &settings=TerrainSettings())
 Loads a terrain given the terrain record and a key/value pair of settings.
virtual const Coordinate_SystemcoordinateSystem () 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 const
DtTerrainCapabilities
terrainCapabilities () const
virtual void processTrianglesInArea (DtTriangleCallbackFcn func, DtTriangleCallbackFinalizeFcn finalize, const DtTerrainProcessPolygonsBox &box, void *usr)
- Public Member Functions inherited from DtTerrainImplementation
 DtTerrainImplementation (DtConsoleCommandManager *cmdManager)
virtual ~DtTerrainImplementation ()
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 void setIntersectDataLoadExpireTime (const double &expireTime)
 No-op.
virtual void expireDataLoadRequestsBeforeTime (const double &currentTime)
 No-op.
virtual void processTrianglesInArea (DtTriangleCallbackFcn func, DtTriangleCallbackFinalizeFcn finalize, DtTerrainProcessPolygonsBox &box, void *usr) const
virtual void breakUpChords (const MAKVRinTerra::DtProj &, const DtChord &chord, std::vector< DtChord > &chords)
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 DtTerrainImplementationcreate (DtConsoleCommandManager *cmdMgr)

Protected Member Functions

void fillHitRecord (DtChordIntersectionRecord &rec, const DtChord &chord, const DtPoint &chordNormal, double intersectTime, DtIntersectionRecord::DtIntersectionType irtFlag) const
bool chordExtentIntersect (const DtChord &chord, DtChordIntersectionRecord &hit, DtIntersectionRecord::DtIntersectionType irtFlag) const

Protected Attributes

Coordinate_SystemmyCoordinateSystem
DtTerrainCapabilities myCapabilities
- 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

Constructor & Destructor Documentation

DtExtentTerrainImplementation::DtExtentTerrainImplementation ( DtConsoleCommandManager cmdMgr)
virtual DtExtentTerrainImplementation::~DtExtentTerrainImplementation ( )
virtual

Member Function Documentation

static DtTerrainImplementation* DtExtentTerrainImplementation::create ( DtConsoleCommandManager cmdMgr)
static
virtual bool DtExtentTerrainImplementation::loadTerrain ( const makArchives::DtGenericTerrainRecord rec,
MAKVRinTerra::DtFeatureLoader featureLoader,
const TerrainSettings settings = TerrainSettings() 
)
virtual

Loads a terrain given the terrain record and a key/value pair of settings.

These settings are interpreted (or not) by the implementation

Implements DtTerrainImplementation.

virtual const Coordinate_System* DtExtentTerrainImplementation::coordinateSystem ( ) const
virtual
virtual bool DtExtentTerrainImplementation::chordIntersect ( const DtChord chord,
DtChordIntersectionRecord record,
DtIntersectionRecord::DtIntersectionType  irtFlag = DtIntersectionRecord::INT_ALL_DATA,
bool dataAvailable = 0,
bool  overrideBlockingAssert = false 
) const
virtual

Returns topmost intersection of chord with terrain in record.

Parameters
Input
chordthe chord to test
irtFlagspecifies what intersection data should be filled in for the record.
Output
recordthe results of the intersection
dataAvailablePlease 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.
overrideBlockingAssertwhen 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 bool DtExtentTerrainImplementation::allIntersectsAlongChord ( const DtChord chord,
DtChordIntersectRecordList intList,
DtIntersectionRecord::DtIntersectionType  irtFlag = DtIntersectionRecord::INT_ALL_DATA,
bool dataAvailable = 0,
bool  overrideBlockingAssert = false 
) const
virtual

Returns all intersections of chord with terrain.

Parameters
Input
chordthe chord to test
irtFlagspecifies what intersection data should be filled in for the record.
Output
intListthe results of the intersection
dataAvailablePlease 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.
overrideBlockingAssertwhen 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 bool DtExtentTerrainImplementation::sphereIntersect ( const DtSphere sphere,
DtSphereIntersectionRecord record,
DtIntersectionRecord::DtIntersectionType  irtFlag = DtIntersectionRecord::INT_ALL_DATA,
bool dataAvailable = 0,
bool  overrideBlockingAssert = false 
) const
virtual

Returns intersection of a sphere with the terrain.

Parameters
Input
spherethe sphere to test
irtFlagspecifies what intersection data should be filled in for the record.
Output
recordthe results of the intersection
dataAvailablePlease 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.
overrideBlockingAssertwhen 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 const DtTerrainCapabilities* DtExtentTerrainImplementation::terrainCapabilities ( ) const
virtual
Returns
A DtTerrainCapabilites structure that describes the capabilities of the currently loaded terrain.

Implements DtTerrainImplementation.

virtual void DtExtentTerrainImplementation::processTrianglesInArea ( DtTriangleCallbackFcn  func,
DtTriangleCallbackFinalizeFcn  finalize,
const DtTerrainProcessPolygonsBox box,
void *  usr 
)
virtual
void DtExtentTerrainImplementation::fillHitRecord ( DtChordIntersectionRecord rec,
const DtChord chord,
const DtPoint chordNormal,
double  intersectTime,
DtIntersectionRecord::DtIntersectionType  irtFlag 
) const
protected
bool DtExtentTerrainImplementation::chordExtentIntersect ( const DtChord chord,
DtChordIntersectionRecord hit,
DtIntersectionRecord::DtIntersectionType  irtFlag 
) const
protected

Member Data Documentation

Coordinate_System* DtExtentTerrainImplementation::myCoordinateSystem
protected
DtTerrainCapabilities DtExtentTerrainImplementation::myCapabilities
protected

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

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)