VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Attributes
DtTerrainIntersectOptions Class Reference

DtTerrainIntersectOptions Passed to terrain intersect functions to modify how intersect acts. The options specify:

Public Member Functions

 DtTerrainIntersectOptions ()
 
 DtTerrainIntersectOptions (bool *dataAvailable, bool overrideAssert, int flags)
 
 DtTerrainIntersectOptions (DtTerrainCategoryMask terrainCategoryMask, DtIntersectionRecord::DtIntersectionType irtFlag, bool blocking)
 
DtTerrainIntersectOptions withIrt (DtIntersectionRecord::DtIntersectionType irt) const
 
DtTerrainIntersectOptions withMask (DtTerrainCategoryMask mask) const
 
virtual
DtIntersectionRecord::DtIntersectionType 
irtFlag () const
 
virtual void setIrtFlag (DtIntersectionRecord::DtIntersectionType irt)
 
virtual DtTerrainCategoryMask terrainCategoryMask () const
 
virtual void setTerrainCategoryMask (DtTerrainCategoryMask mask)
 
virtual bool blockOnDataUnavailable () const
 
virtual void setBlockOnDataUnavailable (bool block=true)
 
virtual bool overrideBlockingAssert () const
 
virtual void setOverrideBlockingAssert (bool overrideAssert=true)
 
virtual int flags () const
 
virtual void setFlags (int f)
 
virtual bool debug () const
 
virtual void setDebug (bool d)
 

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)
 

Member Enumeration Documentation

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 

Constructor & Destructor Documentation

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 
)

Member Function Documentation

virtual DtIntersectionRecord::DtIntersectionType DtTerrainIntersectOptions::irtFlag ( ) const
virtual

Specifies which data should be calculated and returned for each intersection point. Defaults to INT_ALL_DATA.

virtual void DtTerrainIntersectOptions::setIrtFlag ( DtIntersectionRecord::DtIntersectionType  irt)
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
Returns
A DtTerrainIntersectOptions copy with the irt flag changed to the value specified.
DtTerrainIntersectOptions DtTerrainIntersectOptions::withMask ( DtTerrainCategoryMask  mask) const
Returns
A DtTerrainIntersectOptions copy with the terrain category mask changed to teh specified value.
virtual DtTerrainCategoryMask DtTerrainIntersectOptions::terrainCategoryMask ( ) 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.

Note
Some terrain sources don't have information on the terrain categories included in the data, so terrain intersections may include terrain elements that are included in categories that are excluded.
This parameter should be used primarily for performance improvements by ignoring some aspects of the terrain that are not required for some calls.
virtual void DtTerrainIntersectOptions::setTerrainCategoryMask ( DtTerrainCategoryMask  mask)
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.

Note
Some terrain sources don't have information on the terrain categories included in the data, so terrain intersections may include terrain elements that are included in categories that are excluded.
This parameter should be used primarily for performance improvements by ignoring some aspects of the terrain that are not required for some calls.
virtual bool DtTerrainIntersectOptions::blockOnDataUnavailable ( ) const
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 void DtTerrainIntersectOptions::setBlockOnDataUnavailable ( bool  block = true)
virtual

Set blockOnDataAvailable flag.

virtual bool DtTerrainIntersectOptions::overrideBlockingAssert ( ) const
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 void DtTerrainIntersectOptions::setOverrideBlockingAssert ( bool  overrideAssert = true)
virtual

Set override blocking assert flag.

virtual int DtTerrainIntersectOptions::flags ( ) const
virtual

Optional flags to pass into the query. The flags are implementation dependent.Default returns 0.

virtual void DtTerrainIntersectOptions::setFlags ( int  f)
virtual

Set flags.

virtual Fidelity DtTerrainIntersectOptions::fidelity ( ) const
virtual

Default MAX_FIDELITY.

virtual void DtTerrainIntersectOptions::setFidelity ( Fidelity  f)
virtual

Set the fidelity.

virtual bool DtTerrainIntersectOptions::debug ( ) const
virtual

Debug flag which can turn on verbose output for some intersection functions. Not implemented for all calls.

virtual void DtTerrainIntersectOptions::setDebug ( bool  d)
virtual

Debug flag which can turn on verbose output for some intersection functions. Not implemented for all calls.

static const DtTerrainIntersectOptions& DtTerrainIntersectOptions::nonBlocking ( )
static

Commonly used options:

Options for a non-blocking intersection. Same as allData_nonBlocking().

static const DtTerrainIntersectOptions& DtTerrainIntersectOptions::allData_nonBlocking ( )
static

Options for all terrain categories, non-blocking intersection.

static const DtTerrainIntersectOptions& DtTerrainIntersectOptions::terrainSkin_nonBlocking ( )
static

Options for terrain skin only, non-blocking intersection.

static const DtTerrainIntersectOptions& DtTerrainIntersectOptions::noVegetation_nonBlocking ( )
static

Options for all terrain categories except vegetation, non-blocking intersection.

static const DtTerrainIntersectOptions& DtTerrainIntersectOptions::noVegetationAndStructures_nonBlocking ( )
static

Options for all terrain categories except vegetation and structures, non-blocking intersection.

static const DtTerrainIntersectOptions& DtTerrainIntersectOptions::blocking ( )
static

Options for a blocking intersection. Same as allData_blocking()

static const DtTerrainIntersectOptions& DtTerrainIntersectOptions::allData_blocking ( )
static

Options for all terrain categories, blocking intersection.

static const DtTerrainIntersectOptions& DtTerrainIntersectOptions::terrainSkin_blocking ( )
static

Options for terrain skin only, blocking intersection.

static const DtTerrainIntersectOptions& DtTerrainIntersectOptions::noVegetation_blocking ( )
static

Options for all terrain categories except vegetation, blocking intersection.

static const DtTerrainIntersectOptions& DtTerrainIntersectOptions::noVegetationAndStructures_blocking ( )
static

Options for all terrain categories except vegetation and structures, blocking intersection.

Member Data Documentation

DtIntersectionRecord::DtIntersectionType DtTerrainIntersectOptions::myIrtFlag
protected
DtTerrainCategoryMask DtTerrainIntersectOptions::myTerrainCategoryMask
protected
bool DtTerrainIntersectOptions::myBlockOnDataUnavailable
protected
bool DtTerrainIntersectOptions::myOverrideBlockingAssert
protected
int DtTerrainIntersectOptions::myFlags
protected
Fidelity DtTerrainIntersectOptions::myFidelity
protected
bool DtTerrainIntersectOptions::myDebug
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)