openscenegraph
osgDB::DatabasePager Class Reference

#include <DatabasePager>

Inheritance diagram for osgDB::DatabasePager:
osg::NodeVisitor::DatabaseRequestHandler osg::Referenced

Classes

class  DatabaseThread
struct  PagedLODList
struct  DatabaseRequest
struct  RequestQueue
struct  ReadQueue

Public Types

enum  DrawablePolicy { DO_NOT_MODIFY_DRAWABLE_SETTINGS , USE_DISPLAY_LISTS , USE_VERTEX_BUFFER_OBJECTS , USE_VERTEX_ARRAYS }
typedef OpenThreads::Thread::ThreadPriority ThreadPriority
typedef std::set< osg::ref_ptr< osg::StateSet > > StateSetList
typedef std::vector< osg::ref_ptr< osg::Drawable > > DrawableList
typedef std::list< osg::ref_ptr< osg::Object > > ObjectList

Public Member Functions

 DatabasePager ()
 DatabasePager (const DatabasePager &rhs)
virtual const char * className () const
virtual DatabasePagerclone () const
virtual void requestNodeFile (const std::string &fileName, osg::NodePath &nodePath, float priority, const osg::FrameStamp *framestamp, osg::ref_ptr< osg::Referenced > &databaseRequest, const osg::Referenced *options)
int setSchedulePriority (OpenThreads::Thread::ThreadPriority priority)
virtual int cancel ()
virtual bool isRunning () const
virtual void clear ()
virtual void setProcessorAffinity (const OpenThreads::Affinity &affinity)
OpenThreads::AffinitygetProcessorAffinity ()
const OpenThreads::AffinitygetProcessorAffinity () const
void setUpThreads (unsigned int totalNumThreads=2, unsigned int numHttpThreads=1)
virtual unsigned int addDatabaseThread (DatabaseThread::Mode mode, const std::string &name)
DatabaseThreadgetDatabaseThread (unsigned int i)
const DatabaseThreadgetDatabaseThread (unsigned int i) const
unsigned int getNumDatabaseThreads () const
void setDatabasePagerThreadPause (bool pause)
bool getDatabasePagerThreadPause () const
void setAcceptNewDatabaseRequests (bool acceptNewRequests)
bool getAcceptNewDatabaseRequests () const
int getNumFramesActive () const
virtual void signalBeginFrame (const osg::FrameStamp *framestamp)
virtual void signalEndFrame ()
virtual void registerPagedLODs (osg::Node *subgraph, unsigned int frameNumber=0)
void setIncrementalCompileOperation (osgUtil::IncrementalCompileOperation *ico)
osgUtil::IncrementalCompileOperationgetIncrementalCompileOperation ()
void setDoPreCompile (bool flag)
bool getDoPreCompile () const
void setTargetMaximumNumberOfPageLOD (unsigned int target)
unsigned int getTargetMaximumNumberOfPageLOD () const
void setDeleteRemovedSubgraphsInDatabaseThread (bool flag)
bool getDeleteRemovedSubgraphsInDatabaseThread () const
void setDrawablePolicy (DrawablePolicy policy)
DrawablePolicy getDrawablePolicy () const
void setApplyPBOToImages (bool assignPBOToImages)
bool getApplyPBOToImages () const
void setUnrefImageDataAfterApplyPolicy (bool changeAutoUnRef, bool valueAutoUnRef)
void getUnrefImageDataAfterApplyPolicy (bool &changeAutoUnRef, bool &valueAutoUnRef) const
void setMaxAnisotropyPolicy (bool changeAnisotropy, float valueAnisotropy)
void getMaxAnisotropyPolicy (bool &changeAnisotropy, float &valueAnisotropy) const
bool requiresUpdateSceneGraph () const
virtual void updateSceneGraph (const osg::FrameStamp &frameStamp)
bool requiresRedraw () const
unsigned int getFileRequestListSize () const
unsigned int getDataToCompileListSize () const
unsigned int getDataToMergeListSize () const
bool getRequestsInProgress () const
double getMinimumTimeToMergeTile () const
double getMaximumTimeToMergeTile () const
double getAverageTimeToMergeTiles () const
void resetStats ()
void setMarkerObject (osg::Object *mo)
osg::ObjectgetMarkerObject ()
const osg::ObjectgetMarkerObject () const
Public Member Functions inherited from osg::NodeVisitor::DatabaseRequestHandler
 DatabaseRequestHandler ()
