SceneryPager(const SceneryPager& rhs);
// Unhide DatabasePager::requestNodeFile
using osgDB::DatabasePager::requestNodeFile;
- // reimplement to add readerWriterOptions from SGPagedLOD
- virtual void requestNodeFile(const std::string& fileName, osg::Group* group,
- float priority,
- const osg::FrameStamp* framestamp,
- osg::ref_ptr<osg::Referenced>& databaseRequest,
-#if SG_OSG_MIN_VERSION_REQUIRED(2,9,5)
- const osg::Referenced* options
-#else
- osgDB::ReaderWriter::Options* options
-#endif
- );
void queueRequest(const std::string& fileName, osg::Group* node,
float priority, osg::FrameStamp* frameStamp,
osg::ref_ptr<osg::Referenced>& databaseRequest,
// lock on the delete list.
void queueDeleteRequest(osg::ref_ptr<osg::Object>& objptr);
virtual void signalEndFrame();
+
+ void clearRequests();
protected:
// Queue up file requests until the end of the frame
struct PagerRequest
_databaseRequest(&databaseRequest)
{}
- void doRequest(SceneryPager* pager)
- {
- if (_group->getNumChildren() == 0)
- pager->requestNodeFile(_fileName, _group.get(), _priority,
- _frameStamp.get(),
- *_databaseRequest,
- _options.get());
- }
-
+ void doRequest(SceneryPager* pager);
std::string _fileName;
osg::ref_ptr<osg::Group> _group;
float _priority;