14#ifndef OSGDB_IMAGEPAGER
15#define OSGDB_IMAGEPAGER 1
23#include <OpenThreads/Mutex>
24#include <OpenThreads/Atomic>
The core osg library provides the basic scene graph classes such as Nodes, State and Drawables,...
Definition AlphaFunc:19
The osgDB library provides support for reading and writing scene graphs, providing a plugin framework...
Definition Archive:24
Class which encapsulates the frame number, reference time and calendar time of specific frame,...
Definition FrameStamp:35
Callback for managing image paging, such as generated by PagedLOD nodes.
Definition NodeVisitor:388
Base class/standard interface for objects which require IO support, cloning and reference counting.
Definition Object:61
Smart pointer for observed objects, that automatically set pointers to them to null when they are del...
Definition observer_ptr:39
Smart pointer for handling referenced counted objects.
Definition ref_ptr:32
Base class for providing reference counted objects.
Definition Referenced:44
virtual double getPreLoadTime() const
Definition ImagePager:79
const ImageThread * getImageThread(unsigned int i) const
Definition ImagePager:73
bool _done
Definition ImagePager:172
void setPreLoadTime(double preLoadTime)
Definition ImagePager:78
virtual bool requiresUpdateSceneGraph() const
Return true if there are pending updates to the scene graph that require a call to updateSceneGraph(d...
friend struct SortFileRequestFunctor
Definition ImagePager:108
virtual void signalEndFrame()
Signal the image thread that the update, cull and draw dispatch has completed.
osg::ref_ptr< RequestQueue > _completedQueue
Definition ImagePager:183
bool _databasePagerThreadPaused
Definition ImagePager:173
double _preLoadTime
Definition ImagePager:185
virtual osg::ref_ptr< osg::Image > readRefImageFile(const std::string &fileName, const osg::Referenced *options=0)
bool _startThreadCalled
Definition ImagePager:170
OpenThreads::Mutex _ir_mutex
Definition ImagePager:177
ImageThreads _imageThreads
Definition ImagePager:181
ImageThread * getImageThread(unsigned int i)
Definition ImagePager:71
unsigned int getNumImageThreads() const
Definition ImagePager:75
virtual void signalBeginFrame(const osg::FrameStamp *framestamp)
Signal the image thread that the update, cull and draw has begun for a new frame.
std::vector< osg::ref_ptr< ImageThread > > ImageThreads
Definition ImagePager:180
virtual void updateSceneGraph(const osg::FrameStamp &frameStamp)
Merge the changes to the scene graph.
OpenThreads::Atomic _frameNumber
Definition ImagePager:175
OpenThreads::Mutex _run_mutex
Definition ImagePager:169
osg::ref_ptr< ReadQueue > _readQueue
Definition ImagePager:178
virtual void requestImageFile(const std::string &fileName, osg::Object *attachmentPoint, int attachmentIndex, double timeToMergeBy, const osg::FrameStamp *framestamp, osg::ref_ptr< osg::Referenced > &imageRequest, const osg::Referenced *options)
ImageThread(const ImageThread &dt, ImagePager *pager)
bool _done
Definition ImagePager:64
Mode _mode
Definition ImagePager:65
bool getDone() const
Definition ImagePager:54
ImagePager * _pager
Definition ImagePager:66
ImageThread(ImagePager *pager, Mode mode, const std::string &name)
void setDone(bool done)
Definition ImagePager:53
Mode
Definition ImagePager:43
@ HANDLE_NON_HTTP
Definition ImagePager:45
@ HANDLE_ALL_REQUESTS
Definition ImagePager:44
@ HANDLE_ONLY_HTTP
Definition ImagePager:46
std::string _name
Definition ImagePager:67
Definition ImagePager:111
double _timeToMergeBy
Definition ImagePager:120
osg::observer_ptr< osg::Object > _attachmentPoint
Definition ImagePager:123
osg::ref_ptr< osgDB::Options > _readOptions
Definition ImagePager:127
unsigned int _frameNumber
Definition ImagePager:119
osg::ref_ptr< Options > _loadOptions
Definition ImagePager:122
int _attachmentIndex
Definition ImagePager:124
RequestQueue * _requestQueue
Definition ImagePager:126
ImageRequest()
Definition ImagePager:112
osg::ref_ptr< osg::Image > _loadedImage
Definition ImagePager:125
std::string _fileName
Definition ImagePager:121
Definition ImagePager:132
std::vector< osg::ref_ptr< ImageRequest > > RequestList
Definition ImagePager:133
unsigned int size() const
OpenThreads::Mutex _requestMutex
Definition ImagePager:140
RequestList _requestList
Definition ImagePager:139
ImagePager * _pager
Definition ImagePager:165
std::string _name
Definition ImagePager:166
void add(ImageRequest *imageRequest)
osg::ref_ptr< osg::RefBlock > _block
Definition ImagePager:163
void updateBlock()
Definition ImagePager:152
ReadQueue(ImagePager *pager, const std::string &name)
void takeFirst(osg::ref_ptr< ImageRequest > &databaseRequest)
void block()
Definition ImagePager:148
void release()
Definition ImagePager:150
#define OSGDB_EXPORT
Definition Export:39