VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Attributes
DtIntersectRecordPassThroughLayer Class Reference

Record all intersections to a file. More...

Inheritance diagram for DtIntersectRecordPassThroughLayer:
Inheritance graph
[legend]

Public Member Functions

 DtIntersectRecordPassThroughLayer (DtTerrainImplementation *implementation, DtConsoleCommandManager *cmdMgr, DtString filename=DtString())
virtual ~DtIntersectRecordPassThroughLayer ()
virtual bool chordIntersect (const DtChord &chord, DtVrfChordIntersectionRecord &record, DtIntersectionRecord::DtIntersectionType irtFlag=DtIntersectionRecord::INT_ALL_DATA, bool *dataAvailable=0, bool overrideBlockingAssert=false, int flags=0) const
 Returns topmost intersection of chord with terrain in record.
virtual bool allIntersectsAlongChord (const DtChord &chord, DtVrfChordIntersectRecordList &intList, DtIntersectionRecord::DtIntersectionType irtFlag=DtIntersectionRecord::INT_ALL_DATA, bool *dataAvailable=0, bool overrideBlockingAssert=false, int flags=0) const
 Returns all intersections of chord with terrain.
- Public Member Functions inherited from DtTerrainPassThroughLayer
 DtTerrainPassThroughLayer (DtTerrainImplementation *terrainImplementation, DtConsoleCommandManager *cmdMgr)
 The implementation that this layer is wrapping must be passed in within the constructor.
virtual ~DtTerrainPassThroughLayer ()
virtual
MAKVRinTerra::DtFeatureDatabase
featureDatabase ()
 Access feature database.
virtual const
MAKVRinTerra::DtFeatureDatabase
featureDatabase () const
virtual
MAKVRinTerra::DtFeatureContext
featureContext ()
 Access feature context.
virtual const
MAKVRinTerra::DtFeatureContext
featureContext () const
virtual bool loadTerrain (const makArchives::DtGenericTerrainRecord &rec)
 Loads a terrain given the terrain record.
virtual const Coordinate_SystemcoordinateSystem () const
virtual void shutdown (bool block)
 Shutdown 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 bool chordIntersect (const DtChord &chord, DtVrfChordIntersectionRecord &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, DtVrfChordIntersectRecordList &intList, DtIntersectionRecord::DtIntersectionType irtFlag=DtIntersectionRecord::INT_ALL_DATA, bool *dataAvailable=0, bool overrideBlockingAssert=false) const
 Returns all intersections of chord with terrain.
virtual void cacheInformationForTerrainArea (unsigned minLOD, unsigned maxLOD, const DtExtent &cacheArea, double &estimatedTime, double &estimatedSize, std::vector< std::string > &elevationLayers, std::vector< std::string > &modelLayers, std::vector< std::string > &featureLayers) const
 Passed through to terrain implementation.
virtual void cacheTerrainArea (int requestId, unsigned minLOD, unsigned maxLOD, const DtExtent &cacheArea, DtCacheProgressCallbackFunction fcn=0, void *usr=0)
 Passed through to terrain implementation.
virtual void cancelCacheTerrainArea (int requestId)
 Passed through to terrain implementation.
virtual const
DtTerrainCapabilities
terrainCapabilities () const
virtual void setIntersectDataLoadExpireTime (const double &expireTime)
 No-op.
virtual void expireDataLoadRequestsBeforeTime (const double &currentTime)
 No-op.
virtual void processTrianglesInArea (DtTriangleOutputInterface &, const DtTerrainProcessPolygonsBox &box) const
- Public Member Functions inherited from DtTerrainImplementation
 DtTerrainImplementation (DtConsoleCommandManager *cmdManager)
virtual ~DtTerrainImplementation ()
virtual void init ()
 Called immediately after creation.
virtual void finishedLoading (const MAKVRinTerra::DtProj &proj)
 Called after terrain loaded successfully.
virtual double modelHeightDifferencesFromAppearances (int oldApp, int newApp) const
 If supported by the implementation, return the height difference from the currently loaded model as a transition from the old appearance to the new appearance.
virtual bool createFromExtent (const Dt3dBoundingVolume &)
 Creates an extent from the given extent. Not all implementations will support this.
virtual bool loadModel (const DtFilename &, const DtEntityType &t=DtEntityType())
 Defaults to loading terrain for gdb.
virtual DtTerrainInterfaceConfigconfigurationOptions ()
virtual const
DtTerrainInterfaceConfig
configurationOptions () const
virtual bool dataAvailable (const DtTerrainPagingGeometryList &geometry)
 Returns true if all of the terrain which intersects the geometry list is paged in.
