2
0
Эх сурвалжийг харах

Merge branch 'master' into debian-fixes

Kim Kulling 3 жил өмнө
parent
commit
36c937cc19

+ 4 - 2
code/AssetLib/3MF/D3MFExporter.h

@@ -101,9 +101,11 @@ private:
     std::vector<OpcPackageRelationship*> mRelations;
 };
 
-#endif // ASSIMP_BUILD_NO_3MF_EXPORTER
-#endif // ASSIMP_BUILD_NO_EXPORT
 
 } // Namespace D3MF
 } // Namespace Assimp
 
+#endif // ASSIMP_BUILD_NO_3MF_EXPORTER
+#endif // ASSIMP_BUILD_NO_EXPORT
+
+

+ 3 - 1
code/AssetLib/Assbin/AssbinExporter.h

@@ -48,11 +48,13 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 #include <assimp/defs.h>
 
+#ifndef ASSIMP_BUILD_NO_EXPORT
+
 // nothing really needed here - reserved for future use like properties
 namespace Assimp {
 
 void ASSIMP_API ExportSceneAssbin(const char* pFile, IOSystem* pIOSystem, const aiScene* pScene, const ExportProperties* /*pProperties*/);
 
 }
-
+#endif 
 #endif // AI_ASSBINEXPORTER_H_INC

+ 11 - 12
code/AssetLib/Assbin/AssbinFileWriter.cpp

@@ -43,13 +43,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
 #include "AssbinFileWriter.h"
-
 #include "Common/assbin_chunks.h"
 #include "PostProcessing/ProcessHelper.h"
 
 #include <assimp/Exceptional.h>
 #include <assimp/version.h>
-#include <assimp/Exporter.hpp>
 #include <assimp/IOStream.hpp>
 
 #ifdef ASSIMP_BUILD_NO_OWN_ZLIB
@@ -58,7 +56,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include "../contrib/zlib/zlib.h"
 #endif
 
-#include <time.h>
+#include <ctime>
 
 #if _MSC_VER
 #pragma warning(push)
@@ -277,7 +275,7 @@ public:
         // empty
     }
 
