From 93403a54db2a098de071a7bbdcc88c75e17a6e95 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Sun, 4 Aug 2002 20:51:03 +0000 Subject: [PATCH] Changed the error reporting so that it directs it all via osg::notify, and only uses the INFO level for reporting that the file to load is not recognised. Also add check for LWO2 loading so that it returns FILE_NOT_HANDLED message correctly. --- src/osgPlugins/lwo/Lwo2.cpp | 4 ++-- src/osgPlugins/lwo/ReaderWriterLWO.cpp | 12 ++++++------ src/osgPlugins/lwo/lw.cpp | 8 ++++---- src/osgPlugins/lwo/lw.h | 3 ++- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/osgPlugins/lwo/Lwo2.cpp b/src/osgPlugins/lwo/Lwo2.cpp index 4f538cd37..aa842a6d6 100644 --- a/src/osgPlugins/lwo/Lwo2.cpp +++ b/src/osgPlugins/lwo/Lwo2.cpp @@ -67,7 +67,7 @@ Lwo2::ReadFile( const string& filename ) _fin.open(filename.c_str(), ios::in | ios::binary ); if (!_fin.is_open()) { - notify(FATAL) << "Can't open file '" << filename << "'" << endl; + notify(NOTICE) << "Can't open file '" << filename << "'" << endl; return false; } @@ -75,7 +75,7 @@ Lwo2::ReadFile( const string& filename ) // http://www.lightwave3d.com/developer/75lwsdk/docs/filefmts/eaiff85.html if (_read_long() != tag_FORM) { - notify(FATAL) << "File '" << filename << "' is not IFF format file." << endl; + notify(INFO) << "File '" << filename << "' is not IFF format file." << endl; _fin.close(); return false; } diff --git a/src/osgPlugins/lwo/ReaderWriterLWO.cpp b/src/osgPlugins/lwo/ReaderWriterLWO.cpp index 1413abab8..bd5c15c48 100644 --- a/src/osgPlugins/lwo/ReaderWriterLWO.cpp +++ b/src/osgPlugins/lwo/ReaderWriterLWO.cpp @@ -70,11 +70,11 @@ osgDB::RegisterReaderWriterProxy g_lwoReaderWriterProxy; osgDB::ReaderWriter::ReadResult ReaderWriterLWO::readNode_LWO2(const std::string& fileName, const osgDB::ReaderWriter::Options*) { std::auto_ptr lwo2(new Lwo2()); - lwo2->ReadFile(fileName); - - osg::ref_ptr group = new osg::Group(); - if (lwo2->GenerateGroup(*group)) return group.take(); - + if (lwo2->ReadFile(fileName)) + { + osg::ref_ptr group = new osg::Group(); + if (lwo2->GenerateGroup(*group)) return group.take(); + } return ReadResult::FILE_NOT_HANDLED; } @@ -110,7 +110,7 @@ struct GeometryCollection // read file and convert to OSG. osgDB::ReaderWriter::ReadResult ReaderWriterLWO::readNode_LWO1(const std::string& fileName, const osgDB::ReaderWriter::Options*) { - lwObject* lw = lw_object_read(fileName.c_str()); + lwObject* lw = lw_object_read(fileName.c_str(),osg::notify(osg::INFO)); if (!lw) return ReadResult::FILE_NOT_HANDLED; diff --git a/src/osgPlugins/lwo/lw.cpp b/src/osgPlugins/lwo/lw.cpp index eeb5401bb..435c651cb 100644 --- a/src/osgPlugins/lwo/lw.cpp +++ b/src/osgPlugins/lwo/lw.cpp @@ -239,7 +239,7 @@ gint lw_is_lwobject(const char *lw_file) } -lwObject *lw_object_read(const char *lw_file) +lwObject *lw_object_read(const char *lw_file, std::ostream& output) { FILE *f = NULL; lwObject *lw_object = NULL; @@ -250,13 +250,13 @@ lwObject *lw_object_read(const char *lw_file) /* open file */ f = fopen(lw_file, "rb"); if (f == NULL) { - g_warning("can't open file %s", lw_file); + output << "can't open file "< +#include #define LW_MAX_POINTS 200 #define LW_MAX_NAME_LEN 500 @@ -88,7 +89,7 @@ typedef int gint; gint lw_is_lwobject(const char *lw_file); -lwObject *lw_object_read(const char *lw_file); +lwObject *lw_object_read(const char *lw_file, std::ostream& output); void lw_object_free( lwObject *lw_object); GLfloat lw_object_radius(const lwObject *lw_object);