From 709906891415ebe33ef46d27449a704a48d18762 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Sat, 7 Jul 2007 16:05:05 +0000 Subject: [PATCH] From Jean-Sebastien Guay and Jan Ciger, added search path can improved handling of backslashes/forward slashes --- src/osgPlugins/vrml/ReaderWriterVRML2.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/osgPlugins/vrml/ReaderWriterVRML2.cpp b/src/osgPlugins/vrml/ReaderWriterVRML2.cpp index 0992521b1..465cda6d0 100644 --- a/src/osgPlugins/vrml/ReaderWriterVRML2.cpp +++ b/src/osgPlugins/vrml/ReaderWriterVRML2.cpp @@ -35,12 +35,11 @@ #include #include - - #include #include #include #include +#include #include #include @@ -72,8 +71,15 @@ class ReaderWriterVRML2 : public osgDB::ReaderWriter // Register with Registry to instantiate the above reader/writer. REGISTER_OSGPLUGIN(vrml, ReaderWriterVRML2) -osgDB::ReaderWriter::ReadResult ReaderWriterVRML2::readNode(const std::string &fileName, const Options*) const +osgDB::ReaderWriter::ReadResult ReaderWriterVRML2::readNode(const std::string &fname, const Options* opt) const { + std::string fileName = osgDB::findDataFile(fname, opt); + if (fileName.empty()) return ReadResult::FILE_NOT_FOUND; + + // convert possible Windows backslashes to Unix slashes + // OpenVRML doesn't like backslashes, even on Windows + fileName = "file:///" + osgDB::convertFileNameToUnixStyle(fileName); + std::fstream null; openvrml::browser *browser = new openvrml::browser(null, null);