VR-Forces 4.1.1 Class Documentation
List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes
DtVantageTerrainEngine Class Reference

This class wraps the VR-Vantage Display Engine, and uses as a terrain loader and intersector. More...

Classes

struct  ProcessedMtf

Public Types

typedef std::map< std::string,
std::string > 
TerrainSettings

Public Member Functions

 DtVantageTerrainEngine (DtCollisionWorld *collisionWorld, DtActivePageTracker *pageTracker)
virtual ~DtVantageTerrainEngine ()
virtual void tick ()
virtual bool loadTerrain (const DtString &filename, MAKVRinTerra::DtFeatureLoader &, const TerrainSettings &settings=TerrainSettings())
 ! Terrain Loading Functions
virtual bool loadOsgEarthFile (const DtString &filename, MAKVRinTerra::DtFeatureLoader &)
virtual ProcessedMtf processMtfFile (const DtString &filename)
virtual bool processMapNode (osgEarth::MapNode *mapNode)
virtual void startTerrainEngineThread ()
 Starts the execution of a separate thread that will handle terrain paging.
void stopTerrainEngineThread ()
 Stop the external thread.
virtual void setDatabasePager (osgDB::DatabasePager *databasePager)
 ! Accessors / Mutators
virtual osg::ref_ptr
< osgDB::DatabasePager > 
databasePager ()
 Accessor for database pager.
const makVrv::DtCoordinateSystemcoordSystem ()
virtual void setDebugDrawer (DtSharedMemoryBulletDebugDrawer *drawer)
virtual
DtSharedMemoryBulletDebugDrawer
debugDrawer ()
virtual DtActivePageTrackerpageTracker ()
virtual makVrv::DtDede ()
 Returns a pointer to theDe, creates and initializes it if it doesn't yet exist.
virtual DtCollisionWorldcollisionWorld ()
virtual void setLastIntersectId (unsigned int intersectId)
virtual void setLoadImages (const bool &shouldLoadImages)
 Set to true when you want osg to load image files (for example when reading heightfields saved as tifs from the cache).
virtual DtDrawMode drawMode () const
virtual void setDrawMode (const DtDrawMode &drawMode)
virtual const unsigned int numTriangles () const
virtual void setNumTriangles (const unsigned int &numTriangles)
virtual const unsigned int triangleThreshold () const
virtual void setTriangleThreshold (const unsigned int &threshold)
virtual void setConfigurationOptions (DtTerrainConfigurationOptions options)
virtual const
DtTerrainConfigurationOptions 
configurationOptions () const
virtual void updatePageTracker ()
 Updates myPageTracker with the latest information about what areas of the terrain have paged-out data in them.
virtual void updateDrawer ()
bool threadShouldExit () const
 Called by the thread.
virtual void updateCollisionObjectsDrawState ()
virtual void decrementPendingPageOutOperations ()
virtual void pageOutTerrainNextTick ()
virtual void expireCommandsBeforeTime (const double &currentTime)
virtual const
makArchives::DtTerrainRecord
loadedTerrainRecord ()
DtTerrainAltitudeTablealtitudeTable ()

Static Public Member Functions

static DtVantageTerrainEngineterrainEngine ()

Protected Member Functions

virtual makVrv::DtDecreateAndInitializeDe ()
virtual void reRegisterAgentCreators (makVrv::DtDe *de)
virtual std::list< std::string > vrvPluginsToLoad (const std::string &pluginDir)

Static Protected Member Functions

static void threadMain (DtVantageTerrainEngine *terrainEngine)

Protected Attributes

DtCollisionWorldmyCollisionWorld
DtActivePageTrackermyPageTracker
DtSharedMemoryBulletDebugDrawermyDebugDrawer
tbb::concurrent_queue
< DtTerrainEngineCommand * > 
myCommandQueue
tbb::tbb_thread * myTerrainEngineThread
tbb::mutex myShutdownMutex
bool myThreadShutdown
tbb::spin_rw_mutex myMutex
DtTerrainSourcePagerList myTerrainSourcePagers
DtDrawMode myDrawMode
bool myRedraw
unsigned int myLastIntersectId
unsigned int myPageOutTriangleThreshold
unsigned int myNumTriangles
unsigned int myPendingPageOutOperations
DtPageOutAllTerrainCommandmyPageOutTerrainCommand
bool myPageOutTerrainNextTick
DtTerrainConfigurationOptions myConfigurationOptions
makArchives::DtTerrainRecord myLoadedTerrain
 Keeps the mtf terrain record of the terrain that was loaded in the display engine.
TerrainSettings mySettings
boost::scoped_ptr
< DtTerrainAltitudeTable
myTerrainAltitudeTable

Static Protected Attributes