Public Member Functions inherited from osg::Referenced
 Referenced ()
 Referenced (bool threadSafeRefUnref)
 Referenced (const Referenced &)
Referencedoperator= (const Referenced &)
virtual void setThreadSafeRefUnref (bool)
bool getThreadSafeRefUnref () const
OpenThreads::MutexgetRefMutex () const
int ref () const
int unref () const
int unref_nodelete () const
int referenceCount () const
ObserverSetgetObserverSet () const
ObserverSetgetOrCreateObserverSet () const
void addObserver (Observer *observer) const
void removeObserver (Observer *observer) const

Static Public Member Functions

static osg::ref_ptr< DatabasePager > & prototype ()
static DatabasePagercreate ()
Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
static void setDeleteHandler (DeleteHandler *handler)
static DeleteHandlergetDeleteHandler ()

Protected Types

typedef std::vector< osg::ref_ptr< DatabaseThread > > DatabaseThreadList

Protected Member Functions

virtual ~DatabasePager ()
void compileCompleted (DatabaseRequest *databaseRequest)
virtual void removeExpiredSubgraphs (const osg::FrameStamp &frameStamp)
void addLoadedDataToSceneGraph (const osg::FrameStamp &frameStamp)
Protected Member Functions inherited from osg::NodeVisitor::DatabaseRequestHandler
virtual ~DatabaseRequestHandler ()
Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
void deleteUsingDeleteHandler () const

Protected Attributes

OpenThreads::Mutex _run_mutex
OpenThreads::Mutex _dr_mutex
bool _startThreadCalled
OpenThreads::Affinity _affinity
bool _done
bool _acceptNewRequests
bool _databasePagerThreadPaused
DatabaseThreadList _databaseThreads
int _numFramesActive
OpenThreads::Mutex _numFramesActiveMutex
OpenThreads::Atomic _frameNumber
osg::ref_ptr< ReadQueue_fileRequestQueue
osg::ref_ptr< ReadQueue_httpRequestQueue
osg::ref_ptr< RequestQueue_dataToCompileList
osg::ref_ptr< RequestQueue_dataToMergeList
DrawablePolicy _drawablePolicy
bool _assignPBOToImages
bool _changeAutoUnRef
bool _valueAutoUnRef
bool _changeAnisotropy
float _valueAnisotropy
bool _deleteRemovedSubgraphsInDatabaseThread
osg::ref_ptr< PagedLODList_activePagedLODList
unsigned int _targetMaximumNumberOfPageLOD
bool _doPreCompile
osg::ref_ptr< osgUtil::IncrementalCompileOperation_incrementalCompileOperation
double _minimumTimeToMergeTile
double _maximumTimeToMergeTile
double _totalTimeToMergeTiles
unsigned int _numTilesMerges
osg::ref_ptr< osg::Object_markerObject
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
OpenThreads::Atomic _refCount

Friends

class DatabaseThread
struct DatabaseRequest
class FindCompileableGLObjectsVisitor
struct DatabasePagerCompileCompletedCallback
class FindPagedLODsVisitor
struct SortFileRequestFunctor

Detailed Description

Database paging class which manages the loading of files in a background thread, and synchronizing of loaded models with the main scene graph.

Member Typedef Documentation

◆ DatabaseThreadList

◆ DrawableList

◆ ObjectList

◆ StateSetList

◆ ThreadPriority

Member Enumeration Documentation

◆ DrawablePolicy

Enumerator
DO_NOT_MODIFY_DRAWABLE_SETTINGS 
USE_DISPLAY_LISTS 
USE_VERTEX_BUFFER_OBJECTS 
USE_VERTEX_ARRAYS 

Constructor & Destructor Documentation

◆ DatabasePager() [1/2]

◆ DatabasePager() [2/2]

osgDB::DatabasePager::DatabasePager ( const DatabasePager & rhs)

References DatabasePager().

◆ ~DatabasePager()

virtual osgDB::DatabasePager::~DatabasePager ( )
protectedvirtual

Member Function Documentation

◆ addDatabaseThread()

virtual unsigned int osgDB::DatabasePager::addDatabaseThread ( DatabaseThread::Mode mode,
const std::string & name )
virtual

◆ addLoadedDataToSceneGraph()

