VR-Forces 4.0.4 Class Documentation
Public Member Functions | Static Public Member Functions | Protected Attributes
DtOsgEarthTerrainImplementation Class Reference

This terrain implementation reads in a .earth file to get elevation from an outside source. More...

Inheritance diagram for DtOsgEarthTerrainImplementation:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 DtOsgEarthTerrainImplementation (DtConsoleCommandManager *)
virtual ~DtOsgEarthTerrainImplementation ()
virtual bool loadTerrain (const makArchives::DtGenericTerrainRecord &record, 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 bool intersectVectorNetwork (const DtChord &chord, DtVectorNetworkRecord *vectorRecord, DtVectorNetworkIntersectionRecord *vectorIntersectionRecord) const
 User passes in the chord to intersect the vector network and the vectorRecord defining the desired search parameters like the kind of features to be searched.
virtual const
DtTerrainCapabilities
terrainCapabilities () const
virtual bool chordIsVertical (const DtChord &chord) const
virtual const DtVectorNetworkvectorNetwork () const

Static Public Member Functions

static DtTerrainImplementationcreate (DtConsoleCommandManager *)

Protected Attributes

Coordinate_SystemmyCoordinateSystem
osgEarth::Util::ElevationManager * myElevationManager
 Used to get just the highest possible LODs.
DtVectorNetworkmyVectorNetwork

Detailed Description

This terrain implementation reads in a .earth file to get elevation from an outside source.

Here is a sample .earth file:

<map name="srtm sample" type="globe">

<image name="pelican nasa blue marble" driver="tms"> <url>http://demo.pelicanmapping.com/rmweb/data/bluemarble-tms/tms.xml</url> </image>

<heightfield name="pelican srtm" driver="tms"> <url>http://demo.pelicanmapping.com/rmweb/data/srtm30_plus_tms/tms.xml</url> </heightfield>

<vertical_scale>2</vertical_scale> <skirt_ratio>0.01</skirt_ratio> <sample_ratio>0.25</sample_ratio>

<cache> <path>../../appData/cache</path> </cache>

</map>


Constructor & Destructor Documentation


Member Function Documentation

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 bool DtOsgEarthTerrainImplementation::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 DtOsgEarthTerrainImplementation::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 DtOsgEarthTerrainImplementation::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 bool DtOsgEarthTerrainImplementation::intersectVectorNetwork ( const DtChord chord,
DtVectorNetworkRecord vectorRecord,
DtVectorNetworkIntersectionRecord vectorIntersectionRecord 
) const [virtual]

User passes in the chord to intersect the vector network and the vectorRecord defining the desired search parameters like the kind of features to be searched.

Returns the best feature intersection and associated data in the vectorIntersectionRecord if there is an intersection. Returns false if there is no intersection.

Implements DtTerrainImplementation.

Returns:
A DtTerrainCapabilites structure that describes the capabilities of the currently loaded terrain.

Implements DtTerrainImplementation.

virtual bool DtOsgEarthTerrainImplementation::chordIsVertical ( const DtChord chord) const [virtual]

Member Data Documentation

osgEarth::Util::ElevationManager* DtOsgEarthTerrainImplementation::myElevationManager [protected]

Used to get just the highest possible LODs.


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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)