virtual void breakUpChords (const MAKVRinTerra::DtProj &, const DtChord &chord, std::vector< DtChord > &chords)
virtual bool hasFeatureContext () const
 Returns true if there is an active feature context.
virtual DtTerrainGeometryHandlecreateEntityGeometry (const DtFilename &file)
 Create geometry in the terrain which represents the entity.
virtual
DtDynamicTerrainRequestHandle 
addDynamicTerrainChangeRequest (double time, makVrv::DtDynamicTerrainChange *command)
 Add a dynamic terrain change request to the system.
virtual DtDynamicTerrainQueryHandle queryDynamicTerrainFeatures (const DtDynamicTerrainQueryCallback &callback, makVrv::DtDynamicTerrainGeometry *geometry=0, bool useOriginalGeometry=false)
 Install a query which will call the supplied callback on matching dynamic terrain features as they are paged in.
virtual void queryCurrentDynamicTerrainFeatures (const DtDynamicTerrainQueryCallback &callback, makVrv::DtDynamicTerrainGeometry *geometry=0, bool useOriginalGeometry=false)
virtual void setAssertOnBlockingTerrainCalls (bool assertBlock)
 Determines if an exception should be thrown if a blocking terrain call is made.
virtual bool assertOnBlockingTerrainCalls () const
virtual void setWarnOnBlockingTerrainCalls (bool warnBlock)
 Determines if a warning should be printed out if a blocking terrain call is made.
virtual bool warnOnBlockingTerrainCalls () const

Static Public Member Functions

static DtTerrainPassThroughLayercreate (DtCreatorParam createParam)

Protected Attributes

DtConsoleCommandOwnermyCommandOwner
tbb::atomic< unsigned intmyIndex
tbb::spin_mutex myMutex
std::ofstream myOutputText
- Protected Attributes inherited from DtTerrainPassThroughLayer
DtTerrainImplementationmyTerrainImplementation
- Protected Attributes inherited from DtTerrainImplementation
DtTerrainInterfaceConfig myConfig
bool myAssertOnBlockingTerrainCalls
 Determines if an exception should be thrown if a blocking terrain call is made.
bool myWarnOnBlockingTerrainCalls
boost::scoped_ptr
< MAKVRinTerra::DtFeatureDatabase
myFeatureDatabase
boost::scoped_ptr
< MAKVRinTerra::DtFeatureContext
myFeatureContext

Additional Inherited Members

- Public Types inherited from DtTerrainImplementation
typedef boost::function< void(const
makVrv::DtDynamicTerrainFeature &)> 
DtDynamicTerrainQueryCallback

Detailed Description

Record all intersections to a file.

Constructor & Destructor Documentation

DtIntersectRecordPassThroughLayer::DtIntersectRecordPassThroughLayer ( DtTerrainImplementation implementation,
DtConsoleCommandManager cmdMgr,
DtString  filename = DtString() 
)
virtual DtIntersectRecordPassThroughLayer::~DtIntersectRecordPassThroughLayer ( )
virtual

Member Function Documentation

static DtTerrainPassThroughLayer* DtIntersectRecordPassThroughLayer::create ( DtCreatorParam  createParam)
static
virtual bool DtIntersectRecordPassThroughLayer::chordIntersect ( const DtChord chord,
DtVrfChordIntersectionRecord record,
DtIntersectionRecord::DtIntersectionType  irtFlag = DtIntersectionRecord::INT_ALL_DATA,
bool dataAvailable = 0,
bool  overrideBlockingAssert = false,
int  flags = 0 
) 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.
flagsoptional flags to pass into the intersector. The flags are implementation dependent

Implements DtTerrainImplementation.

virtual bool DtIntersectRecordPassThroughLayer::allIntersectsAlongChord ( const DtChord chord,
DtVrfChordIntersectRecordList intList,
DtIntersectionRecord::DtIntersectionType  irtFlag = DtIntersectionRecord::INT_ALL_DATA,
bool dataAvailable = 0,
bool  overrideBlockingAssert = false,
int  flags = 0 
) 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.
flagsoptional flags to pass into the intersector. The flags are implementation dependent

Implements DtTerrainImplementation.

Member Data Documentation

DtConsoleCommandOwner* DtIntersectRecordPassThroughLayer::myCommandOwner
protected
tbb::atomic<unsigned int> DtIntersectRecordPassThroughLayer::myIndex
mutableprotected
tbb::spin_mutex DtIntersectRecordPassThroughLayer::myMutex
mutableprotected
std::ofstream DtIntersectRecordPassThroughLayer::myOutputText
mutableprotected

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

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)