void osgDB::DatabasePager::addLoadedDataToSceneGraph ( const osg::FrameStamp & frameStamp)
protected

Add the loaded data to the scene graph.

◆ cancel()

virtual int osgDB::DatabasePager::cancel ( )
virtual

Cancel the database pager thread(s).

◆ className()

virtual const char * osgDB::DatabasePager::className ( ) const
inlinevirtual

◆ clear()

virtual void osgDB::DatabasePager::clear ( )
virtual

Clear all internally cached structures.

◆ clone()

virtual DatabasePager * osgDB::DatabasePager::clone ( ) const
inlinevirtual

Create a shallow copy on the DatabasePager.

References DatabasePager().

◆ compileCompleted()

void osgDB::DatabasePager::compileCompleted ( DatabaseRequest * databaseRequest)
protected

◆ create()

DatabasePager * osgDB::DatabasePager::create ( )
static

create a DatabasePager by cloning DatabasePager::prototype().

References DatabasePager().

◆ getAcceptNewDatabaseRequests()

bool osgDB::DatabasePager::getAcceptNewDatabaseRequests ( ) const
inline

Get whether new database request calls are accepted or ignored.

References _acceptNewRequests.

◆ getApplyPBOToImages()

bool osgDB::DatabasePager::getApplyPBOToImages ( ) const
inline

Get whether newly loaded textures should have a PixelBufferObject assigned to them.

References _assignPBOToImages.

◆ getAverageTimeToMergeTiles()

double osgDB::DatabasePager::getAverageTimeToMergeTiles ( ) const
inline

Get the average time between the first request for a tile to be loaded and the time of its merge into the main scene graph.

References _numTilesMerges, and _totalTimeToMergeTiles.

◆ getDatabasePagerThreadPause()

bool osgDB::DatabasePager::getDatabasePagerThreadPause ( ) const
inline

Get whether the database pager thread should is paused or not.

References _databasePagerThreadPaused.

◆ getDatabaseThread() [1/2]

DatabaseThread * osgDB::DatabasePager::getDatabaseThread ( unsigned int i)
inline

References _databaseThreads.

◆ getDatabaseThread() [2/2]

const DatabaseThread * osgDB::DatabasePager::getDatabaseThread ( unsigned int i) const
inline

References _databaseThreads.

◆ getDataToCompileListSize()

unsigned int osgDB::DatabasePager::getDataToCompileListSize ( ) const
inline

Report how many items are in the _dataToCompileList queue

References _dataToCompileList.

◆ getDataToMergeListSize()

unsigned int osgDB::DatabasePager::getDataToMergeListSize ( ) const
inline

Report how many items are in the _dataToMergeList queue

References _dataToMergeList.

◆ getDeleteRemovedSubgraphsInDatabaseThread()

bool osgDB::DatabasePager::getDeleteRemovedSubgraphsInDatabaseThread ( ) const
inline

Get whether the removed subgraphs should be deleted in the database thread or not.

References _deleteRemovedSubgraphsInDatabaseThread.

◆ getDoPreCompile()

bool osgDB::DatabasePager::getDoPreCompile ( ) const
inline

Get whether the database pager should pre compile OpenGL objects before allowing them to be merged into the scene graph.

References _doPreCompile.

◆ getDrawablePolicy()

DrawablePolicy osgDB::DatabasePager::getDrawablePolicy ( ) const
inline

Get how loaded drawables should be handled w.r.t their display list/vertex buffer object/vertex array settings.

References _drawablePolicy.

◆ getFileRequestListSize()

unsigned int osgDB::DatabasePager::getFileRequestListSize ( ) const
inline

Report how many items are in the _fileRequestList queue

References _fileRequestQueue, and _httpRequestQueue.

◆ getIncrementalCompileOperation()

osgUtil::IncrementalCompileOperation * osgDB::DatabasePager::getIncrementalCompileOperation ( )
inline

Get the incremental compile operation.

References _incrementalCompileOperation.

◆ getMarkerObject() [1/2]

osg::Object * osgDB::DatabasePager::getMarkerObject ( )
inline

References _markerObject.

◆ getMarkerObject() [2/2]

const osg::Object * osgDB::DatabasePager::getMarkerObject ( ) const
inline

References _markerObject.

◆ getMaxAnisotropyPolicy()

void osgDB::DatabasePager::getMaxAnisotropyPolicy ( bool & changeAnisotropy,
float & valueAnisotropy ) const
inline

