]> git.mxchange.org Git - simgear.git/blobdiff - simgear/scene/tgdb/SGReaderWriterBTG.cxx
simgear/scene/sky/sky.cxx: Include sg_inlines.h with simgear/ prefix as all other...
[simgear.git] / simgear / scene / tgdb / SGReaderWriterBTG.cxx
index a93bfceca18c92ab95af31afc1928df919c70675..ad3a6774769c0cce68afd072016bb434e914d21f 100644 (file)
 
 using namespace simgear;
 
-// SGReaderWriterBTGOptions static value here to avoid an additional,
-// tiny source file.
+SGReaderWriterBTG::SGReaderWriterBTG()
+{
+    supportsExtension("btg", "SimGear btg database format");
+}
 
-std::string SGReaderWriterBTGOptions::defaultOptions;
+SGReaderWriterBTG::~SGReaderWriterBTG()
+{
+}
 
 const char* SGReaderWriterBTG::className() const
 {
     return "BTG Database reader";
 }
 
-bool SGReaderWriterBTG::acceptsExtension(const std::string& extension) const
+bool
+SGReaderWriterBTG::acceptsExtension(const std::string& extension) const
 {
-    return (osgDB::equalCaseInsensitive(extension, "gz")
-            || osgDB::equalCaseInsensitive(extension, "btg"));
+    std::string lowercase_ext = osgDB::convertToLowerCase(extension);
+    if (lowercase_ext == "gz")
+        return true;
+    return osgDB::ReaderWriter::acceptsExtension(extension);
 }
 
 osgDB::ReaderWriter::ReadResult
 SGReaderWriterBTG::readNode(const std::string& fileName,
                             const osgDB::ReaderWriter::Options* options) const
 {
-    std::string ext = osgDB::getLowerCaseFileExtension(fileName);
-    if(!acceptsExtension(ext))
-        return ReadResult::FILE_NOT_HANDLED;
-    if (osgDB::equalCaseInsensitive(ext, "gz")) {
-        std::string btgFileName = osgDB::getNameLessExtension(fileName);
-        if (!acceptsExtension(
-                osgDB::getLowerCaseFileExtension(btgFileName))) {
-            return ReadResult::FILE_NOT_HANDLED;
-        }
-    }
     SGMaterialLib* matlib = 0;
     bool calcLights = false;
     bool useRandomObjects = false;
@@ -79,7 +76,7 @@ SGReaderWriterBTG::readNode(const std::string& fileName,
 
 
 typedef ModelRegistryCallback<DefaultProcessPolicy, NoCachePolicy,
-                              NoOptimizePolicy, NoCopyPolicy,
+                              NoOptimizePolicy,
                               NoSubstitutePolicy, BuildGroupBVHPolicy>
 BTGCallback;