static makVrv::DtDetheDe
static osg::ref_ptr
< osgDB::DatabasePager > 
theDatabasePager
 Make the database pager a static member since it is initialized when theDe is initialized.
static DtReadFileCallbacktheReadFileCallback
static DtVantageTerrainEnginetheVantageTerrainEngine
static bool theWorkLeft

Private Member Functions

 DtVantageTerrainEngine (const DtVantageTerrainEngine &)
 Not Implemented.
DtVantageTerrainEngineoperator= (const DtVantageTerrainEngine &)
 Not Implemented.

Detailed Description

This class wraps the VR-Vantage Display Engine, and uses as a terrain loader and intersector.

This is the terrain engine that powers the DtVantageTerrainImplementation. The DtVantageTerrainEngine runs the DtDe it its own thread, and processes commands thought the command queue.

Member Typedef Documentation

typedef std::map<std::string,std::string> DtVantageTerrainEngine::TerrainSettings

Constructor & Destructor Documentation

DtVantageTerrainEngine::DtVantageTerrainEngine ( const DtVantageTerrainEngine )
private

Not Implemented.

DtVantageTerrainEngine::DtVantageTerrainEngine ( DtCollisionWorld collisionWorld,
DtActivePageTracker pageTracker 
)
virtual DtVantageTerrainEngine::~DtVantageTerrainEngine ( )
virtual

Member Function Documentation

DtVantageTerrainEngine& DtVantageTerrainEngine::operator= ( const DtVantageTerrainEngine )
private

Not Implemented.

virtual void DtVantageTerrainEngine::tick ( )
virtual
virtual bool DtVantageTerrainEngine::loadTerrain ( const DtString filename,
MAKVRinTerra::DtFeatureLoader ,
const TerrainSettings settings = TerrainSettings() 
)
virtual

! Terrain Loading Functions

virtual bool DtVantageTerrainEngine::loadOsgEarthFile ( const DtString filename,
MAKVRinTerra::DtFeatureLoader  
)
virtual
virtual ProcessedMtf DtVantageTerrainEngine::processMtfFile ( const DtString filename)
virtual
virtual bool DtVantageTerrainEngine::processMapNode ( osgEarth::MapNode *  mapNode)
virtual
virtual void DtVantageTerrainEngine::startTerrainEngineThread ( )
virtual

Starts the execution of a separate thread that will handle terrain paging.

void DtVantageTerrainEngine::stopTerrainEngineThread ( )

Stop the external thread.

Blocks until the thread has been shut down. Non-virtual becuase it is called by the destructor.

virtual void DtVantageTerrainEngine::setDatabasePager ( osgDB::DatabasePager *  databasePager)
inlinevirtual

! Accessors / Mutators

Set the database pager to be used by pageInVisitors.

References databasePager(), and theDatabasePager.

virtual osg::ref_ptr<osgDB::DatabasePager> DtVantageTerrainEngine::databasePager ( )
inlinevirtual

Accessor for database pager.

References theDatabasePager.

Referenced by setDatabasePager().

static DtVantageTerrainEngine* DtVantageTerrainEngine::terrainEngine ( )
inlinestatic
const makVrv::DtCoordinateSystem& DtVantageTerrainEngine::coordSystem ( )
virtual void DtVantageTerrainEngine::setDebugDrawer ( DtSharedMemoryBulletDebugDrawer drawer)
virtual
virtual DtSharedMemoryBulletDebugDrawer* DtVantageTerrainEngine::debugDrawer ( )
inlinevirtual

References myDebugDrawer.

virtual DtActivePageTracker* DtVantageTerrainEngine::pageTracker ( )
inlinevirtual

References myPageTracker.

virtual makVrv::DtDe* DtVantageTerrainEngine::de ( )
virtual

Returns a pointer to theDe, creates and initializes it if it doesn't yet exist.

virtual DtCollisionWorld* DtVantageTerrainEngine::collisionWorld ( )
virtual
virtual void DtVantageTerrainEngine::setLastIntersectId ( unsigned int  intersectId)
virtual
virtual void DtVantageTerrainEngine::setLoadImages ( const bool shouldLoadImages)
virtual

Set to true when you want osg to load image files (for example when reading heightfields saved as tifs from the cache).

virtual DtDrawMode DtVantageTerrainEngine::drawMode ( ) const
virtual
Returns
The current terrain root of the scene graph.
virtual void DtVantageTerrainEngine::setDrawMode ( const DtDrawMode drawMode)
virtual
virtual const unsigned int DtVantageTerrainEngine::numTriangles ( ) const
virtual
virtual void DtVantageTerrainEngine::setNumTriangles ( const unsigned int &  numTriangles)
virtual
virtual const unsigned int DtVantageTerrainEngine::triangleThreshold ( ) const
virtual
virtual void DtVantageTerrainEngine::setTriangleThreshold ( const unsigned int &  threshold)
virtual
virtual void DtVantageTerrainEngine::setConfigurationOptions ( DtTerrainConfigurationOptions  options)
virtual
virtual const DtTerrainConfigurationOptions DtVantageTerrainEngine::configurationOptions ( ) const
virtual
virtual void DtVantageTerrainEngine::updatePageTracker ( )
virtual