-    virtual ~AssbinChunkWriter() {
+    ~AssbinChunkWriter() override {
         if (container) {
             container->Write(&magic, sizeof(uint32_t), 1);
             container->Write(&cursor, sizeof(uint32_t), 1);
@@ -288,26 +286,27 @@ public:
 
     void *GetBufferPointer() { return buffer; }
 
-    // -------------------------------------------------------------------
-    virtual size_t Read(void * /*pvBuffer*/, size_t /*pSize*/, size_t /*pCount*/) {
+    size_t Read(void * /*pvBuffer*/, size_t /*pSize*/, size_t /*pCount*/) override {
         return 0;
     }
-    virtual aiReturn Seek(size_t /*pOffset*/, aiOrigin /*pOrigin*/) {
+    
+    aiReturn Seek(size_t /*pOffset*/, aiOrigin /*pOrigin*/) override {
         return aiReturn_FAILURE;
     }
-    virtual size_t Tell() const {
+    
+    size_t Tell() const override {
         return cursor;
     }
-    virtual void Flush() {
+    
+    void Flush() override {
         // not implemented
     }
 
-    virtual size_t FileSize() const {
+    size_t FileSize() const override {
         return cursor;
     }
 
-    // -------------------------------------------------------------------
-    virtual size_t Write(const void *pvBuffer, size_t pSize, size_t pCount) {
+    size_t Write(const void *pvBuffer, size_t pSize, size_t pCount) override {
         pSize *= pCount;
         if (cursor + pSize > cur_size) {
             Grow(cursor + pSize);

+ 1 - 0
code/Common/ImporterRegistry.cpp

@@ -46,6 +46,7 @@ directly (unless you are adding new loaders), instead use the
 corresponding preprocessor flag to selectively disable formats.
 */
 
+#include <assimp/anim.h>
 #include <assimp/BaseImporter.h>
 #include <vector>
 #include <cstdlib>

+ 0 - 139
contrib/irrXML/fast_atof.h

@@ -1,139 +0,0 @@
-// Copyright (C) 2002-2005 Nikolaus Gebhardt
-// This file is part of the "Irrlicht Engine" and the "irrXML" project.
-// For conditions of distribution and use, see copyright notice in irrlicht.h and irrXML.h
-
-#ifndef __FAST_A_TO_F_H_INCLUDED__
-#define __FAST_A_TO_F_H_INCLUDED__
-
-#include <stdlib.h>
-#include <math.h>
-
-namespace irr
-{
-namespace core
-{
-
-const float fast_atof_table[] =	{
-										0.f,
-										0.1f,
-										0.01f,
-										0.001f,
-										0.0001f,
-										0.00001f,
-										0.000001f,
-										0.0000001f,
-										0.00000001f,
-										0.000000001f,
-										0.0000000001f,
-										0.00000000001f,
-										0.000000000001f,
-										0.0000000000001f,
-										0.00000000000001f,
-										0.000000000000001f
-									};
-
-//! Provides a fast function for converting a string into a float,
-//! about 6 times faster than atof in win32.
-// If you find any bugs, please send them to me, niko (at) irrlicht3d.org.
-inline char* fast_atof_move(char* c, float& out)
-{
-	bool inv = false;
-	char *t;
-	float f;
-
-	if (*c=='-')
-	{
-		c++;
-		inv = true;
-	}
-
-	f = (float)strtol(c, &t, 10);
-
-	c = t;
-
-	if (*c == '.')
-	{
-		c++;
-
-		float pl = (float)strtol(c, &t, 10);
-		pl *= fast_atof_table[t-c];
-
-		f += pl;
-
-		c = t;
-
-		if (*c == 'e')
-		{
-			++c;
-			float exp = (float)strtol(c, &t, 10);
-			f *= (float)pow(10.0f, exp);
-			c = t;
-		}
-	}
-
-	if (inv)
-		f *= -1.0f;
-	
-	out = f;
-	return c;
-}
-
-//! Provides a fast function for converting a string into a float,
-//! about 6 times faster than atof in win32.
-// If you find any bugs, please send them to me, niko (at) irrlicht3d.org.
-inline const char* fast_atof_move_const(const char* c, float& out)
-{
-	bool inv = false;
-	char *t;
-	float f;
-
-	if (*c=='-')
-	{
-		c++;
-		inv = true;
-	}
-
-	f = (float)strtol(c, &t, 10);
-
-	c = t;
-
-	if (*c == '.')
-	{
-		c++;
-
-		float pl = (float)strtol(c, &t, 10);
-		pl *= fast_atof_table[t-c];
-
-		f += pl;
-
-		c = t;
-
-		if (*c == 'e') 
-		{ 
-			++c; 
-			f32 exp = (f32)strtol(c, &t, 10); 
-			f *= (f32)powf(10.0f, exp); 
-			c = t; 
-		}
-	}
-
-	if (inv)
-		f *= -1.0f;
-	
-	out = f;
-	return c;
-}
-
-
-inline float fast_atof(const char* c)
-{
-	float ret;
-	fast_atof_move_const(c, ret);
-	return ret;
-}
-
-} // end namespace core
-}// end namespace irr
-
-#endif
-

+ 4 - 0
test/unit/ImportExport/utExporter.cpp

@@ -45,6 +45,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 using namespace Assimp;
 
+#ifndef ASSIMP_BUILD_NO_EXPORT
+
 class TestProgressHandler : public ProgressHandler {
 public:
     TestProgressHandler() :
@@ -101,3 +103,5 @@ TEST_F(ExporterTest, ExporterIdTest) {
     const aiExportFormatDesc *desc = exporter.GetExportFormatDescription(exportFormatCount);
     EXPECT_EQ(nullptr, desc) << "More exporters than claimed";
 }
+
+#endif

+ 4 - 0
test/unit/utColladaImportExport.cpp

@@ -233,6 +233,8 @@ unsigned int GetMeshUseCount(const aiNode *rootNode) {
     return result;
 }
 
+#ifndef ASSIMP_BUILD_NO_EXPORT
+
 TEST_F(utColladaImportExport, exportRootNodeMeshTest) {
     Assimp::Importer importer;
     Assimp::Exporter exporter;
@@ -342,6 +344,8 @@ TEST_F(utColladaImportExport, exporterUniqueIdsTest) {
     ImportAsNames(outFileNamed, scene);
 }
 
+#endif
+
 class utColladaZaeImportExport : public AbstractImportExportBase {
 public:
     virtual bool importerTest() final {

+ 8 - 0
tools/assimp_cmd/WriteDump.cpp

@@ -66,6 +66,8 @@ const char *AICMD_MSG_DUMP_HELP =
 FILE *out = nullptr;
 bool shortened = false;
 
+#ifndef ASSIMP_BUILD_NO_EXPORT
+
 // -----------------------------------------------------------------------------------
 int Assimp_Dump(const char *const *params, unsigned int num) {
     const char *fail = "assimp dump: Invalid number of arguments. "
@@ -162,3 +164,9 @@ int Assimp_Dump(const char *const *params, unsigned int num) {
     printf("assimp dump: Wrote output dump %s\n", cur_out.c_str());
     return AssimpCmdError::Success;
 }
+#else
+int Assimp_Dump(const char *const *, unsigned int ) {
+    printf("assimp dump: Export disabled.\n");
+    return AssimpCmdError::UnrecognizedCommand;
+}
+#endif