Set whether newly loaded textures should have their MaxAnisotopy set to a specified value.

References _changeAnisotropy, and _valueAnisotropy.

◆ getMaximumTimeToMergeTile()

double osgDB::DatabasePager::getMaximumTimeToMergeTile ( ) const
inline

Get the maximum time between the first request for a tile to be loaded and the time of its merge into the main scene graph.

References _maximumTimeToMergeTile.

◆ getMinimumTimeToMergeTile()

double osgDB::DatabasePager::getMinimumTimeToMergeTile ( ) const
inline

Get the minimum time between the first request for a tile to be loaded and the time of its merge into the main scene graph.

References _minimumTimeToMergeTile.

◆ getNumDatabaseThreads()

unsigned int osgDB::DatabasePager::getNumDatabaseThreads ( ) const
inline

References _databaseThreads.

◆ getNumFramesActive()

int osgDB::DatabasePager::getNumFramesActive ( ) const
inline

Get the number of frames that are currently active.

References _numFramesActive.

◆ getProcessorAffinity() [1/2]

OpenThreads::Affinity & osgDB::DatabasePager::getProcessorAffinity ( )
inline

References _affinity.

◆ getProcessorAffinity() [2/2]

const OpenThreads::Affinity & osgDB::DatabasePager::getProcessorAffinity ( ) const
inline

References _affinity.

◆ getRequestsInProgress()

bool osgDB::DatabasePager::getRequestsInProgress ( ) const

Report whether any requests are in the pager.

◆ getTargetMaximumNumberOfPageLOD()

unsigned int osgDB::DatabasePager::getTargetMaximumNumberOfPageLOD ( ) const
inline

Get the target maximum number of PagedLOD to maintain in memory.

References _targetMaximumNumberOfPageLOD.

◆ getUnrefImageDataAfterApplyPolicy()

void osgDB::DatabasePager::getUnrefImageDataAfterApplyPolicy ( bool & changeAutoUnRef,
bool & valueAutoUnRef ) const
inline

Get whether newly loaded textures should have their UnrefImageDataAfterApply set to a specified value.

References _changeAutoUnRef, and _valueAutoUnRef.

◆ isRunning()

virtual bool osgDB::DatabasePager::isRunning ( ) const
virtual

◆ prototype()

osg::ref_ptr< DatabasePager > & osgDB::DatabasePager::prototype ( )
static

get the prototype singleton used by DatabasePager::create().

◆ registerPagedLODs()

virtual void osgDB::DatabasePager::registerPagedLODs ( osg::Node * subgraph,
unsigned int frameNumber = 0 )
virtual

Find all PagedLOD nodes in a subgraph and register them with the DatabasePager so it can keep track of expired nodes. note, should be only be called from the update thread.

◆ removeExpiredSubgraphs()

virtual void osgDB::DatabasePager::removeExpiredSubgraphs ( const osg::FrameStamp & frameStamp)
protectedvirtual

Iterate through the active PagedLOD nodes children removing children which haven't been visited since specified expiryTime. note, should be only be called from the update thread.

◆ requestNodeFile()

virtual void osgDB::DatabasePager::requestNodeFile ( const std::string & fileName,
osg::NodePath & nodePath,
float priority,
const osg::FrameStamp * framestamp,
osg::ref_ptr< osg::Referenced > & databaseRequest,
const osg::Referenced * options )
virtual

Add a request to load a node file to end the database request list.

Implements osg::NodeVisitor::DatabaseRequestHandler.

◆ requiresRedraw()

bool osgDB::DatabasePager::requiresRedraw ( ) const

Return true if there are GL objects that need to be compiled by a draw traversal.

◆ requiresUpdateSceneGraph()

bool osgDB::DatabasePager::requiresUpdateSceneGraph ( ) const

Return true if there are pending updates to the scene graph that require a call to updateSceneGraph(double).

◆ resetStats()

void osgDB::DatabasePager::resetStats ( )

Reset the Stats variables.

◆ setAcceptNewDatabaseRequests()

void osgDB::DatabasePager::setAcceptNewDatabaseRequests ( bool acceptNewRequests)
inline

Set whether new database request calls are accepted or ignored.

References _acceptNewRequests.

◆ setApplyPBOToImages()

