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

Each tick, the preload command manager takes any new preload geometry that has been added to its queue and calls pageInData on the active page tracker.

Public Member Functions

 DtPreloadCommandManager (DtActivePageTracker *pageTracker, const int defaultPriority)
 
 ~DtPreloadCommandManager ()
 
virtual void tick ()
 
virtual void addPreloadGeometry (const DtTerrainPagingGeometryList &geometryList, DtTerrainIntersectIDType intersectId)
 
virtual void startPreloadCommandThread ()
 
void stopPreloadCommandThread ()
 
bool threadShouldExit () const
 
void shutdown ()
 

Static Protected Member Functions

static void threadMain (DtPreloadCommandManager *commandManager)
 

Protected Attributes

DtActivePageTrackermyPageTracker
 
DtPreloadGeometryQueue myGeometryQueue
 
int myDefaultPreloadPriority
 
std::auto_ptr< tbb::tbb_thread > myPreloadCommandThread
 
tbb::mutex myShutdownMutex
 
bool myThreadShutdown
 

Constructor & Destructor Documentation

DtPreloadCommandManager::DtPreloadCommandManager ( DtActivePageTracker pageTracker,
const int  defaultPriority 
)
DtPreloadCommandManager::~DtPreloadCommandManager ( )

Member Function Documentation

virtual void DtPreloadCommandManager::tick ( )
virtual

While myGeometryQueue is not empty, call pageInData on the active page tracker.

virtual void DtPreloadCommandManager::addPreloadGeometry ( const DtTerrainPagingGeometryList geometryList,
DtTerrainIntersectIDType  intersectId 
)
virtual

Add goemetry to be paged in.

Parameters
geometryListThe geometry to add
intersectIdThe intersectId to use for the paged in geometry.
virtual void DtPreloadCommandManager::startPreloadCommandThread ( )
virtual

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

void DtPreloadCommandManager::stopPreloadCommandThread ( )

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

bool DtPreloadCommandManager::threadShouldExit ( ) const

Called by the thread. Returns true if the thread should exit, as indicated myThreadShutdown.

void DtPreloadCommandManager::shutdown ( )

Start shutdown but don't block.

static void DtPreloadCommandManager::threadMain ( DtPreloadCommandManager commandManager)
staticprotected

Member Data Documentation

DtActivePageTracker* DtPreloadCommandManager::myPageTracker
protected

page tracker to call pageInData on.

DtPreloadGeometryQueue DtPreloadCommandManager::myGeometryQueue
protected

Geometry is put on this queue and processed each tick.

int DtPreloadCommandManager::myDefaultPreloadPriority
protected

The default priority to call with pageInData if not supplied with the preload geometry.

std::auto_ptr<tbb::tbb_thread> DtPreloadCommandManager::myPreloadCommandThread
protected
tbb::mutex DtPreloadCommandManager::myShutdownMutex
mutableprotected
bool DtPreloadCommandManager::myThreadShutdown
protected

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

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)