Browse Source

First pass of Collada ZAE support

Reads the manifest and loads the DAE
Does not yet load embedded textures
RichardTea 6 years ago
parent
commit
d64e1bde13

File diff suppressed because it is too large
+ 259 - 241
code/Collada/ColladaLoader.cpp


+ 1 - 1
code/Collada/ColladaLoader.h

@@ -94,7 +94,7 @@ public:
 public:
     /** Returns whether the class can handle the format of the given file.
      * See BaseImporter::CanRead() for details. */
-    bool CanRead( const std::string& pFile, IOSystem* pIOHandler, bool checkSig) const;
+    bool CanRead( const std::string& pFile, IOSystem* pIOHandler, bool checkSig) const override;
 
 protected:
     /** Return importer meta information.

File diff suppressed because it is too large
+ 357 - 280
code/Collada/ColladaParser.cpp


+ 4 - 0
code/Collada/ColladaParser.h

@@ -54,6 +54,7 @@
 
 namespace Assimp
 {
+    class ZipArchiveIOSystem;
 
     // ------------------------------------------------------------------------------------------
     /** Parser helper class for the Collada loader.
@@ -75,6 +76,9 @@ namespace Assimp
         /** Destructor */
         ~ColladaParser();
 
+        /** Attempts to read the ZAE manifest and returns the DAE to open */
+        static std::string ReadZaeManifest(ZipArchiveIOSystem &zip_archive);
+
         /** Reads the contents of the file */
         void ReadContents();
 

BIN
test/models/Collada/duck.zae


BIN
test/models/Collada/duck_nomanifest.zae


Some files were not shown because too many files changed in this diff