![]() |
VR-Forces Developer's Guide
|
DtTerrainIntersectOptions Passed to terrain intersect functions to modify how intersect acts. The options specify:
Static Public Member Functions | |
| static const DtTerrainIntersectOptions & | nonBlocking () |
| static const DtTerrainIntersectOptions & | allData_nonBlocking () |
| static const DtTerrainIntersectOptions & | terrainSkin_nonBlocking () |
| static const DtTerrainIntersectOptions & | noVegetation_nonBlocking () |
| static const DtTerrainIntersectOptions & | noVegetationAndStructures_nonBlocking () |
| static const DtTerrainIntersectOptions & | blocking () |
| static const DtTerrainIntersectOptions & | allData_blocking () |
| static const DtTerrainIntersectOptions & | terrainSkin_blocking () |
| static const DtTerrainIntersectOptions & | noVegetation_blocking () |
| static const DtTerrainIntersectOptions & | noVegetationAndStructures_blocking () |
Protected Attributes | |
| DtIntersectionRecord::DtIntersectionType | myIrtFlag |
| DtTerrainCategoryMask | myTerrainCategoryMask |
| bool | myBlockOnDataUnavailable |
| bool | myOverrideBlockingAssert |
| int | myFlags |
| Fidelity | myFidelity |
| bool | myDebug |
| enum | Fidelity { MAX_FIDELITY, LOW_FIDELITY } |
| virtual Fidelity | fidelity () const |
| virtual void | setFidelity (Fidelity f) |
Allows the system to use differently fidelity data for intersecting against. Currently only implemented for osgearth elevation. By default MAX_FIDELITY is used which will use the max resolution data. If this results in inadequate performance and perfect terrain correlation is not needed then this parameter can be set to LOW_FIDELITY.
| Enumerator | |
|---|---|
| MAX_FIDELITY | |
| LOW_FIDELITY | |
| DtTerrainIntersectOptions::DtTerrainIntersectOptions | ( | ) |
Default constructor.
| DtTerrainIntersectOptions::DtTerrainIntersectOptions | ( | bool * | dataAvailable, |
| bool | overrideAssert, | ||
| int | flags | ||
| ) |
Convenience constructor for creating from old API. If the dataAvailable parameter is not null then the options will be setup to be nonblocking, otherwise it will be blocking. This object DOES NOT save the dataAvailable pointer and fill it out with the results, that is the responsibility of the caller.
| DtTerrainIntersectOptions::DtTerrainIntersectOptions | ( | DtTerrainCategoryMask | terrainCategoryMask, |
| DtIntersectionRecord::DtIntersectionType | irtFlag, | ||
| bool | blocking | ||
| ) |
|
virtual |
Specifies which data should be calculated and returned for each intersection point. Defaults to INT_ALL_DATA.
|
virtual |
Specifies which data should be calculated and returned for each intersection point. Defaults to INT_ALL_DATA.
| DtTerrainIntersectOptions DtTerrainIntersectOptions::withIrt | ( | DtIntersectionRecord::DtIntersectionType | irt | ) | const |
| DtTerrainIntersectOptions DtTerrainIntersectOptions::withMask | ( | DtTerrainCategoryMask | mask | ) | const |
|
virtual |
Specified the desired terrain categories that the intersection should include. This argument is a bitfield, so various terrain categories can be ORed together. The default value is DtTerrainCategoryAll, so it will include all terrain.
|
virtual |
Specified the desired terrain categories that the intersection should include. This argument is a bitfield, so various terrain categories can be ORed together. The default value is DtTerrainCategoryAll, so it will include all terrain.
|
virtual |
Functions controlling whether the query will block or not. If the query is set to blocking then the intersection function will not return until all the data is paged in and DtTerrainIntersectStatus::dataAvailable will always be true. If the query is nonblocking then it will only intersect on whatever data is currently loaded (as well as kick off loading of what is missing). If this is the case then DtTerrainIntersectStatus::dataAvailable will return false. Queries using this class are nonblocking by default.
|
virtual |
Set blockOnDataAvailable flag.
|
virtual |
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.Default returns false.
|
virtual |
Set override blocking assert flag.
|
virtual |
Optional flags to pass into the query. The flags are implementation dependent.Default returns 0.
|
virtual |
Set flags.
|
virtual |
Default MAX_FIDELITY.
|
virtual |
Set the fidelity.
|
virtual |
Debug flag which can turn on verbose output for some intersection functions. Not implemented for all calls.
|
virtual |
Debug flag which can turn on verbose output for some intersection functions. Not implemented for all calls.
|
static |
Commonly used options:
Options for a non-blocking intersection. Same as allData_nonBlocking().
|
static |
Options for all terrain categories, non-blocking intersection.
|
static |
Options for terrain skin only, non-blocking intersection.
|
static |
Options for all terrain categories except vegetation, non-blocking intersection.
|
static |
Options for all terrain categories except vegetation and structures, non-blocking intersection.
|
static |
Options for a blocking intersection. Same as allData_blocking()
|
static |
Options for all terrain categories, blocking intersection.
|
static |
Options for terrain skin only, blocking intersection.
|
static |
Options for all terrain categories except vegetation, blocking intersection.
|
static |
Options for all terrain categories except vegetation and structures, blocking intersection.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |