#ifndef SGPAGEDLOD_HXX
#define SGPAGEDLOD_HXX 1
+#include <simgear/structure/OSGVersion.hxx>
+
+#define SG_PAGEDLOD_HAS_OPTIONS \
+ (SG_OSG_VERSION >= 29005)
+
#include <osg/PagedLOD>
+#include <osgDB/Registry>
#include <osgDB/ReaderWriter>
#include <simgear/props/props.hxx>
META_Node(simgear, SGPagedLOD);
// virtual void traverse(osg::NodeVisitor& nv);
- virtual void forceLoad(osgDB::DatabasePager* dbp);
+ virtual void forceLoad(osgDB::DatabasePager* dbp,
+ osg::FrameStamp* framestamp,
+ osg::NodePath& path);
// reimplemented to notify the loading through ModelData
bool addChild(osg::Node *child);
- void setReaderWriterOptions(osgDB::ReaderWriter::Options *o) {
- _readerWriterOptions=o;
- _readerWriterOptions->setObjectCacheHint(osgDB::ReaderWriter::Options::CACHE_NONE);
- }
+ void setReaderWriterOptions(osgDB::ReaderWriter::Options *options);
- osgDB::ReaderWriter::Options * getReaderWriterOptions() {
+ osgDB::ReaderWriter::Options* getReaderWriterOptions() {
+#if SG_PAGEDLOD_HAS_OPTIONS
+ return static_cast<osgDB::ReaderWriter::Options*>(getDatabaseOptions());
+#else
return _readerWriterOptions.get();
+#endif
}
+ static void setRenderingCache(bool cache) {_cache = cache;}
protected:
virtual ~SGPagedLOD();
+#if !SG_PAGEDLOD_HAS_OPTIONS
osg::ref_ptr<osgDB::ReaderWriter::Options> _readerWriterOptions;
- SGPropertyNode_ptr _props;
+#endif
+private:
+ static bool _cache;
};
}
#endif