|
Public Types |
typedef OpenThreads::Thread::ThreadPriority | ThreadPriority |
typedef std::list< osg::ref_ptr<
osg::PagedLOD > > | PagedLODList |
typedef std::set< osg::ref_ptr<
osg::StateSet > > | StateSetList |
typedef std::vector< osg::ref_ptr<
osg::Drawable > > | DrawableList |
typedef std::pair< StateSetList,
DrawableList > | DataToCompile |
typedef std::map< unsigned
int, DataToCompile > | DataToCompileMap |
typedef std::set< unsigned
int > | ActiveGraphicsContexts |
enum | DrawablePolicy { DO_NOT_MODIFY_DRAWABLE_SETTINGS,
USE_DISPLAY_LISTS,
USE_VERTEX_BUFFER_OBJECTS,
USE_VERTEX_ARRAYS
} |
Public Member Functions |
| DatabasePager () |
virtual void | requestNodeFile (const std::string &fileName, osg::Group *group, float priority, const osg::FrameStamp *framestamp) |
virtual void | run () |
virtual int | cancel () |
virtual void | clear () |
void | setDatabasePagerThreadPause (bool pause) |
bool | getDatabasePagerThreadPause () const |
void | setAcceptNewDatabaseRequests (bool acceptNewRequests) |
bool | getAcceptNewDatabaseRequests () const |
void | setUseFrameBlock (bool useFrameBlock) |
bool | getUseFrameBlock () const |
osg::Block * | getFrameBlock () |
void | setThreadPriorityDuringFrame (ThreadPriority duringFrame) |
ThreadPriority | getThreadPriorityDuringFrame () const |
void | setThreadPriorityOutwithFrame (ThreadPriority outwithFrame) |
ThreadPriority | getThreadPriorityOutwithFrame () const |
int | getNumFramesActive () const |
virtual void | signalBeginFrame (const osg::FrameStamp *framestamp) |
virtual void | signalEndFrame () |
virtual void | registerPagedLODs (osg::Node *subgraph) |
void | setDoPreCompile (bool flag) |
bool | getDoPreCompile () const |
void | setTargetFrameRate (double tfr) |
double | getTargetFrameRate () const |
void | setMinimumTimeAvailableForGLCompileAndDeletePerFrame (double ta) |
double | getMinimumTimeAvailableForGLCompileAndDeletePerFrame () const |
void | setMaximumNumOfObjectsToCompilePerFrame (unsigned int num) |
unsigned int | getMaximumNumOfObjectsToCompilePerFrame () const |
void | setExpiryDelay (double expiryDelay) |
double | getExpiryDelay () const |
void | setDeleteRemovedSubgraphsInDatabaseThread (bool flag) |
bool | getDeleteRemovedSubgraphsInDatabaseThread () const |
void | setDrawablePolicy (DrawablePolicy policy) |
DrawablePolicy | getDrawablePolicy () 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 (double currentFrameTime) |
void | setCompileGLObjectsForContextID (unsigned int contextID, bool on) |
bool | getCompileGLObjectsForContextID (unsigned int contextID) |
bool | requiresCompileGLObjects () const |
virtual void | compileGLObjects (osg::State &state, double &availableTime) |
unsigned int | getFileRequestListSize () const |
unsigned int | getDataToCompileListSize () const |
Protected Types |
typedef std::vector< osg::ref_ptr<
DatabaseRequest > > | DatabaseRequestList |
typedef std::vector< osg::ref_ptr<
osg::Object > > | ObjectList |
Protected Member Functions |
virtual | ~DatabasePager () |
void | updateDatabasePagerThreadBlock () |
void | updateFrameBlock (int delta) |
virtual void | removeExpiredSubgraphs (double currentFrameTime) |
void | addLoadedDataToSceneGraph (double currentFrameTime) |
Protected Attributes |
OpenThreads::Mutex | _run_mutex |
bool | _startThreadCalled |
osg::ref_ptr< osg::Block > | _databasePagerThreadBlock |
bool | _done |
bool | _acceptNewRequests |
bool | _databasePagerThreadPaused |
bool | _useFrameBlock |
int | _numFramesActive |
OpenThreads::Mutex | _numFramesActiveMutex |
osg::ref_ptr< osg::Block > | _frameBlock |
int | _frameNumber |
ThreadPriority | _threadPriorityDuringFrame |
ThreadPriority | _threadPriorityOutwithFrame |
DatabaseRequestList | _fileRequestList |
OpenThreads::Mutex | _fileRequestListMutex |
DatabaseRequestList | _dataToCompileList |
OpenThreads::Mutex | _dataToCompileListMutex |
DrawablePolicy | _drawablePolicy |
bool | _changeAutoUnRef |
bool | _valueAutoUnRef |
bool | _changeAnisotropy |
float | _valueAnisotropy |
bool | _deleteRemovedSubgraphsInDatabaseThread |
ObjectList | _childrenToDeleteList |
OpenThreads::Mutex | _childrenToDeleteListMutex |
DatabaseRequestList | _dataToMergeList |
OpenThreads::Mutex | _dataToMergeListMutex |
PagedLODList | _activePagedLODList |
PagedLODList | _inactivePagedLODList |
double | _expiryDelay |
ActiveGraphicsContexts | _activeGraphicsContexts |
bool | _doPreCompile |
double | _targetFrameRate |
double | _minimumTimeAvailableForGLCompileAndDeletePerFrame |
unsigned int | _maximumNumOfObjectsToCompilePerFrame |
Friends |
struct | DatabaseRequest |
class | FindCompileableGLObjectsVisitor |
class | FindPagedLODsVisitor |
struct | SortFileRequestFunctor |
Classes |
struct | DatabaseRequest |