void osgDB::DatabasePager::setApplyPBOToImages ( bool assignPBOToImages)
inline

Set whether newly loaded textures should have a PixelBufferObject assigned to them to aid download to the GPU.

References _assignPBOToImages.

◆ setDatabasePagerThreadPause()

void osgDB::DatabasePager::setDatabasePagerThreadPause ( bool pause)

Set whether the database pager thread should be paused or not.

◆ setDeleteRemovedSubgraphsInDatabaseThread()

void osgDB::DatabasePager::setDeleteRemovedSubgraphsInDatabaseThread ( bool flag)
inline

Set whether the removed subgraphs should be deleted in the database thread or not.

References _deleteRemovedSubgraphsInDatabaseThread.

◆ setDoPreCompile()

void osgDB::DatabasePager::setDoPreCompile ( bool flag)
inline

Set whether the database pager should pre compile OpenGL objects before allowing them to be merged into the scene graph. Pre compilation helps reduce the chances of frame drops, but also slows the speed at which tiles are merged as they have to be compiled first.

References _doPreCompile.

◆ setDrawablePolicy()

void osgDB::DatabasePager::setDrawablePolicy ( DrawablePolicy policy)
inline

Set how loaded drawables should be handled w.r.t their display list/vertex buffer object/vertex array settings.

References _drawablePolicy.

◆ setIncrementalCompileOperation()

void osgDB::DatabasePager::setIncrementalCompileOperation ( osgUtil::IncrementalCompileOperation * ico)

Set the incremental compile operation. Used to manage the OpenGL object compilation and merging of subgraphs in a way that avoids overloading the rendering of frame with too many new objects in one frame.

◆ setMarkerObject()

void osgDB::DatabasePager::setMarkerObject ( osg::Object * mo)
inline

References _markerObject.

◆ setMaxAnisotropyPolicy()

void osgDB::DatabasePager::setMaxAnisotropyPolicy ( bool changeAnisotropy,
float valueAnisotropy )
inline

Set whether newly loaded textures should have their MaxAnisotopy set to a specified value.

References _changeAnisotropy, and _valueAnisotropy.

◆ setProcessorAffinity()

virtual void osgDB::DatabasePager::setProcessorAffinity ( const OpenThreads::Affinity & affinity)
virtual

◆ setSchedulePriority()

int osgDB::DatabasePager::setSchedulePriority ( OpenThreads::Thread::ThreadPriority priority)

Set the priority of the database pager thread(s).

◆ setTargetMaximumNumberOfPageLOD()

void osgDB::DatabasePager::setTargetMaximumNumberOfPageLOD ( unsigned int target)
inline

Set the target maximum number of PagedLOD to maintain in memory. Note, if more than the target number are required for rendering of a frame then these active PagedLOD are excempt from being expiried. But once the number of active drops back below the target the inactive PagedLOD will be trimmed back to the target number.

References _targetMaximumNumberOfPageLOD.

◆ setUnrefImageDataAfterApplyPolicy()

void osgDB::DatabasePager::setUnrefImageDataAfterApplyPolicy ( bool changeAutoUnRef,
bool valueAutoUnRef )
inline

Set whether newly loaded textures should have their UnrefImageDataAfterApply set to a specified value.

References _changeAutoUnRef, and _valueAutoUnRef.

◆ setUpThreads()

void osgDB::DatabasePager::setUpThreads ( unsigned int totalNumThreads = 2,
unsigned int numHttpThreads = 1 )

◆ signalBeginFrame()

virtual void osgDB::DatabasePager::signalBeginFrame ( const osg::FrameStamp * framestamp)
virtual

Signal the database thread that the update, cull and draw has begun for a new frame. Note, this is called by the application so that the database pager can go to sleep while the CPU is busy on the main rendering threads.

◆ signalEndFrame()

virtual void osgDB::DatabasePager::signalEndFrame ( )
virtual

Signal the database thread that the update, cull and draw dispatch has completed. Note, this is called by the application so that the database pager can go to wake back up now the main rendering threads are iddle waiting for the next frame.

◆ updateSceneGraph()

virtual void osgDB::DatabasePager::updateSceneGraph ( const osg::FrameStamp & frameStamp)
virtual

Merge the changes to the scene graph by calling calling removeExpiredSubgraphs then addLoadedDataToSceneGraph. Note, must only be called from single thread update phase.

◆ DatabasePagerCompileCompletedCallback

