Further work on osg::ImageSequence/osgDB::ImagePager

This commit is contained in:
Robert Osfield
2008-07-21 21:00:57 +00:00
parent 73bcc2613c
commit 041a06b89d
12 changed files with 168 additions and 68 deletions

View File

@@ -284,6 +284,30 @@ class OSG_EXPORT NodeVisitor : public virtual Referenced
const DatabaseRequestHandler* getDatabaseRequestHandler() const { return _databaseRequestHandler.get(); }
/** Callback for managing database paging, such as generated by PagedLOD nodes.*/
class ImageRequestHandler : public osg::Referenced
{
public:
ImageRequestHandler():
Referenced(true) {}
virtual void requestNodeFile(const std::string& fileName,osg::Object* attachmentPoint, double timeToMergeBy, const FrameStamp* framestamp, osg::ref_ptr<osg::Referenced>& imageRequest) = 0;
protected:
virtual ~ImageRequestHandler() {}
};
/** Set the handler for image requests.*/
void setImageRequestHandler(ImageRequestHandler* handler) { _imageRequestHandler = handler; }
/** Get the handler for image requests.*/
ImageRequestHandler* getImageRequestHandler() { return _imageRequestHandler.get(); }
/** Get the const handler for image requests.*/
const ImageRequestHandler* getImageRequestHandler() const { return _imageRequestHandler.get(); }
protected:
@@ -301,6 +325,7 @@ class OSG_EXPORT NodeVisitor : public virtual Referenced
ref_ptr<Referenced> _userData;
ref_ptr<DatabaseRequestHandler> _databaseRequestHandler;
ref_ptr<ImageRequestHandler> _imageRequestHandler;
};