From f27678dbb9d781b6cefa8ebb5fee4cfeca7215a6 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Wed, 28 Apr 2010 17:29:31 +0000 Subject: [PATCH] Introduced the use of ref_ptr<> in read show methods --- applications/present3D/ReadShowFile.cpp | 12 ++++++------ applications/present3D/ReadShowFile.h | 6 +++--- applications/present3D/present3D.cpp | 1 - 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/applications/present3D/ReadShowFile.cpp b/applications/present3D/ReadShowFile.cpp index 246a674af..e462a0465 100644 --- a/applications/present3D/ReadShowFile.cpp +++ b/applications/present3D/ReadShowFile.cpp @@ -176,7 +176,7 @@ osgDB::Options* createOptions(const osgDB::ReaderWriter::Options* options) return local_options.release(); } -osg::Node* p3d::readHoldingSlide(const std::string& filename) +osg::ref_ptr p3d::readHoldingSlide(const std::string& filename) { std::string ext = osgDB::getFileExtension(filename); if (!osgDB::equalCaseInsensitive(ext,"xml") && @@ -186,10 +186,10 @@ osg::Node* p3d::readHoldingSlide(const std::string& filename) options->setObjectCacheHint(osgDB::ReaderWriter::Options::CACHE_NONE); options->setOptionString("preview"); - return osgDB::readNodeFile(filename, options.get()); + return osgDB::readRefNodeFile(filename, options.get()); } -osg::Node* p3d::readPresentation(const std::string& filename,const osgDB::ReaderWriter::Options* options) +osg::ref_ptr p3d::readPresentation(const std::string& filename,const osgDB::ReaderWriter::Options* options) { std::string ext = osgDB::getFileExtension(filename); if (!osgDB::equalCaseInsensitive(ext,"xml") && @@ -198,10 +198,10 @@ osg::Node* p3d::readPresentation(const std::string& filename,const osgDB::Reader osg::ref_ptr local_options = createOptions(options); local_options->setOptionString("main"); - return osgDB::readNodeFile(filename, local_options.get()); + return osgDB::readRefNodeFile(filename, local_options.get()); } -osg::Node* p3d::readShowFiles(osg::ArgumentParser& arguments,const osgDB::ReaderWriter::Options* options) +osg::ref_ptr p3d::readShowFiles(osg::ArgumentParser& arguments,const osgDB::ReaderWriter::Options* options) { osg::ref_ptr local_options = createOptions(options); local_options->setOptionString("main"); @@ -290,5 +290,5 @@ osg::Node* p3d::readShowFiles(osg::ArgumentParser& arguments,const osgDB::Reader root->accept(avecv); } - return root.release(); + return root; } diff --git a/applications/present3D/ReadShowFile.h b/applications/present3D/ReadShowFile.h index 3289f2ecd..f664a2b6a 100644 --- a/applications/present3D/ReadShowFile.h +++ b/applications/present3D/ReadShowFile.h @@ -26,11 +26,11 @@ bool readEnvVars(osg::ArgumentParser& arguments); bool readEnvVars(const std::string& filename); -osg::Node* readHoldingSlide(const std::string& filename); +osg::ref_ptr readHoldingSlide(const std::string& filename); -osg::Node* readPresentation(const std::string& filename,const osgDB::ReaderWriter::Options* options); +osg::ref_ptr readPresentation(const std::string& filename,const osgDB::ReaderWriter::Options* options); -osg::Node* readShowFiles(osg::ArgumentParser& arguments,const osgDB::ReaderWriter::Options* options); +osg::ref_ptr readShowFiles(osg::ArgumentParser& arguments,const osgDB::ReaderWriter::Options* options); } diff --git a/applications/present3D/present3D.cpp b/applications/present3D/present3D.cpp index c0d8261b7..29ccbca4b 100644 --- a/applications/present3D/present3D.cpp +++ b/applications/present3D/present3D.cpp @@ -682,7 +682,6 @@ int main( int argc, char **argv ) osg::ref_ptr cacheAllOption = new osgDB::ReaderWriter::Options; cacheAllOption->setObjectCacheHint(osgDB::ReaderWriter::Options::CACHE_ALL); - osgDB::Registry::instance()->setOptions(cacheAllOption.get()); // read the scene from the list of file specified commandline args.