friend struct DatabasePagerCompileCompletedCallback
friend

◆ DatabaseRequest

friend struct DatabaseRequest
friend

◆ DatabaseThread

friend class DatabaseThread
friend

◆ FindCompileableGLObjectsVisitor

friend class FindCompileableGLObjectsVisitor
friend

◆ FindPagedLODsVisitor

friend class FindPagedLODsVisitor
friend

◆ SortFileRequestFunctor

friend struct SortFileRequestFunctor
friend

Member Data Documentation

◆ _acceptNewRequests

bool osgDB::DatabasePager::_acceptNewRequests
protected

◆ _activePagedLODList

osg::ref_ptr<PagedLODList> osgDB::DatabasePager::_activePagedLODList
protected

◆ _affinity

OpenThreads::Affinity osgDB::DatabasePager::_affinity
protected

◆ _assignPBOToImages

bool osgDB::DatabasePager::_assignPBOToImages
protected

◆ _changeAnisotropy

bool osgDB::DatabasePager::_changeAnisotropy
protected

◆ _changeAutoUnRef

bool osgDB::DatabasePager::_changeAutoUnRef
protected

◆ _databasePagerThreadPaused

bool osgDB::DatabasePager::_databasePagerThreadPaused
protected

◆ _databaseThreads

DatabaseThreadList osgDB::DatabasePager::_databaseThreads
protected

◆ _dataToCompileList

osg::ref_ptr<RequestQueue> osgDB::DatabasePager::_dataToCompileList
protected

◆ _dataToMergeList

osg::ref_ptr<RequestQueue> osgDB::DatabasePager::_dataToMergeList
protected

Referenced by getDataToMergeListSize().

◆ _deleteRemovedSubgraphsInDatabaseThread

bool osgDB::DatabasePager::_deleteRemovedSubgraphsInDatabaseThread
protected

◆ _done

bool osgDB::DatabasePager::_done
protected

◆ _doPreCompile

bool osgDB::DatabasePager::_doPreCompile
protected

Referenced by getDoPreCompile(), and setDoPreCompile().

◆ _dr_mutex

OpenThreads::Mutex osgDB::DatabasePager::_dr_mutex
protected

◆ _drawablePolicy

DrawablePolicy osgDB::DatabasePager::_drawablePolicy
protected

◆ _fileRequestQueue

osg::ref_ptr<ReadQueue> osgDB::DatabasePager::_fileRequestQueue
protected

Referenced by getFileRequestListSize().

◆ _frameNumber

OpenThreads::Atomic osgDB::DatabasePager::_frameNumber
protected

◆ _httpRequestQueue

osg::ref_ptr<ReadQueue> osgDB::DatabasePager::_httpRequestQueue
protected

Referenced by getFileRequestListSize().

◆ _incrementalCompileOperation

osg::ref_ptr<osgUtil::IncrementalCompileOperation> osgDB::DatabasePager::_incrementalCompileOperation
protected

◆ _markerObject

osg::ref_ptr<osg::Object> osgDB::DatabasePager::_markerObject
protected

◆ _maximumTimeToMergeTile

double osgDB::DatabasePager::_maximumTimeToMergeTile
protected

◆ _minimumTimeToMergeTile

double osgDB::DatabasePager::_minimumTimeToMergeTile
protected

◆ _numFramesActive

int osgDB::DatabasePager::_numFramesActive
protected

Referenced by getNumFramesActive().

◆ _numFramesActiveMutex

OpenThreads::Mutex osgDB::DatabasePager::_numFramesActiveMutex
mutableprotected

◆ _numTilesMerges

unsigned int osgDB::DatabasePager::_numTilesMerges
protected

◆ _run_mutex

OpenThreads::Mutex osgDB::DatabasePager::_run_mutex
protected

◆ _startThreadCalled

bool osgDB::DatabasePager::_startThreadCalled
protected

◆ _targetMaximumNumberOfPageLOD

unsigned int osgDB::DatabasePager::_targetMaximumNumberOfPageLOD
protected

◆ _totalTimeToMergeTiles

double osgDB::DatabasePager::_totalTimeToMergeTiles
protected

◆ _valueAnisotropy

float osgDB::DatabasePager::_valueAnisotropy
protected

◆ _valueAutoUnRef

bool osgDB::DatabasePager::_valueAutoUnRef
protected

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