Updates myPageTracker with the latest information about what areas of the terrain have paged-out data in them.

virtual void DtVantageTerrainEngine::updateDrawer ( )
virtual
bool DtVantageTerrainEngine::threadShouldExit ( ) const

Called by the thread.

Returns true if the thread should exit, as indicated myThreadShutdown

virtual void DtVantageTerrainEngine::updateCollisionObjectsDrawState ( )
virtual
virtual void DtVantageTerrainEngine::decrementPendingPageOutOperations ( )
virtual
virtual void DtVantageTerrainEngine::pageOutTerrainNextTick ( )
virtual
virtual void DtVantageTerrainEngine::expireCommandsBeforeTime ( const double &  currentTime)
virtual
virtual const makArchives::DtTerrainRecord& DtVantageTerrainEngine::loadedTerrainRecord ( )
virtual
DtTerrainAltitudeTable* DtVantageTerrainEngine::altitudeTable ( )
inline
virtual makVrv::DtDe* DtVantageTerrainEngine::createAndInitializeDe ( )
protectedvirtual
virtual void DtVantageTerrainEngine::reRegisterAgentCreators ( makVrv::DtDe de)
protectedvirtual
static void DtVantageTerrainEngine::threadMain ( DtVantageTerrainEngine terrainEngine)
staticprotected
virtual std::list<std::string> DtVantageTerrainEngine::vrvPluginsToLoad ( const std::string &  pluginDir)
protectedvirtual
Returns
A list of the plugin names that should be loaded when initializing VRV. This list is correctly named for debug/release and for the platform being executed.
Parameters
pluginDiris prepended to all the plugin names in the list.

Member Data Documentation

makVrv::DtDe* DtVantageTerrainEngine::theDe
staticprotected
osg::ref_ptr<osgDB::DatabasePager> DtVantageTerrainEngine::theDatabasePager
staticprotected

Make the database pager a static member since it is initialized when theDe is initialized.

Referenced by databasePager(), and setDatabasePager().

DtCollisionWorld* DtVantageTerrainEngine::myCollisionWorld
protected
DtActivePageTracker* DtVantageTerrainEngine::myPageTracker
protected

Referenced by pageTracker().

DtSharedMemoryBulletDebugDrawer* DtVantageTerrainEngine::myDebugDrawer
protected

Referenced by debugDrawer().

tbb::concurrent_queue<DtTerrainEngineCommand*> DtVantageTerrainEngine::myCommandQueue
protected
tbb::tbb_thread* DtVantageTerrainEngine::myTerrainEngineThread
protected
tbb::mutex DtVantageTerrainEngine::myShutdownMutex
mutableprotected
bool DtVantageTerrainEngine::myThreadShutdown
protected
tbb::spin_rw_mutex DtVantageTerrainEngine::myMutex
mutableprotected
DtReadFileCallback* DtVantageTerrainEngine::theReadFileCallback
staticprotected
DtTerrainSourcePagerList DtVantageTerrainEngine::myTerrainSourcePagers
protected
DtVantageTerrainEngine* DtVantageTerrainEngine::theVantageTerrainEngine
staticprotected

Referenced by terrainEngine().

DtDrawMode DtVantageTerrainEngine::myDrawMode
protected
bool DtVantageTerrainEngine::myRedraw
protected
unsigned int DtVantageTerrainEngine::myLastIntersectId
protected
unsigned int DtVantageTerrainEngine::myPageOutTriangleThreshold
protected
unsigned int DtVantageTerrainEngine::myNumTriangles
protected
unsigned int DtVantageTerrainEngine::myPendingPageOutOperations
protected
DtPageOutAllTerrainCommand* DtVantageTerrainEngine::myPageOutTerrainCommand
protected
bool DtVantageTerrainEngine::myPageOutTerrainNextTick
protected
DtTerrainConfigurationOptions DtVantageTerrainEngine::myConfigurationOptions
protected
makArchives::DtTerrainRecord DtVantageTerrainEngine::myLoadedTerrain
protected

Keeps the mtf terrain record of the terrain that was loaded in the display engine.

TerrainSettings DtVantageTerrainEngine::mySettings
protected
boost::scoped_ptr<DtTerrainAltitudeTable> DtVantageTerrainEngine::myTerrainAltitudeTable
protected

Referenced by altitudeTable().

bool DtVantageTerrainEngine::theWorkLeft
staticprotected

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)