summaryrefslogtreecommitdiff
path: root/libs/assimp/test/unit
diff options
context:
space:
mode:
authorsanine <sanine.not@pm.me>2023-02-12 23:53:22 -0600
committersanine <sanine.not@pm.me>2023-02-12 23:53:22 -0600
commitf1fe73d1909a2448a004a88362a1a532d0d4f7c3 (patch)
treeab37ae3837e2f858de2932bcee9f26e69fab3db1 /libs/assimp/test/unit
parentf567ea1e2798fd3156a416e61f083ea3e6b95719 (diff)
switch to tinyobj and nanovg from assimp and cairo
Diffstat (limited to 'libs/assimp/test/unit')
-rw-r--r--libs/assimp/test/unit/AbstractImportExportBase.cpp49
-rw-r--r--libs/assimp/test/unit/AbstractImportExportBase.h75
-rw-r--r--libs/assimp/test/unit/AssimpAPITest.cpp62
-rw-r--r--libs/assimp/test/unit/AssimpAPITest_aiMatrix3x3.cpp151
-rw-r--r--libs/assimp/test/unit/AssimpAPITest_aiMatrix4x4.cpp259
-rw-r--r--libs/assimp/test/unit/AssimpAPITest_aiQuaternion.cpp135
-rw-r--r--libs/assimp/test/unit/AssimpAPITest_aiVector2D.cpp140
-rw-r--r--libs/assimp/test/unit/AssimpAPITest_aiVector3D.cpp185
-rw-r--r--libs/assimp/test/unit/CCompilerTest.c9
-rw-r--r--libs/assimp/test/unit/Common/uiScene.cpp109
-rw-r--r--libs/assimp/test/unit/Common/utAssertHandler.cpp110
-rw-r--r--libs/assimp/test/unit/Common/utBase64.cpp72
-rw-r--r--libs/assimp/test/unit/Common/utLineSplitter.cpp71
-rw-r--r--libs/assimp/test/unit/Common/utMesh.cpp97
-rw-r--r--libs/assimp/test/unit/Common/utSpatialSort.cpp120
-rw-r--r--libs/assimp/test/unit/Common/utStandardShapes.cpp57
-rw-r--r--libs/assimp/test/unit/Common/utXmlParser.cpp86
-rw-r--r--libs/assimp/test/unit/ImportExport/Assxml/utAssxmlImportExport.cpp76
-rw-r--r--libs/assimp/test/unit/ImportExport/IRR/utIrrImportExport.cpp66
-rw-r--r--libs/assimp/test/unit/ImportExport/MDL/MDLHL1TestFiles.h57
-rw-r--r--libs/assimp/test/unit/ImportExport/MDL/utMDLImporter_HL1_ImportSettings.cpp228
-rw-r--r--libs/assimp/test/unit/ImportExport/MDL/utMDLImporter_HL1_Materials.cpp134
-rw-r--r--libs/assimp/test/unit/ImportExport/MDL/utMDLImporter_HL1_Nodes.cpp455
-rw-r--r--libs/assimp/test/unit/ImportExport/RAW/utRAWImportExport.cpp64
-rw-r--r--libs/assimp/test/unit/ImportExport/Terragen/utTerragenImportExport.cpp60
-rw-r--r--libs/assimp/test/unit/ImportExport/utAssjsonImportExport.cpp80
-rw-r--r--libs/assimp/test/unit/ImportExport/utCOBImportExport.cpp99
-rw-r--r--libs/assimp/test/unit/ImportExport/utExporter.cpp107
-rw-r--r--libs/assimp/test/unit/ImportExport/utMD2Importer.cpp78
-rw-r--r--libs/assimp/test/unit/ImportExport/utMD3Importer.cpp67
-rw-r--r--libs/assimp/test/unit/ImportExport/utMD5Importer.cpp72
-rw-r--r--libs/assimp/test/unit/ImportExport/utMDLImporter.cpp80
-rw-r--r--libs/assimp/test/unit/ImportExport/utNFFImportExport.cpp60
-rw-r--r--libs/assimp/test/unit/ImportExport/utOFFImportExport.cpp60
-rw-r--r--libs/assimp/test/unit/ImportExport/utOgreImportExport.cpp61
-rw-r--r--libs/assimp/test/unit/ImportExport/utQ3BSPFileImportExport.cpp61
-rw-r--r--libs/assimp/test/unit/ImportExport/utXGLImportExport.cpp94
-rw-r--r--libs/assimp/test/unit/Main.cpp33
-rw-r--r--libs/assimp/test/unit/MathTest.cpp56
-rw-r--r--libs/assimp/test/unit/MathTest.h103
-rw-r--r--libs/assimp/test/unit/RandomNumberGeneration.h82
-rw-r--r--libs/assimp/test/unit/SceneDiffer.cpp374
-rw-r--r--libs/assimp/test/unit/SceneDiffer.h75
-rw-r--r--libs/assimp/test/unit/TestIOStream.h62
-rw-r--r--libs/assimp/test/unit/TestIOSystem.h84
-rw-r--r--libs/assimp/test/unit/TestModelFactory.h105
-rw-r--r--libs/assimp/test/unit/UTLogStream.h64
-rw-r--r--libs/assimp/test/unit/UnitTestFileGenerator.h76
-rw-r--r--libs/assimp/test/unit/UnitTestPCH.h59
-rw-r--r--libs/assimp/test/unit/ut3DImportExport.cpp67
-rw-r--r--libs/assimp/test/unit/ut3DSImportExport.cpp72
-rw-r--r--libs/assimp/test/unit/utACImportExport.cpp114
-rw-r--r--libs/assimp/test/unit/utAMFImportExport.cpp67
-rw-r--r--libs/assimp/test/unit/utASEImportExport.cpp65
-rw-r--r--libs/assimp/test/unit/utAnim.cpp107
-rw-r--r--libs/assimp/test/unit/utArmaturePopulate.cpp79
-rw-r--r--libs/assimp/test/unit/utAssbinImportExport.cpp69
-rw-r--r--libs/assimp/test/unit/utB3DImportExport.cpp61
-rw-r--r--libs/assimp/test/unit/utBVHImportExport.cpp60
-rw-r--r--libs/assimp/test/unit/utBatchLoader.cpp81
-rw-r--r--libs/assimp/test/unit/utBlendImportAreaLight.cpp109
-rw-r--r--libs/assimp/test/unit/utBlendImportMaterials.cpp146
-rw-r--r--libs/assimp/test/unit/utBlenderImportExport.cpp218
-rw-r--r--libs/assimp/test/unit/utBlenderIntermediate.cpp80
-rw-r--r--libs/assimp/test/unit/utBlenderWork.cpp73
-rw-r--r--libs/assimp/test/unit/utCSMImportExport.cpp60
-rw-r--r--libs/assimp/test/unit/utColladaExport.cpp225
-rw-r--r--libs/assimp/test/unit/utColladaImportExport.cpp410
-rw-r--r--libs/assimp/test/unit/utD3MFImportExport.cpp99
-rw-r--r--libs/assimp/test/unit/utDXFImporterExporter.cpp73
-rw-r--r--libs/assimp/test/unit/utDefaultIOStream.cpp83
-rw-r--r--libs/assimp/test/unit/utExport.cpp84
-rw-r--r--libs/assimp/test/unit/utFBXImporterExporter.cpp425
-rw-r--r--libs/assimp/test/unit/utFastAtof.cpp190
-rw-r--r--libs/assimp/test/unit/utFindDegenerates.cpp208
-rw-r--r--libs/assimp/test/unit/utFindInvalidData.cpp145
-rw-r--r--libs/assimp/test/unit/utFixInfacingNormals.cpp43
-rw-r--r--libs/assimp/test/unit/utGenBoundingBoxesProcess.cpp93
-rw-r--r--libs/assimp/test/unit/utGenNormals.cpp86
-rw-r--r--libs/assimp/test/unit/utHMPImportExport.cpp60
-rw-r--r--libs/assimp/test/unit/utIFCImportExport.cpp80
-rw-r--r--libs/assimp/test/unit/utIOStreamBuffer.cpp146
-rw-r--r--libs/assimp/test/unit/utIOSystem.cpp79
-rw-r--r--libs/assimp/test/unit/utImporter.cpp363
-rw-r--r--libs/assimp/test/unit/utImproveCacheLocality.cpp42
-rw-r--r--libs/assimp/test/unit/utIssues.cpp83
-rw-r--r--libs/assimp/test/unit/utJoinVertices.cpp142
-rw-r--r--libs/assimp/test/unit/utLWOImportExport.cpp77
-rw-r--r--libs/assimp/test/unit/utLWSImportExport.cpp138
-rw-r--r--libs/assimp/test/unit/utLimitBoneWeights.cpp136
-rw-r--r--libs/assimp/test/unit/utM3DImportExport.cpp84
-rw-r--r--libs/assimp/test/unit/utMDCImportExport.cpp62
-rw-r--r--libs/assimp/test/unit/utMaterialSystem.cpp137
-rw-r--r--libs/assimp/test/unit/utMatrix3x3.cpp99
-rw-r--r--libs/assimp/test/unit/utMatrix4x4.cpp92
-rw-r--r--libs/assimp/test/unit/utMetadata.cpp272
-rw-r--r--libs/assimp/test/unit/utNoBoostTest.cpp112
-rw-r--r--libs/assimp/test/unit/utObjImportExport.cpp479
-rw-r--r--libs/assimp/test/unit/utObjTools.cpp116
-rw-r--r--libs/assimp/test/unit/utOpenGEXImportExport.cpp72
-rw-r--r--libs/assimp/test/unit/utPLYImportExport.cpp182
-rw-r--r--libs/assimp/test/unit/utPMXImporter.cpp62
-rw-r--r--libs/assimp/test/unit/utPretransformVertices.cpp157
-rw-r--r--libs/assimp/test/unit/utProfiler.cpp77
-rw-r--r--libs/assimp/test/unit/utQ3DImportExport.cpp61
-rw-r--r--libs/assimp/test/unit/utRemoveComments.cpp92
-rw-r--r--libs/assimp/test/unit/utRemoveComponent.cpp208
-rw-r--r--libs/assimp/test/unit/utRemoveRedundantMaterials.cpp177
-rw-r--r--libs/assimp/test/unit/utRemoveVCProcess.cpp76
-rw-r--r--libs/assimp/test/unit/utSIBImporter.cpp73
-rw-r--r--libs/assimp/test/unit/utSMDImportExport.cpp77
-rw-r--r--libs/assimp/test/unit/utSTLImportExport.cpp170
-rw-r--r--libs/assimp/test/unit/utScaleProcess.cpp71
-rw-r--r--libs/assimp/test/unit/utScene.cpp64
-rw-r--r--libs/assimp/test/unit/utSceneCombiner.cpp77
-rw-r--r--libs/assimp/test/unit/utScenePreprocessor.cpp197
-rw-r--r--libs/assimp/test/unit/utSharedPPData.cpp124
-rw-r--r--libs/assimp/test/unit/utSimd.cpp62
-rw-r--r--libs/assimp/test/unit/utSortByPType.cpp204
-rw-r--r--libs/assimp/test/unit/utSplitLargeMeshes.cpp155
-rw-r--r--libs/assimp/test/unit/utStringUtils.cpp77
-rw-r--r--libs/assimp/test/unit/utTargetAnimation.cpp43
-rw-r--r--libs/assimp/test/unit/utTextureTransform.cpp43
-rw-r--r--libs/assimp/test/unit/utTriangulate.cpp137
-rw-r--r--libs/assimp/test/unit/utTypes.cpp77
-rw-r--r--libs/assimp/test/unit/utValidateDataStructure.cpp199
-rw-r--r--libs/assimp/test/unit/utVector3.cpp69
-rw-r--r--libs/assimp/test/unit/utVersion.cpp77
-rw-r--r--libs/assimp/test/unit/utVertexTriangleAdjacency.cpp210
-rw-r--r--libs/assimp/test/unit/utX3DImportExport.cpp61
-rw-r--r--libs/assimp/test/unit/utXImporterExporter.cpp126
-rw-r--r--libs/assimp/test/unit/utglTF2ImportExport.cpp834
-rw-r--r--libs/assimp/test/unit/utglTFImportExport.cpp111
133 files changed, 0 insertions, 16012 deletions
diff --git a/libs/assimp/test/unit/AbstractImportExportBase.cpp b/libs/assimp/test/unit/AbstractImportExportBase.cpp
deleted file mode 100644
index 31402f4..0000000
--- a/libs/assimp/test/unit/AbstractImportExportBase.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "AbstractImportExportBase.h"
-
-using namespace ::Assimp;
-
-AbstractImportExportBase::~AbstractImportExportBase() {
- // empty
-}
diff --git a/libs/assimp/test/unit/AbstractImportExportBase.h b/libs/assimp/test/unit/AbstractImportExportBase.h
deleted file mode 100644
index 7651d2e..0000000
--- a/libs/assimp/test/unit/AbstractImportExportBase.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2020, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#pragma once
-#ifndef AI_ABSTRACTIMPORTEXPORTBASE_H_INC
-#define AI_ABSTRACTIMPORTEXPORTBASE_H_INC
-
-#include "UnitTestPCH.h"
-
-// ---------------------------------------------------------------------------
-/** Abstract base class to test import and export
- */
- // ---------------------------------------------------------------------------
-class AbstractImportExportBase : public ::testing::Test {
-public:
- /// @brief The class destructor.
- virtual ~AbstractImportExportBase();
-
- /// @brief The importer-test, will return true for successful import.
- /// @return true for success, false for failure.
- virtual bool importerTest();
-
- /// @brief The exporter-test, will return true for successful import.
- /// @return true for success, false for failure.
- virtual bool exporterTest();
-};
-
-inline
-bool AbstractImportExportBase::importerTest() {
- return true;
-}
-
-inline
-bool AbstractImportExportBase::exporterTest() {
- return true;
-}
-
-#endif // AI_ABSTRACTIMPORTEXPORTBASE_H_INC
diff --git a/libs/assimp/test/unit/AssimpAPITest.cpp b/libs/assimp/test/unit/AssimpAPITest.cpp
deleted file mode 100644
index b8739b0..0000000
--- a/libs/assimp/test/unit/AssimpAPITest.cpp
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-#include <assimp/importerdesc.h>
-
-using namespace Assimp;
-
-class AssimpAPITest : public ::testing::Test {
- // empty
-};
-
-TEST_F( AssimpAPITest, aiGetImporterDescTest ) {
- const aiImporterDesc *desc( nullptr );
- desc = aiGetImporterDesc(nullptr);
- EXPECT_EQ(nullptr, desc);
-
- desc = aiGetImporterDesc( "obj" );
- EXPECT_TRUE(nullptr != desc);
-}
-
-TEST_F( AssimpAPITest, aiGetLastErrorTest ) {
- const char *error = aiGetErrorString();
- EXPECT_NE(nullptr, error);
-}
diff --git a/libs/assimp/test/unit/AssimpAPITest_aiMatrix3x3.cpp b/libs/assimp/test/unit/AssimpAPITest_aiMatrix3x3.cpp
deleted file mode 100644
index 90976ba..0000000
--- a/libs/assimp/test/unit/AssimpAPITest_aiMatrix3x3.cpp
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-#include "MathTest.h"
-
-using namespace Assimp;
-
-class AssimpAPITest_aiMatrix3x3 : public AssimpMathTest {
-protected:
- virtual void SetUp() {
- result_c = result_cpp = aiMatrix3x3();
- }
-
- aiMatrix3x3 result_c, result_cpp;
-};
-
-TEST_F(AssimpAPITest_aiMatrix3x3, aiIdentityMatrix3Test) {
- // Force a non-identity matrix.
- result_c = aiMatrix3x3(0,0,0,0,0,0,0,0,0);
- aiIdentityMatrix3(&result_c);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix3x3, aiMatrix3FromMatrix4Test) {
- const auto m = random_mat4();
- result_cpp = aiMatrix3x3(m);
- aiMatrix3FromMatrix4(&result_c, &m);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix3x3, aiMatrix3FromQuaternionTest) {
- const auto q = random_quat();
- result_cpp = q.GetMatrix();
- aiMatrix3FromQuaternion(&result_c, &q);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix3x3, aiMatrix3AreEqualTest) {
- result_c = result_cpp = random_mat3();
- EXPECT_EQ(result_cpp == result_c,
- (bool)aiMatrix3AreEqual(&result_cpp, &result_c));
-}
-
-TEST_F(AssimpAPITest_aiMatrix3x3, aiMatrix3AreEqualEpsilonTest) {
- result_c = result_cpp = random_mat3();
- EXPECT_EQ(result_cpp.Equal(result_c, Epsilon),
- (bool)aiMatrix3AreEqualEpsilon(&result_cpp, &result_c, Epsilon));
-}
-
-TEST_F(AssimpAPITest_aiMatrix3x3, aiMultiplyMatrix3Test) {
- const auto m = random_mat3();
- result_c = result_cpp = random_mat3();
- result_cpp *= m;
- aiMultiplyMatrix3(&result_c, &m);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix3x3, aiTransposeMatrix3Test) {
- result_c = result_cpp = random_mat3();
- result_cpp.Transpose();
- aiTransposeMatrix3(&result_c);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix3x3, aiMatrix3InverseTest) {
- // Use a predetermined matrix to prevent arbitrary
- // cases where it could have a null determinant.
- result_c = result_cpp = aiMatrix3x3(
- 5, 2, 7,
- 4, 6, 9,
- 1, 8, 3);
- result_cpp.Inverse();
- aiMatrix3Inverse(&result_c);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix3x3, aiMatrix3DeterminantTest) {
- result_c = result_cpp = random_mat3();
- EXPECT_EQ(result_cpp.Determinant(),
- aiMatrix3Determinant(&result_c));
-}
-
-TEST_F(AssimpAPITest_aiMatrix3x3, aiMatrix3RotationZTest) {
- const float angle(RandPI.next());
- aiMatrix3x3::RotationZ(angle, result_cpp);
- aiMatrix3RotationZ(&result_c, angle);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix3x3, aiMatrix3FromRotationAroundAxisTest) {
- const float angle(RandPI.next());
- const auto axis = random_unit_vec3();
- aiMatrix3x3::Rotation(angle, axis, result_cpp);
- aiMatrix3FromRotationAroundAxis(&result_c, &axis, angle);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix3x3, aiMatrix3TranslationTest) {
- const auto axis = random_vec2();
- aiMatrix3x3::Translation(axis, result_cpp);
- aiMatrix3Translation(&result_c, &axis);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix3x3, aiMatrix3FromToTest) {
- // Use predetermined vectors to prevent running into division by zero.
- const auto from = aiVector3D(1,2,1).Normalize(), to = aiVector3D(-1,1,1).Normalize();
- aiMatrix3x3::FromToMatrix(from, to, result_cpp);
- aiMatrix3FromTo(&result_c, &from, &to);
- EXPECT_EQ(result_cpp, result_c);
-}
diff --git a/libs/assimp/test/unit/AssimpAPITest_aiMatrix4x4.cpp b/libs/assimp/test/unit/AssimpAPITest_aiMatrix4x4.cpp
deleted file mode 100644
index 9372bd9..0000000
--- a/libs/assimp/test/unit/AssimpAPITest_aiMatrix4x4.cpp
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-#include "MathTest.h"
-
-using namespace Assimp;
-
-class AssimpAPITest_aiMatrix4x4 : public AssimpMathTest {
-protected:
- virtual void SetUp() {
- result_c = result_cpp = aiMatrix4x4();
- }
-
- /* Generates a predetermined transformation matrix to use
- for the aiDecompose functions to prevent running into
- division by zero. */
- aiMatrix4x4 get_predetermined_transformation_matrix_for_decomposition() const {
- aiMatrix4x4 t, r;
- aiMatrix4x4::Translation(aiVector3D(14,-25,-8), t);
- aiMatrix4x4::Rotation(Math::aiPi<float>() / 4.0f, aiVector3D(1).Normalize(), r);
- return t * r;
- }
-
- aiMatrix4x4 result_c, result_cpp;
-};
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiIdentityMatrix4Test) {
- // Force a non-identity matrix.
- result_c = aiMatrix4x4(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
- aiIdentityMatrix4(&result_c);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiMatrix4FromMatrix3Test) {
- aiMatrix3x3 m = random_mat3();
- result_cpp = aiMatrix4x4(m);
- aiMatrix4FromMatrix3(&result_c, &m);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiMatrix4FromScalingQuaternionPositionTest) {
- const aiVector3D s = random_vec3();
- const aiQuaternion q = random_quat();
- const aiVector3D t = random_vec3();
- result_cpp = aiMatrix4x4(s, q, t);
- aiMatrix4FromScalingQuaternionPosition(&result_c, &s, &q, &t);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiMatrix4AddTest) {
- const aiMatrix4x4 temp = random_mat4();
- result_c = result_cpp = random_mat4();
- result_cpp = result_cpp + temp;
- aiMatrix4Add(&result_c, &temp);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiMatrix4AreEqualTest) {
- result_c = result_cpp = random_mat4();
- EXPECT_EQ(result_cpp == result_c,
- (bool)aiMatrix4AreEqual(&result_cpp, &result_c));
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiMatrix4AreEqualEpsilonTest) {
- result_c = result_cpp = random_mat4();
- EXPECT_EQ(result_cpp.Equal(result_c, Epsilon),
- (bool)aiMatrix4AreEqualEpsilon(&result_cpp, &result_c, Epsilon));
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiMultiplyMatrix4Test) {
- const auto m = random_mat4();
- result_c = result_cpp = random_mat4();
- result_cpp *= m;
- aiMultiplyMatrix4(&result_c, &m);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiTransposeMatrix4Test) {
- result_c = result_cpp = random_mat4();
- result_cpp.Transpose();
- aiTransposeMatrix4(&result_c);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiMatrix4InverseTest) {
- // Use a predetermined matrix to prevent arbitrary
- // cases where it could have a null determinant.
- result_c = result_cpp = aiMatrix4x4(
- 6, 10, 15, 3,
- 14, 2, 12, 8,
- 9, 13, 5, 16,
- 4, 7, 11, 1);
- result_cpp.Inverse();
- aiMatrix4Inverse(&result_c);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiMatrix4DeterminantTest) {
- result_c = result_cpp = random_mat4();
- EXPECT_EQ(result_cpp.Determinant(),
- aiMatrix4Determinant(&result_c));
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiMatrix4IsIdentityTest) {
- EXPECT_EQ(result_cpp.IsIdentity(),
- (bool)aiMatrix4IsIdentity(&result_c));
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiDecomposeMatrixTest) {
- aiVector3D scaling_c, scaling_cpp,
- position_c, position_cpp;
- aiQuaternion rotation_c, rotation_cpp;
-
- result_c = result_cpp = get_predetermined_transformation_matrix_for_decomposition();
- result_cpp.Decompose(scaling_cpp, rotation_cpp, position_cpp);
- aiDecomposeMatrix(&result_c, &scaling_c, &rotation_c, &position_c);
- EXPECT_EQ(scaling_cpp, scaling_c);
- EXPECT_EQ(position_cpp, position_c);
- EXPECT_EQ(rotation_cpp, rotation_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiMatrix4DecomposeIntoScalingEulerAnglesPositionTest) {
- aiVector3D scaling_c, scaling_cpp,
- rotation_c, rotation_cpp,
- position_c, position_cpp;
-
- result_c = result_cpp = get_predetermined_transformation_matrix_for_decomposition();
- result_cpp.Decompose(scaling_cpp, rotation_cpp, position_cpp);
- aiMatrix4DecomposeIntoScalingEulerAnglesPosition(&result_c, &scaling_c, &rotation_c, &position_c);
- EXPECT_EQ(scaling_cpp, scaling_c);
- EXPECT_EQ(position_cpp, position_c);
- EXPECT_EQ(rotation_cpp, rotation_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiMatrix4DecomposeIntoScalingAxisAnglePositionTest) {
- aiVector3D scaling_c, scaling_cpp,
- axis_c, axis_cpp,
- position_c, position_cpp;
- ai_real angle_c, angle_cpp;
-
- result_c = result_cpp = get_predetermined_transformation_matrix_for_decomposition();
- result_cpp.Decompose(scaling_cpp, axis_cpp, angle_cpp, position_cpp);
- aiMatrix4DecomposeIntoScalingAxisAnglePosition(&result_c, &scaling_c, &axis_c, &angle_c, &position_c);
- EXPECT_EQ(scaling_cpp, scaling_c);
- EXPECT_EQ(axis_cpp, axis_c);
- EXPECT_EQ(angle_cpp, angle_c);
- EXPECT_EQ(position_cpp, position_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiMatrix4DecomposeNoScalingTest) {
- aiVector3D position_c, position_cpp;
- aiQuaternion rotation_c, rotation_cpp;
-
- result_c = result_cpp = get_predetermined_transformation_matrix_for_decomposition();
- result_cpp.DecomposeNoScaling(rotation_cpp, position_cpp);
- aiMatrix4DecomposeNoScaling(&result_c, &rotation_c, &position_c);
- EXPECT_EQ(position_cpp, position_c);
- EXPECT_EQ(rotation_cpp, rotation_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiMatrix4FromEulerAnglesTest) {
- const float x(RandPI.next()),
- y(RandPI.next()),
- z(RandPI.next());
- result_cpp.FromEulerAnglesXYZ(x, y, z);
- aiMatrix4FromEulerAngles(&result_c, x, y, z);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiMatrix4RotationXTest) {
- const float angle(RandPI.next());
- aiMatrix4x4::RotationX(angle, result_cpp);
- aiMatrix4RotationX(&result_c, angle);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiMatrix4RotationYTest) {
- const float angle(RandPI.next());
- aiMatrix4x4::RotationY(angle, result_cpp);
- aiMatrix4RotationY(&result_c, angle);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiMatrix4RotationZTest) {
- const float angle(RandPI.next());
- aiMatrix4x4::RotationZ(angle, result_cpp);
- aiMatrix4RotationZ(&result_c, angle);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiMatrix4FromRotationAroundAxisTest) {
- const float angle(RandPI.next());
- const auto axis = random_unit_vec3();
- aiMatrix4x4::Rotation(angle, axis, result_cpp);
- aiMatrix4FromRotationAroundAxis(&result_c, &axis, angle);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiMatrix4TranslationTest) {
- const auto axis = random_vec3();
- aiMatrix4x4::Translation(axis, result_cpp);
- aiMatrix4Translation(&result_c, &axis);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiMatrix4ScalingTest) {
- const auto scaling = random_vec3();
- aiMatrix4x4::Scaling(scaling, result_cpp);
- aiMatrix4Scaling(&result_c, &scaling);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiMatrix4x4, aiMatrix4FromToTest) {
- // Use predetermined vectors to prevent running into division by zero.
- const auto from = aiVector3D(1,2,1).Normalize(), to = aiVector3D(-1,1,1).Normalize();
- aiMatrix4x4::FromToMatrix(from, to, result_cpp);
- aiMatrix4FromTo(&result_c, &from, &to);
- EXPECT_EQ(result_cpp, result_c);
-}
diff --git a/libs/assimp/test/unit/AssimpAPITest_aiQuaternion.cpp b/libs/assimp/test/unit/AssimpAPITest_aiQuaternion.cpp
deleted file mode 100644
index 8f57bc5..0000000
--- a/libs/assimp/test/unit/AssimpAPITest_aiQuaternion.cpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-#include "MathTest.h"
-
-using namespace Assimp;
-
-class AssimpAPITest_aiQuaternion : public AssimpMathTest {
-protected:
- virtual void SetUp() {
- result_c = result_cpp = aiQuaternion();
- }
-
- aiQuaternion result_c, result_cpp;
-};
-
-TEST_F(AssimpAPITest_aiQuaternion, aiCreateQuaternionFromMatrixTest) {
- // Use a predetermined transformation matrix
- // to prevent running into division by zero.
- aiMatrix3x3 m, r;
- aiMatrix3x3::Translation(aiVector2D(14,-25), m);
- aiMatrix3x3::RotationZ(Math::aiPi<float>() / 4.0f, r);
- m = m * r;
-
- result_cpp = aiQuaternion(m);
- aiCreateQuaternionFromMatrix(&result_c, &m);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiQuaternion, aiQuaternionFromEulerAnglesTest) {
- const float x(RandPI.next()),
- y(RandPI.next()),
- z(RandPI.next());
- result_cpp = aiQuaternion(x, y, z);
- aiQuaternionFromEulerAngles(&result_c, x, y, z);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiQuaternion, aiQuaternionFromAxisAngleTest) {
- const float angle(RandPI.next());
- const aiVector3D axis(random_unit_vec3());
- result_cpp = aiQuaternion(axis, angle);
- aiQuaternionFromAxisAngle(&result_c, &axis, angle);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiQuaternion, aiQuaternionFromNormalizedQuaternionTest) {
- const auto qvec3 = random_unit_vec3();
- result_cpp = aiQuaternion(qvec3);
- aiQuaternionFromNormalizedQuaternion(&result_c, &qvec3);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiQuaternion, aiQuaternionAreEqualTest) {
- result_c = result_cpp = random_quat();
- EXPECT_EQ(result_cpp == result_c,
- (bool)aiQuaternionAreEqual(&result_cpp, &result_c));
-}
-
-TEST_F(AssimpAPITest_aiQuaternion, aiQuaternionAreEqualEpsilonTest) {
- result_c = result_cpp = random_quat();
- EXPECT_EQ(result_cpp.Equal(result_c, Epsilon),
- (bool)aiQuaternionAreEqualEpsilon(&result_cpp, &result_c, Epsilon));
-}
-
-TEST_F(AssimpAPITest_aiQuaternion, aiQuaternionNormalizeTest) {
- result_c = result_cpp = random_quat();
- aiQuaternionNormalize(&result_c);
- EXPECT_EQ(result_cpp.Normalize(), result_c);
-}
-
-TEST_F(AssimpAPITest_aiQuaternion, aiQuaternionConjugateTest) {
- result_c = result_cpp = random_quat();
- aiQuaternionConjugate(&result_c);
- EXPECT_EQ(result_cpp.Conjugate(), result_c);
-}
-
-TEST_F(AssimpAPITest_aiQuaternion, aiQuaternionMultiplyTest) {
- const aiQuaternion temp = random_quat();
- result_c = result_cpp = random_quat();
- result_cpp = result_cpp * temp;
- aiQuaternionMultiply(&result_c, &temp);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiQuaternion, aiQuaternionInterpolateTest) {
- // Use predetermined quaternions to prevent division by zero
- // during slerp calculations.
- const float INTERPOLATION(0.5f);
- const auto q1 = aiQuaternion(aiVector3D(-1,1,1).Normalize(), Math::aiPi<float>() / 4.0f);
- const auto q2 = aiQuaternion(aiVector3D(1,2,1).Normalize(), Math::aiPi<float>() / 2.0f);
- aiQuaternion::Interpolate(result_cpp, q1, q2, INTERPOLATION);
- aiQuaternionInterpolate(&result_c, &q1, &q2, INTERPOLATION);
- EXPECT_EQ(result_cpp, result_c);
-}
diff --git a/libs/assimp/test/unit/AssimpAPITest_aiVector2D.cpp b/libs/assimp/test/unit/AssimpAPITest_aiVector2D.cpp
deleted file mode 100644
index 44bb34a..0000000
--- a/libs/assimp/test/unit/AssimpAPITest_aiVector2D.cpp
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-#include "MathTest.h"
-
-using namespace Assimp;
-
-class AssimpAPITest_aiVector2D : public AssimpMathTest {
-protected:
- virtual void SetUp() {
- result_c = result_cpp = aiVector2D();
- temp = random_vec2(); // Generates a random 2D vector != null vector.
- }
-
- aiVector2D result_c, result_cpp, temp;
-};
-
-TEST_F(AssimpAPITest_aiVector2D, aiVector2AreEqualTest) {
- result_c = result_cpp = random_vec2();
- EXPECT_EQ(result_cpp == result_c,
- (bool)aiVector2AreEqual(&result_cpp, &result_c));
-}
-
-TEST_F(AssimpAPITest_aiVector2D, aiVector2AreEqualEpsilonTest) {
- result_c = result_cpp = random_vec2();
- EXPECT_EQ(result_cpp.Equal(result_c, Epsilon),
- (bool)aiVector2AreEqualEpsilon(&result_cpp, &result_c, Epsilon));
-}
-
-TEST_F(AssimpAPITest_aiVector2D, aiVector2AddTest) {
- result_c = result_cpp = random_vec2();
- result_cpp += temp;
- aiVector2Add(&result_c, &temp);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiVector2D, aiVector2SubtractTest) {
- result_c = result_cpp = random_vec2();
- result_cpp -= temp;
- aiVector2Subtract(&result_c, &temp);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiVector2D, aiVector2ScaleTest) {
- const float FACTOR = RandNonZero.next();
- result_c = result_cpp = random_vec2();
- result_cpp *= FACTOR;
- aiVector2Scale(&result_c, FACTOR);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiVector2D, aiVector2SymMulTest) {
- result_c = result_cpp = random_vec2();
- result_cpp = result_cpp.SymMul(temp);
- aiVector2SymMul(&result_c, &temp);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiVector2D, aiVector2DivideByScalarTest) {
- const float DIVISOR = RandNonZero.next();
- result_c = result_cpp = random_vec2();
- result_cpp /= DIVISOR;
- aiVector2DivideByScalar(&result_c, DIVISOR);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiVector2D, aiVector2DivideByVectorTest) {
- result_c = result_cpp = random_vec2();
- result_cpp = result_cpp / temp;
- aiVector2DivideByVector(&result_c, &temp);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiVector2D, aiVector2LengthTest) {
- result_c = result_cpp = random_vec2();
- EXPECT_EQ(result_cpp.Length(), aiVector2Length(&result_c));
-}
-
-TEST_F(AssimpAPITest_aiVector2D, aiVector2SquareLengthTest) {
- result_c = result_cpp = random_vec2();
- EXPECT_EQ(result_cpp.SquareLength(), aiVector2SquareLength(&result_c));
-}
-
-TEST_F(AssimpAPITest_aiVector2D, aiVector2NegateTest) {
- result_c = result_cpp = random_vec2();
- aiVector2Negate(&result_c);
- EXPECT_EQ(-result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiVector2D, aiVector2DotProductTest) {
- result_c = result_cpp = random_vec2();
- EXPECT_EQ(result_cpp * result_c,
- aiVector2DotProduct(&result_cpp, &result_c));
-}
-
-TEST_F(AssimpAPITest_aiVector2D, aiVector2NormalizeTest) {
- result_c = result_cpp = random_vec2();
- aiVector2Normalize(&result_c);
- EXPECT_EQ(result_cpp.Normalize(), result_c);
-}
diff --git a/libs/assimp/test/unit/AssimpAPITest_aiVector3D.cpp b/libs/assimp/test/unit/AssimpAPITest_aiVector3D.cpp
deleted file mode 100644
index c752116..0000000
--- a/libs/assimp/test/unit/AssimpAPITest_aiVector3D.cpp
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-#include "MathTest.h"
-
-using namespace Assimp;
-
-class AssimpAPITest_aiVector3D : public AssimpMathTest {
-protected:
- virtual void SetUp() {
- result_c = result_cpp = aiVector3D();
- temp = random_vec3(); // Generates a random 3D vector != null vector.
- }
-
- aiVector3D result_c, result_cpp, temp;
-};
-
-TEST_F(AssimpAPITest_aiVector3D, aiVector3AreEqualTest) {
- result_c = result_cpp = random_vec3();
- EXPECT_EQ(result_cpp == result_c,
- (bool)aiVector3AreEqual(&result_cpp, &result_c));
-}
-
-TEST_F(AssimpAPITest_aiVector3D, aiVector3AreEqualEpsilonTest) {
- result_c = result_cpp = random_vec3();
- EXPECT_EQ(result_cpp.Equal(result_c, Epsilon),
- (bool)aiVector3AreEqualEpsilon(&result_cpp, &result_c, Epsilon));
-}
-
-TEST_F(AssimpAPITest_aiVector3D, aiVector3LessThanTest) {
- result_c = result_cpp = random_vec3();
- EXPECT_EQ(result_cpp < temp,
- (bool)aiVector3LessThan(&result_c, &temp));
-}
-
-TEST_F(AssimpAPITest_aiVector3D, aiVector3AddTest) {
- result_c = result_cpp = random_vec3();
- result_cpp += temp;
- aiVector3Add(&result_c, &temp);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiVector3D, aiVector3SubtractTest) {
- result_c = result_cpp = random_vec3();
- result_cpp -= temp;
- aiVector3Subtract(&result_c, &temp);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiVector3D, aiVector3ScaleTest) {
- const float FACTOR = RandNonZero.next();
- result_c = result_cpp = random_vec3();
- result_cpp *= FACTOR;
- aiVector3Scale(&result_c, FACTOR);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiVector3D, aiVector3SymMulTest) {
- result_c = result_cpp = random_vec3();
- result_cpp = result_cpp.SymMul(temp);
- aiVector3SymMul(&result_c, &temp);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiVector3D, aiVector3DivideByScalarTest) {
- const float DIVISOR = RandNonZero.next();
- result_c = result_cpp = random_vec3();
- result_cpp /= DIVISOR;
- aiVector3DivideByScalar(&result_c, DIVISOR);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiVector3D, aiVector3DivideByVectorTest) {
- result_c = result_cpp = random_vec3();
- result_cpp = result_cpp / temp;
- aiVector3DivideByVector(&result_c, &temp);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiVector3D, aiVector3LengthTest) {
- result_c = result_cpp = random_vec3();
- EXPECT_EQ(result_cpp.Length(), aiVector3Length(&result_c));
-}
-
-TEST_F(AssimpAPITest_aiVector3D, aiVector3SquareLengthTest) {
- result_c = result_cpp = random_vec3();
- EXPECT_EQ(result_cpp.SquareLength(), aiVector3SquareLength(&result_c));
-}
-
-TEST_F(AssimpAPITest_aiVector3D, aiVector3NegateTest) {
- result_c = result_cpp = random_vec3();
- aiVector3Negate(&result_c);
- EXPECT_EQ(-result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiVector3D, aiVector3DotProductTest) {
- result_c = result_cpp = random_vec3();
- EXPECT_EQ(result_cpp * result_c,
- aiVector3DotProduct(&result_cpp, &result_c));
-}
-
-TEST_F(AssimpAPITest_aiVector3D, aiVector3CrossProductTest) {
- result_c = result_cpp = random_vec3();
- result_cpp = result_cpp ^ temp;
- aiVector3CrossProduct(&result_c, &result_c, &temp);
- EXPECT_EQ(result_cpp, result_c);
-}
-
-TEST_F(AssimpAPITest_aiVector3D, aiVector3NormalizeTest) {
- result_c = result_cpp = random_vec3();
- aiVector3Normalize(&result_c);
- EXPECT_EQ(result_cpp.Normalize(), result_c);
-}
-
-TEST_F(AssimpAPITest_aiVector3D, aiVector3NormalizeSafeTest) {
- result_c = result_cpp = random_vec3();
- aiVector3NormalizeSafe(&result_c);
- EXPECT_EQ(result_cpp.NormalizeSafe(), result_c);
-}
-
-TEST_F(AssimpAPITest_aiVector3D, aiVector3RotateByQuaternionTest) {
- aiVector3D v_c, v_cpp;
- v_c = v_cpp = random_vec3();
- const auto q = random_quat();
- aiVector3RotateByQuaternion(&v_c, &q);
- EXPECT_EQ(q.Rotate(v_cpp), v_c);
-}
-
-TEST_F(AssimpAPITest_aiVector3D, aiTransformVecByMatrix3Test) {
- const auto m = random_mat3();
- aiVector3D v_c, v_cpp;
- v_c = v_cpp = random_vec3();
- v_cpp *= m;
- aiTransformVecByMatrix3(&v_c, &m);
- EXPECT_EQ(v_cpp, v_c);
-}
-
-TEST_F(AssimpAPITest_aiVector3D, aiTransformVecByMatrix4Test) {
- const auto m = random_mat4();
- aiVector3D v_c, v_cpp;
- v_c = v_cpp = random_vec3();
- v_cpp *= m;
- aiTransformVecByMatrix4(&v_c, &m);
- EXPECT_EQ(v_cpp, v_c);
-}
diff --git a/libs/assimp/test/unit/CCompilerTest.c b/libs/assimp/test/unit/CCompilerTest.c
deleted file mode 100644
index 68dfdf0..0000000
--- a/libs/assimp/test/unit/CCompilerTest.c
+++ /dev/null
@@ -1,9 +0,0 @@
-
-/* This is just a small test to check whether Assimp's API compiles from C */
-
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/version.h>
-#include <assimp/config.h>
-#include <assimp/cimport.h>
-#include <assimp/cexport.h>
diff --git a/libs/assimp/test/unit/Common/uiScene.cpp b/libs/assimp/test/unit/Common/uiScene.cpp
deleted file mode 100644
index 87001ce..0000000
--- a/libs/assimp/test/unit/Common/uiScene.cpp
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "UnitTestPCH.h"
-
-#include <assimp/scene.h>
-#include <assimp/SceneCombiner.h>
-
-using namespace Assimp;
-
-class utScene : public ::testing::Test {
-protected:
- aiScene *scene;
-
- void SetUp() override {
- scene = new aiScene;
- }
-
- void TearDown() override {
- delete scene;
- scene = nullptr;
- }
-};
-
-TEST_F(utScene, findNodeTest) {
- scene->mRootNode = new aiNode();
- scene->mRootNode->mName.Set("test");
- aiNode *child = new aiNode;
- child->mName.Set("child");
- scene->mRootNode->addChildren(1, &child);
- aiNode *found = scene->mRootNode->FindNode("child");
- EXPECT_EQ(child, found);
-}
-
-TEST_F(utScene, sceneHasContentTest) {
- EXPECT_FALSE(scene->HasAnimations());
- EXPECT_FALSE(scene->HasMaterials());
- EXPECT_FALSE(scene->HasMeshes());
- EXPECT_FALSE(scene->HasCameras());
- EXPECT_FALSE(scene->HasLights());
- EXPECT_FALSE(scene->HasTextures());
-}
-
-TEST_F(utScene, getShortFilenameTest) {
- std::string long_filename1 = "foo_bar/name";
- const char *name1 = scene->GetShortFilename(long_filename1.c_str());
- EXPECT_NE(nullptr, name1);
-
- std::string long_filename2 = "foo_bar\\name";
- const char *name2 = scene->GetShortFilename(long_filename2.c_str());
- EXPECT_NE(nullptr, name2);
-}
-
-TEST_F(utScene, deepCopyTest) {
- scene->mRootNode = new aiNode();
-
- scene->mNumMeshes = 1;
- scene->mMeshes = new aiMesh *[scene->mNumMeshes] ();
- scene->mMeshes[0] = new aiMesh ();
-
- scene->mMeshes[0]->SetTextureCoordsName (0, aiString ("test"));
-
- {
- aiScene* copied = nullptr;
- SceneCombiner::CopyScene(&copied,scene);
- delete copied;
- }
-}
-
-TEST_F(utScene, getEmbeddedTextureTest) {
-}
diff --git a/libs/assimp/test/unit/Common/utAssertHandler.cpp b/libs/assimp/test/unit/Common/utAssertHandler.cpp
deleted file mode 100644
index a2585fe..0000000
--- a/libs/assimp/test/unit/Common/utAssertHandler.cpp
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "UnitTestPCH.h"
-
-/// Ensure this test has asserts on, even if the build type doesn't have asserts by default.
-#if !defined(ASSIMP_BUILD_DEBUG)
-#define ASSIMP_BUILD_DEBUG
-#endif
-
-#include <assimp/ai_assert.h>
-#include <code/Common/AssertHandler.h>
-
-namespace
-{
- /// An exception which is thrown by the testAssertHandler
- struct TestAssertException
- {
- TestAssertException(const char* failedExpression, const char* file, int line)
- : m_failedExpression(failedExpression)
- , m_file(file)
- , m_line(line)
- {
- }
-
- std::string m_failedExpression;
- std::string m_file;
- int m_line;
- };
-
- /// Swap the default handler, which aborts, by one which throws.
- void testAssertHandler(const char* failedExpression, const char* file, int line)
- {
- throw TestAssertException(failedExpression, file, line);
- }
-
- /// Ensure that the default assert handler is restored after the test is finished.
- struct ReplaceHandlerScope
- {
- ReplaceHandlerScope()
- {
- Assimp::setAiAssertHandler(testAssertHandler);
- }
-
- ~ReplaceHandlerScope()
- {
- Assimp::setAiAssertHandler(Assimp::defaultAiAssertHandler);
- }
- };
-}
-
-TEST(utAssertHandler, replaceWithThrow)
-{
- ReplaceHandlerScope scope;
-
- try
- {
- ai_assert((2 + 2 == 5) && "Sometimes people put messages here");
- EXPECT_TRUE(false);
- }
- catch(const TestAssertException& e)
- {
- EXPECT_STREQ(e.m_failedExpression.c_str(), "(2 + 2 == 5) && \"Sometimes people put messages here\"");
- EXPECT_STREQ(e.m_file.c_str(), __FILE__);
- EXPECT_GT(e.m_line, 0);
- EXPECT_LT(e.m_line, __LINE__);
- }
- catch(...)
- {
- EXPECT_TRUE(false);
- }
-}
diff --git a/libs/assimp/test/unit/Common/utBase64.cpp b/libs/assimp/test/unit/Common/utBase64.cpp
deleted file mode 100644
index 8b0a60e..0000000
--- a/libs/assimp/test/unit/Common/utBase64.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "UnitTestPCH.h"
-#include "TestIOSystem.h"
-
-#include <assimp/Base64.hpp>
-
-using namespace std;
-using namespace Assimp;
-
-class Base64Test : public ::testing::Test {
-public:
- virtual void SetUp() {
- }
-
- virtual void TearDown() {
- }
-};
-
-static const std::vector<uint8_t> assimpStringBinary = { 97, 115, 115, 105, 109, 112 };
-static const std::string assimpStringEncoded = "YXNzaW1w";
-
-TEST_F( Base64Test, encodeTest ) {
- EXPECT_EQ( "", Base64::Encode (std::vector<uint8_t>{}) );
- EXPECT_EQ( "Vg==", Base64::Encode (std::vector<uint8_t>{ 86 }) );
- EXPECT_EQ( assimpStringEncoded, Base64::Encode (assimpStringBinary) );
-}
-
-TEST_F( Base64Test, decodeTest ) {
- EXPECT_EQ( std::vector<uint8_t> {}, Base64::Decode ("") );
- EXPECT_EQ( std::vector<uint8_t> { 86 }, Base64::Decode ("Vg==") );
- EXPECT_EQ( assimpStringBinary, Base64::Decode (assimpStringEncoded) );
-}
diff --git a/libs/assimp/test/unit/Common/utLineSplitter.cpp b/libs/assimp/test/unit/Common/utLineSplitter.cpp
deleted file mode 100644
index 0a97f72..0000000
--- a/libs/assimp/test/unit/Common/utLineSplitter.cpp
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include <assimp/LineSplitter.h>
-#include <assimp/DefaultIOSystem.h>
-#include <string>
-
-using namespace Assimp;
-
-class utLineSplitter : public ::testing::Test {
- // empty
-};
-
-TEST_F(utLineSplitter, tokenizetest) {
- DefaultIOSystem fs;
- IOStream* file = fs.Open(ASSIMP_TEST_MODELS_DIR"/ParsingFiles/linesplitter_tokenizetest.txt", "rb");
-
- StreamReaderLE stream(file);
- LineSplitter myLineSplitter(stream);
-}
-
-TEST_F( utLineSplitter, issue212Test) {
- DefaultIOSystem fs;
- IOStream* file = fs.Open(ASSIMP_TEST_MODELS_DIR"/ParsingFiles/linesplitter_emptyline_test.txt", "rb");
-
- StreamReaderLE stream(file);
- LineSplitter myLineSplitter(stream);
- myLineSplitter++;
- EXPECT_THROW( myLineSplitter++, std::logic_error );
-}
diff --git a/libs/assimp/test/unit/Common/utMesh.cpp b/libs/assimp/test/unit/Common/utMesh.cpp
deleted file mode 100644
index 77a7113..0000000
--- a/libs/assimp/test/unit/Common/utMesh.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "UnitTestPCH.h"
-
-#include <assimp/mesh.h>
-
-using namespace Assimp;
-
-class utMesh : public ::testing::Test {
-protected:
- aiMesh* mesh = nullptr;
-
- void SetUp() override {
- mesh = new aiMesh;
- }
-
- void TearDown() override {
- delete mesh;
- mesh = nullptr;
- }
-};
-
-TEST_F(utMesh, emptyMeshHasNoContentTest) {
- EXPECT_EQ(0u, mesh->mName.length);
- EXPECT_FALSE(mesh->HasPositions());
- EXPECT_FALSE(mesh->HasFaces());
- EXPECT_FALSE(mesh->HasNormals());
- EXPECT_FALSE(mesh->HasTangentsAndBitangents());
- EXPECT_FALSE(mesh->HasVertexColors(0));
- EXPECT_FALSE(mesh->HasVertexColors(AI_MAX_NUMBER_OF_COLOR_SETS));
- EXPECT_FALSE(mesh->HasTextureCoords(0));
- EXPECT_FALSE(mesh->HasTextureCoords(AI_MAX_NUMBER_OF_TEXTURECOORDS));
- EXPECT_EQ(0u, mesh->GetNumUVChannels());
- EXPECT_EQ(0u, mesh->GetNumColorChannels());
- EXPECT_FALSE(mesh->HasBones());
- EXPECT_FALSE(mesh->HasTextureCoordsName(0));
- EXPECT_FALSE(mesh->HasTextureCoordsName(AI_MAX_NUMBER_OF_TEXTURECOORDS));
-}
-
-TEST_F(utMesh, setTextureCoordsName) {
- EXPECT_FALSE(mesh->HasTextureCoordsName(0));
- const aiString texcoords_name("texcoord_name");
- mesh->SetTextureCoordsName(0, texcoords_name);
- EXPECT_TRUE(mesh->HasTextureCoordsName(0u));
- EXPECT_FALSE(mesh->HasTextureCoordsName(1u));
- ASSERT_NE(nullptr, mesh->mTextureCoordsNames);
- ASSERT_NE(nullptr, mesh->mTextureCoordsNames[0]);
- EXPECT_STREQ(texcoords_name.C_Str(), mesh->mTextureCoordsNames[0]->C_Str());
- EXPECT_STREQ(texcoords_name.C_Str(), mesh->GetTextureCoordsName(0)->C_Str());
-
- // Now clear the name
- mesh->SetTextureCoordsName(0, aiString());
- EXPECT_FALSE(mesh->HasTextureCoordsName(0));
- ASSERT_NE(nullptr, mesh->mTextureCoordsNames);
- EXPECT_EQ(nullptr, mesh->mTextureCoordsNames[0]);
- EXPECT_EQ(nullptr, mesh->GetTextureCoordsName(0));
-}
-
diff --git a/libs/assimp/test/unit/Common/utSpatialSort.cpp b/libs/assimp/test/unit/Common/utSpatialSort.cpp
deleted file mode 100644
index 0684e83..0000000
--- a/libs/assimp/test/unit/Common/utSpatialSort.cpp
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include <assimp/SpatialSort.h>
-
-using namespace Assimp;
-
-class utSpatialSort : public ::testing::Test {
-public
- :
- aiVector3D *vecs;
-
-protected:
- void SetUp() override {
- ::srand(static_cast<unsigned>(time(0)));
- vecs = new aiVector3D[100];
- for (size_t i = 0; i < 100; ++i) {
- vecs[i].x = static_cast<float>(rand()) / (static_cast<float>(RAND_MAX / 100));
- vecs[i].y = static_cast<float>(rand()) / (static_cast<float>(RAND_MAX / 100));
- vecs[i].z = static_cast<float>(rand()) / (static_cast<float>(RAND_MAX / 100));
- }
- }
-
- void TearDown() override {
- delete[] vecs;
- }
-};
-
-TEST_F( utSpatialSort, findIdenticalsTest ) {
- SpatialSort sSort;
- sSort.Fill(vecs, 100, sizeof(aiVector3D));
-
- std::vector<unsigned int> indices;
- sSort.FindIdenticalPositions(vecs[0], indices);
- EXPECT_EQ(1u, indices.size());
-}
-
-TEST_F(utSpatialSort, findPositionsTest) {
- SpatialSort sSort;
- sSort.Fill(vecs, 100, sizeof(aiVector3D));
-
- std::vector<unsigned int> indices;
- sSort.FindPositions(vecs[0], 0.01f, indices);
- EXPECT_EQ(1u, indices.size());
-}
-
-TEST_F(utSpatialSort, highlyDisplacedPositionsTest) {
- // Make a cube of positions, and then query it using the SpatialSort object.
- constexpr unsigned int verticesPerAxis = 10;
- constexpr ai_real step = 0.001f;
- // Note the large constant offset here.
- constexpr ai_real offset = 5000.0f - (0.5f * verticesPerAxis * step);
- constexpr unsigned int totalNumPositions = verticesPerAxis * verticesPerAxis * verticesPerAxis;
- aiVector3D* positions = new aiVector3D[totalNumPositions];
- for (unsigned int x = 0; x < verticesPerAxis; ++x) {
- for (unsigned int y = 0; y < verticesPerAxis; ++y) {
- for (unsigned int z = 0; z < verticesPerAxis; ++z) {
- const unsigned int index = (x * verticesPerAxis * verticesPerAxis) + (y * verticesPerAxis) + z;
- positions[index] = aiVector3D(offset + (x * step), offset + (y * step), offset + (z * step));
- }
- }
- }
-
- SpatialSort sSort;
- sSort.Fill(positions, totalNumPositions, sizeof(aiVector3D));
-
- // Enough to find a point and its 6 immediate neighbors, but not any other point.
- const ai_real epsilon = 1.1f * step;
- std::vector<unsigned int> indices;
- // Iterate through the _interior_ points of the cube.
- for (unsigned int x = 1; x < verticesPerAxis - 1; ++x) {
- for (unsigned int y = 1; y < verticesPerAxis - 1; ++y) {
- for (unsigned int z = 1; z < verticesPerAxis - 1; ++z) {
- const unsigned int index = (x * verticesPerAxis * verticesPerAxis) + (y * verticesPerAxis) + z;
- sSort.FindPositions(positions[index], epsilon, indices);
- ASSERT_EQ(7u, indices.size());
- }
- }
- }
- delete[] positions;
-}
diff --git a/libs/assimp/test/unit/Common/utStandardShapes.cpp b/libs/assimp/test/unit/Common/utStandardShapes.cpp
deleted file mode 100644
index d7e6d21..0000000
--- a/libs/assimp/test/unit/Common/utStandardShapes.cpp
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-Open Asset Import Library (assimp)
-----------------------------------------------------------------------
-Copyright (c) 2006-2022, assimp team
-All rights reserved.
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the
-following conditions are met:
-* Redistributions of source code must retain the above
- copyright notice, this list of conditions and the
- following disclaimer.
-* Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the
- following disclaimer in the documentation and/or other
- materials provided with the distribution.
-* Neither the name of the assimp team, nor the names of its
- contributors may be used to endorse or promote products
- derived from this software without specific prior
- written permission of the assimp team.
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-----------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-#include <assimp/mesh.h>
-#include <assimp/StandardShapes.h>
-
-using namespace Assimp;
-
-class utStandardShapes : public ::testing::Test {
- // empty
-};
-
-TEST_F( utStandardShapes, testMakeMesh ) {
- // Make sphere positions
- std::vector<aiVector3D> positions;
- Assimp::StandardShapes::MakeSphere(1, positions);
-
- // Make mesh
- const auto numIndicesPerPrimitive = 3u;
- aiMesh *aiMeshPtr = Assimp::StandardShapes::MakeMesh(positions, numIndicesPerPrimitive);
-
- // The mNumIndices member of the second face is now incorrect
- const auto& face = aiMeshPtr->mFaces[0];
- EXPECT_EQ(face.mNumIndices, numIndicesPerPrimitive);
- delete aiMeshPtr;
-}
-
diff --git a/libs/assimp/test/unit/Common/utXmlParser.cpp b/libs/assimp/test/unit/Common/utXmlParser.cpp
deleted file mode 100644
index 2db78e3..0000000
--- a/libs/assimp/test/unit/Common/utXmlParser.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-/*-------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------*/
-#include "UnitTestPCH.h"
-#include <assimp/XmlParser.h>
-#include <assimp/DefaultIOStream.h>
-#include <assimp/DefaultIOSystem.h>
-
-using namespace Assimp;
-
-class utXmlParser : public ::testing::Test {
-public:
- utXmlParser() :
- Test(),
- mIoSystem() {
- // empty
- }
-
-protected:
- DefaultIOSystem mIoSystem;
-};
-
-TEST_F(utXmlParser, parse_xml_test) {
- XmlParser parser;
- std::string filename = ASSIMP_TEST_MODELS_DIR "/X3D/ComputerKeyboard.x3d";
- std::unique_ptr<IOStream> stream(mIoSystem.Open(filename.c_str(), "rb"));
- EXPECT_NE(stream.get(), nullptr);
- bool result = parser.parse(stream.get());
- EXPECT_TRUE(result);
-}
-
-TEST_F(utXmlParser, parse_xml_and_traverse_test) {
- XmlParser parser;
- std::string filename = ASSIMP_TEST_MODELS_DIR "/X3D/ComputerKeyboard.x3d";
- std::unique_ptr<IOStream> stream(mIoSystem.Open(filename.c_str(), "rb"));
- EXPECT_NE(stream.get(), nullptr);
- bool result = parser.parse(stream.get());
- EXPECT_TRUE(result);
- XmlNode root = parser.getRootNode();
-
- XmlNodeIterator nodeIt(root, XmlNodeIterator::PreOrderMode);
- const size_t numNodes = nodeIt.size();
- bool empty = nodeIt.isEmpty();
- EXPECT_FALSE(empty);
- EXPECT_NE(numNodes, 0U);
- XmlNode node;
- while (nodeIt.getNext(node)) {
- const std::string nodeName = node.name();
- EXPECT_FALSE(nodeName.empty());
- }
-}
diff --git a/libs/assimp/test/unit/ImportExport/Assxml/utAssxmlImportExport.cpp b/libs/assimp/test/unit/ImportExport/Assxml/utAssxmlImportExport.cpp
deleted file mode 100644
index c10d91b..0000000
--- a/libs/assimp/test/unit/ImportExport/Assxml/utAssxmlImportExport.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2019, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "AbstractImportExportBase.h"
-#include "SceneDiffer.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-#include <assimp/Exporter.hpp>
-
-using namespace Assimp;
-
-class utAssxmlImportExport : public AbstractImportExportBase {
-public:
- bool importerTest() override {
- return true;
- }
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
- bool exporterTest() override {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/OBJ/spider.obj", aiProcess_ValidateDataStructure);
- EXPECT_NE(scene, nullptr );
-
- ::Assimp::Exporter exporter;
- return AI_SUCCESS == exporter.Export(scene, "assxml", ASSIMP_TEST_MODELS_DIR "/OBJ/spider_out.assxml");
- }
-#endif
-};
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
-
-TEST_F(utAssxmlImportExport, exportAssxmlTest) {
- EXPECT_TRUE(exporterTest());
-}
-
-#endif
diff --git a/libs/assimp/test/unit/ImportExport/IRR/utIrrImportExport.cpp b/libs/assimp/test/unit/ImportExport/IRR/utIrrImportExport.cpp
deleted file mode 100644
index eaa4c8f..0000000
--- a/libs/assimp/test/unit/ImportExport/IRR/utIrrImportExport.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2020, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utIrrImportExport : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/IRR/box.irr", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-};
-
-TEST_F(utIrrImportExport, importSimpleIrrTest) {
- EXPECT_TRUE(importerTest());
-}
-
-TEST_F(utIrrImportExport, importSGIrrTest) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/IRR/dawfInCellar_SameHierarchy.irr", aiProcess_ValidateDataStructure);
- EXPECT_NE( nullptr,scene);
-}
diff --git a/libs/assimp/test/unit/ImportExport/MDL/MDLHL1TestFiles.h b/libs/assimp/test/unit/ImportExport/MDL/MDLHL1TestFiles.h
deleted file mode 100644
index 3c0630f..0000000
--- a/libs/assimp/test/unit/ImportExport/MDL/MDLHL1TestFiles.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-/** @file MDLHL1TestFiles.h
- * @brief Definitions for Half-Life 1 MDL loader tests.
- */
-
-#ifndef AI_MDLHL1TESTFILES_INCLUDED
-#define AI_MDLHL1TESTFILES_INCLUDED
-
-#ifndef ASSIMP_TEST_MDL_HL1_MODELS_DIR
-#define ASSIMP_TEST_MDL_HL1_MODELS_DIR ASSIMP_TEST_MODELS_DIR"/MDL/MDL (HL1)/"
-#endif
-
-#ifndef MDL_HL1_FILE_MAN
-#define MDL_HL1_FILE_MAN ASSIMP_TEST_MDL_HL1_MODELS_DIR "man.mdl"
-#endif
-
-#endif // AI_MDLHL1TESTFILES_INCLUDED
diff --git a/libs/assimp/test/unit/ImportExport/MDL/utMDLImporter_HL1_ImportSettings.cpp b/libs/assimp/test/unit/ImportExport/MDL/utMDLImporter_HL1_ImportSettings.cpp
deleted file mode 100644
index 02969e1..0000000
--- a/libs/assimp/test/unit/ImportExport/MDL/utMDLImporter_HL1_ImportSettings.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-/** @file utMDLImporter_HL1_ImportSettings.cpp
- * @brief Half-Life 1 MDL loader import settings tests.
- */
-
-#include "AbstractImportExportBase.h"
-#include "AssetLib/MDL/HalfLife/HL1ImportDefinitions.h"
-#include "MDLHL1TestFiles.h"
-#include "UnitTestPCH.h"
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Importer.hpp>
-#include <functional>
-#include <initializer_list>
-
-using namespace Assimp;
-
-class utMDLImporter_HL1_ImportSettings : public ::testing::Test {
-
-public:
- // Test various import settings scenarios.
-
- void importSettings() {
-
- /* Verify that animations are *NOT* imported when
- 'Read animations' is disabled. */
- load_with_import_setting_bool(
- MDL_HL1_FILE_MAN,
- AI_CONFIG_IMPORT_MDL_HL1_READ_ANIMATIONS,
- false, // Set config value to false.
- [&](const aiScene *scene) {
- EXPECT_EQ(0u, scene->mNumAnimations);
- EXPECT_EQ(nullptr, scene->mRootNode->FindNode(AI_MDL_HL1_NODE_SEQUENCE_INFOS));
- EXPECT_EQ(nullptr, scene->mRootNode->FindNode(AI_MDL_HL1_NODE_SEQUENCE_GROUPS));
- EXPECT_EQ(nullptr, scene->mRootNode->FindNode(AI_MDL_HL1_NODE_SEQUENCE_TRANSITION_GRAPH));
-
- expect_global_info_eq<int>(scene, { { 0, "NumSequences" },
- { 0, "NumTransitionNodes" } });
- });
-
- /* Verify that blend controllers info is *NOT* imported when
- 'Read blend controllers' is disabled. */
- load_with_import_setting_bool(
- MDL_HL1_FILE_MAN,
- AI_CONFIG_IMPORT_MDL_HL1_READ_BLEND_CONTROLLERS,
- false, // Set config value to false.
- [&](const aiScene *scene) {
- EXPECT_NE(0u, scene->mNumAnimations);
-
- const aiNode *sequence_infos = scene->mRootNode->FindNode(AI_MDL_HL1_NODE_SEQUENCE_INFOS);
- EXPECT_NE(nullptr, sequence_infos);
-
- for (unsigned int i = 0; i < sequence_infos->mNumChildren; ++i)
- EXPECT_EQ(nullptr, sequence_infos->mChildren[i]->FindNode(AI_MDL_HL1_NODE_BLEND_CONTROLLERS));
-
- expect_global_info_eq(scene, 0, "NumBlendControllers");
- });
-
- /* Verify that animation events are *NOT* imported when
- 'Read animation events' is disabled. */
- load_with_import_setting_bool(
- MDL_HL1_FILE_MAN,
- AI_CONFIG_IMPORT_MDL_HL1_READ_ANIMATION_EVENTS,
- false, // Set config value to false.
- [&](const aiScene *scene) {
- EXPECT_NE(0u, scene->mNumAnimations);
-
- const aiNode *sequence_infos = scene->mRootNode->FindNode(AI_MDL_HL1_NODE_SEQUENCE_INFOS);
- EXPECT_NE(nullptr, sequence_infos);
-
- for (unsigned int i = 0; i < sequence_infos->mNumChildren; ++i)
- EXPECT_EQ(nullptr, sequence_infos->mChildren[i]->FindNode(AI_MDL_HL1_NODE_ANIMATION_EVENTS));
- });
-
- /* Verify that sequence transitions info is read when
- 'Read sequence transitions' is enabled. */
- load_with_import_setting_bool(
- ASSIMP_TEST_MDL_HL1_MODELS_DIR "sequence_transitions.mdl",
- AI_CONFIG_IMPORT_MDL_HL1_READ_SEQUENCE_TRANSITIONS,
- true, // Set config value to true.
- [&](const aiScene *scene) {
- EXPECT_NE(nullptr, scene->mRootNode->FindNode(AI_MDL_HL1_NODE_SEQUENCE_TRANSITION_GRAPH));
- expect_global_info_eq(scene, 4, "NumTransitionNodes");
- });
-
- /* Verify that sequence transitions info is *NOT* read when
- 'Read sequence transitions' is disabled. */
- load_with_import_setting_bool(
- ASSIMP_TEST_MDL_HL1_MODELS_DIR "sequence_transitions.mdl",
- AI_CONFIG_IMPORT_MDL_HL1_READ_SEQUENCE_TRANSITIONS,
- false, // Set config value to false.
- [&](const aiScene *scene) {
- EXPECT_EQ(nullptr, scene->mRootNode->FindNode(AI_MDL_HL1_NODE_SEQUENCE_TRANSITION_GRAPH));
- expect_global_info_eq(scene, 0, "NumTransitionNodes");
- });
-
- /* Verify that bone controllers info is *NOT* read when
- 'Read bone controllers' is disabled. */
- load_with_import_setting_bool(
- MDL_HL1_FILE_MAN,
- AI_CONFIG_IMPORT_MDL_HL1_READ_BONE_CONTROLLERS,
- false, // Set config value to false.
- [&](const aiScene *scene) {
- EXPECT_EQ(nullptr, scene->mRootNode->FindNode(AI_MDL_HL1_NODE_BONE_CONTROLLERS));
- expect_global_info_eq(scene, 0, "NumBoneControllers");
- });
-
- /* Verify that attachments info is *NOT* read when
- 'Read attachments' is disabled. */
- load_with_import_setting_bool(
- MDL_HL1_FILE_MAN,
- AI_CONFIG_IMPORT_MDL_HL1_READ_ATTACHMENTS,
- false, // Set config value to false.
- [&](const aiScene *scene) {
- EXPECT_EQ(nullptr, scene->mRootNode->FindNode(AI_MDL_HL1_NODE_ATTACHMENTS));
- expect_global_info_eq(scene, 0, "NumAttachments");
- });
-
- /* Verify that hitboxes info is *NOT* read when
- 'Read hitboxes' is disabled. */
- load_with_import_setting_bool(
- MDL_HL1_FILE_MAN,
- AI_CONFIG_IMPORT_MDL_HL1_READ_HITBOXES,
- false, // Set config value to false.
- [&](const aiScene *scene) {
- EXPECT_EQ(nullptr, scene->mRootNode->FindNode(AI_MDL_HL1_NODE_HITBOXES));
- expect_global_info_eq(scene, 0, "NumHitboxes");
- });
-
- /* Verify that misc global info is *NOT* read when
- 'Read misc global info' is disabled. */
- load_with_import_setting_bool(
- MDL_HL1_FILE_MAN,
- AI_CONFIG_IMPORT_MDL_HL1_READ_MISC_GLOBAL_INFO,
- false, // Set config value to false.
- [&](const aiScene *scene) {
- aiNode *global_info = get_global_info(scene);
- EXPECT_NE(nullptr, global_info);
- aiVector3D temp;
- EXPECT_FALSE(global_info->mMetaData->Get("EyePosition", temp));
- });
- }
-
-private:
- void load_with_import_setting_bool(
- const char *file_path,
- const char *setting_key,
- bool setting_value,
- std::function<void(const aiScene *)> &&func) {
- Assimp::Importer importer;
- importer.SetPropertyBool(setting_key, setting_value);
- const aiScene *scene = importer.ReadFile(file_path, aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- func(scene);
- }
-
- inline static aiNode *get_global_info(const aiScene *scene) {
- return scene->mRootNode->FindNode(AI_MDL_HL1_NODE_GLOBAL_INFO);
- }
-
- template <typename T>
- static void expect_global_info_eq(
- const aiScene *scene,
- T expected_value,
- const char *key_name) {
- aiNode *global_info = get_global_info(scene);
- EXPECT_NE(nullptr, global_info);
- T temp;
- EXPECT_TRUE(global_info->mMetaData->Get(key_name, temp));
- EXPECT_EQ(expected_value, temp);
- }
-
- template <typename T>
- static void expect_global_info_eq(const aiScene *scene,
- std::initializer_list<std::pair<T, const char *>> p_kv) {
- aiNode *global_info = get_global_info(scene);
- EXPECT_NE(nullptr, global_info);
- for (auto it = p_kv.begin(); it != p_kv.end(); ++it) {
- T temp;
- EXPECT_TRUE(global_info->mMetaData->Get(it->second, temp));
- EXPECT_EQ(it->first, temp);
- }
- }
-};
-
-TEST_F(utMDLImporter_HL1_ImportSettings, importSettings) {
- importSettings();
-}
diff --git a/libs/assimp/test/unit/ImportExport/MDL/utMDLImporter_HL1_Materials.cpp b/libs/assimp/test/unit/ImportExport/MDL/utMDLImporter_HL1_Materials.cpp
deleted file mode 100644
index c47667e..0000000
--- a/libs/assimp/test/unit/ImportExport/MDL/utMDLImporter_HL1_Materials.cpp
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-/** @file utMDLImporter_HL1_Materials.cpp
- * @brief Half-Life 1 MDL loader materials tests.
- */
-
-#include "AbstractImportExportBase.h"
-#include "AssetLib/MDL/HalfLife/HL1ImportDefinitions.h"
-#include "MDLHL1TestFiles.h"
-#include "UnitTestPCH.h"
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utMDLImporter_HL1_Materials : public ::testing::Test {
-
-public:
- /* Given an MDL model with a texture flagged as flatshade,
- verify that the imported model has a flat shading model. */
- void flatShadeTexture() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MDL_HL1_MODELS_DIR "chrome_sphere.mdl", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_NE(nullptr, scene->mMaterials);
-
- aiShadingMode shading_mode;
- scene->mMaterials[0]->Get(AI_MATKEY_SHADING_MODEL, shading_mode);
- EXPECT_EQ(aiShadingMode_Flat, shading_mode);
- }
-
- /* Given an MDL model with a chrome texture, verify that
- the imported model has a chrome material. */
- void chromeTexture() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MDL_HL1_MODELS_DIR "chrome_sphere.mdl", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_NE(nullptr, scene->mMaterials);
-
- int chrome;
- scene->mMaterials[0]->Get(AI_MDL_HL1_MATKEY_CHROME(aiTextureType_DIFFUSE, 0), chrome);
- EXPECT_EQ(1, chrome);
- }
-
- /* Given an MDL model with an additive texture, verify that
- the imported model has an additive material. */
- void additiveBlendTexture() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MDL_HL1_MODELS_DIR "blend_additive.mdl", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_NE(nullptr, scene->mMaterials);
-
- aiBlendMode blend_mode;
- scene->mMaterials[0]->Get(AI_MATKEY_BLEND_FUNC, blend_mode);
- EXPECT_EQ(aiBlendMode_Additive, blend_mode);
- }
-
- /* Given an MDL model with a color masked texture, verify that
- the imported model has a color masked material. Ensure too
- that the transparency color is the correct one. */
- void textureWithColorMask() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MDL_HL1_MODELS_DIR "alpha_test.mdl", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_NE(nullptr, scene->mMaterials);
-
- int texture_flags;
- scene->mMaterials[0]->Get(AI_MATKEY_TEXFLAGS_DIFFUSE(0), texture_flags);
- EXPECT_EQ(aiTextureFlags_UseAlpha, texture_flags);
-
- // The model has only one texture, a 256 color bitmap with
- // a palette. Pure blue is the last color in the palette,
- // and should be the transparency color.
- aiColor3D transparency_color;
- scene->mMaterials[0]->Get(AI_MATKEY_COLOR_TRANSPARENT, transparency_color);
- EXPECT_EQ(aiColor3D(0, 0, 255), transparency_color);
- }
-};
-
-TEST_F(utMDLImporter_HL1_Materials, flatShadeTexture) {
- flatShadeTexture();
-}
-
-TEST_F(utMDLImporter_HL1_Materials, chromeTexture) {
- chromeTexture();
-}
-
-TEST_F(utMDLImporter_HL1_Materials, additiveBlendTexture) {
- additiveBlendTexture();
-}
-
-TEST_F(utMDLImporter_HL1_Materials, textureWithColorMask) {
- textureWithColorMask();
-}
diff --git a/libs/assimp/test/unit/ImportExport/MDL/utMDLImporter_HL1_Nodes.cpp b/libs/assimp/test/unit/ImportExport/MDL/utMDLImporter_HL1_Nodes.cpp
deleted file mode 100644
index 4420727..0000000
--- a/libs/assimp/test/unit/ImportExport/MDL/utMDLImporter_HL1_Nodes.cpp
+++ /dev/null
@@ -1,455 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-/** @file utMDLImporter_HL1_Nodes.cpp
- * @brief Half-Life 1 MDL loader nodes tests.
- */
-
-#include "AbstractImportExportBase.h"
-#include "AssetLib/MDL/HalfLife/HL1ImportDefinitions.h"
-#include "MDLHL1TestFiles.h"
-#include "UnitTestPCH.h"
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utMDLImporter_HL1_Nodes : public ::testing::Test {
-
-public:
- /**
- * @note The following tests require a basic understanding
- * of the SMD format. For more information about SMD format,
- * please refer to the SMD importer or go to VDC
- * (Valve Developer Community).
- */
-
- /* Given a model with bones that have empty names,
- verify that all the bones of the imported model
- have unique and no empty names.
-
- "" <----+---- empty names
- "" <----+
- "" <----+
- "Bone_3" |
- "" <----+
- "Bone_2" |
- "Bone_5" |
- "" <----+
- "" <----+
- */
- void emptyBonesNames() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MDL_HL1_MODELS_DIR "unnamed_bones.mdl", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-
- const std::vector<std::string> expected_bones_names = {
- "Bone",
- "Bone_0",
- "Bone_1",
- "Bone_3",
- "Bone_4",
- "Bone_2",
- "Bone_5",
- "Bone_6",
- "Bone_7"
- };
-
- expect_named_children(scene, AI_MDL_HL1_NODE_BONES, expected_bones_names);
- }
-
- /* Given a model with bodyparts that have empty names,
- verify that the imported model contains bodyparts with
- unique and no empty names.
-
- $body "" <----+---- empty names
- $body "Bodypart_1" |
- $body "Bodypart_5" |
- $body "Bodypart_6" |
- $body "" <----+
- $body "Bodypart_2" |
- $body "" <----+
- $body "Bodypart_3" |
- $body "" <----+
- */
- void emptyBodypartsNames() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MDL_HL1_MODELS_DIR "unnamed_bodyparts.mdl", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-
- const std::vector<std::string> expected_bodyparts_names = {
- "Bodypart",
- "Bodypart_1",
- "Bodypart_5",
- "Bodypart_6",
- "Bodypart_0",
- "Bodypart_2",
- "Bodypart_4",
- "Bodypart_3",
- "Bodypart_7"
- };
-
- expect_named_children(scene, AI_MDL_HL1_NODE_BODYPARTS, expected_bodyparts_names);
- }
-
- /* Given a model with bodyparts that have duplicate names,
- verify that the imported model contains bodyparts with
- unique and no duplicate names.
-
- $body "Bodypart" <-----+
- $body "Bodypart_1" <--+ |
- $body "Bodypart_2" | |
- $body "Bodypart1" | |
- $body "Bodypart" ---|--+
- $body "Bodypart_1" ---+ |
- $body "Bodypart2" |
- $body "Bodypart" ------+
- $body "Bodypart_4"
- */
- void duplicateBodypartsNames() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MDL_HL1_MODELS_DIR "duplicate_bodyparts.mdl", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-
- const std::vector<std::string> expected_bodyparts_names = {
- "Bodypart",
- "Bodypart_1",
- "Bodypart_2",
- "Bodypart1",
- "Bodypart_0",
- "Bodypart_1_0",
- "Bodypart2",
- "Bodypart_3",
- "Bodypart_4"
- };
-
- expect_named_children(scene, AI_MDL_HL1_NODE_BODYPARTS, expected_bodyparts_names);
- }
-
- /* Given a model with several bodyparts that contains multiple
- sub models with the same file name, verify for each bodypart
- sub model of the imported model that they have a unique name.
-
- $bodygroup "first_bodypart"
- {
- studio "triangle" <------+ duplicate file names.
- studio "triangle" -------+
- } |
- |
- $bodygroup "second_bodypart" |
- { |
- studio "triangle" -------+ same as first bodypart, but with same file.
- studio "triangle" -------+
- }
-
- $bodygroup "last_bodypart"
- {
- studio "triangle2" <------+ duplicate names.
- studio "triangle2" -------+
- }
- */
- void duplicateSubModelsNames() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MDL_HL1_MODELS_DIR "duplicate_submodels.mdl", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-
- const std::vector<std::vector<std::string>> expected_bodypart_sub_models_names = {
- {
- "triangle",
- "triangle_0",
- },
- {
- "triangle_1",
- "triangle_2",
- },
- {
- "triangle2",
- "triangle2_0",
- }
- };
-
- const aiNode *bodyparts_node = scene->mRootNode->FindNode(AI_MDL_HL1_NODE_BODYPARTS);
- EXPECT_NE(nullptr, bodyparts_node);
- EXPECT_EQ(3u, bodyparts_node->mNumChildren);
- for (unsigned int i = 0; i < bodyparts_node->mNumChildren; ++i) {
- expect_named_children(bodyparts_node->mChildren[i],
- expected_bodypart_sub_models_names[i]);
- }
- }
-
- /* Given a model with sequences that have duplicate names, verify
- that each sequence from the imported model has a unique
- name.
-
- $sequence "idle_1" <-------+
- $sequence "idle" <----+ |
- $sequence "idle_2" | |
- $sequence "idle" -----+ |
- $sequence "idle_0" | |
- $sequence "idle_1" -----|--+
- $sequence "idle_3" |
- $sequence "idle" -----+
- $sequence "idle_7"
- */
- void duplicateSequenceNames() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MDL_HL1_MODELS_DIR "duplicate_sequences.mdl", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-
- const std::vector<std::string> expected_sequence_names = {
- "idle_1",
- "idle",
- "idle_2",
- "idle_4",
- "idle_0",
- "idle_1_0",
- "idle_3",
- "idle_5",
- "idle_7"
- };
-
- expect_named_children(scene, AI_MDL_HL1_NODE_SEQUENCE_INFOS, expected_sequence_names);
- }
-
- /* Given a model with sequences that have empty names, verify
- that each sequence from the imported model has a unique
- name.
-
- $sequence "" <----+---- empty names
- $sequence "Sequence_1" |
- $sequence "" <----+
- $sequence "Sequence_4" |
- $sequence "" <----+
- $sequence "Sequence_8" |
- $sequence "" <----+
- $sequence "Sequence_2" |
- $sequence "" <----+
- */
- void emptySequenceNames() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MDL_HL1_MODELS_DIR "unnamed_sequences.mdl", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-
- const std::vector<std::string> expected_sequence_names = {
- "Sequence",
- "Sequence_1",
- "Sequence_0",
- "Sequence_4",
- "Sequence_3",
- "Sequence_8",
- "Sequence_5",
- "Sequence_2",
- "Sequence_6"
- };
-
- expect_named_children(scene, AI_MDL_HL1_NODE_SEQUENCE_INFOS, expected_sequence_names);
- }
-
- /* Given a model with sequence groups that have duplicate names,
- verify that each sequence group from the imported model has
- a unique name.
-
- "default"
- $sequencegroup "SequenceGroup" <----+
- $sequencegroup "SequenceGroup_1" |
- $sequencegroup "SequenceGroup_5" <----|--+
- $sequencegroup "SequenceGroup" -----+ |
- $sequencegroup "SequenceGroup_0" | |
- $sequencegroup "SequenceGroup" -----+ |
- $sequencegroup "SequenceGroup_5" --------+
- $sequencegroup "SequenceGroup_6"
- $sequencegroup "SequenceGroup_2"
- */
- void duplicateSequenceGroupNames() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MDL_HL1_MODELS_DIR "duplicate_sequence_groups/duplicate_sequence_groups.mdl", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-
- const std::vector<std::string> expected_sequence_names = {
- "default",
- "SequenceGroup",
- "SequenceGroup_1",
- "SequenceGroup_5",
- "SequenceGroup_3",
- "SequenceGroup_0",
- "SequenceGroup_4",
- "SequenceGroup_5_0",
- "SequenceGroup_6",
- "SequenceGroup_2"
- };
-
- expect_named_children(scene, AI_MDL_HL1_NODE_SEQUENCE_GROUPS, expected_sequence_names);
- }
-
- /* Given a model with sequence groups that have empty names,
- verify that each sequence group from the imported model has
- a unique name.
-
- "default"
- $sequencegroup "" <----+---- empty names
- $sequencegroup "SequenceGroup_2" |
- $sequencegroup "SequenceGroup_6" |
- $sequencegroup "" <----+
- $sequencegroup "" <----+
- $sequencegroup "SequenceGroup_1" |
- $sequencegroup "SequenceGroup_5" |
- $sequencegroup "" <----+
- $sequencegroup "SequenceGroup_4"
- */
- void emptySequenceGroupNames() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MDL_HL1_MODELS_DIR "unnamed_sequence_groups/unnamed_sequence_groups.mdl", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-
- const std::vector<std::string> expected_sequence_names = {
- "default",
- "SequenceGroup",
- "SequenceGroup_2",
- "SequenceGroup_6",
- "SequenceGroup_0",
- "SequenceGroup_3",
- "SequenceGroup_1",
- "SequenceGroup_5",
- "SequenceGroup_7",
- "SequenceGroup_4"
- };
-
- expect_named_children(scene, AI_MDL_HL1_NODE_SEQUENCE_GROUPS, expected_sequence_names);
- }
-
- /* Verify that mOffsetMatrix applies the correct
- inverse bind pose transform. */
- void offsetMatrixUnappliesTransformations() {
-
- const float TOLERANCE = 0.01f;
-
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(MDL_HL1_FILE_MAN, aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-
- aiNode *scene_bones_node = scene->mRootNode->FindNode(AI_MDL_HL1_NODE_BONES);
-
- const aiMatrix4x4 identity_matrix;
-
- for (unsigned int i = 0; i < scene->mNumMeshes; ++i) {
- aiMesh *scene_mesh = scene->mMeshes[i];
- for (unsigned int j = 0; j < scene_mesh->mNumBones; ++j) {
- aiBone *scene_mesh_bone = scene_mesh->mBones[j];
-
- // Store local node transforms.
- aiNode *n = scene_bones_node->FindNode(scene_mesh_bone->mName);
- std::vector<aiMatrix4x4> bone_matrices = { n->mTransformation };
- while (n->mParent != scene->mRootNode) {
- n = n->mParent;
- bone_matrices.push_back(n->mTransformation);
- }
-
- // Compute absolute node transform.
- aiMatrix4x4 transform;
- for (auto it = bone_matrices.rbegin(); it != bone_matrices.rend(); ++it)
- transform *= *it;
-
- // Unapply the transformation using the offset matrix.
- aiMatrix4x4 unapplied_transform = scene_mesh_bone->mOffsetMatrix * transform;
-
- // Ensure that we have, approximately, the identity matrix.
- expect_equal_matrices(identity_matrix, unapplied_transform, TOLERANCE);
- }
- }
- }
-
-private:
- void expect_named_children(const aiNode *parent_node, const std::vector<std::string> &expected_names) {
- EXPECT_NE(nullptr, parent_node);
- EXPECT_EQ(expected_names.size(), parent_node->mNumChildren);
-
- for (unsigned int i = 0; i < parent_node->mNumChildren; ++i)
- EXPECT_EQ(expected_names[i], parent_node->mChildren[i]->mName.C_Str());
- }
-
- void expect_named_children(const aiScene *scene, const char *node_name, const std::vector<std::string> &expected_names) {
- expect_named_children(scene->mRootNode->FindNode(node_name), expected_names);
- }
-
- void expect_equal_matrices(const aiMatrix4x4 &expected, const aiMatrix4x4 &actual, float abs_error) {
- for (int i = 0; i < 4; ++i) {
- for (int j = 0; j < 4; ++j)
- EXPECT_NEAR(expected[i][j], actual[i][j], abs_error);
- }
- }
-};
-
-TEST_F(utMDLImporter_HL1_Nodes, emptyBonesNames) {
- emptyBonesNames();
-}
-
-TEST_F(utMDLImporter_HL1_Nodes, emptyBodypartsNames) {
- emptyBodypartsNames();
-}
-
-TEST_F(utMDLImporter_HL1_Nodes, duplicateBodypartsNames) {
- duplicateBodypartsNames();
-}
-
-TEST_F(utMDLImporter_HL1_Nodes, duplicateSubModelsNames) {
- duplicateSubModelsNames();
-}
-
-TEST_F(utMDLImporter_HL1_Nodes, emptySequenceNames) {
- emptySequenceNames();
-}
-
-TEST_F(utMDLImporter_HL1_Nodes, duplicateSequenceNames) {
- duplicateSequenceNames();
-}
-
-TEST_F(utMDLImporter_HL1_Nodes, emptySequenceGroupNames) {
- emptySequenceGroupNames();
-}
-
-TEST_F(utMDLImporter_HL1_Nodes, duplicateSequenceGroupNames) {
- duplicateSequenceGroupNames();
-}
-
-TEST_F(utMDLImporter_HL1_Nodes, offsetMatrixUnappliesTransformations) {
- offsetMatrixUnappliesTransformations();
-}
diff --git a/libs/assimp/test/unit/ImportExport/RAW/utRAWImportExport.cpp b/libs/assimp/test/unit/ImportExport/RAW/utRAWImportExport.cpp
deleted file mode 100644
index bdd7f85..0000000
--- a/libs/assimp/test/unit/ImportExport/RAW/utRAWImportExport.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utRAWImportExport : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/RAW/Wuson.raw", aiProcess_ValidateDataStructure);
-#ifndef ASSIMP_BUILD_NO_RAW_IMPORTER
- return nullptr != scene;
-#else
- return nullptr == scene;
-#endif
- }
-};
-
-TEST_F(utRAWImportExport, importSimpleRAWTest) {
- EXPECT_TRUE(importerTest());
-}
diff --git a/libs/assimp/test/unit/ImportExport/Terragen/utTerragenImportExport.cpp b/libs/assimp/test/unit/ImportExport/Terragen/utTerragenImportExport.cpp
deleted file mode 100644
index 6432dbf..0000000
--- a/libs/assimp/test/unit/ImportExport/Terragen/utTerragenImportExport.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-class utTerragenImportExport : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- /*Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/TER/RealisticTerrain.ter", aiProcess_ValidateDataStructure);
- return nullptr != scene;*/
- return true;
- }
-};
-
-TEST_F(utTerragenImportExport, importX3DFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
diff --git a/libs/assimp/test/unit/ImportExport/utAssjsonImportExport.cpp b/libs/assimp/test/unit/ImportExport/utAssjsonImportExport.cpp
deleted file mode 100644
index 3470874..0000000
--- a/libs/assimp/test/unit/ImportExport/utAssjsonImportExport.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Exporter.hpp>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
-
-class utAssjsonImportExport : public AbstractImportExportBase {
-public:
- bool exporterTest() override {
- Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/OBJ/spider.obj", aiProcess_ValidateDataStructure);
-
- Exporter exporter;
- aiReturn res = exporter.Export(scene, "assjson", "./spider_test.json");
- if (aiReturn_SUCCESS != res) {
- return false;
- }
-
- Assimp::ExportProperties exportProperties;
- exportProperties.SetPropertyBool("JSON_SKIP_WHITESPACES", true);
- aiReturn resNoWhitespace = exporter.Export(scene, "assjson", "./spider_test_nowhitespace.json", 0u, &exportProperties);
- if (aiReturn_SUCCESS != resNoWhitespace) {
- return false;
- }
-
- return true;
- }
-};
-
-TEST_F(utAssjsonImportExport, exportTest) {
- EXPECT_TRUE(exporterTest());
-}
-
-#endif // ASSIMP_BUILD_NO_EXPORT
diff --git a/libs/assimp/test/unit/ImportExport/utCOBImportExport.cpp b/libs/assimp/test/unit/ImportExport/utCOBImportExport.cpp
deleted file mode 100644
index 187f16e..0000000
--- a/libs/assimp/test/unit/ImportExport/utCOBImportExport.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-TEST(utCOBImporter, importDwarfASCII) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/COB/dwarf_ascii.cob", aiProcess_ValidateDataStructure);
- // FIXME: this is wrong, it should succeed
- // change to ASSERT_NE after it's been fixed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utCOBImporter, importDwarf) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/COB/dwarf.cob", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utCOBImporter, importMoleculeASCII) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/COB/molecule_ascii.cob", aiProcess_ValidateDataStructure);
- // FIXME: this is wrong, it should succeed
- // change to ASSERT_NE after it's been fixed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utCOBImporter, importMolecule) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/COB/molecule.cob", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utCOBImporter, importSpider43ASCII) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/COB/spider_4_3_ascii.cob", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utCOBImporter, importSpider43) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/COB/spider_4_3.cob", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utCOBImporter, importSpider66ASCII) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/COB/spider_6_6_ascii.cob", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utCOBImporter, importSpider66) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/COB/spider_6_6.cob", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
diff --git a/libs/assimp/test/unit/ImportExport/utExporter.cpp b/libs/assimp/test/unit/ImportExport/utExporter.cpp
deleted file mode 100644
index 9c5ca1c..0000000
--- a/libs/assimp/test/unit/ImportExport/utExporter.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include <assimp/Exporter.hpp>
-#include <assimp/ProgressHandler.hpp>
-
-using namespace Assimp;
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
-
-class TestProgressHandler : public ProgressHandler {
-public:
- TestProgressHandler() :
- ProgressHandler(),
- mPercentage(0.f) {
- // empty
- }
-
- virtual ~TestProgressHandler() {
- // empty
- }
-
- bool Update(float percentage = -1.f) override {
- mPercentage = percentage;
- return true;
- }
- float mPercentage;
-};
-
-class ExporterTest : public ::testing::Test {
- // empty
-};
-
-TEST_F(ExporterTest, ProgressHandlerTest) {
- Exporter exporter;
- TestProgressHandler *ph(new TestProgressHandler);
- exporter.SetProgressHandler(ph);
-}
-
-// Make sure all the registered exporters have useful descriptions
-TEST_F(ExporterTest, ExporterIdTest) {
- Exporter exporter;
- size_t exportFormatCount = exporter.GetExportFormatCount();
- EXPECT_NE(0u, exportFormatCount) << "No registered exporters";
- typedef std::map<std::string, const aiExportFormatDesc *> ExportIdMap;
- ExportIdMap exporterMap;
- for (size_t i = 0; i < exportFormatCount; ++i) {
- // Check that the exporter description exists and makes sense
- const aiExportFormatDesc *desc = exporter.GetExportFormatDescription(i);
- ASSERT_NE(nullptr, desc) << "Missing aiExportFormatDesc at index " << i;
- EXPECT_NE(nullptr, desc->id) << "Null exporter ID at index " << i;
- EXPECT_STRNE("", desc->id) << "Empty exporter ID at index " << i;
- EXPECT_NE(nullptr, desc->description) << "Null exporter description at index " << i;
- EXPECT_STRNE("", desc->description) << "Empty exporter description at index " << i;
- EXPECT_NE(nullptr, desc->fileExtension) << "Null exporter file extension at index " << i;
- EXPECT_STRNE("", desc->fileExtension) << "Empty exporter file extension at index " << i;
-
- // Check the ID is unique
- std::string key(desc->id);
- std::pair<ExportIdMap::iterator, bool> result = exporterMap.emplace(key, desc);
- EXPECT_TRUE(result.second) << "Duplicate exported id: '" << key << "' " << desc->description << " *." << desc->fileExtension << " at index " << i;
- }
-
- const aiExportFormatDesc *desc = exporter.GetExportFormatDescription(exportFormatCount);
- EXPECT_EQ(nullptr, desc) << "More exporters than claimed";
-}
-
-#endif \ No newline at end of file
diff --git a/libs/assimp/test/unit/ImportExport/utMD2Importer.cpp b/libs/assimp/test/unit/ImportExport/utMD2Importer.cpp
deleted file mode 100644
index 0fcf76b..0000000
--- a/libs/assimp/test/unit/ImportExport/utMD2Importer.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-TEST(utMD2Importer, importFaerie) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/MD2/faerie.md2", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utMD2Importer, importSydney) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/MD2/sydney.md2", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utMD2Importer, importDolphin) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/MD2/dolphin.md2", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utMD2Importer, importFlag) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/MD2/flag.md2", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utMD2Importer, importHorse) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/MD2/horse.md2", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
diff --git a/libs/assimp/test/unit/ImportExport/utMD3Importer.cpp b/libs/assimp/test/unit/ImportExport/utMD3Importer.cpp
deleted file mode 100644
index ab7c418..0000000
--- a/libs/assimp/test/unit/ImportExport/utMD3Importer.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2021, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Importer.hpp>
-
-
-using namespace Assimp;
-
-TEST(utMD3Importer, importWatercan) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/MD3/watercan.md3", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utMD3Importer, importWatercan_dmg) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/MD3/watercan_dmg.md3", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utMD3Importer, importEuropean_fnt_v2) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/MD3/q3root/models/mapobjects/kt_kubalwagon/european_fnt_v2.md3", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
diff --git a/libs/assimp/test/unit/ImportExport/utMD5Importer.cpp b/libs/assimp/test/unit/ImportExport/utMD5Importer.cpp
deleted file mode 100644
index 0821219..0000000
--- a/libs/assimp/test/unit/ImportExport/utMD5Importer.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-TEST(utMD5Importer, importEmpty) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/MD5/invalid/empty.md5mesh", aiProcess_ValidateDataStructure);
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utMD5Importer, importSimpleCube) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/MD5/SimpleCube.md5mesh", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utMD5Importer, importBoarMan) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/MD5/BoarMan.md5mesh", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utMD5Importer, importBob) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/MD5/Bob.md5mesh", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
diff --git a/libs/assimp/test/unit/ImportExport/utMDLImporter.cpp b/libs/assimp/test/unit/ImportExport/utMDLImporter.cpp
deleted file mode 100644
index c896060..0000000
--- a/libs/assimp/test/unit/ImportExport/utMDLImporter.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "UnitTestPCH.h"
-
-#include "AbstractImportExportBase.h"
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Importer.hpp>
-
-#include "MDL/MDLHL1TestFiles.h"
-
-using namespace Assimp;
-
-class utMDLImporter : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
-
- Assimp::Importer importer;
- importerTest_HL1(&importer);
-
- // Add further MDL tests...
-
- return true;
- }
-
-private:
- void importerTest_HL1(Assimp::Importer *const importer) {
- const aiScene *scene = importer->ReadFile(MDL_HL1_FILE_MAN, 0);
- EXPECT_NE(nullptr, scene);
-
- // Test that the importer can directly load an HL1 MDL external texture file.
- scene = importer->ReadFile(ASSIMP_TEST_MDL_HL1_MODELS_DIR "manT.mdl", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_NE(0u, scene->mNumTextures);
- EXPECT_NE(0u, scene->mNumMaterials);
- }
-};
-
-TEST_F(utMDLImporter, importMDLFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
diff --git a/libs/assimp/test/unit/ImportExport/utNFFImportExport.cpp b/libs/assimp/test/unit/ImportExport/utNFFImportExport.cpp
deleted file mode 100644
index 621324a..0000000
--- a/libs/assimp/test/unit/ImportExport/utNFFImportExport.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utNFFImportExport : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/NFF/NFF/ManyEarthsNotJustOne.nff", 0);
- return nullptr != scene;
- }
-};
-
-TEST_F(utNFFImportExport, importNFFFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
diff --git a/libs/assimp/test/unit/ImportExport/utOFFImportExport.cpp b/libs/assimp/test/unit/ImportExport/utOFFImportExport.cpp
deleted file mode 100644
index 78ae4ac..0000000
--- a/libs/assimp/test/unit/ImportExport/utOFFImportExport.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Exporter.hpp>
-#include <assimp/Importer.hpp>
-
-class utOFFImportExport : public AbstractImportExportBase {
-protected:
- virtual bool importerTest() {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/OFF/Cube.off", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-};
-
-TEST_F(utOFFImportExport, importOFFFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
diff --git a/libs/assimp/test/unit/ImportExport/utOgreImportExport.cpp b/libs/assimp/test/unit/ImportExport/utOgreImportExport.cpp
deleted file mode 100644
index 7312d6b..0000000
--- a/libs/assimp/test/unit/ImportExport/utOgreImportExport.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utOgreImportExport : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/Ogre/TheThing/Mesh.mesh.xml", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-};
-
-TEST_F(utOgreImportExport, importerTest) {
- EXPECT_TRUE(importerTest());
-}
diff --git a/libs/assimp/test/unit/ImportExport/utQ3BSPFileImportExport.cpp b/libs/assimp/test/unit/ImportExport/utQ3BSPFileImportExport.cpp
deleted file mode 100644
index f5694d2..0000000
--- a/libs/assimp/test/unit/ImportExport/utQ3BSPFileImportExport.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utQ3BSPImportExport : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/PK3/SGDTT3.pk3", 0);
- return nullptr != scene;
- }
-};
-
-TEST_F(utQ3BSPImportExport, importerTest) {
- EXPECT_TRUE(importerTest());
-}
diff --git a/libs/assimp/test/unit/ImportExport/utXGLImportExport.cpp b/libs/assimp/test/unit/ImportExport/utXGLImportExport.cpp
deleted file mode 100644
index 8199806..0000000
--- a/libs/assimp/test/unit/ImportExport/utXGLImportExport.cpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "UnitTestPCH.h"
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-TEST(utXGLImporter, importBCN_Epileptic) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/XGL/BCN_Epileptic.zgl", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utXGLImporter, importCubesWithAlpha) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/XGL/cubes_with_alpha.zgl", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utXGLImporter, importSample_official) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/XGL/sample_official.xgl", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utXGLImporter, importSample_official_asxml) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/XGL/sample_official_asxml.xml", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utXGLImporter, importSphereWithMatGloss) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/XGL/sphere_with_mat_gloss_10pc.zgl", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utXGLImporter, importSpiderASCII) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/XGL/Spider_ascii.zgl", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utXGLImporter, importWuson) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/XGL/Wuson.zgl", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utXGLImporter, importWusonDXF) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/XGL/wuson_dxf.zgl", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
diff --git a/libs/assimp/test/unit/Main.cpp b/libs/assimp/test/unit/Main.cpp
deleted file mode 100644
index d5049fa..0000000
--- a/libs/assimp/test/unit/Main.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-#include "../../include/assimp/DefaultLogger.hpp"
-#include "UnitTestPCH.h"
-
-#include <math.h>
-#include <time.h>
-
-int main(int argc, char *argv[]) {
- ::testing::InitGoogleTest(&argc, argv);
-
- // seed the randomizer with the current system time
- time_t t;
- time(&t);
- srand((unsigned int)t);
-
- // ............................................................................
-
- // create a logger from both CPP
- Assimp::DefaultLogger::create("AssimpLog_Cpp.txt", Assimp::Logger::VERBOSE,
- aiDefaultLogStream_STDOUT | aiDefaultLogStream_DEBUGGER | aiDefaultLogStream_FILE);
-
- // .. and C. They should smoothly work together
- aiEnableVerboseLogging(AI_TRUE);
- aiLogStream logstream = aiGetPredefinedLogStream(aiDefaultLogStream_FILE, "AssimpLog_C.txt");
- aiAttachLogStream(&logstream);
-
- int result = RUN_ALL_TESTS();
-
- // ............................................................................
- // but shutdown must be done from C to ensure proper deallocation
- aiDetachAllLogStreams();
-
- return result;
-}
diff --git a/libs/assimp/test/unit/MathTest.cpp b/libs/assimp/test/unit/MathTest.cpp
deleted file mode 100644
index ff870ff..0000000
--- a/libs/assimp/test/unit/MathTest.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "MathTest.h"
-
-namespace Assimp {
-
-// Initialize epsilon value.
-const float AssimpMathTest::Epsilon = Math::getEpsilon<float>();
-
-// Initialize with an interval of [1,100].
-RandomUniformFloatGenerator AssimpMathTest::RandNonZero(1.0f, 100.0f);
-
-// Initialize with an interval of [-PI,PI] inclusively.
-RandomUniformFloatGenerator AssimpMathTest::RandPI(-Math::aiPi<float>(), Math::aiPi<float>());
-
-}
diff --git a/libs/assimp/test/unit/MathTest.h b/libs/assimp/test/unit/MathTest.h
deleted file mode 100644
index 08411e8..0000000
--- a/libs/assimp/test/unit/MathTest.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#ifndef ASSIMP_MATH_TEST_H
-#define ASSIMP_MATH_TEST_H
-
-#include "UnitTestPCH.h"
-#include <assimp/types.h>
-#include "RandomNumberGeneration.h"
-
-namespace Assimp {
-
-/** Custom test class providing several math related utilities. */
-class AssimpMathTest : public ::testing::Test {
-public:
- /** Return a random non-null 2D vector. */
- inline static aiVector2D random_vec2() {
- return aiVector2D(RandNonZero.next(), RandNonZero.next());
- }
-
- /** Return a random non-null 3D vector. */
- inline static aiVector3D random_vec3() {
- return aiVector3D(RandNonZero.next(), RandNonZero.next(),RandNonZero.next());
- }
-
- /** Return a random unit 3D vector. */
- inline static aiVector3D random_unit_vec3() {
- return random_vec3().NormalizeSafe();
- }
-
- /** Return a quaternion with random orientation and
- * rotation angle around axis. */
- inline static aiQuaternion random_quat() {
- return aiQuaternion(random_unit_vec3(), RandPI.next());
- }
-
- /** Return a random non-null 3x3 matrix. */
- inline static aiMatrix3x3 random_mat3() {
- return aiMatrix3x3(
- RandNonZero.next(), RandNonZero.next(),RandNonZero.next(),
- RandNonZero.next(), RandNonZero.next(),RandNonZero.next(),
- RandNonZero.next(), RandNonZero.next(),RandNonZero.next());
- }
-
- /** Return a random non-null 4x4 matrix. */
- inline static aiMatrix4x4 random_mat4() {
- return aiMatrix4x4(
- RandNonZero.next(), RandNonZero.next(),RandNonZero.next(), RandNonZero.next(),
- RandNonZero.next(), RandNonZero.next(),RandNonZero.next(), RandNonZero.next(),
- RandNonZero.next(), RandNonZero.next(),RandNonZero.next(), RandNonZero.next(),
- RandNonZero.next(), RandNonZero.next(),RandNonZero.next(), RandNonZero.next());
- }
-
- /** Epsilon value to use in tests. */
- static const float Epsilon;
-
- /** Random number generators. */
- static RandomUniformFloatGenerator RandNonZero, RandPI;
-};
-
-}
-
-#endif // ASSIMP_MATH_TEST_H
diff --git a/libs/assimp/test/unit/RandomNumberGeneration.h b/libs/assimp/test/unit/RandomNumberGeneration.h
deleted file mode 100644
index 95ba5b4..0000000
--- a/libs/assimp/test/unit/RandomNumberGeneration.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#ifndef ASSIMP_RANDOM_NUMBER_GENERATION_H
-#define ASSIMP_RANDOM_NUMBER_GENERATION_H
-
-#include <random>
-
-namespace Assimp {
-
-/** Helper class to use for generating pseudo-random
- * real numbers, with a uniform distribution. */
-template<typename T>
-class RandomUniformRealGenerator {
-public:
- RandomUniformRealGenerator() :
- dist_(),
- rd_(),
- re_(rd_()) {
- // empty
- }
-
- RandomUniformRealGenerator(T min, T max) :
- dist_(min, max),
- rd_(),
- re_(rd_()) {
- // empty
- }
-
- inline T next() {
- return dist_(re_);
- }
-
-private:
- std::uniform_real_distribution<T> dist_;
- std::random_device rd_;
- std::default_random_engine re_;
-};
-
-using RandomUniformFloatGenerator = RandomUniformRealGenerator<float>;
-
-}
-
-#endif // ASSIMP_RANDOM_NUMBER_GENERATION_H
diff --git a/libs/assimp/test/unit/SceneDiffer.cpp b/libs/assimp/test/unit/SceneDiffer.cpp
deleted file mode 100644
index 0918530..0000000
--- a/libs/assimp/test/unit/SceneDiffer.cpp
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "SceneDiffer.h"
-#include <assimp/scene.h>
-#include <assimp/mesh.h>
-#include <assimp/material.h>
-#include <sstream>
-
-namespace Assimp {
-
-SceneDiffer::SceneDiffer()
-: m_diffs() {
- // empty
-}
-
-SceneDiffer::~SceneDiffer() {
- // empty
-}
-
-bool SceneDiffer::isEqual( const aiScene *expected, const aiScene *toCompare ) {
- if ( expected == toCompare ) {
- return true;
- }
-
- if ( nullptr == expected ) {
- return false;
- }
-
- if ( nullptr == toCompare ) {
- return false;
- }
-
- // meshes
- if ( expected->mNumMeshes != toCompare->mNumMeshes ) {
- std::stringstream stream;
- stream << "Number of meshes not equal ( expected: " << expected->mNumMeshes << ", found : " << toCompare->mNumMeshes << " )\n";
- addDiff( stream.str() );
- return false;
- }
-
- for ( unsigned int i = 0; i < expected->mNumMeshes; i++ ) {
- aiMesh *expMesh( expected->mMeshes[ i ] );
- aiMesh *toCompMesh( toCompare->mMeshes[ i ] );
- if ( !compareMesh( expMesh, toCompMesh ) ) {
- std::stringstream stream;
- stream << "Meshes are not equal, index : " << i << "\n";
- addDiff( stream.str() );
- }
- }
-
- // materials
- /*if ( expected->mNumMaterials != toCompare->mNumMaterials ) {
- std::stringstream stream;
- stream << "Number of materials not equal ( expected: " << expected->mNumMaterials << ", found : " << toCompare->mNumMaterials << " )\n";
- addDiff( stream.str() );
- return false;
- }
-
- if ( expected->mNumMaterials > 0 ) {
- if ( nullptr == expected->mMaterials || nullptr == toCompare->mMaterials ) {
- addDiff( "Number of materials > 0 and mat pointer is nullptr" );
- return false;
- }
- }
-
- for ( unsigned int i = 0; i < expected->mNumMaterials; i++ ) {
- aiMaterial *expectedMat( expected->mMaterials[ i ] );
- aiMaterial *toCompareMat( expected->mMaterials[ i ] );
- if ( !compareMaterial( expectedMat, toCompareMat ) ) {
- std::stringstream stream;
- stream << "Materials are not equal, index : " << i << "\n";
- addDiff( stream.str() );
- return false;
- }
- }*/
-
- return true;
-}
-
-void SceneDiffer::showReport() {
- if ( m_diffs.empty() ) {
- return;
- }
-
- for ( std::vector<std::string>::iterator it = m_diffs.begin(); it != m_diffs.end(); ++it ) {
- std::cout << *it << "\n";
- }
-
- std::cout << std::endl;
-}
-
-void SceneDiffer::reset() {
- m_diffs.resize( 0 );
-}
-
-void SceneDiffer::addDiff( const std::string &diff ) {
- if ( diff.empty() ) {
- return;
- }
- m_diffs.push_back( diff );
-}
-
-static std::string dumpVector3( const aiVector3D &toDump ) {
- std::stringstream stream;
- stream << "( " << toDump.x << ", " << toDump.y << ", " << toDump.z << ")";
- return stream.str();
-}
-
-/*static std::string dumpColor4D( const aiColor4D &toDump ) {
- std::stringstream stream;
- stream << "( " << toDump.r << ", " << toDump.g << ", " << toDump.b << ", " << toDump.a << ")";
- return stream.str();
-}*/
-
-static std::string dumpFace( const aiFace &face ) {
- std::stringstream stream;
- for ( unsigned int i = 0; i < face.mNumIndices; i++ ) {
- stream << face.mIndices[ i ];
- if ( i < face.mNumIndices - 1 ) {
- stream << ", ";
- }
- else {
- stream << "\n";
- }
- }
- return stream.str();
-}
-
-bool SceneDiffer::compareMesh( aiMesh *expected, aiMesh *toCompare ) {
- if ( expected == toCompare ) {
- return true;
- }
-
- if ( nullptr == expected || nullptr == toCompare ) {
- return false;
- }
-
- if ( expected->mName != toCompare->mName ) {
- std::stringstream stream;
- stream << "Mesh name not equal ( expected: " << expected->mName.C_Str() << ", found : " << toCompare->mName.C_Str() << " )\n";
- addDiff( stream.str() );
- }
-
- if ( expected->mNumVertices != toCompare->mNumVertices ) {
- std::stringstream stream;
- stream << "Number of vertices not equal ( expected: " << expected->mNumVertices << ", found : " << toCompare->mNumVertices << " )\n";
- addDiff( stream.str() );
- return false;
- }
-
- // positions
- if ( expected->HasPositions() != toCompare->HasPositions() ) {
- addDiff( "Expected are vertices, toCompare does not have any." );
- return false;
- }
-
- bool vertEqual( true );
- for ( unsigned int i = 0; i < expected->mNumVertices; i++ ) {
- aiVector3D &expVert( expected->mVertices[ i ] );
- aiVector3D &toCompVert( toCompare->mVertices[ i ] );
- if ( !expVert.Equal( toCompVert ) ) {
- std::cout << "index = " << i << dumpVector3( toCompVert ) << "\n";
- std::stringstream stream;
- stream << "Vertex not equal ( expected: " << dumpVector3( toCompVert ) << ", found: " << dumpVector3( toCompVert ) << "\n";
- addDiff( stream.str() );
- vertEqual = false;
- }
- }
- if ( !vertEqual ) {
- return false;
- }
-
- // normals
- if ( expected->HasNormals() != toCompare->HasNormals() ) {
- addDiff( "Expected are normals, toCompare does not have any." );
- return false;
- }
-
- // return true;
-
- //ToDo!
- /*bool normalEqual( true );
- for ( unsigned int i = 0; i < expected->mNumVertices; i++ ) {
- aiVector3D &expNormal( expected->mNormals[ i ] );
- aiVector3D &toCompNormal( toCompare->mNormals[ i ] );
- if ( expNormal.Equal( toCompNormal ) ) {
- std::stringstream stream;
- stream << "Normal not equal ( expected: " << dumpVector3( expNormal ) << ", found: " << dumpVector3( toCompNormal ) << "\n";
- addDiff( stream.str() );
- normalEqual = false;
- }
- }
- if ( !normalEqual ) {
- return false;
- }
-
- // vertex colors
- bool vertColEqual( true );
- for ( unsigned int a = 0; a < AI_MAX_NUMBER_OF_COLOR_SETS; a++ ) {
- if ( expected->HasVertexColors(a) != toCompare->HasVertexColors(a) ) {
- addDiff( "Expected are normals, toCompare does not have any." );
- return false;
- }
- for ( unsigned int i = 0; i < expected->mNumVertices; i++ ) {
- aiColor4D &expColor4D( expected->mColors[ a ][ i ] );
- aiColor4D &toCompColor4D( toCompare->mColors[ a ][ i ] );
- if ( expColor4D != toCompColor4D ) {
- std::stringstream stream;
- stream << "Color4D not equal ( expected: " << dumpColor4D( expColor4D ) << ", found: " << dumpColor4D( toCompColor4D ) << "\n";
- addDiff( stream.str() );
- vertColEqual = false;
- }
- }
- if ( !vertColEqual ) {
- return false;
- }
- }
-
- // texture coords
- bool texCoordsEqual( true );
- for ( unsigned int a = 0; a < AI_MAX_NUMBER_OF_TEXTURECOORDS; a++ ) {
- if ( expected->HasTextureCoords( a ) != toCompare->HasTextureCoords( a ) ) {
- addDiff( "Expected are texture coords, toCompare does not have any." );
- return false;
- }
- for ( unsigned int i = 0; i < expected->mNumVertices; i++ ) {
- aiVector3D &expTexCoord( expected->mTextureCoords[ a ][ i ] );
- aiVector3D &toCompTexCoord( toCompare->mTextureCoords[ a ][ i ] );
- if ( expTexCoord.Equal( toCompTexCoord ) ) {
- std::stringstream stream;
- stream << "Texture coords not equal ( expected: " << dumpVector3( expTexCoord ) << ", found: " << dumpVector3( toCompTexCoord ) << "\n";
- addDiff( stream.str() );
- vertColEqual = false;
- }
- }
- if ( !vertColEqual ) {
- return false;
- }
- }
-
- // tangents and bi-tangents
- if ( expected->HasTangentsAndBitangents() != toCompare->HasTangentsAndBitangents() ) {
- addDiff( "Expected are tangents and bi-tangents, toCompare does not have any." );
- return false;
- }
- bool tangentsEqual( true );
- for ( unsigned int i = 0; i < expected->mNumVertices; i++ ) {
- aiVector3D &expTangents( expected->mTangents[ i ] );
- aiVector3D &toCompTangents( toCompare->mTangents[ i ] );
- if ( expTangents.Equal( toCompTangents ) ) {
- std::stringstream stream;
- stream << "Tangents not equal ( expected: " << dumpVector3( expTangents ) << ", found: " << dumpVector3( toCompTangents ) << "\n";
- addDiff( stream.str() );
- tangentsEqual = false;
- }
-
- aiVector3D &expBiTangents( expected->mBitangents[ i ] );
- aiVector3D &toCompBiTangents( toCompare->mBitangents[ i ] );
- if ( expBiTangents.Equal( toCompBiTangents ) ) {
- std::stringstream stream;
- stream << "Tangents not equal ( expected: " << dumpVector3( expBiTangents ) << ", found: " << dumpVector3( toCompBiTangents ) << " )\n";
- addDiff( stream.str() );
- tangentsEqual = false;
- }
- }
- if ( !tangentsEqual ) {
- return false;
- }*/
-
- // faces
- if ( expected->mNumFaces != toCompare->mNumFaces ) {
- std::stringstream stream;
- stream << "Number of faces are not equal, ( expected: " << expected->mNumFaces << ", found: " << toCompare->mNumFaces << ")\n";
- addDiff( stream.str() );
- return false;
- }
- bool facesEqual( true );
- for ( unsigned int i = 0; i < expected->mNumFaces; i++ ) {
- aiFace &expFace( expected->mFaces[ i ] );
- aiFace &toCompareFace( toCompare->mFaces[ i ] );
- if ( !compareFace( &expFace, &toCompareFace ) ) {
- addDiff( "Faces are not equal\n" );
- addDiff( dumpFace( expFace ) );
- addDiff( dumpFace( toCompareFace ) );
- facesEqual = false;
- }
- }
- if ( !facesEqual ) {
- return false;
- }
-
- return true;
-}
-
-bool SceneDiffer::compareFace( aiFace *expected, aiFace *toCompare ) {
- if ( nullptr == expected ) {
- return false;
- }
- if ( nullptr == toCompare ) {
- return false;
- }
-
- // same instance
- if ( expected == toCompare ) {
- return true;
- }
-
- // using compare operator
- if ( *expected == *toCompare ) {
- return true;
- }
-
- return false;
-}
-
-bool SceneDiffer::compareMaterial( aiMaterial *expected, aiMaterial *toCompare ) {
- if ( nullptr == expected ) {
- return false;
- }
- if ( nullptr == toCompare ) {
- return false;
- }
-
- // same instance
- if ( expected == toCompare ) {
- return true;
- }
-
- // todo!
-
- return true;
-}
-
-}
diff --git a/libs/assimp/test/unit/SceneDiffer.h b/libs/assimp/test/unit/SceneDiffer.h
deleted file mode 100644
index 2ac429b..0000000
--- a/libs/assimp/test/unit/SceneDiffer.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#pragma once
-
-#include "UnitTestPCH.h"
-#include <assimp/fast_atof.h>
-#include <vector>
-#include <string>
-
-struct aiScene;
-struct aiMesh;
-struct aiMaterial;
-struct aiFace;
-
-namespace Assimp {
-
-class SceneDiffer {
-public:
- SceneDiffer();
- ~SceneDiffer();
- bool isEqual( const aiScene *expected, const aiScene *toCompare );
- void showReport();
- void reset();
-
-protected:
- void addDiff( const std::string &diff );
- bool compareMesh( aiMesh *expected, aiMesh *toCompare );
- bool compareFace( aiFace *expected, aiFace *toCompare );
- bool compareMaterial( aiMaterial *expected, aiMaterial *toCompare );
-
-private:
- std::vector<std::string> m_diffs;
-};
-
-}
diff --git a/libs/assimp/test/unit/TestIOStream.h b/libs/assimp/test/unit/TestIOStream.h
deleted file mode 100644
index 2f7280e..0000000
--- a/libs/assimp/test/unit/TestIOStream.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
-Open Asset Import Library (assimp)
-----------------------------------------------------------------------
-
-Copyright (c) 2006-2020, assimp team
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the
-following conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-----------------------------------------------------------------------
-*/
-#pragma once
-
-#include <assimp/DefaultIOStream.h>
-
-using namespace ::Assimp;
-
-class TestDefaultIOStream : public DefaultIOStream {
-public:
- TestDefaultIOStream()
- : DefaultIOStream() {
- // empty
- }
-
- TestDefaultIOStream( FILE* pFile, const std::string &strFilename )
- : DefaultIOStream( pFile, strFilename ) {
- // empty
- }
-
- virtual ~TestDefaultIOStream() {
- // empty
- }
-};
-
diff --git a/libs/assimp/test/unit/TestIOSystem.h b/libs/assimp/test/unit/TestIOSystem.h
deleted file mode 100644
index b43e65b..0000000
--- a/libs/assimp/test/unit/TestIOSystem.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#pragma once
-
-#include "UnitTestPCH.h"
-
-#include <assimp/IOSystem.hpp>
-
-using namespace std;
-
-namespace Assimp {
-
-static const string Sep = "/";
-
-class TestIOSystem : public IOSystem {
-public:
- TestIOSystem()
- : IOSystem() {
- // empty
- }
-
- virtual ~TestIOSystem() {
- // empty
- }
-
- virtual bool Exists( const char* ) const {
- return true;
- }
-
- virtual char getOsSeparator() const {
- return Sep[ 0 ];
- }
-
- virtual IOStream* Open( const char* pFile, const char* pMode = "rb" ) {
- EXPECT_NE( nullptr, pFile );
- EXPECT_NE( nullptr, pMode );
- return NULL;
- }
-
- virtual void Close( IOStream* pFile ) {
- EXPECT_NE( nullptr, pFile );
- }
-};
-
-} // Namespace Assimp
diff --git a/libs/assimp/test/unit/TestModelFactory.h b/libs/assimp/test/unit/TestModelFactory.h
deleted file mode 100644
index d0f43d7..0000000
--- a/libs/assimp/test/unit/TestModelFactory.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#pragma once
-
-#include "UnitTestPCH.h"
-#include <assimp/scene.h>
-#include <assimp/mesh.h>
-#include <assimp/material.h>
-
-namespace Assimp {
-
-class TestModelFacttory {
-public:
- TestModelFacttory() {
- // empty
- }
-
- ~TestModelFacttory() {
- // empty
- }
-
- static aiScene *createDefaultTestModel( float &opacity ) {
- aiScene *scene( new aiScene );
- scene->mNumMaterials = 1;
- scene->mMaterials = new aiMaterial*[scene->mNumMaterials];
- scene->mMaterials[ 0 ] = new aiMaterial;
- aiColor3D color( 1, 0, 0 );
- EXPECT_EQ( AI_SUCCESS, scene->mMaterials[ 0 ]->AddProperty( &color, 1, AI_MATKEY_COLOR_DIFFUSE ) );
-
- ::srand( static_cast< unsigned int >( ::time( NULL ) ) );
- opacity = float( rand() ) / float( RAND_MAX );
- EXPECT_EQ( AI_SUCCESS, scene->mMaterials[ 0 ]->AddProperty( &opacity, 1, AI_MATKEY_OPACITY ) );
-
- scene->mNumMeshes = 1;
- scene->mMeshes = new aiMesh*[scene->mNumMeshes];
- scene->mMeshes[ 0 ] = new aiMesh;
- scene->mMeshes[ 0 ]->mMaterialIndex = 0;
- scene->mMeshes[ 0 ]->mPrimitiveTypes = aiPrimitiveType_TRIANGLE;
- scene->mMeshes[ 0 ]->mNumVertices = 3;
- scene->mMeshes[ 0 ]->mVertices = new aiVector3D[ 3 ];
- scene->mMeshes[ 0 ]->mVertices[ 0 ] = aiVector3D( 1, 0, 0 );
- scene->mMeshes[ 0 ]->mVertices[ 1 ] = aiVector3D( 0, 1, 0 );
- scene->mMeshes[ 0 ]->mVertices[ 2 ] = aiVector3D( 0, 0, 1 );
- scene->mMeshes[ 0 ]->mNumFaces = 1;
- scene->mMeshes[ 0 ]->mFaces = new aiFace[scene->mMeshes[ 0 ]->mNumFaces];
- scene->mMeshes[ 0 ]->mFaces[ 0 ].mNumIndices = 3;
- scene->mMeshes[ 0 ]->mFaces[ 0 ].mIndices = new unsigned int[ 3 ];
- scene->mMeshes[ 0 ]->mFaces[ 0 ].mIndices[ 0 ] = 0;
- scene->mMeshes[ 0 ]->mFaces[ 0 ].mIndices[ 1 ] = 1;
- scene->mMeshes[ 0 ]->mFaces[ 0 ].mIndices[ 2 ] = 2;
-
- scene->mRootNode = new aiNode();
- scene->mRootNode->mNumMeshes = 1;
- scene->mRootNode->mMeshes = new unsigned int[1]{ 0 };
-
- return scene;
- }
-
- static void releaseDefaultTestModel( aiScene **scene ) {
- delete *scene;
- *scene = nullptr;
- }
-};
-
-}
diff --git a/libs/assimp/test/unit/UTLogStream.h b/libs/assimp/test/unit/UTLogStream.h
deleted file mode 100644
index 70cb3f8..0000000
--- a/libs/assimp/test/unit/UTLogStream.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#pragma once
-
-#include <assimp/LogStream.hpp>
-
-class UTLogStream : public Assimp::LogStream {
-public:
- UTLogStream()
- : LogStream() {
- // empty
- }
-
- virtual ~UTLogStream() {
- // empty
- }
-
- virtual void write(const char* message) {
- if ( nullptr != message ) {
- m_messages.push_back( std::string( message ) );
- }
- }
-
- std::vector<std::string> m_messages;
-};
diff --git a/libs/assimp/test/unit/UnitTestFileGenerator.h b/libs/assimp/test/unit/UnitTestFileGenerator.h
deleted file mode 100644
index 2166c69..0000000
--- a/libs/assimp/test/unit/UnitTestFileGenerator.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2020, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#pragma once
-
-#include <cstdio>
-#include <cstdlib>
-#include <gtest/gtest.h>
-
-#if defined(_MSC_VER)
-#include <io.h>
-#define TMP_PATH "./"
-inline FILE* MakeTmpFile(char* tmplate)
-{
- auto pathtemplate = _mktemp(tmplate);
- EXPECT_NE(pathtemplate, nullptr);
- if(pathtemplate == nullptr)
- {
- return nullptr;
- }
- auto* fs = std::fopen(pathtemplate, "w+");
- EXPECT_NE(fs, nullptr);
- return fs;
-}
-#elif defined(__GNUC__) || defined(__clang__)
-#define TMP_PATH "/tmp/"
-inline FILE* MakeTmpFile(char* tmplate)
-{
- auto fd = mkstemp(tmplate);
- EXPECT_NE(-1, fd);
- if(fd == -1)
- {
- return nullptr;
- }
- auto fs = fdopen(fd, "w+");
- EXPECT_NE(nullptr, fs);
- return fs;
-}
-#endif
diff --git a/libs/assimp/test/unit/UnitTestPCH.h b/libs/assimp/test/unit/UnitTestPCH.h
deleted file mode 100644
index 4570dce..0000000
--- a/libs/assimp/test/unit/UnitTestPCH.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2020, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#pragma once
-
-// We need to be sure to have the same STL settings as Assimp
-
-#include <assimp/cimport.h>
-#ifdef _MSC_VER
-# pragma warning(push)
-# pragma warning(disable : 4389)
-#endif
-#include <gtest/gtest.h>
-#ifdef _MSC_VER
-# pragma warning(pop)
-#endif
-#include <memory>
-#include <math.h>
-#include "UTLogStream.h"
-
-#undef min
-#undef max
diff --git a/libs/assimp/test/unit/ut3DImportExport.cpp b/libs/assimp/test/unit/ut3DImportExport.cpp
deleted file mode 100644
index 5ff1d79..0000000
--- a/libs/assimp/test/unit/ut3DImportExport.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "UnitTestPCH.h"
-
-#include <assimp/Importer.hpp>
-#include <assimp/postprocess.h>
-
-using namespace Assimp;
-
-TEST(ut3DImportExport, importBoxA) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/3D/box_a.3d", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-
-TEST(ut3DImportExport, importBoxD) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/3D/box_d.3d", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-
-TEST(ut3DImportExport, importBoxUC) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/3D/box.uc", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
diff --git a/libs/assimp/test/unit/ut3DSImportExport.cpp b/libs/assimp/test/unit/ut3DSImportExport.cpp
deleted file mode 100644
index 0140636..0000000
--- a/libs/assimp/test/unit/ut3DSImportExport.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class ut3DSImportExport : public AbstractImportExportBase {
-public:
- bool importerTest() override {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/3DS/fels.3ds", aiProcess_ValidateDataStructure);
-#ifndef ASSIMP_BUILD_NO_3DS_IMPORTER
- return nullptr != scene;
-#else
- return nullptr == scene;
-#endif // ASSIMP_BUILD_NO_3DS_IMPORTER
- }
-};
-
-TEST_F(ut3DSImportExport, import3DSFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
-
-TEST_F(ut3DSImportExport, import3DSformatdetection) {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/3DS/testFormatDetection", aiProcess_ValidateDataStructure);
-
- EXPECT_NE(nullptr, scene);
-}
diff --git a/libs/assimp/test/unit/utACImportExport.cpp b/libs/assimp/test/unit/utACImportExport.cpp
deleted file mode 100644
index 9615a3a..0000000
--- a/libs/assimp/test/unit/utACImportExport.cpp
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-TEST(utACImportExport, importClosedLine) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/closedLine.ac", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utACImportExport, importNoSurfaces) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/nosurfaces.ac", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utACImportExport, importOpenLine) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/openLine.ac", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utACImportExport, importSampleSubdiv) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/sample_subdiv.ac", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utACImportExport, importSphereWithLight) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/SphereWithLight.ac", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utACImportExport, importSphereWithLightUTF16) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/SphereWithLight_UTF16LE.ac", aiProcess_ValidateDataStructure);
- // FIXME: this is probably wrong, loading the file should succeed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utACImportExport, importSphereWithLightUTF8BOM) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/SphereWithLight_UTF8BOM.ac", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utACImportExport, importSphereWithLightUvScaling4X) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/SphereWithLightUvScaling4X.ac", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utACImportExport, importWuson) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/Wuson.ac", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utACImportExport, importWusonACC) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/Wuson.acc", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utACImportExport, testFormatDetection) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/TestFormatDetection", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
diff --git a/libs/assimp/test/unit/utAMFImportExport.cpp b/libs/assimp/test/unit/utAMFImportExport.cpp
deleted file mode 100644
index 78309a1..0000000
--- a/libs/assimp/test/unit/utAMFImportExport.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utAMFImportExport : public AbstractImportExportBase {
-public:
- bool importerTest() override {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AMF/test1.amf", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-};
-
-TEST_F(utAMFImportExport, importAMFFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
-
-TEST_F(utAMFImportExport, importAMFWithMatFromFileTest) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AMF/test_with_mat.amf", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
diff --git a/libs/assimp/test/unit/utASEImportExport.cpp b/libs/assimp/test/unit/utASEImportExport.cpp
deleted file mode 100644
index 8014cbb..0000000
--- a/libs/assimp/test/unit/utASEImportExport.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utASEImportExport : public AbstractImportExportBase {
-public:
- bool importerTest() override {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/ASE/ThreeCubesGreen.ASE", aiProcess_ValidateDataStructure);
-#ifndef ASSIMP_BUILD_NO_3DS_IMPORTER
- return nullptr != scene;
-#else
- return nullptr == scene;
-#endif // ASSIMP_BUILD_NO_3DS_IMPORTER
- }
-};
-
-TEST_F(utASEImportExport, importACFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
diff --git a/libs/assimp/test/unit/utAnim.cpp b/libs/assimp/test/unit/utAnim.cpp
deleted file mode 100644
index 956810d..0000000
--- a/libs/assimp/test/unit/utAnim.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include <assimp/anim.h>
-
-using namespace Assimp;
-
-class utAnim : public ::testing::Test {
- // empty
-};
-
-TEST_F( utAnim, aiVectorKeyCreationTest ) {
- aiVectorKey defaultConstTest;
- EXPECT_DOUBLE_EQ( 0.0, defaultConstTest.mTime );
-
- aiVector3D v( 1, 2, 3 );
- aiVectorKey constrWithValuesTest( 1, v );
- EXPECT_DOUBLE_EQ( 1.0, constrWithValuesTest.mTime );
- EXPECT_EQ( v, constrWithValuesTest.mValue );
-
- EXPECT_NE( defaultConstTest, constrWithValuesTest );
- EXPECT_TRUE( defaultConstTest != constrWithValuesTest );
- defaultConstTest.mTime = 1;
- constrWithValuesTest.mTime = 2;
- EXPECT_TRUE( defaultConstTest < constrWithValuesTest );
-}
-
-TEST_F( utAnim, aiQuatKeyTest ) {
- aiQuatKey defaultConstrTest;
- EXPECT_DOUBLE_EQ( 0.0, defaultConstrTest.mTime );
-
- aiQuaternion q;
- aiQuatKey constrWithValuesTest( 1.0, q );
- EXPECT_DOUBLE_EQ( 1.0, constrWithValuesTest.mTime );
- EXPECT_EQ( q, constrWithValuesTest.mValue );
-}
-
-TEST_F( utAnim, aiNodeAnimTest ) {
- bool ok( true );
- try {
- aiNodeAnim myAnim;
- EXPECT_EQ( aiAnimBehaviour_DEFAULT, myAnim.mPreState );
- EXPECT_EQ( aiAnimBehaviour_DEFAULT, myAnim.mPostState );
- } catch ( ... ) {
- ok = false;
- }
- EXPECT_TRUE( ok );
-}
-
-TEST_F( utAnim, aiMeshAnimTest ) {
- bool ok( true );
- try {
- aiMeshAnim myMeshAnim;
- } catch ( ... ) {
- ok = false;
- }
- EXPECT_TRUE( ok );
-}
-
-TEST_F( utAnim, aiAnimationTest ) {
- bool ok( true );
- try {
- aiAnimation myAnimation;
- } catch ( ... ) {
- ok = false;
- }
- EXPECT_TRUE( ok );
-}
diff --git a/libs/assimp/test/unit/utArmaturePopulate.cpp b/libs/assimp/test/unit/utArmaturePopulate.cpp
deleted file mode 100644
index 0acea7b..0000000
--- a/libs/assimp/test/unit/utArmaturePopulate.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "TestModelFactory.h"
-#include "UnitTestPCH.h"
-
-#include "AbstractImportExportBase.h"
-
-#include <assimp/material.h>
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/types.h>
-#include <assimp/Importer.hpp>
-
-#include "PostProcessing/ArmaturePopulate.h"
-
-namespace Assimp {
-namespace UnitTest {
-
-class utArmaturePopulate : public ::testing::Test {
- // empty
-};
-
-TEST_F(utArmaturePopulate, importCheckForArmatureTest) {
- Assimp::Importer importer;
- unsigned int mask = aiProcess_PopulateArmatureData | aiProcess_ValidateDataStructure;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/FBX/huesitos.fbx", mask);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(scene->mNumMeshes, 1u);
- aiMesh *mesh = scene->mMeshes[0];
- EXPECT_EQ(mesh->mNumFaces, 68u);
- EXPECT_EQ(mesh->mNumVertices, 256u);
- EXPECT_GT(mesh->mNumBones, 0u);
-
- aiBone *exampleBone = mesh->mBones[0];
- EXPECT_NE(exampleBone, nullptr);
- EXPECT_NE(exampleBone->mArmature, nullptr);
- EXPECT_NE(exampleBone->mNode, nullptr);
-}
-
-} // Namespace UnitTest
-} // Namespace Assimp
diff --git a/libs/assimp/test/unit/utAssbinImportExport.cpp b/libs/assimp/test/unit/utAssbinImportExport.cpp
deleted file mode 100644
index 437a0a5..0000000
--- a/libs/assimp/test/unit/utAssbinImportExport.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-#include <assimp/postprocess.h>
-#include <assimp/Exporter.hpp>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
-
-class utAssbinImportExport : public AbstractImportExportBase {
-public:
- bool importerTest() override {
- Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/OBJ/spider.obj", aiProcess_ValidateDataStructure);
-
- Exporter exporter;
- EXPECT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "assbin", ASSIMP_TEST_MODELS_DIR "/OBJ/spider_out.assbin"));
- const aiScene *newScene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/OBJ/spider_out.assbin", aiProcess_ValidateDataStructure);
-
- return newScene != nullptr;
- }
-};
-
-TEST_F(utAssbinImportExport, import3ExportAssbinDFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
-
-#endif // #ifndef ASSIMP_BUILD_NO_EXPORT
diff --git a/libs/assimp/test/unit/utB3DImportExport.cpp b/libs/assimp/test/unit/utB3DImportExport.cpp
deleted file mode 100644
index 9672aa0..0000000
--- a/libs/assimp/test/unit/utB3DImportExport.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utB3DImportExport : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/B3D/WusonBlitz.b3d", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-};
-
-TEST_F(utB3DImportExport, importACFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
diff --git a/libs/assimp/test/unit/utBVHImportExport.cpp b/libs/assimp/test/unit/utBVHImportExport.cpp
deleted file mode 100644
index d69ac79..0000000
--- a/libs/assimp/test/unit/utBVHImportExport.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utBVHImportExport : public AbstractImportExportBase {
-public:
- bool importerTest() override {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BVH/01_01.bvh", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-};
-
-TEST_F(utBVHImportExport, importBlenFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
diff --git a/libs/assimp/test/unit/utBatchLoader.cpp b/libs/assimp/test/unit/utBatchLoader.cpp
deleted file mode 100644
index df6aa79..0000000
--- a/libs/assimp/test/unit/utBatchLoader.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-#include "Common/Importer.h"
-#include "TestIOSystem.h"
-
-using namespace ::Assimp;
-
-class BatchLoaderTest : public ::testing::Test {
-public:
- virtual void SetUp() {
- m_io = new TestIOSystem();
- }
-
- virtual void TearDown() {
- delete m_io;
- }
-
-protected:
- TestIOSystem* m_io;
-};
-
-TEST_F( BatchLoaderTest, createTest ) {
- bool ok( true );
- try {
- BatchLoader loader( m_io );
- } catch ( ... ) {
- ok = false;
- }
- EXPECT_TRUE( ok );
-}
-
-TEST_F( BatchLoaderTest, validateAccessTest ) {
- BatchLoader loader1( m_io );
- EXPECT_FALSE( loader1.getValidation() );
- loader1.setValidation( true );
- EXPECT_TRUE( loader1.getValidation() );
-
- BatchLoader loader2( m_io, true );
- EXPECT_TRUE( loader2.getValidation() );
-}
diff --git a/libs/assimp/test/unit/utBlendImportAreaLight.cpp b/libs/assimp/test/unit/utBlendImportAreaLight.cpp
deleted file mode 100644
index 5378874..0000000
--- a/libs/assimp/test/unit/utBlendImportAreaLight.cpp
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include <assimp/cexport.h>
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Exporter.hpp>
-#include <assimp/Importer.hpp>
-
-class BlendImportAreaLight : public ::testing::Test {
-public:
- void SetUp() override {
- im = new Assimp::Importer();
- }
-
- void TearDown() override {
- delete im;
- }
-
-protected:
- Assimp::Importer *im;
-};
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(BlendImportAreaLight, testImportLight) {
- const aiScene *pTest = im->ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/AreaLight_269.blend", aiProcess_ValidateDataStructure);
- ASSERT_TRUE(pTest != nullptr);
- ASSERT_TRUE(pTest->HasLights());
-
- std::vector<std::pair<std::string, size_t>> lightNames;
-
- for (size_t i = 0; i < pTest->mNumLights; i++) {
- lightNames.push_back(std::make_pair(pTest->mLights[i]->mName.C_Str(), i));
- }
-
- std::sort(lightNames.begin(), lightNames.end());
-
- std::vector<aiLight> lights;
-
- for (size_t i = 0; i < pTest->mNumLights; ++i) {
- lights.push_back(*pTest->mLights[lightNames[i].second]);
- }
-
- ASSERT_STREQ(lights[0].mName.C_Str(), "Bar");
- ASSERT_STREQ(lights[1].mName.C_Str(), "Baz");
- ASSERT_STREQ(lights[2].mName.C_Str(), "Foo");
-
- ASSERT_EQ(lights[0].mType, aiLightSource_AREA);
- ASSERT_EQ(lights[1].mType, aiLightSource_POINT);
- ASSERT_EQ(lights[2].mType, aiLightSource_AREA);
-
- EXPECT_FLOAT_EQ(lights[0].mSize.x, 0.5f);
- EXPECT_FLOAT_EQ(lights[0].mSize.y, 2.0f);
- EXPECT_FLOAT_EQ(lights[2].mSize.x, 1.0f);
- EXPECT_FLOAT_EQ(lights[2].mSize.y, 1.0f);
-
- EXPECT_FLOAT_EQ(lights[0].mColorDiffuse.r, 42.0f);
- EXPECT_FLOAT_EQ(lights[0].mColorDiffuse.g, 42.0f);
- EXPECT_FLOAT_EQ(lights[0].mColorDiffuse.b, 42.0f);
- EXPECT_FLOAT_EQ(lights[2].mColorDiffuse.r, 1.0f);
- EXPECT_FLOAT_EQ(lights[2].mColorDiffuse.g, 1.0f);
- EXPECT_FLOAT_EQ(lights[2].mColorDiffuse.b, 1.0f);
-
- EXPECT_FLOAT_EQ(lights[0].mDirection.x, 0.0f);
- EXPECT_FLOAT_EQ(lights[0].mDirection.y, 0.0f);
- EXPECT_FLOAT_EQ(lights[0].mDirection.z, -1.0f);
- EXPECT_FLOAT_EQ(lights[2].mDirection.x, 0.0f);
- EXPECT_FLOAT_EQ(lights[2].mDirection.y, 0.0f);
- EXPECT_FLOAT_EQ(lights[2].mDirection.z, -1.0f);
-}
diff --git a/libs/assimp/test/unit/utBlendImportMaterials.cpp b/libs/assimp/test/unit/utBlendImportMaterials.cpp
deleted file mode 100644
index 582d47e..0000000
--- a/libs/assimp/test/unit/utBlendImportMaterials.cpp
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include <assimp/cexport.h>
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Importer.hpp>
-
-class BlendImportMaterials : public ::testing::Test {
-public:
- void SetUp() override {
- im = new Assimp::Importer();
- }
-
- void TearDown() override {
- delete im;
- }
-
-protected:
- Assimp::Importer *im;
-};
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(BlendImportMaterials, testImportMaterial) {
- const aiScene *pTest = im->ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/BlenderMaterial_269.blend", aiProcess_ValidateDataStructure);
- ASSERT_TRUE(pTest != NULL);
- ASSERT_TRUE(pTest->HasMaterials());
-
- ASSERT_EQ(1U, pTest->mNumMaterials);
-
- auto alpha = pTest->mMaterials[0];
-
-#define ASSERT_PROPERTY_EQ(expected, key, var) \
- auto var = expected; \
- ASSERT_EQ(aiReturn_SUCCESS, alpha->Get("$mat.blend." key, 0, 0, var)); \
- ASSERT_EQ(expected, var);
-
-#define ASSERT_PROPERTY_FLOAT_EQ(expected, key, var) \
- auto var = expected; \
- ASSERT_EQ(aiReturn_SUCCESS, alpha->Get("$mat.blend." key, 0, 0, var)); \
- ASSERT_FLOAT_EQ(expected, var);
-
- ASSERT_PROPERTY_EQ(aiColor3D(0.1f, 0.2f, 0.3f), "diffuse.color", diffuseColor);
- ASSERT_PROPERTY_EQ(0.4f, "diffuse.intensity", diffuseIntensity);
- ASSERT_PROPERTY_EQ(1, "diffuse.shader", diffuseShader);
- ASSERT_PROPERTY_EQ(0, "diffuse.ramp", diffuseRamp);
-
- ASSERT_PROPERTY_EQ(aiColor3D(0.5f, 0.6f, 0.7f), "specular.color", specularColor);
- ASSERT_PROPERTY_EQ(0.8f, "specular.intensity", specularIntensity);
- ASSERT_PROPERTY_EQ(1, "specular.shader", specularShader);
- ASSERT_PROPERTY_EQ(0, "specular.ramp", specularRamp);
- ASSERT_PROPERTY_EQ(9, "specular.hardness", specularHardness);
-
- ASSERT_PROPERTY_EQ(1, "transparency.use", transparencyUse);
- ASSERT_PROPERTY_EQ(2, "transparency.method", transparencyMethod);
- ASSERT_PROPERTY_EQ(0.01f, "transparency.alpha", transparencyAlpha);
- ASSERT_PROPERTY_EQ(0.02f, "transparency.specular", transparencySpecular);
- ASSERT_PROPERTY_EQ(0.03f, "transparency.fresnel", transparencyFresnel);
- ASSERT_PROPERTY_EQ(3.14f, "transparency.blend", transparencyBlend);
- ASSERT_PROPERTY_EQ(0.85f, "transparency.ior", transparencyIor);
- ASSERT_PROPERTY_FLOAT_EQ(0.128f, "transparency.filter", transparencyFilter);
- ASSERT_PROPERTY_FLOAT_EQ(1.298f, "transparency.falloff", transparencyFalloff);
- ASSERT_PROPERTY_FLOAT_EQ(0.2376f, "transparency.limit", transparencyLimit);
- ASSERT_PROPERTY_EQ(7, "transparency.depth", transparencyDepth);
- ASSERT_PROPERTY_FLOAT_EQ(0.678f, "transparency.glossAmount", transparencyGlossAmount);
- ASSERT_PROPERTY_FLOAT_EQ(0.208f, "transparency.glossThreshold", transparencyGlossThreshold);
- ASSERT_PROPERTY_EQ(17, "transparency.glossSamples", transparencyGlossSamples);
-
- ASSERT_PROPERTY_EQ(1, "mirror.use", mirrorUse);
- ASSERT_PROPERTY_FLOAT_EQ(0.28f, "mirror.reflectivity", mirrorReflectivity);
- ASSERT_PROPERTY_EQ(aiColor3D(0.25f, 0.5f, 0.128f), "mirror.color", mirrorColor);
- ASSERT_PROPERTY_FLOAT_EQ(0.256f, "mirror.fresnel", mirrorFresnel);
- ASSERT_PROPERTY_FLOAT_EQ(1.61f, "mirror.blend", mirrorBlend);
- ASSERT_PROPERTY_EQ(12, "mirror.depth", mirrorDepth);
- ASSERT_PROPERTY_FLOAT_EQ(0.4f, "mirror.maxDist", mirrorMaxDist);
- ASSERT_PROPERTY_EQ(1, "mirror.fadeTo", mirrorFadeTo);
- ASSERT_PROPERTY_FLOAT_EQ(0.512f, "mirror.glossAmount", mirrorGlossAmount);
- ASSERT_PROPERTY_FLOAT_EQ(0.18f, "mirror.glossThreshold", mirrorGlossThreshold);
- ASSERT_PROPERTY_EQ(61, "mirror.glossSamples", mirrorGlossSamples);
- ASSERT_PROPERTY_FLOAT_EQ(0.87f, "mirror.glossAnisotropic", mirrorGlossAnisotropic);
-}
-
-TEST_F(BlendImportMaterials, testImportMaterialwith2texturesAnd2TexCoordMappings) {
- const aiScene *pTest = im->ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/plane_2_textures_2_texcoords_279.blend", aiProcess_ValidateDataStructure);
- ASSERT_TRUE(pTest != NULL);
-
- // material has 2 diffuse textures
- ASSERT_TRUE(pTest->HasMaterials());
- EXPECT_EQ(1u, pTest->mNumMaterials);
- const aiMaterial *pMat = pTest->mMaterials[0];
- ASSERT_TRUE(nullptr != pMat);
- ASSERT_EQ(2u, pMat->GetTextureCount(aiTextureType_DIFFUSE));
- aiString aPath;
- aiTextureMapping tm = aiTextureMapping::aiTextureMapping_OTHER;
- aiReturn result = pMat->GetTexture(aiTextureType_DIFFUSE, 0, &aPath, &tm);
- ASSERT_EQ(aiReturn_SUCCESS, result);
- result = pMat->GetTexture(aiTextureType_DIFFUSE, 1, &aPath, &tm);
- ASSERT_EQ(aiReturn_SUCCESS, result);
-
- // mesh has 2 texturecoord sets
- ASSERT_TRUE(pTest->HasMeshes());
- EXPECT_EQ(1u, pTest->mNumMeshes);
- const aiMesh *pMesh = pTest->mMeshes[0];
- ASSERT_TRUE(nullptr != pMesh);
- ASSERT_TRUE(pMesh->HasTextureCoords(0));
- ASSERT_TRUE(pMesh->HasTextureCoords(1));
-}
diff --git a/libs/assimp/test/unit/utBlenderImportExport.cpp b/libs/assimp/test/unit/utBlenderImportExport.cpp
deleted file mode 100644
index 2970986..0000000
--- a/libs/assimp/test/unit/utBlenderImportExport.cpp
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utBlenderImporterExporter : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/box.blend", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-};
-
-TEST_F(utBlenderImporterExporter, importBlenFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
-
-TEST(utBlenderImporter, import4cubes) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/4Cubes4Mats_248.blend", aiProcess_ValidateDataStructure);
- // FIXME: this is probably not right, loading this should succeed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utBlenderImporter, import269_regress1) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/blender_269_regress1.blend", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utBlenderImporter, importBlenderDefault248) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/BlenderDefault_248.blend", aiProcess_ValidateDataStructure);
- // FIXME: this is probably not right, loading this should succeed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utBlenderImporter, importBlenderDefault250) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/BlenderDefault_250.blend", aiProcess_ValidateDataStructure);
- // FIXME: this is probably not right, loading this should succeed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utBlenderImporter, importBlenderDefault250Compressed) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/BlenderDefault_250_Compressed.blend", aiProcess_ValidateDataStructure);
- // FIXME: this is probably not right, loading this should succeed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utBlenderImporter, importBlenderDefault262) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/BlenderDefault_262.blend", aiProcess_ValidateDataStructure);
- // FIXME: this is probably not right, loading this should succeed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utBlenderImporter, importBlenderDefault269) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/BlenderDefault_269.blend", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utBlenderImporter, importBlenderDefault271) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/BlenderDefault_271.blend", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utBlenderImporter, importBlenderDefault293) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/BlenderDefault_276.blend", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utBlenderImporter, importCubeHierarchy_248) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/CubeHierarchy_248.blend", aiProcess_ValidateDataStructure);
- // FIXME: this is probably not right, loading this should succeed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utBlenderImporter, importHuman) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/HUMAN.blend", aiProcess_ValidateDataStructure);
- // FIXME: this is probably not right, loading this should succeed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utBlenderImporter, importMirroredCube_252) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/MirroredCube_252.blend", aiProcess_ValidateDataStructure);
- // FIXME: this is probably not right, loading this should succeed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utBlenderImporter, importNoisyTexturedCube_VoronoiGlob_248) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/NoisyTexturedCube_VoronoiGlob_248.blend", aiProcess_ValidateDataStructure);
- // FIXME: this is probably not right, loading this should succeed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utBlenderImporter, importSmoothVsSolidCube_248) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/SmoothVsSolidCube_248.blend", aiProcess_ValidateDataStructure);
- // FIXME: this is probably not right, loading this should succeed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utBlenderImporter, importSuzanne_248) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/Suzanne_248.blend", aiProcess_ValidateDataStructure);
- // FIXME: this is probably not right, loading this should succeed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utBlenderImporter, importSuzanneSubdiv_252) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/SuzanneSubdiv_252.blend", aiProcess_ValidateDataStructure);
- // FIXME: this is probably not right, loading this should succeed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utBlenderImporter, importTexturedCube_ImageGlob_248) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/TexturedCube_ImageGlob_248.blend", aiProcess_ValidateDataStructure);
- // FIXME: this is probably not right, loading this should succeed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utBlenderImporter, importTexturedPlane_ImageUv_248) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/TexturedPlane_ImageUv_248.blend", aiProcess_ValidateDataStructure);
- // FIXME: this is probably not right, loading this should succeed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utBlenderImporter, importTexturedPlane_ImageUvPacked_248) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/TexturedPlane_ImageUvPacked_248.blend", aiProcess_ValidateDataStructure);
- // FIXME: this is probably not right, loading this should succeed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utBlenderImporter, importTorusLightsCams_250_compressed) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/TorusLightsCams_250_compressed.blend", aiProcess_ValidateDataStructure);
- // FIXME: this is probably not right, loading this should succeed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utBlenderImporter, import_yxa_1) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/yxa_1.blend", aiProcess_ValidateDataStructure);
- // FIXME: this is probably not right, loading this should succeed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utBlenderImporter, importBob) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/BLEND/Bob.blend", aiProcess_ValidateDataStructure);
- // FIXME: this is probably not right, loading this should succeed
- ASSERT_EQ(nullptr, scene);
-}
-
-TEST(utBlenderImporter, importFleurOptonl) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/BLEND/fleurOptonl.blend", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
diff --git a/libs/assimp/test/unit/utBlenderIntermediate.cpp b/libs/assimp/test/unit/utBlenderIntermediate.cpp
deleted file mode 100644
index c2cc51e..0000000
--- a/libs/assimp/test/unit/utBlenderIntermediate.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-#include "AssetLib/Blender/BlenderIntermediate.h"
-#include <assimp/camera.h>
-#include <assimp/light.h>
-#include <assimp/mesh.h>
-#include <assimp/texture.h>
-
-using namespace ::Assimp;
-using namespace ::Assimp::Blender;
-
-class BlenderIntermediateTest : public ::testing::Test {
- // empty
-};
-
-#define NAME_1 "name1"
-#define NAME_2 "name2"
-
-// Updated this test after fixing #1776:
-// A comparator in C++ is used for ordering and must implement strict weak ordering,
-// which means it must return false for equal values.
-// The C++ standard defines and expects this behavior: true if lhs < rhs, false otherwise.
-TEST_F(BlenderIntermediateTest, ConversionData_ObjectCompareTest) {
- Object obj1, obj2;
- strncpy(obj1.id.name, NAME_1, sizeof(obj1.id.name));
- strncpy(obj2.id.name, NAME_2, sizeof(obj2.id.name));
-
- Blender::ObjectCompare cmp_true_because_first_is_smaller_than_second;
- bool res(cmp_true_because_first_is_smaller_than_second(&obj1, &obj2));
- EXPECT_TRUE(res);
-
- Blender::ObjectCompare cmp_false_because_equal;
- res = cmp_false_because_equal(&obj1, &obj1);
- EXPECT_FALSE(res);
-
- Blender::ObjectCompare cmp_false_because_first_is_greater_than_second;
- res = cmp_false_because_first_is_greater_than_second(&obj2, &obj1);
- EXPECT_FALSE(res);
-}
diff --git a/libs/assimp/test/unit/utBlenderWork.cpp b/libs/assimp/test/unit/utBlenderWork.cpp
deleted file mode 100644
index 554198b..0000000
--- a/libs/assimp/test/unit/utBlenderWork.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-#include <assimp/cexport.h>
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Importer.hpp>
-
-using namespace ::Assimp;
-
-class BlenderWorkTest : public ::testing::Test {
-public:
- virtual void SetUp() {
- im = new Assimp::Importer();
- }
-
- virtual void TearDown() {
- delete im;
- }
-
-protected:
- Assimp::Importer *im;
-};
-
-TEST_F(BlenderWorkTest, work_279) {
- const aiScene *pTest = im->ReadFile(ASSIMP_TEST_MODELS_DIR "/BLEND/test_279.blend", aiProcess_ValidateDataStructure);
- ASSERT_TRUE(pTest != NULL);
-
- // material has 2 diffuse textures
- ASSERT_TRUE(pTest->HasMaterials());
- ASSERT_TRUE(pTest->HasMeshes());
- ASSERT_TRUE(pTest->mMeshes[0]->mNumVertices > 0);
- ASSERT_EQ(44u, pTest->mMeshes[0]->mNumFaces);
- EXPECT_EQ(1u, pTest->mNumMaterials);
-}
diff --git a/libs/assimp/test/unit/utCSMImportExport.cpp b/libs/assimp/test/unit/utCSMImportExport.cpp
deleted file mode 100644
index 13bfd52..0000000
--- a/libs/assimp/test/unit/utCSMImportExport.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utCSMImportExport : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/CSM/ThomasFechten.csm", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-};
-
-TEST_F(utCSMImportExport, importBlenFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
diff --git a/libs/assimp/test/unit/utColladaExport.cpp b/libs/assimp/test/unit/utColladaExport.cpp
deleted file mode 100644
index bb87071..0000000
--- a/libs/assimp/test/unit/utColladaExport.cpp
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include <assimp/cexport.h>
-#include <assimp/commonMetaData.h>
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Exporter.hpp>
-#include <assimp/Importer.hpp>
-
-#include <array>
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
-
-class utColladaExport : public ::testing::Test {
-public:
- void SetUp() override {
- ex = new Assimp::Exporter();
- im = new Assimp::Importer();
- }
-
- void TearDown() override {
- delete ex;
- ex = nullptr;
- delete im;
- im = nullptr;
- }
-
-protected:
- Assimp::Exporter *ex;
- Assimp::Importer *im;
-};
-
-TEST_F(utColladaExport, testExportCamera) {
- const char *file = "cameraExp.dae";
-
- const aiScene *pTest = im->ReadFile(ASSIMP_TEST_MODELS_DIR "/Collada/cameras.dae", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, pTest);
- ASSERT_TRUE(pTest->HasCameras());
-
- EXPECT_EQ(AI_SUCCESS, ex->Export(pTest, "collada", file));
- const unsigned int origNumCams(pTest->mNumCameras);
- //std::vector<float> origFOV;
- std::unique_ptr<float[]> origFOV(new float[origNumCams]);
- std::unique_ptr<float[]> orifClipPlaneNear(new float[origNumCams]);
- std::unique_ptr<float[]> orifClipPlaneFar(new float[origNumCams]);
- std::unique_ptr<aiString[]> names(new aiString[origNumCams]);
- std::unique_ptr<aiVector3D[]> pos(new aiVector3D[origNumCams]);
- for (size_t i = 0; i < origNumCams; i++) {
- const aiCamera *orig = pTest->mCameras[i];
- ASSERT_NE(nullptr, orig);
-
- origFOV[i] = orig->mHorizontalFOV;
- orifClipPlaneNear[i] = orig->mClipPlaneNear;
- orifClipPlaneFar[i] = orig->mClipPlaneFar;
- names[i] = orig->mName;
- pos[i] = orig->mPosition;
- }
- const aiScene *imported = im->ReadFile(file, aiProcess_ValidateDataStructure);
-
- ASSERT_NE(nullptr, imported);
-
- EXPECT_TRUE(imported->HasCameras());
- EXPECT_EQ(origNumCams, imported->mNumCameras);
-
- for (size_t i = 0; i < imported->mNumCameras; i++) {
- const aiCamera *read = imported->mCameras[i];
-
- EXPECT_TRUE(names[i] == read->mName);
- EXPECT_NEAR(origFOV[i], read->mHorizontalFOV, 0.0001f);
- EXPECT_FLOAT_EQ(orifClipPlaneNear[i], read->mClipPlaneNear);
- EXPECT_FLOAT_EQ(orifClipPlaneFar[i], read->mClipPlaneFar);
-
- EXPECT_FLOAT_EQ(pos[i].x, read->mPosition.x);
- EXPECT_FLOAT_EQ(pos[i].y, read->mPosition.y);
- EXPECT_FLOAT_EQ(pos[i].z, read->mPosition.z);
- }
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(utColladaExport, testExportLight) {
- const char *file = "lightsExp.dae";
-
- const aiScene *pTest = im->ReadFile(ASSIMP_TEST_MODELS_DIR "/Collada/lights.dae", aiProcess_ValidateDataStructure);
- ASSERT_NE(pTest, nullptr);
- ASSERT_TRUE(pTest->HasLights());
-
- const unsigned int origNumLights = pTest->mNumLights;
- // There are FIVE!!! LIGHTS!!!
- EXPECT_EQ(5u, origNumLights) << "lights.dae should contain five lights";
-
- std::vector<aiLight> origLights(5);
- for (size_t i = 0; i < origNumLights; i++) {
- origLights[i] = *(pTest->mLights[i]);
- }
-
- // Check loaded first light properly
- EXPECT_STREQ("Lamp", origLights[0].mName.C_Str());
- EXPECT_EQ(aiLightSource_POINT, origLights[0].mType);
- EXPECT_FLOAT_EQ(1.0f, origLights[0].mAttenuationConstant);
- EXPECT_FLOAT_EQ(0.0f, origLights[0].mAttenuationLinear);
- EXPECT_FLOAT_EQ(0.00111109f, origLights[0].mAttenuationQuadratic);
-
- // Common metadata
- // Confirm was loaded by the Collada importer
- aiString origImporter;
- EXPECT_TRUE(pTest->mMetaData->Get(AI_METADATA_SOURCE_FORMAT, origImporter)) << "No importer format metadata";
- EXPECT_STREQ("Collada Importer", origImporter.C_Str());
-
- aiString origGenerator;
- EXPECT_TRUE(pTest->mMetaData->Get(AI_METADATA_SOURCE_GENERATOR, origGenerator)) << "No generator metadata";
- EXPECT_EQ(strncmp(origGenerator.C_Str(), "Blender", 7), 0) << "AI_METADATA_SOURCE_GENERATOR was: " << origGenerator.C_Str();
-
- aiString origCopyright;
- EXPECT_TRUE(pTest->mMetaData->Get(AI_METADATA_SOURCE_COPYRIGHT, origCopyright)) << "No copyright metadata";
- EXPECT_STREQ("BSD", origCopyright.C_Str());
-
- aiString origCreated;
- EXPECT_TRUE(pTest->mMetaData->Get("Created", origCreated)) << "No created metadata";
- EXPECT_STREQ("2015-05-17T21:55:44", origCreated.C_Str());
-
- aiString origModified;
- EXPECT_TRUE(pTest->mMetaData->Get("Modified", origModified)) << "No modified metadata";
- EXPECT_STREQ("2015-05-17T21:55:44", origModified.C_Str());
-
- EXPECT_EQ(AI_SUCCESS, ex->Export(pTest, "collada", file));
-
- // Drop the pointer as about to become invalid
- pTest = nullptr;
-
- const aiScene *imported = im->ReadFile(file, aiProcess_ValidateDataStructure);
-
- ASSERT_TRUE(imported != NULL);
-
- // Check common metadata survived roundtrip
- aiString readImporter;
- EXPECT_TRUE(imported->mMetaData->Get(AI_METADATA_SOURCE_FORMAT, readImporter)) << "No importer format metadata after export";
- EXPECT_STREQ(origImporter.C_Str(), readImporter.C_Str()) << "Assimp Importer Format changed";
-
- aiString readGenerator;
- EXPECT_TRUE(imported->mMetaData->Get(AI_METADATA_SOURCE_GENERATOR, readGenerator)) << "No generator metadata";
- EXPECT_STREQ(origGenerator.C_Str(), readGenerator.C_Str()) << "Generator changed";
-
- aiString readCopyright;
- EXPECT_TRUE(imported->mMetaData->Get(AI_METADATA_SOURCE_COPYRIGHT, readCopyright)) << "No copyright metadata";
- EXPECT_STREQ(origCopyright.C_Str(), readCopyright.C_Str()) << "Copyright changed";
-
- aiString readCreated;
- EXPECT_TRUE(imported->mMetaData->Get("Created", readCreated)) << "No created metadata";
- EXPECT_STREQ(origCreated.C_Str(), readCreated.C_Str()) << "Created date changed";
-
- aiString readModified;
- EXPECT_TRUE(imported->mMetaData->Get("Modified", readModified)) << "No modified metadata";
- EXPECT_STRNE(origModified.C_Str(), readModified.C_Str()) << "Modified date did not change";
- EXPECT_GT(readModified.length, ai_uint32(18)) << "Modified date too short";
-
- // Lights
- EXPECT_TRUE(imported->HasLights());
- EXPECT_EQ(origNumLights, imported->mNumLights);
- for (size_t i = 0; i < origNumLights; i++) {
- const aiLight *orig = &origLights[i];
- const aiLight *read = imported->mLights[i];
- EXPECT_EQ(0, strcmp(orig->mName.C_Str(), read->mName.C_Str()));
- EXPECT_EQ(orig->mType, read->mType);
- EXPECT_FLOAT_EQ(orig->mAttenuationConstant, read->mAttenuationConstant);
- EXPECT_FLOAT_EQ(orig->mAttenuationLinear, read->mAttenuationLinear);
- EXPECT_NEAR(orig->mAttenuationQuadratic, read->mAttenuationQuadratic, 0.001f);
-
- EXPECT_FLOAT_EQ(orig->mColorAmbient.r, read->mColorAmbient.r);
- EXPECT_FLOAT_EQ(orig->mColorAmbient.g, read->mColorAmbient.g);
- EXPECT_FLOAT_EQ(orig->mColorAmbient.b, read->mColorAmbient.b);
-
- EXPECT_FLOAT_EQ(orig->mColorDiffuse.r, read->mColorDiffuse.r);
- EXPECT_FLOAT_EQ(orig->mColorDiffuse.g, read->mColorDiffuse.g);
- EXPECT_FLOAT_EQ(orig->mColorDiffuse.b, read->mColorDiffuse.b);
-
- EXPECT_FLOAT_EQ(orig->mColorSpecular.r, read->mColorSpecular.r);
- EXPECT_FLOAT_EQ(orig->mColorSpecular.g, read->mColorSpecular.g);
- EXPECT_FLOAT_EQ(orig->mColorSpecular.b, read->mColorSpecular.b);
-
- EXPECT_NEAR(orig->mAngleInnerCone, read->mAngleInnerCone, 0.001);
- EXPECT_NEAR(orig->mAngleOuterCone, read->mAngleOuterCone, 0.001);
- }
-}
-
-#endif // ASSIMP_BUILD_NO_EXPORT
diff --git a/libs/assimp/test/unit/utColladaImportExport.cpp b/libs/assimp/test/unit/utColladaImportExport.cpp
deleted file mode 100644
index b58fa03..0000000
--- a/libs/assimp/test/unit/utColladaImportExport.cpp
+++ /dev/null
@@ -1,410 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/ColladaMetaData.h>
-#include <assimp/SceneCombiner.h>
-#include <assimp/commonMetaData.h>
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Exporter.hpp>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utColladaImportExport : public AbstractImportExportBase {
-public:
- // Clones the scene in an exception-safe way
- struct SceneCloner {
- SceneCloner(const aiScene *scene) {
- sceneCopy = nullptr;
- SceneCombiner::CopyScene(&sceneCopy, scene);
- }
-
- ~SceneCloner() {
- delete sceneCopy;
- sceneCopy = nullptr;
- }
- aiScene *sceneCopy;
- };
-
- virtual bool importerTest() final {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/Collada/duck.dae", aiProcess_ValidateDataStructure);
- if (scene == nullptr)
- return false;
-
- // Expected number of items
- EXPECT_EQ(scene->mNumMeshes, 1u);
- EXPECT_EQ(scene->mNumMaterials, 1u);
- EXPECT_EQ(scene->mNumAnimations, 0u);
- EXPECT_EQ(scene->mNumTextures, 0u);
- EXPECT_EQ(scene->mNumLights, 1u);
- EXPECT_EQ(scene->mNumCameras, 1u);
-
- // Expected common metadata
- aiString value;
- EXPECT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_FORMAT, value)) << "No importer format metadata";
- EXPECT_STREQ("Collada Importer", value.C_Str());
-
- EXPECT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_FORMAT_VERSION, value)) << "No format version metadata";
- EXPECT_STREQ("1.4.1", value.C_Str());
-
- EXPECT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_GENERATOR, value)) << "No generator metadata";
- EXPECT_EQ(strncmp(value.C_Str(), "Maya 8.0", 8), 0) << "AI_METADATA_SOURCE_GENERATOR was: " << value.C_Str();
-
- EXPECT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_COPYRIGHT, value)) << "No copyright metadata";
- EXPECT_EQ(strncmp(value.C_Str(), "Copyright 2006", 14), 0) << "AI_METADATA_SOURCE_COPYRIGHT was: " << value.C_Str();
-
- return true;
- }
-
- typedef std::pair<std::string, std::string> IdNameString;
- typedef std::map<std::string, std::string> IdNameMap;
-
- template <typename T>
- static inline IdNameString GetColladaIdName(const T *item, size_t index) {
- std::ostringstream stream;
- stream << typeid(T).name() << "@" << index;
- if (item->mMetaData) {
- aiString aiStr;
- if (item->mMetaData->Get(AI_METADATA_COLLADA_ID, aiStr))
- return std::make_pair(std::string(aiStr.C_Str()), stream.str());
- }
- return std::make_pair(std::string(), stream.str());
- }
-
- template <typename T>
- static inline IdNameString GetItemIdName(const T *item, size_t index) {
- std::ostringstream stream;
- stream << typeid(T).name() << "@" << index;
- return std::make_pair(std::string(item->mName.C_Str()), stream.str());
- }
-
- // Specialisations
- static inline IdNameString GetItemIdName(aiMaterial *item, size_t index) {
- std::ostringstream stream;
- stream << typeid(aiMaterial).name() << "@" << index;
- return std::make_pair(std::string(item->GetName().C_Str()), stream.str());
- }
-
- static inline IdNameString GetItemIdName(aiTexture *item, size_t index) {
- std::ostringstream stream;
- stream << typeid(aiTexture).name() << "@" << index;
- return std::make_pair(std::string(item->mFilename.C_Str()), stream.str());
- }
-
- static inline void ReportDuplicate(IdNameMap &itemIdMap, const IdNameString &namePair, const char *typeNameStr) {
- const auto result = itemIdMap.insert(namePair);
- EXPECT_TRUE(result.second) << "Duplicate '" << typeNameStr << "' name: '" << namePair.first << "'. " << namePair.second << " == " << result.first->second;
- }
-
- template <typename T>
- static inline void CheckUniqueIds(IdNameMap &itemIdMap, unsigned int itemCount, T **itemArray) {
- for (size_t idx = 0; idx < itemCount; ++idx) {
- IdNameString namePair = GetItemIdName(itemArray[idx], idx);
- ReportDuplicate(itemIdMap, namePair, typeid(T).name());
- }
- }
-
- static inline void CheckUniqueIds(IdNameMap &itemIdMap, const aiNode *parent, size_t index) {
- IdNameString namePair = GetItemIdName(parent, index);
- ReportDuplicate(itemIdMap, namePair, typeid(aiNode).name());
-
- for (size_t idx = 0; idx < parent->mNumChildren; ++idx) {
- CheckUniqueIds(itemIdMap, parent->mChildren[idx], idx);
- }
- }
-
- static inline void CheckNodeIdNames(IdNameMap &nodeIdMap, IdNameMap &nodeNameMap, const aiNode *parent, size_t index) {
- IdNameString namePair = GetItemIdName(parent, index);
- IdNameString idPair = GetColladaIdName(parent, index);
- ReportDuplicate(nodeIdMap, idPair, typeid(aiNode).name());
-
- for (size_t idx = 0; idx < parent->mNumChildren; ++idx) {
- CheckNodeIdNames(nodeIdMap, nodeNameMap, parent->mChildren[idx], idx);
- }
- }
-
- static inline void SetAllNodeNames(const aiString &newName, aiNode *node) {
- node->mName = newName;
- for (size_t idx = 0; idx < node->mNumChildren; ++idx) {
- SetAllNodeNames(newName, node->mChildren[idx]);
- }
- }
-
- void ImportAndCheckIds(const char *file, const aiScene *origScene) {
- // Import the Collada using the 'default' where aiNode and aiMesh names are the Collada ids
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(file, aiProcess_ValidateDataStructure);
- ASSERT_TRUE(scene != nullptr) << "Fatal: could not re-import " << file;
- EXPECT_EQ(origScene->mNumMeshes, scene->mNumMeshes) << "in " << file;
-
- // Check the ids are unique
- IdNameMap itemIdMap;
- // Recurse the Nodes
- CheckUniqueIds(itemIdMap, scene->mRootNode, 0);
- // Check the lists
- CheckUniqueIds(itemIdMap, scene->mNumMeshes, scene->mMeshes);
- // The remaining will come in using the name, which may not be unique
- // Check we have the right number
- EXPECT_EQ(origScene->mNumAnimations, scene->mNumAnimations);
- EXPECT_EQ(origScene->mNumMaterials, scene->mNumMaterials);
- EXPECT_EQ(origScene->mNumTextures, scene->mNumTextures);
- EXPECT_EQ(origScene->mNumLights, scene->mNumLights);
- EXPECT_EQ(origScene->mNumCameras, scene->mNumCameras);
- }
-
- void ImportAsNames(const char *file, const aiScene *origScene) {
- // Import the Collada but using the user-visible names for aiNode and aiMesh
- // Note that this mode may not support bones or animations
- Assimp::Importer importer;
- importer.SetPropertyInteger(AI_CONFIG_IMPORT_COLLADA_USE_COLLADA_NAMES, 1);
-
- const aiScene *scene = importer.ReadFile(file, aiProcess_ValidateDataStructure);
- ASSERT_TRUE(scene != nullptr) << "Fatal: could not re-import " << file;
- EXPECT_EQ(origScene->mNumMeshes, scene->mNumMeshes) << "in " << file;
-
- // Check the node ids are unique but the node names are not
- IdNameMap nodeIdMap;
- IdNameMap nodeNameMap;
- // Recurse the Nodes
- CheckNodeIdNames(nodeIdMap, nodeNameMap, scene->mRootNode, 0);
-
- // nodeNameMap should have fewer than nodeIdMap
- EXPECT_LT(nodeNameMap.size(), nodeIdMap.size()) << "Some nodes should have the same names";
- // Check the counts haven't changed
- EXPECT_EQ(origScene->mNumAnimations, scene->mNumAnimations);
- EXPECT_EQ(origScene->mNumMaterials, scene->mNumMaterials);
- EXPECT_EQ(origScene->mNumTextures, scene->mNumTextures);
- EXPECT_EQ(origScene->mNumLights, scene->mNumLights);
- EXPECT_EQ(origScene->mNumCameras, scene->mNumCameras);
- }
-};
-
-TEST_F(utColladaImportExport, importDaeFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
-
-unsigned int GetMeshUseCount(const aiNode *rootNode) {
- unsigned int result = rootNode->mNumMeshes;
- for (unsigned int i = 0; i < rootNode->mNumChildren; ++i) {
- result += GetMeshUseCount(rootNode->mChildren[i]);
- }
- return result;
-}
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
-
-TEST_F(utColladaImportExport, exportRootNodeMeshTest) {
- Assimp::Importer importer;
- Assimp::Exporter exporter;
- const char *outFile = "exportRootNodeMeshTest_out.dae";
-
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/Collada/duck.dae", aiProcess_ValidateDataStructure);
- ASSERT_TRUE(scene != nullptr) << "Fatal: could not import duck.dae!";
-
- ASSERT_EQ(0u, scene->mRootNode->mNumMeshes) << "Collada import should not give the root node a mesh";
-
- {
- SceneCloner clone(scene);
- ASSERT_TRUE(clone.sceneCopy != nullptr) << "Fatal: could not copy scene!";
- // Do this by moving the meshes from the first child that has some
- aiNode *rootNode = clone.sceneCopy->mRootNode;
- ASSERT_TRUE(rootNode->mNumChildren > 0) << "Fatal: root has no children";
- aiNode *meshNode = rootNode->mChildren[0];
- ASSERT_EQ(1u, meshNode->mNumMeshes) << "Fatal: First child node has no duck mesh";
-
- // Move the meshes to the parent
- rootNode->mNumMeshes = meshNode->mNumMeshes;
- rootNode->mMeshes = new unsigned int[rootNode->mNumMeshes];
- for (unsigned int i = 0; i < rootNode->mNumMeshes; ++i) {
- rootNode->mMeshes[i] = meshNode->mMeshes[i];
- }
-
- // Remove the meshes from the original node
- meshNode->mNumMeshes = 0;
- delete[] meshNode->mMeshes;
- meshNode->mMeshes = nullptr;
-
- ASSERT_EQ(AI_SUCCESS, exporter.Export(clone.sceneCopy, "collada", outFile)) << "Fatal: Could not export file";
- }
-
- // Reimport and look for meshes
- scene = importer.ReadFile(outFile, aiProcess_ValidateDataStructure);
- ASSERT_TRUE(scene != nullptr) << "Fatal: could not reimport!";
-
- // A Collada root node is not allowed to have a mesh
- ASSERT_EQ(0u, scene->mRootNode->mNumMeshes) << "Collada reimport should not give the root node a mesh";
-
- // Walk nodes and counts used meshes
- // Should be exactly one
- EXPECT_EQ(1u, GetMeshUseCount(scene->mRootNode)) << "Nodes had unexpected number of meshes in use";
-}
-
-TEST_F(utColladaImportExport, exporterUniqueIdsTest) {
- Assimp::Importer importer;
- Assimp::Exporter exporter;
- const char *outFileEmpty = "exportMeshIdTest_empty_out.dae";
- const char *outFileNamed = "exportMeshIdTest_named_out.dae";
-
- // Load a sample file containing multiple meshes
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/Collada/teapots.DAE", aiProcess_ValidateDataStructure);
-
- ASSERT_TRUE(scene != nullptr) << "Fatal: could not import teapots.DAE!";
- ASSERT_EQ(3u, scene->mNumMeshes) << "Fatal: teapots.DAE initial load failed";
-
- // Clear all the names
- for (size_t idx = 0; idx < scene->mNumMeshes; ++idx) {
- scene->mMeshes[idx]->mName.Clear();
- }
- for (size_t idx = 0; idx < scene->mNumMaterials; ++idx) {
- scene->mMaterials[idx]->RemoveProperty(AI_MATKEY_NAME);
- }
- for (size_t idx = 0; idx < scene->mNumAnimations; ++idx) {
- scene->mAnimations[idx]->mName.Clear();
- }
- // Can't clear texture names
- for (size_t idx = 0; idx < scene->mNumLights; ++idx) {
- scene->mLights[idx]->mName.Clear();
- }
- for (size_t idx = 0; idx < scene->mNumCameras; ++idx) {
- scene->mCameras[idx]->mName.Clear();
- }
-
- SetAllNodeNames(aiString(), scene->mRootNode);
-
- ASSERT_EQ(AI_SUCCESS, exporter.Export(scene, "collada", outFileEmpty)) << "Fatal: Could not export un-named meshes file";
-
- ImportAndCheckIds(outFileEmpty, scene);
-
- // Force everything to have the same non-empty name
- aiString testName("test_name");
- for (size_t idx = 0; idx < scene->mNumMeshes; ++idx) {
- scene->mMeshes[idx]->mName = testName;
- }
- for (size_t idx = 0; idx < scene->mNumMaterials; ++idx) {
- scene->mMaterials[idx]->AddProperty(&testName, AI_MATKEY_NAME);
- }
- for (size_t idx = 0; idx < scene->mNumAnimations; ++idx) {
- scene->mAnimations[idx]->mName = testName;
- }
- // Can't clear texture names
- for (size_t idx = 0; idx < scene->mNumLights; ++idx) {
- scene->mLights[idx]->mName = testName;
- }
- for (size_t idx = 0; idx < scene->mNumCameras; ++idx) {
- scene->mCameras[idx]->mName = testName;
- }
-
- SetAllNodeNames(testName, scene->mRootNode);
-
- ASSERT_EQ(AI_SUCCESS, exporter.Export(scene, "collada", outFileNamed)) << "Fatal: Could not export named meshes file";
-
- ImportAndCheckIds(outFileNamed, scene);
- ImportAsNames(outFileNamed, scene);
-}
-
-#endif
-
-class utColladaZaeImportExport : public AbstractImportExportBase {
-public:
- virtual bool importerTest() final {
- {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/Collada/duck.zae", aiProcess_ValidateDataStructure);
- if (scene == nullptr)
- return false;
-
- // Expected number of items
- EXPECT_EQ(scene->mNumMeshes, 1u);
- EXPECT_EQ(scene->mNumMaterials, 1u);
- EXPECT_EQ(scene->mNumAnimations, 0u);
- //EXPECT_EQ(scene->mNumTextures, 1u);
- EXPECT_EQ(scene->mNumLights, 1u);
- EXPECT_EQ(scene->mNumCameras, 1u);
- }
-
- {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/Collada/duck_nomanifest.zae", aiProcess_ValidateDataStructure);
- if (scene == nullptr)
- return false;
-
- // Expected number of items
- EXPECT_EQ(scene->mNumMeshes, 1u);
- EXPECT_EQ(scene->mNumMaterials, 1u);
- EXPECT_EQ(scene->mNumAnimations, 0u);
- //EXPECT_EQ(scene->mNumTextures, 1u);
- EXPECT_EQ(scene->mNumLights, 1u);
- EXPECT_EQ(scene->mNumCameras, 1u);
- }
-
- return true;
- }
-};
-
-TEST_F(utColladaZaeImportExport, importBlenFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
-
-TEST_F(utColladaZaeImportExport, importMakeHumanTest) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/Collada/human.zae", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-
- // Expected number of items
- EXPECT_EQ(scene->mNumMeshes, 2u);
- EXPECT_EQ(scene->mNumMaterials, 2u);
- EXPECT_EQ(scene->mNumAnimations, 0u);
- EXPECT_EQ(scene->mNumTextures, 2u);
- EXPECT_EQ(scene->mNumLights, 0u);
- EXPECT_EQ(scene->mNumCameras, 0u);
-
- // Expected common metadata
- aiString value;
- EXPECT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_FORMAT, value)) << "No importer format metadata";
- EXPECT_STREQ("Collada Importer", value.C_Str());
-
- EXPECT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_FORMAT_VERSION, value)) << "No format version metadata";
- EXPECT_STREQ("1.4.1", value.C_Str());
-}
diff --git a/libs/assimp/test/unit/utD3MFImportExport.cpp b/libs/assimp/test/unit/utD3MFImportExport.cpp
deleted file mode 100644
index ed290e8..0000000
--- a/libs/assimp/test/unit/utD3MFImportExport.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Exporter.hpp>
-#include <assimp/Importer.hpp>
-
-#include "AssetLib/3MF/D3MFExporter.h"
-
-class utD3MFImporterExporter : public AbstractImportExportBase {
-public:
- bool importerTest() override {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/3MF/box.3mf", aiProcess_ValidateDataStructure);
- if (nullptr == scene) {
- return false;
- }
-
- EXPECT_EQ(1u, scene->mNumMeshes);
- aiMesh *mesh = scene->mMeshes[0];
- EXPECT_NE(nullptr, mesh);
- EXPECT_EQ(12u, mesh->mNumFaces);
- EXPECT_EQ(8u, mesh->mNumVertices);
-
- return (nullptr != scene);
- }
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
-
- bool exporterTest() override {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/3MF/box.3mf", 0);
-
- Assimp::Exporter exporter;
- return AI_SUCCESS == exporter.Export(scene, "3mf", "test.3mf");
- }
-#endif // ASSIMP_BUILD_NO_EXPORT
-};
-
-TEST_F(utD3MFImporterExporter, import3MFFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
-
-TEST_F(utD3MFImporterExporter, export3MFtoMemTest) {
- EXPECT_TRUE(exporterTest());
-}
-
-TEST_F(utD3MFImporterExporter, roundtrip3MFtoMemTest) {
- EXPECT_TRUE(exporterTest());
-
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile("test.3mf", 0);
- EXPECT_NE(nullptr, scene);
-}
-
-#endif // ASSIMP_BUILD_NO_EXPORT
diff --git a/libs/assimp/test/unit/utDXFImporterExporter.cpp b/libs/assimp/test/unit/utDXFImporterExporter.cpp
deleted file mode 100644
index 9193946..0000000
--- a/libs/assimp/test/unit/utDXFImporterExporter.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utDXFImporterExporter : public AbstractImportExportBase {
-public:
- bool importerTest() override {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/DXF/PinkEggFromLW.dxf", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-};
-
-TEST_F(utDXFImporterExporter, importDXFFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
-
-TEST_F(utDXFImporterExporter, importerWithoutExtensionTest) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/DXF/lineTest", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utDXFImporterExporter, issue2229) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/DXF/issue_2229.dxf", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
diff --git a/libs/assimp/test/unit/utDefaultIOStream.cpp b/libs/assimp/test/unit/utDefaultIOStream.cpp
deleted file mode 100644
index 803c6f6..0000000
--- a/libs/assimp/test/unit/utDefaultIOStream.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/*-------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------*/
-#include <gtest/gtest.h>
-#include "TestIOStream.h"
-#include "UnitTestFileGenerator.h"
-#include <cstdio>
-#include <cstdlib>
-#include <string>
-
-using namespace ::Assimp;
-
-class utDefaultIOStream : public ::testing::Test {
- // empty
-};
-
-const char data[]{"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Qui\
-sque luctus sem diam, ut eleifend arcu auctor eu. Vestibulum id est vel nulla l\
-obortis malesuada ut sed turpis. Nulla a volutpat tortor. Nunc vestibulum portt\
-itor sapien ornare sagittis volutpat."};
-
-TEST_F( utDefaultIOStream, FileSizeTest ) {
- const auto dataSize = sizeof(data);
- const auto dataCount = dataSize / sizeof(*data);
-
- char fpath[] = { TMP_PATH"rndfp.XXXXXX" };
- auto* fs = MakeTmpFile(fpath);
- ASSERT_NE(nullptr, fs);
- {
- auto written = std::fwrite(data, sizeof(*data), dataCount, fs );
- EXPECT_NE( 0U, written );
-
- auto vflush = std::fflush( fs );
- ASSERT_EQ(vflush, 0);
-
- std::fclose(fs);
- fs = std::fopen(fpath, "r");
-
- ASSERT_NE(nullptr, fs);
-
- TestDefaultIOStream myStream( fs, fpath);
- size_t size = myStream.FileSize();
- EXPECT_EQ( size, dataSize);
- }
- remove(fpath);
-}
diff --git a/libs/assimp/test/unit/utExport.cpp b/libs/assimp/test/unit/utExport.cpp
deleted file mode 100644
index b3ab5e3..0000000
--- a/libs/assimp/test/unit/utExport.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-#include "UnitTestPCH.h"
-
-#include <assimp/cexport.h>
-#include <assimp/Exporter.hpp>
-
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
-
-class ExporterTest : public ::testing::Test {
-public:
-
- virtual void SetUp()
- {
- ex = new Assimp::Exporter();
- im = new Assimp::Importer();
-
- pTest = im->ReadFile(ASSIMP_TEST_MODELS_DIR "/X/test.x", aiProcess_ValidateDataStructure);
- }
-
- virtual void TearDown()
- {
- delete ex;
- delete im;
- }
-
-protected:
-
- const aiScene* pTest;
- Assimp::Exporter* ex;
- Assimp::Importer* im;
-};
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(ExporterTest, testExportToFile)
-{
- const char* file = "unittest_output.dae";
- EXPECT_EQ(AI_SUCCESS,ex->Export(pTest,"collada",file));
-
- // check if we can read it again
- EXPECT_TRUE(im->ReadFile(file, aiProcess_ValidateDataStructure));
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(ExporterTest, testExportToBlob)
-{
- const aiExportDataBlob* blob = ex->ExportToBlob(pTest,"collada");
- ASSERT_TRUE(blob);
- EXPECT_TRUE(blob->data);
- EXPECT_GT(blob->size, 0U);
- EXPECT_EQ(0U, blob->name.length);
-
- // XXX test chained blobs (i.e. obj file with accompanying mtl script)
-
- // check if we can read it again
- EXPECT_TRUE(im->ReadFileFromMemory(blob->data,blob->size,0,"dae"));
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(ExporterTest, testCppExportInterface)
-{
- EXPECT_TRUE(ex->GetExportFormatCount() > 0);
- for(size_t i = 0; i < ex->GetExportFormatCount(); ++i) {
- const aiExportFormatDesc* const desc = ex->GetExportFormatDescription(i);
- ASSERT_TRUE(desc);
- EXPECT_TRUE(desc->description && strlen(desc->description));
- EXPECT_TRUE(desc->fileExtension && strlen(desc->fileExtension));
- EXPECT_TRUE(desc->id && strlen(desc->id));
- }
-
- EXPECT_TRUE(ex->IsDefaultIOHandler());
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(ExporterTest, testCExportInterface)
-{
- EXPECT_TRUE(aiGetExportFormatCount() > 0);
- for(size_t i = 0; i < aiGetExportFormatCount(); ++i) {
- const aiExportFormatDesc* const desc = aiGetExportFormatDescription(i);
- EXPECT_TRUE(desc);
- // rest has already been validated by testCppExportInterface
- }
-}
-
-#endif
diff --git a/libs/assimp/test/unit/utFBXImporterExporter.cpp b/libs/assimp/test/unit/utFBXImporterExporter.cpp
deleted file mode 100644
index 9b8f2fa..0000000
--- a/libs/assimp/test/unit/utFBXImporterExporter.cpp
+++ /dev/null
@@ -1,425 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/commonMetaData.h>
-#include <assimp/material.h>
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/types.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utFBXImporterExporter : public AbstractImportExportBase {
-public:
- bool importerTest() override {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/FBX/spider.fbx", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-};
-
-TEST_F(utFBXImporterExporter, importXFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
-
-TEST_F(utFBXImporterExporter, importBareBoxWithoutColorsAndTextureCoords) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/FBX/box.fbx", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(scene->mNumMeshes, 1u);
- aiMesh *mesh = scene->mMeshes[0];
- EXPECT_EQ(mesh->mNumFaces, 12u);
- EXPECT_EQ(mesh->mNumVertices, 36u);
-}
-
-TEST_F(utFBXImporterExporter, importCubesWithNoNames) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/FBX/cubes_nonames.fbx", aiProcess_ValidateDataStructure);
- ASSERT_TRUE(scene);
-
- ASSERT_TRUE(scene->mRootNode);
- const auto root = scene->mRootNode;
- ASSERT_STREQ(root->mName.C_Str(), "RootNode");
- ASSERT_TRUE(root->mChildren);
- ASSERT_EQ(root->mNumChildren, 2u);
-}
-
-TEST_F(utFBXImporterExporter, importCubesWithUnicodeDuplicatedNames) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/FBX/cubes_with_names.fbx", aiProcess_ValidateDataStructure);
- ASSERT_TRUE(scene);
-
- ASSERT_TRUE(scene->mRootNode);
- const auto root = scene->mRootNode;
- ASSERT_STREQ(root->mName.C_Str(), "RootNode");
- ASSERT_TRUE(root->mChildren);
- ASSERT_EQ(root->mNumChildren, 2u);
-
- const auto child0 = root->mChildren[0];
- ASSERT_TRUE(child0);
- ASSERT_STREQ(child0->mName.C_Str(), "Cube2");
- ASSERT_TRUE(child0->mChildren);
- ASSERT_EQ(child0->mNumChildren, 1u);
-
- const auto child00 = child0->mChildren[0];
- ASSERT_TRUE(child00);
- ASSERT_STREQ(child00->mName.C_Str(), "\xd0\x9a\xd1\x83\xd0\xb1\x31");
-
- const auto child1 = root->mChildren[1];
- ASSERT_TRUE(child1);
- ASSERT_STREQ(child1->mName.C_Str(), "Cube3");
- ASSERT_TRUE(child1->mChildren);
- ASSERT_EQ(child1->mNumChildren, 1u);
-
- const auto child10 = child1->mChildren[0];
- ASSERT_TRUE(child10);
- ASSERT_STREQ(child10->mName.C_Str(), "\xd0\x9a\xd1\x83\xd0\xb1\x31");
-}
-
-TEST_F(utFBXImporterExporter, importCubesComplexTransform) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/FBX/cubes_with_mirroring_and_pivot.fbx", aiProcess_ValidateDataStructure);
- ASSERT_TRUE(scene);
-
- ASSERT_TRUE(scene->mRootNode);
- const auto root = scene->mRootNode;
- ASSERT_STREQ(root->mName.C_Str(), "RootNode");
- ASSERT_TRUE(root->mChildren);
- ASSERT_EQ(root->mNumChildren, 2u);
-
- const auto child0 = root->mChildren[0];
- ASSERT_TRUE(child0);
- ASSERT_STREQ(child0->mName.C_Str(), "Cube2");
- ASSERT_TRUE(child0->mChildren);
- ASSERT_EQ(child0->mNumChildren, 1u);
-
- const auto child00 = child0->mChildren[0];
- ASSERT_TRUE(child00);
- ASSERT_STREQ(child00->mName.C_Str(), "Cube1");
-
- const auto child1 = root->mChildren[1];
- ASSERT_TRUE(child1);
- ASSERT_STREQ(child1->mName.C_Str(), "Cube3");
-
- auto parent = child1;
- const size_t chain_length = 8u;
- const char *chainStr[chain_length] = {
- "Cube1_$AssimpFbx$_Translation",
- "Cube1_$AssimpFbx$_RotationPivot",
- "Cube1_$AssimpFbx$_RotationPivotInverse",
- "Cube1_$AssimpFbx$_ScalingOffset",
- "Cube1_$AssimpFbx$_ScalingPivot",
- "Cube1_$AssimpFbx$_Scaling",
- "Cube1_$AssimpFbx$_ScalingPivotInverse",
- "Cube1"
- };
- for (size_t i = 0; i < chain_length; ++i) {
- ASSERT_TRUE(parent->mChildren);
- ASSERT_EQ(parent->mNumChildren, 1u);
- auto node = parent->mChildren[0];
- ASSERT_TRUE(node);
- ASSERT_STREQ(node->mName.C_Str(), chainStr[i]);
- parent = node;
- }
- ASSERT_EQ(0u, parent->mNumChildren) << "Leaf node";
-}
-
-TEST_F(utFBXImporterExporter, importCloseToIdentityTransforms) {
- Assimp::Importer importer;
- // This was asserting in FBXConverter.cpp because the transforms appeared to be the identity by one test, but not by another.
- // This asset should now load successfully.
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/FBX/close_to_identity_transforms.fbx", aiProcess_ValidateDataStructure);
- ASSERT_TRUE(scene);
-}
-
-TEST_F(utFBXImporterExporter, importPhongMaterial) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/FBX/phong_cube.fbx", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(1u, scene->mNumMaterials);
- const aiMaterial *mat = scene->mMaterials[0];
- EXPECT_NE(nullptr, mat);
- float f;
- aiColor3D c;
-
- // phong_cube.fbx has all properties defined
- EXPECT_EQ(mat->Get(AI_MATKEY_COLOR_DIFFUSE, c), aiReturn_SUCCESS);
- EXPECT_EQ(c, aiColor3D(0.5, 0.25, 0.25));
- EXPECT_EQ(mat->Get(AI_MATKEY_COLOR_SPECULAR, c), aiReturn_SUCCESS);
- EXPECT_EQ(c, aiColor3D(0.25, 0.25, 0.5));
- EXPECT_EQ(mat->Get(AI_MATKEY_SHININESS_STRENGTH, f), aiReturn_SUCCESS);
- EXPECT_EQ(f, 0.5f);
- EXPECT_EQ(mat->Get(AI_MATKEY_SHININESS, f), aiReturn_SUCCESS);
- EXPECT_EQ(f, 10.0f);
- EXPECT_EQ(mat->Get(AI_MATKEY_COLOR_AMBIENT, c), aiReturn_SUCCESS);
- EXPECT_EQ(c, aiColor3D(0.125, 0.25, 0.25));
- EXPECT_EQ(mat->Get(AI_MATKEY_COLOR_EMISSIVE, c), aiReturn_SUCCESS);
- EXPECT_EQ(c, aiColor3D(0.25, 0.125, 0.25));
- EXPECT_EQ(mat->Get(AI_MATKEY_COLOR_TRANSPARENT, c), aiReturn_SUCCESS);
- EXPECT_EQ(c, aiColor3D(0.75, 0.5, 0.25));
- EXPECT_EQ(mat->Get(AI_MATKEY_OPACITY, f), aiReturn_SUCCESS);
- EXPECT_EQ(f, 0.5f);
-}
-
-TEST_F(utFBXImporterExporter, importUnitScaleFactor) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/FBX/global_settings.fbx", aiProcess_ValidateDataStructure);
-
- EXPECT_NE(nullptr, scene);
- EXPECT_NE(nullptr, scene->mMetaData);
-
- float factor(0.0f);
- scene->mMetaData->Get("UnitScaleFactor", factor);
- EXPECT_EQ(500.0f, factor);
-
- scene->mMetaData->Set("UnitScaleFactor", factor * 2.0f);
- scene->mMetaData->Get("UnitScaleFactor", factor);
- EXPECT_EQ(1000.0f, factor);
-}
-
-TEST_F(utFBXImporterExporter, importEmbeddedAsciiTest) {
- // see https://github.com/assimp/assimp/issues/1957
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/FBX/embedded_ascii/box.FBX", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-
- EXPECT_EQ(1u, scene->mNumMaterials);
- aiMaterial *mat = scene->mMaterials[0];
- ASSERT_NE(nullptr, mat);
-
- aiString path;
- aiTextureMapMode modes[2];
- EXPECT_EQ(aiReturn_SUCCESS, mat->GetTexture(aiTextureType_DIFFUSE, 0, &path, nullptr, nullptr, nullptr, nullptr, modes));
- ASSERT_STREQ(path.C_Str(), "..\\..\\..\\Desktop\\uv_test.png");
-
- ASSERT_EQ(1u, scene->mNumTextures);
- ASSERT_TRUE(scene->mTextures[0]->pcData);
- ASSERT_EQ(439176u, scene->mTextures[0]->mWidth) << "FBX ASCII base64 compression splits data by 512Kb, it should be two parts for this texture";
-}
-
-TEST_F(utFBXImporterExporter, importEmbeddedFragmentedAsciiTest) {
- // see https://github.com/assimp/assimp/issues/1957
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/FBX/embedded_ascii/box_embedded_texture_fragmented.fbx", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-
- EXPECT_EQ(1u, scene->mNumMaterials);
- aiMaterial *mat = scene->mMaterials[0];
- ASSERT_NE(nullptr, mat);
-
- aiString path;
- aiTextureMapMode modes[2];
- ASSERT_EQ(aiReturn_SUCCESS, mat->GetTexture(aiTextureType_DIFFUSE, 0, &path, nullptr, nullptr, nullptr, nullptr, modes));
- ASSERT_STREQ(path.C_Str(), "paper.png");
-
- ASSERT_EQ(1u, scene->mNumTextures);
- ASSERT_TRUE(scene->mTextures[0]->pcData);
- ASSERT_EQ(968029u, scene->mTextures[0]->mWidth) << "FBX ASCII base64 compression splits data by 512Kb, it should be two parts for this texture";
-}
-
-TEST_F(utFBXImporterExporter, fbxTokenizeTestTest) {
- //Assimp::Importer importer;
- //const aiScene* scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/FBX/transparentTest2.fbx", aiProcess_ValidateDataStructure);
- //EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utFBXImporterExporter, importOrphantEmbeddedTextureTest) {
- // see https://github.com/assimp/assimp/issues/1957
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/FBX/box_orphant_embedded_texture.fbx", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-
- EXPECT_EQ(1u, scene->mNumMaterials);
- aiMaterial *mat = scene->mMaterials[0];
- ASSERT_NE(nullptr, mat);
-
- aiString path;
- aiTextureMapMode modes[2];
- ASSERT_EQ(aiReturn_SUCCESS, mat->GetTexture(aiTextureType_DIFFUSE, 0, &path, nullptr, nullptr, nullptr, nullptr, modes));
- ASSERT_STREQ(path.C_Str(), "..\\Primitives\\GridGrey.tga");
-
- ASSERT_EQ(1u, scene->mNumTextures);
- ASSERT_TRUE(scene->mTextures[0]->pcData);
- ASSERT_EQ(9026u, scene->mTextures[0]->mWidth) << "FBX ASCII base64 compression used for a texture.";
-}
-
-TEST_F(utFBXImporterExporter, sceneMetadata) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/FBX/global_settings.fbx",
- aiProcess_ValidateDataStructure);
- ASSERT_NE(scene, nullptr);
- ASSERT_NE(scene->mMetaData, nullptr);
- {
- ASSERT_TRUE(scene->mMetaData->HasKey(AI_METADATA_SOURCE_FORMAT));
- aiString format;
- ASSERT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_FORMAT, format));
- ASSERT_EQ(strcmp(format.C_Str(), "Autodesk FBX Importer"), 0);
- }
- {
- ASSERT_TRUE(scene->mMetaData->HasKey(AI_METADATA_SOURCE_FORMAT_VERSION));
- aiString version;
- ASSERT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_FORMAT_VERSION, version));
- ASSERT_EQ(strcmp(version.C_Str(), "7400"), 0);
- }
- {
- ASSERT_TRUE(scene->mMetaData->HasKey(AI_METADATA_SOURCE_GENERATOR));
- aiString generator;
- ASSERT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_GENERATOR, generator));
- ASSERT_EQ(strncmp(generator.C_Str(), "Blender", 7), 0);
- }
-}
-
-TEST_F(utFBXImporterExporter, importCubesWithOutOfRangeFloat) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/FBX/cubes_with_outofrange_float.fbx", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
- ASSERT_TRUE(scene->mRootNode);
-}
-
-TEST_F(utFBXImporterExporter, importMaxPbrMaterialsMetalRoughness) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/FBX/maxPbrMaterial_metalRough.fbx", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
- ASSERT_TRUE(scene->mRootNode);
-
- ASSERT_EQ(scene->mNumMaterials, 1u);
- const aiMaterial* mat = scene->mMaterials[0];
- aiString texture;
- ASSERT_EQ(mat->Get(AI_MATKEY_TEXTURE(aiTextureType_BASE_COLOR, 0), texture), AI_SUCCESS);
- EXPECT_EQ(texture, aiString("Textures\\albedo.png"));
- ASSERT_EQ(mat->Get(AI_MATKEY_TEXTURE(aiTextureType_METALNESS, 0), texture), AI_SUCCESS);
- EXPECT_EQ(texture, aiString("Textures\\metalness.png"));
- ASSERT_EQ(mat->Get(AI_MATKEY_TEXTURE(aiTextureType_EMISSION_COLOR, 0), texture), AI_SUCCESS);
- EXPECT_EQ(texture, aiString("Textures\\emission.png"));
- ASSERT_EQ(mat->Get(AI_MATKEY_TEXTURE(aiTextureType_NORMAL_CAMERA, 0), texture), AI_SUCCESS);
- EXPECT_EQ(texture, aiString("Textures\\normal.png"));
- ASSERT_EQ(mat->Get(AI_MATKEY_TEXTURE(aiTextureType_DIFFUSE_ROUGHNESS, 0), texture), AI_SUCCESS);
- EXPECT_EQ(texture, aiString("Textures\\roughness.png"));
- ASSERT_EQ(mat->Get(AI_MATKEY_TEXTURE(aiTextureType_AMBIENT_OCCLUSION, 0), texture), AI_SUCCESS);
- EXPECT_EQ(texture, aiString("Textures\\occlusion.png"));
- ASSERT_EQ(mat->Get(AI_MATKEY_TEXTURE(aiTextureType_OPACITY, 0), texture), AI_SUCCESS);
- EXPECT_EQ(texture, aiString("Textures\\opacity.png"));
-
- // The material contains values for standard properties (e.g. SpecularColor), where 3ds Max has presumably
- // used formulas to map the Pbr values into the standard material model. However, the pbr values themselves
- // are available in the material as untyped "raw" properties. We check that these are correctly parsed:
-
- aiColor4D baseColor;
- ASSERT_EQ(mat->Get("$raw.3dsMax|main|basecolor", aiTextureType_NONE, 0, baseColor), aiReturn_SUCCESS);
- EXPECT_EQ(baseColor, aiColor4D(0, 1, 1, 1));
-
- float metalness;
- ASSERT_EQ(mat->Get("$raw.3dsMax|main|metalness", aiTextureType_NONE, 0, metalness), aiReturn_SUCCESS);
- EXPECT_EQ(metalness, 0.25f);
-
- float roughness;
- ASSERT_EQ(mat->Get("$raw.3dsMax|main|roughness", aiTextureType_NONE, 0, roughness), aiReturn_SUCCESS);
- EXPECT_EQ(roughness, 0.5f);
-
- int useGlossiness;
- ASSERT_EQ(mat->Get("$raw.3dsMax|main|useGlossiness", aiTextureType_NONE, 0, useGlossiness), aiReturn_SUCCESS);
- EXPECT_EQ(useGlossiness, 2); // 1 = Roughness map is glossiness, 2 = Roughness map is roughness.
-
- float bumpMapAmt; // Presumably amount.
- ASSERT_EQ(mat->Get("$raw.3dsMax|main|bump_map_amt", aiTextureType_NONE, 0, bumpMapAmt), aiReturn_SUCCESS);
- EXPECT_EQ(bumpMapAmt, 0.75f);
-
- aiColor4D emitColor;
- ASSERT_EQ(mat->Get("$raw.3dsMax|main|emit_color", aiTextureType_NONE, 0, emitColor), aiReturn_SUCCESS);
- EXPECT_EQ(emitColor, aiColor4D(1, 1, 0, 1));
-}
-
-TEST_F(utFBXImporterExporter, importMaxPbrMaterialsSpecularGloss) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/FBX/maxPbrMaterial_specGloss.fbx", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
- ASSERT_TRUE(scene->mRootNode);
-
- ASSERT_EQ(scene->mNumMaterials, 1u);
- const aiMaterial* mat = scene->mMaterials[0];
- aiString texture;
- ASSERT_EQ(mat->Get(AI_MATKEY_TEXTURE(aiTextureType_BASE_COLOR, 0), texture), AI_SUCCESS);
- EXPECT_EQ(texture, aiString("Textures\\albedo.png"));
- ASSERT_EQ(mat->Get(AI_MATKEY_TEXTURE(aiTextureType_SPECULAR, 0), texture), AI_SUCCESS);
- EXPECT_EQ(texture, aiString("Textures\\specular.png"));
- ASSERT_EQ(mat->Get(AI_MATKEY_TEXTURE(aiTextureType_EMISSION_COLOR, 0), texture), AI_SUCCESS);
- EXPECT_EQ(texture, aiString("Textures\\emission.png"));
- ASSERT_EQ(mat->Get(AI_MATKEY_TEXTURE(aiTextureType_NORMAL_CAMERA, 0), texture), AI_SUCCESS);
- EXPECT_EQ(texture, aiString("Textures\\normal.png"));
- ASSERT_EQ(mat->Get(AI_MATKEY_TEXTURE(aiTextureType_SHININESS, 0), texture), AI_SUCCESS);
- EXPECT_EQ(texture, aiString("Textures\\glossiness.png"));
- ASSERT_EQ(mat->Get(AI_MATKEY_TEXTURE(aiTextureType_AMBIENT_OCCLUSION, 0), texture), AI_SUCCESS);
- EXPECT_EQ(texture, aiString("Textures\\occlusion.png"));
- ASSERT_EQ(mat->Get(AI_MATKEY_TEXTURE(aiTextureType_OPACITY, 0), texture), AI_SUCCESS);
- EXPECT_EQ(texture, aiString("Textures\\opacity.png"));
-
- // The material contains values for standard properties (e.g. SpecularColor), where 3ds Max has presumably
- // used formulas to map the Pbr values into the standard material model. However, the pbr values themselves
- // are available in the material as untyped "raw" properties. We check that these are correctly parsed:
-
- aiColor4D baseColor;
- ASSERT_EQ(mat->Get("$raw.3dsMax|main|basecolor", aiTextureType_NONE, 0, baseColor), aiReturn_SUCCESS);
- EXPECT_EQ(baseColor, aiColor4D(0, 1, 1, 1));
-
- aiColor4D specular;
- ASSERT_EQ(mat->Get("$raw.3dsMax|main|Specular", aiTextureType_NONE, 0, specular), aiReturn_SUCCESS);
- EXPECT_EQ(specular, aiColor4D(1, 1, 0, 1));
-
- float glossiness;
- ASSERT_EQ(mat->Get("$raw.3dsMax|main|glossiness", aiTextureType_NONE, 0, glossiness), aiReturn_SUCCESS);
- EXPECT_EQ(glossiness, 0.33f);
-
- int useGlossiness;
- ASSERT_EQ(mat->Get("$raw.3dsMax|main|useGlossiness", aiTextureType_NONE, 0, useGlossiness), aiReturn_SUCCESS);
- EXPECT_EQ(useGlossiness, 1); // 1 = Glossiness map is glossiness, 2 = Glossiness map is roughness.
-
- float bumpMapAmt; // Presumably amount.
- ASSERT_EQ(mat->Get("$raw.3dsMax|main|bump_map_amt", aiTextureType_NONE, 0, bumpMapAmt), aiReturn_SUCCESS);
- EXPECT_EQ(bumpMapAmt, 0.66f);
-
- aiColor4D emitColor;
- ASSERT_EQ(mat->Get("$raw.3dsMax|main|emit_color", aiTextureType_NONE, 0, emitColor), aiReturn_SUCCESS);
- EXPECT_EQ(emitColor, aiColor4D(1, 0, 1, 1));
-}
diff --git a/libs/assimp/test/unit/utFastAtof.cpp b/libs/assimp/test/unit/utFastAtof.cpp
deleted file mode 100644
index cc25482..0000000
--- a/libs/assimp/test/unit/utFastAtof.cpp
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include <assimp/fast_atof.h>
-
-namespace {
-
-template <typename Real>
-bool IsNan(Real x) {
- return x != x;
-}
-
-template <typename Real>
-bool IsInf(Real x) {
- return std::abs(x) == std::numeric_limits<Real>::infinity();
-}
-
-} // Namespace
-
-class FastAtofTest : public ::testing::Test
-{
-protected:
- template <typename Real, typename AtofFunc>
- static void RunTest(AtofFunc atof_func)
- {
- const Real kEps = 1e-5f;
-
-#define TEST_CASE(NUM) EXPECT_NEAR(static_cast<Real>(NUM), atof_func(#NUM), kEps)
-#define TEST_CASE_NAN(NUM) EXPECT_TRUE(IsNan(atof_func(#NUM)))
-#define TEST_CASE_INF(NUM) EXPECT_TRUE(IsInf(atof_func(#NUM)))
-
- TEST_CASE(0);
- TEST_CASE(1.354);
- TEST_CASE(1054E-3);
- TEST_CASE(-1054E-3);
- TEST_CASE(-10.54E30);
- TEST_CASE(-345554.54e-5);
- TEST_CASE(-34555.534954e-5);
- TEST_CASE(-34555.534954e-5);
- TEST_CASE(549067);
- TEST_CASE(567);
- TEST_CASE(446);
- TEST_CASE(7);
- TEST_CASE(73);
- TEST_CASE(256);
- TEST_CASE(5676);
- TEST_CASE(3);
- TEST_CASE(738);
- TEST_CASE(684);
- TEST_CASE(26);
- TEST_CASE(673.678e-56);
- TEST_CASE(53);
- TEST_CASE(67);
- TEST_CASE(684);
- TEST_CASE(-5437E24);
- TEST_CASE(8);
- TEST_CASE(84);
- TEST_CASE(3);
- TEST_CASE(56733.68);
- TEST_CASE(786);
- TEST_CASE(6478);
- TEST_CASE(34563.65683598734);
- TEST_CASE(5673);
- TEST_CASE(784e-3);
- TEST_CASE(8678);
- TEST_CASE(46784);
- TEST_CASE(-54.0888e-6);
- TEST_CASE(100000e10);
- TEST_CASE(1e-307);
- TEST_CASE(0.000001e-301);
- TEST_CASE(0.0000001e-300);
- TEST_CASE(0.00000001e-299);
- TEST_CASE(1000000e-313);
- TEST_CASE(10000000e-314);
- TEST_CASE(100000000e-315);
- TEST_CASE(12.345);
- TEST_CASE(12.345e19);
- TEST_CASE(-.1e+9);
- TEST_CASE(.125);
- TEST_CASE(1e20);
- TEST_CASE(0e-19);
- TEST_CASE(400012);
- TEST_CASE(5.9e-76);
- TEST_CASE_INF(inf);
- TEST_CASE_INF(inf);
- TEST_CASE_INF(infinity);
- TEST_CASE_INF(Inf);
- TEST_CASE_INF(-Inf);
- TEST_CASE_INF(+InFiNiTy);
- TEST_CASE_NAN(NAN);
- TEST_CASE_NAN(NaN);
- TEST_CASE_NAN(nan);
- EXPECT_EQ(static_cast<Real>(6), atof_func("006"));
- EXPECT_EQ(static_cast<Real>(5.3), atof_func("5.300 "));
-
- /* Failing Cases:
- EXPECT_EQ(static_cast<Real>(6), atof_func(" 006"));
- EXPECT_EQ(static_cast<Real>(5.3), atof_func(" 5.300 "));
- TEST_CASE(-10.54E45);
- TEST_CASE(0x0A);
- TEST_CASE(0xA0);
- TEST_CASE(0x1p1023);
- TEST_CASE(0x1000p1011);
- TEST_CASE(0x1p1020);
- TEST_CASE(0x0.00001p1040);
- TEST_CASE(0x1p-1021);
- TEST_CASE(0x1000p-1033);
- TEST_CASE(0x10000p-1037);
- TEST_CASE(0x0.001p-1009);
- TEST_CASE(0x0.0001p-1005);
- TEST_CASE(0x1.4p+3);
- TEST_CASE(0xAp0);
- TEST_CASE(0x0Ap0);
- TEST_CASE(0x0.A0p8);
- TEST_CASE(0x0.50p9);
- TEST_CASE(0x0.28p10);
- TEST_CASE(0x0.14p11);
- TEST_CASE(0x0.0A0p12);
- TEST_CASE(0x0.050p13);
- TEST_CASE(0x0.028p14);
- TEST_CASE(0x0.014p15);
- TEST_CASE(0x00.00A0p16);
- TEST_CASE(0x00.0050p17);
- TEST_CASE(0x00.0028p18);
- TEST_CASE(0x00.0014p19);
- TEST_CASE(0x1p-1023);
- TEST_CASE(0x0.8p-1022);
- TEST_CASE(0x80000Ap-23);
- TEST_CASE(0x100000000000008p0);
- TEST_CASE(0x100000000000008.p0);
- TEST_CASE(0x100000000000008.00p0);
- TEST_CASE(0x10000000000000800p0);
- TEST_CASE(0x10000000000000801p0)
- */
-
-#undef TEST_CASE
-#undef TEST_CASE_NAN
-#undef TEST_CASE_INF
- }
-};
-
-struct FastAtofWrapper {
- ai_real operator()(const char* str) { return Assimp::fast_atof(str); }
-};
-
-TEST_F(FastAtofTest, FastAtof)
-{
- RunTest<ai_real>(FastAtofWrapper());
-}
diff --git a/libs/assimp/test/unit/utFindDegenerates.cpp b/libs/assimp/test/unit/utFindDegenerates.cpp
deleted file mode 100644
index 5eadc03..0000000
--- a/libs/assimp/test/unit/utFindDegenerates.cpp
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include "../../include/assimp/scene.h"
-#include "PostProcessing/FindDegenerates.h"
-
-#include <memory>
-
-using namespace std;
-using namespace Assimp;
-
-class FindDegeneratesProcessTest : public ::testing::Test {
-public:
- FindDegeneratesProcessTest() :
- Test(), mMesh(nullptr), mProcess(nullptr) {
- // empty
- }
-
-protected:
- virtual void SetUp();
- virtual void TearDown();
-
-protected:
- aiMesh *mMesh;
- FindDegeneratesProcess *mProcess;
-};
-
-void FindDegeneratesProcessTest::SetUp() {
- mMesh = new aiMesh();
- mProcess = new FindDegeneratesProcess();
-
- mMesh->mNumFaces = 1000;
- mMesh->mFaces = new aiFace[1000];
-
- mMesh->mNumVertices = 5000 * 2;
- mMesh->mVertices = new aiVector3D[5000 * 2];
-
- for (unsigned int i = 0; i < 5000; ++i) {
- mMesh->mVertices[i] = mMesh->mVertices[i + 5000] = aiVector3D((float)i);
- }
-
- mMesh->mPrimitiveTypes = aiPrimitiveType_LINE | aiPrimitiveType_POINT |
- aiPrimitiveType_POLYGON | aiPrimitiveType_TRIANGLE;
-
- unsigned int numOut = 0, numFaces = 0;
- for (unsigned int i = 0; i < 1000; ++i) {
- aiFace &f = mMesh->mFaces[i];
- f.mNumIndices = (i % 5) + 1; // between 1 and 5
- f.mIndices = new unsigned int[f.mNumIndices];
- bool had = false;
- for (unsigned int n = 0; n < f.mNumIndices; ++n) {
- // FIXME
-#if 0
- // some duplicate indices
- if ( n && n == (i / 200)+1) {
- f.mIndices[n] = f.mIndices[n-1];
- had = true;
- }
- // and some duplicate vertices
-#endif
- if (n && i % 2 && 0 == n % 2) {
- f.mIndices[n] = f.mIndices[n - 1] + 5000;
- had = true;
- } else {
- f.mIndices[n] = numOut++;
- }
- }
- if (!had)
- ++numFaces;
- }
- mMesh->mNumUVComponents[0] = numOut;
- mMesh->mNumUVComponents[1] = numFaces;
-}
-
-void FindDegeneratesProcessTest::TearDown() {
- delete mMesh;
- delete mProcess;
-}
-
-TEST_F(FindDegeneratesProcessTest, testDegeneratesDetection) {
- mProcess->EnableInstantRemoval(false);
- mProcess->ExecuteOnMesh(mMesh);
-
- unsigned int out = 0;
- for (unsigned int i = 0; i < 1000; ++i) {
- aiFace &f = mMesh->mFaces[i];
- out += f.mNumIndices;
- }
-
- EXPECT_EQ(1000U, mMesh->mNumFaces);
- EXPECT_EQ(10000U, mMesh->mNumVertices);
- EXPECT_EQ(out, mMesh->mNumUVComponents[0]);
- EXPECT_EQ(static_cast<unsigned int>(
- aiPrimitiveType_LINE | aiPrimitiveType_POINT |
- aiPrimitiveType_POLYGON | aiPrimitiveType_TRIANGLE),
- mMesh->mPrimitiveTypes);
-}
-
-TEST_F(FindDegeneratesProcessTest, testDegeneratesRemoval) {
- mProcess->EnableAreaCheck(false);
- mProcess->EnableInstantRemoval(true);
- mProcess->ExecuteOnMesh(mMesh);
-
- EXPECT_EQ(mMesh->mNumUVComponents[1], mMesh->mNumFaces);
-}
-
-TEST_F(FindDegeneratesProcessTest, testDegeneratesRemovalWithAreaCheck) {
- mProcess->EnableAreaCheck(true);
- mProcess->EnableInstantRemoval(true);
- mProcess->ExecuteOnMesh(mMesh);
-
- EXPECT_EQ(mMesh->mNumUVComponents[1] - 100, mMesh->mNumFaces);
-}
-
-namespace
-{
- std::unique_ptr<aiMesh> getDegenerateMesh()
- {
- std::unique_ptr<aiMesh> mesh(new aiMesh);
- mesh->mNumVertices = 2;
- mesh->mVertices = new aiVector3D[2];
- mesh->mVertices[0] = aiVector3D{ 0.0f, 0.0f, 0.0f };
- mesh->mVertices[1] = aiVector3D{ 1.0f, 0.0f, 0.0f };
- mesh->mNumFaces = 1;
- mesh->mFaces = new aiFace[1];
- mesh->mFaces[0].mNumIndices = 3;
- mesh->mFaces[0].mIndices = new unsigned int[3];
- mesh->mFaces[0].mIndices[0] = 0;
- mesh->mFaces[0].mIndices[1] = 1;
- mesh->mFaces[0].mIndices[2] = 0;
- return mesh;
- }
-}
-
-TEST_F(FindDegeneratesProcessTest, meshRemoval) {
- mProcess->EnableAreaCheck(true);
- mProcess->EnableInstantRemoval(true);
- mProcess->ExecuteOnMesh(mMesh);
-
- std::unique_ptr<aiScene> scene(new aiScene);
- scene->mNumMeshes = 5;
- scene->mMeshes = new aiMesh*[5];
-
- /// Use the mesh which doesn't get completely stripped of faces from the main test.
- aiMesh* meshWhichSurvives = mMesh;
- mMesh = nullptr;
-
- scene->mMeshes[0] = getDegenerateMesh().release();
- scene->mMeshes[1] = getDegenerateMesh().release();
- scene->mMeshes[2] = meshWhichSurvives;
- scene->mMeshes[3] = getDegenerateMesh().release();
- scene->mMeshes[4] = getDegenerateMesh().release();
-
- scene->mRootNode = new aiNode;
- scene->mRootNode->mNumMeshes = 5;
- scene->mRootNode->mMeshes = new unsigned int[5];
- scene->mRootNode->mMeshes[0] = 0;
- scene->mRootNode->mMeshes[1] = 1;
- scene->mRootNode->mMeshes[2] = 2;
- scene->mRootNode->mMeshes[3] = 3;
- scene->mRootNode->mMeshes[4] = 4;
-
- mProcess->Execute(scene.get());
-
- EXPECT_EQ(scene->mNumMeshes, 1u);
- EXPECT_EQ(scene->mMeshes[0], meshWhichSurvives);
- EXPECT_EQ(scene->mRootNode->mNumMeshes, 1u);
- EXPECT_EQ(scene->mRootNode->mMeshes[0], 0u);
-}
diff --git a/libs/assimp/test/unit/utFindInvalidData.cpp b/libs/assimp/test/unit/utFindInvalidData.cpp
deleted file mode 100644
index 1fa8a3f..0000000
--- a/libs/assimp/test/unit/utFindInvalidData.cpp
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include "PostProcessing/FindInvalidDataProcess.h"
-#include <assimp/mesh.h>
-
-using namespace std;
-using namespace Assimp;
-
-class utFindInvalidDataProcess : public ::testing::Test {
-public:
- utFindInvalidDataProcess() :
- Test(), mMesh(nullptr), mProcess(nullptr) {
- // empty
- }
-
-protected:
- virtual void SetUp();
- virtual void TearDown();
-
-protected:
- aiMesh *mMesh;
- FindInvalidDataProcess *mProcess;
-};
-
-// ------------------------------------------------------------------------------------------------
-void utFindInvalidDataProcess::SetUp() {
- ASSERT_TRUE(AI_MAX_NUMBER_OF_TEXTURECOORDS >= 3);
-
- mProcess = new FindInvalidDataProcess();
- mMesh = new aiMesh();
-
- mMesh->mNumVertices = 1000;
- mMesh->mVertices = new aiVector3D[1000];
- for (unsigned int i = 0; i < 1000; ++i) {
- mMesh->mVertices[i] = aiVector3D((float)i);
- }
-
- mMesh->mNormals = new aiVector3D[1000];
- for (unsigned int i = 0; i < 1000; ++i) {
- mMesh->mNormals[i] = aiVector3D((float)i + 1);
- }
-
- mMesh->mTangents = new aiVector3D[1000];
- for (unsigned int i = 0; i < 1000; ++i) {
- mMesh->mTangents[i] = aiVector3D((float)i);
- }
-
- mMesh->mBitangents = new aiVector3D[1000];
- for (unsigned int i = 0; i < 1000; ++i) {
- mMesh->mBitangents[i] = aiVector3D((float)i);
- }
-
- for (unsigned int a = 0; a < AI_MAX_NUMBER_OF_TEXTURECOORDS; ++a) {
- mMesh->mTextureCoords[a] = new aiVector3D[1000];
- for (unsigned int i = 0; i < 1000; ++i) {
- mMesh->mTextureCoords[a][i] = aiVector3D((float)i);
- }
- }
-}
-
-// ------------------------------------------------------------------------------------------------
-void utFindInvalidDataProcess::TearDown() {
- delete mProcess;
- delete mMesh;
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(utFindInvalidDataProcess, testStepNegativeResult) {
- for ( size_t i=0; i<mMesh->mNumVertices; ++i ) {
- mMesh->mNormals[i].x = mMesh->mNormals[i].y = mMesh->mNormals[i].z =0;
- mMesh->mBitangents[i].x = mMesh->mBitangents[i].y = mMesh->mBitangents[i].z = 0;
- }
-
- mMesh->mTextureCoords[2][455] = aiVector3D(std::numeric_limits<float>::quiet_NaN());
-
- mProcess->ProcessMesh(mMesh);
-
- EXPECT_TRUE(NULL != mMesh->mVertices);
- EXPECT_EQ(NULL, mMesh->mNormals);
- EXPECT_EQ(NULL, mMesh->mTangents);
- EXPECT_EQ(NULL, mMesh->mBitangents);
-
- for (unsigned int i = 0; i < 2; ++i) {
- EXPECT_TRUE(NULL != mMesh->mTextureCoords[i]);
- }
-
- for (unsigned int i = 2; i < AI_MAX_NUMBER_OF_TEXTURECOORDS; ++i) {
- EXPECT_EQ(NULL, mMesh->mTextureCoords[i]);
- }
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(utFindInvalidDataProcess, testStepPositiveResult) {
- mProcess->ProcessMesh(mMesh);
-
- EXPECT_NE(nullptr, mMesh->mVertices);
-
- EXPECT_NE(nullptr, mMesh->mNormals);
- EXPECT_NE(nullptr, mMesh->mTangents);
- EXPECT_NE(nullptr, mMesh->mBitangents);
-
- for (unsigned int i = 0; i < AI_MAX_NUMBER_OF_TEXTURECOORDS; ++i) {
- EXPECT_NE(nullptr, mMesh->mTextureCoords[i]);
- }
-}
diff --git a/libs/assimp/test/unit/utFixInfacingNormals.cpp b/libs/assimp/test/unit/utFixInfacingNormals.cpp
deleted file mode 100644
index 8f75dd2..0000000
--- a/libs/assimp/test/unit/utFixInfacingNormals.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
diff --git a/libs/assimp/test/unit/utGenBoundingBoxesProcess.cpp b/libs/assimp/test/unit/utGenBoundingBoxesProcess.cpp
deleted file mode 100644
index c512e7f..0000000
--- a/libs/assimp/test/unit/utGenBoundingBoxesProcess.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include "PostProcessing/GenBoundingBoxesProcess.h"
-#include <assimp/mesh.h>
-#include <assimp/scene.h>
-
-using namespace Assimp;
-
-class utGenBoundingBoxesProcess : public ::testing::Test {
-public:
- utGenBoundingBoxesProcess() :
- Test(), mProcess(nullptr), mMesh(nullptr), mScene(nullptr) {
- // empty
- }
-
- void SetUp() override {
- mProcess = new GenBoundingBoxesProcess;
- mMesh = new aiMesh();
- mMesh->mNumVertices = 100;
- mMesh->mVertices = new aiVector3D[100];
- for (unsigned int i = 0; i < 100; ++i) {
- mMesh->mVertices[i] = aiVector3D((ai_real)i, (ai_real)i, (ai_real)i);
- }
- mScene = new aiScene();
- mScene->mNumMeshes = 1;
- mScene->mMeshes = new aiMesh *[1];
- mScene->mMeshes[0] = mMesh;
- }
-
- void TearDown() override {
- delete mProcess;
- delete mScene;
- }
-
-protected:
- GenBoundingBoxesProcess *mProcess;
- aiMesh *mMesh;
- aiScene *mScene;
-};
-
-TEST_F(utGenBoundingBoxesProcess, executeTest) {
- mProcess->Execute(mScene);
-
- aiMesh *mesh = mScene->mMeshes[0];
- EXPECT_NE(nullptr, mesh);
- EXPECT_EQ(0, mesh->mAABB.mMin.x);
- EXPECT_EQ(0, mesh->mAABB.mMin.y);
- EXPECT_EQ(0, mesh->mAABB.mMin.z);
-
- EXPECT_EQ(99, mesh->mAABB.mMax.x);
- EXPECT_EQ(99, mesh->mAABB.mMax.y);
- EXPECT_EQ(99, mesh->mAABB.mMax.z);
-}
diff --git a/libs/assimp/test/unit/utGenNormals.cpp b/libs/assimp/test/unit/utGenNormals.cpp
deleted file mode 100644
index 83aadb5..0000000
--- a/libs/assimp/test/unit/utGenNormals.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include "PostProcessing/GenVertexNormalsProcess.h"
-
-using namespace ::std;
-using namespace ::Assimp;
-
-class GenNormalsTest : public ::testing::Test {
-public:
- virtual void SetUp();
- virtual void TearDown();
-
-protected:
- aiMesh *pcMesh;
- GenVertexNormalsProcess *piProcess;
-};
-
-// ------------------------------------------------------------------------------------------------
-void GenNormalsTest::SetUp() {
- piProcess = new GenVertexNormalsProcess();
- pcMesh = new aiMesh();
- pcMesh->mPrimitiveTypes = aiPrimitiveType_TRIANGLE;
- pcMesh->mNumFaces = 1;
- pcMesh->mFaces = new aiFace[1];
- pcMesh->mFaces[0].mIndices = new unsigned int[pcMesh->mFaces[0].mNumIndices = 3];
- pcMesh->mFaces[0].mIndices[0] = 0;
- pcMesh->mFaces[0].mIndices[1] = 1;
- pcMesh->mFaces[0].mIndices[2] = 1;
- pcMesh->mNumVertices = 3;
- pcMesh->mVertices = new aiVector3D[3];
- pcMesh->mVertices[0] = aiVector3D(0.0f, 1.0f, 6.0f);
- pcMesh->mVertices[1] = aiVector3D(2.0f, 3.0f, 1.0f);
- pcMesh->mVertices[2] = aiVector3D(3.0f, 2.0f, 4.0f);
-}
-
-// ------------------------------------------------------------------------------------------------
-void GenNormalsTest::TearDown() {
- delete this->pcMesh;
- delete this->piProcess;
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(GenNormalsTest, testSimpleTriangle) {
- piProcess->GenMeshVertexNormals(pcMesh, 0);
- EXPECT_TRUE(pcMesh->mNormals != NULL);
-}
diff --git a/libs/assimp/test/unit/utHMPImportExport.cpp b/libs/assimp/test/unit/utHMPImportExport.cpp
deleted file mode 100644
index 83e7ba0..0000000
--- a/libs/assimp/test/unit/utHMPImportExport.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utHMPImportExport : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/HMP/terrain.hmp", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-};
-
-TEST_F(utHMPImportExport, importHMPFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
diff --git a/libs/assimp/test/unit/utIFCImportExport.cpp b/libs/assimp/test/unit/utIFCImportExport.cpp
deleted file mode 100644
index 49c7446..0000000
--- a/libs/assimp/test/unit/utIFCImportExport.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utIFCImportExport : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/IFC/AC14-FZK-Haus.ifc", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-};
-
-TEST_F(utIFCImportExport, importIFCFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
-
-TEST_F(utIFCImportExport, importComplextypeAsColor) {
- std::string asset =
- "ISO-10303-21;\n"
- "HEADER;\n"
- "FILE_DESCRIPTION( ( 'ViewDefinition [CoordinationView, SpaceBoundary2ndLevelAddOnView]', 'Option [Filter: ]' ), '2;1' );\n"
- "FILE_NAME( 'S:\\[IFC]\\[COMPLETE-BUILDINGS]\\FZK-MODELS\\FZK-Haus\\ArchiCAD-14\\AC14-FZK-Haus.ifc', '2010-10-07T13:40:52', ( 'Architect' ), ( 'Building Designer Office' ), 'PreProc - EDM 5.0', 'ArchiCAD 14.00 Release 1. Windows Build Number of the Ifc 2x3 interface: 3427', 'The authorising person' );\n"
- "FILE_SCHEMA( ( 'IFC2X3' ) );\n"
- "ENDSEC;\n"
- "\n"
- "DATA;\n"
- "#1 = IFCORGANIZATION( 'GS', 'Graphisoft', 'Graphisoft', $, $ );\n"
- "#2 = IFCPROPERTYSINGLEVALUE( 'Red', $, IFCINTEGER( 255 ), $ );\n"
- "#3 = IFCPROPERTYSINGLEVALUE( 'Green', $, IFCINTEGER( 255 ), $ );\n"
- "#4 = IFCPROPERTYSINGLEVALUE( 'Blue', $, IFCINTEGER( 255 ), $ );\n"
- "#5 = IFCCOMPLEXPROPERTY( 'Color', $, 'Color', ( #19, #20, #21 ) );\n";
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFileFromMemory(asset.c_str(), asset.size(), 0);
- EXPECT_EQ(nullptr, scene);
-}
diff --git a/libs/assimp/test/unit/utIOStreamBuffer.cpp b/libs/assimp/test/unit/utIOStreamBuffer.cpp
deleted file mode 100644
index 7565014..0000000
--- a/libs/assimp/test/unit/utIOStreamBuffer.cpp
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "UnitTestPCH.h"
-#include <assimp/IOStreamBuffer.h>
-#include "TestIOStream.h"
-#include "UnitTestFileGenerator.h"
-
-class IOStreamBufferTest : public ::testing::Test {
- // empty
-};
-
-using namespace Assimp;
-
-TEST_F( IOStreamBufferTest, creationTest ) {
- bool ok( true );
- try {
- IOStreamBuffer<char> myBuffer;
- } catch ( ... ) {
- ok = false;
- }
- EXPECT_TRUE( ok );
-}
-
-TEST_F( IOStreamBufferTest, accessCacheSizeTest ) {
- IOStreamBuffer<char> myBuffer1;
- EXPECT_NE( 0U, myBuffer1.cacheSize() );
-
- IOStreamBuffer<char> myBuffer2( 100 );
- EXPECT_EQ( 100U, myBuffer2.cacheSize() );
-}
-
-const char data[]{"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Qui\
-sque luctus sem diam, ut eleifend arcu auctor eu. Vestibulum id est vel nulla l\
-obortis malesuada ut sed turpis. Nulla a volutpat tortor. Nunc vestibulum portt\
-itor sapien ornare sagittis volutpat."};
-
-
-TEST_F( IOStreamBufferTest, open_close_Test ) {
- IOStreamBuffer<char> myBuffer;
-
- EXPECT_FALSE( myBuffer.open( nullptr ) );
- EXPECT_FALSE( myBuffer.close() );
-
- const auto dataSize = sizeof(data);
- const auto dataCount = dataSize / sizeof(*data);
-
- char fname[]={ "octest.XXXXXX" };
- auto* fs = MakeTmpFile(fname);
- ASSERT_NE(nullptr, fs);
-
- auto written = std::fwrite( data, sizeof(*data), dataCount, fs );
- EXPECT_NE( 0U, written );
- auto flushResult = std::fflush( fs );
- ASSERT_EQ(0, flushResult);
- std::fclose( fs );
- fs = std::fopen(fname, "r");
- ASSERT_NE(nullptr, fs);
- {
- TestDefaultIOStream myStream( fs, fname );
-
- EXPECT_TRUE( myBuffer.open( &myStream ) );
- EXPECT_FALSE( myBuffer.open( &myStream ) );
- EXPECT_TRUE( myBuffer.close() );
- }
- remove(fname);
-}
-
-TEST_F( IOStreamBufferTest, readlineTest ) {
-
- const auto dataSize = sizeof(data);
- const auto dataCount = dataSize / sizeof(*data);
-
- char fname[]={ "readlinetest.XXXXXX" };
- auto* fs = MakeTmpFile(fname);
- ASSERT_NE(nullptr, fs);
-
- auto written = std::fwrite( data, sizeof(*data), dataCount, fs );
- EXPECT_NE( 0U, written );
-
- auto flushResult = std::fflush(fs);
- ASSERT_EQ(0, flushResult);
- std::fclose(fs);
- fs = std::fopen(fname, "r");
- ASSERT_NE(nullptr, fs);
-
- const auto tCacheSize = 26u;
-
- IOStreamBuffer<char> myBuffer( tCacheSize );
- EXPECT_EQ(tCacheSize, myBuffer.cacheSize() );
-
- TestDefaultIOStream myStream( fs, fname );
- auto size = myStream.FileSize();
- auto numBlocks = size / myBuffer.cacheSize();
- if ( size % myBuffer.cacheSize() > 0 ) {
- numBlocks++;
- }
- EXPECT_TRUE( myBuffer.open( &myStream ) );
- EXPECT_EQ( numBlocks, myBuffer.getNumBlocks() );
- EXPECT_TRUE( myBuffer.close() );
-}
-
-TEST_F( IOStreamBufferTest, accessBlockIndexTest ) {
-
-}
-
diff --git a/libs/assimp/test/unit/utIOSystem.cpp b/libs/assimp/test/unit/utIOSystem.cpp
deleted file mode 100644
index d69e645..0000000
--- a/libs/assimp/test/unit/utIOSystem.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-#include "TestIOSystem.h"
-
-#include <assimp/IOSystem.hpp>
-
-using namespace std;
-using namespace Assimp;
-
-class IOSystemTest : public ::testing::Test {
-public:
- virtual void SetUp() {
- pImp = new TestIOSystem();
- }
-
- virtual void TearDown() {
- delete pImp;
- }
-
-protected:
- TestIOSystem* pImp;
-};
-
-TEST_F( IOSystemTest, accessDirectoryStackTest ) {
- EXPECT_FALSE( pImp->PopDirectory() );
- EXPECT_EQ( 0U, pImp->StackSize() );
- EXPECT_FALSE( pImp->PushDirectory( "" ) );
- std::string path = "test/";
- EXPECT_TRUE( pImp->PushDirectory( path ) );
- EXPECT_EQ( 1U, pImp->StackSize() );
- EXPECT_EQ( path, pImp->CurrentDirectory() );
- EXPECT_TRUE( pImp->PopDirectory() );
- EXPECT_EQ( 0U, pImp->StackSize() );
-}
-
-TEST_F( IOSystemTest, delFileTest ) {
- EXPECT_FALSE( pImp->DeleteFile( "none" ) );
-}
diff --git a/libs/assimp/test/unit/utImporter.cpp b/libs/assimp/test/unit/utImporter.cpp
deleted file mode 100644
index 768a276..0000000
--- a/libs/assimp/test/unit/utImporter.cpp
+++ /dev/null
@@ -1,363 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include "../../include/assimp/postprocess.h"
-#include "../../include/assimp/scene.h"
-#include "TestIOSystem.h"
-#include <assimp/BaseImporter.h>
-#include <assimp/DefaultIOSystem.h>
-#include <assimp/Importer.hpp>
-
-using namespace ::std;
-using namespace ::Assimp;
-
-class ImporterTest : public ::testing::Test {
-protected:
- void SetUp() override {
- pImp = new Importer();
- }
-
- void TearDown() override {
- delete pImp;
- }
-
- Importer *pImp;
-};
-
-#define InputData_BLOCK_SIZE 1310
-
-// clang-format off
-// test data for Importer::ReadFileFromMemory() - ./test/3DS/CameraRollAnim.3ds
-static unsigned char InputData_abRawBlock[1310] = {
- 77, 77, 30, 5, 0, 0, 2, 0, 10, 0, 0, 0, 3, 0, 0, 0, 61, 61, 91, 3, 0, 0,
- 62, 61, 10, 0, 0, 0, 3, 0, 0, 0, 0, 1, 10, 0, 0, 0, 0, 0,128, 63, 0, 64,
- 254, 2, 0, 0, 66,111,120, 48, 49, 0, 0, 65,242, 2, 0, 0, 16, 65, 64, 1, 0, 0,
- 26, 0,102, 74,198,193,102, 74,198,193, 0, 0, 0, 0,205,121, 55, 66,102, 74,198,193,
- 0, 0, 0, 0,102, 74,198,193,138,157,184, 65, 0, 0, 0, 0,205,121, 55, 66,138,157,
- 184, 65, 0, 0, 0, 0,102, 74,198,193,102, 74,198,193, 90,252, 26, 66,205,121, 55, 66,
- 102, 74,198,193, 90,252, 26, 66,102, 74,198,193,138,157,184, 65, 90,252, 26, 66,205,121,
- 55, 66,138,157,184, 65, 90,252, 26, 66,102, 74,198,193,102, 74,198,193, 0, 0, 0, 0,
- 205,121, 55, 66,102, 74,198,193, 0, 0, 0, 0,205,121, 55, 66,102, 74,198,193, 90,252,
- 26, 66,205,121, 55, 66,102, 74,198,193, 90,252, 26, 66,102, 74,198,193,102, 74,198,193,
- 90, 252, 26, 66,102, 74,198,193,102, 74,198,193, 0, 0, 0, 0,205,121, 55, 66,138,157,
- 184, 65, 0, 0, 0, 0,205,121, 55, 66,102, 74,198,193, 90,252, 26, 66,205,121, 55, 66,
- 138,157,184, 65, 0, 0, 0, 0,102, 74,198,193,138,157,184, 65, 0, 0, 0, 0,102, 74,
- 198,193,138,157,184, 65, 90,252, 26, 66,102, 74,198,193,138,157,184, 65, 90,252, 26, 66,
- 205,121, 55, 66,138,157,184, 65, 90,252, 26, 66,205,121, 55, 66,138,157,184, 65, 0, 0,
- 0, 0,102, 74,198,193,138,157,184, 65, 0, 0, 0, 0,102, 74,198,193,102, 74,198,193,
- 90,252, 26, 66,102, 74,198,193,102, 74,198,193, 90,252, 26, 66,102, 74,198,193,138,157,
- 184, 65, 0, 0, 0, 0, 64, 65,216, 0, 0, 0, 26, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,
- 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,
- 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,
- 0, 0, 96, 65, 54, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 53,169, 40, 65,176,205, 90,191, 0, 0, 0, 0, 32, 65,158, 0, 0, 0, 12, 0, 0, 0,
- 2, 0, 3, 0, 6, 0, 3, 0, 1, 0, 0, 0, 6, 0, 4, 0, 5, 0, 7, 0, 6, 0,
- 7, 0, 6, 0, 4, 0, 6, 0, 8, 0, 9, 0, 10, 0, 6, 0, 11, 0, 12, 0, 13, 0,
- 6, 0, 1, 0, 14, 0, 7, 0, 6, 0, 7, 0, 15, 0, 1, 0, 6, 0, 16, 0, 17, 0,
- 18, 0, 6, 0, 19, 0, 20, 0, 21, 0, 6, 0, 22, 0, 0, 0, 23, 0, 6, 0, 24, 0,
- 6, 0, 25, 0, 6, 0, 80, 65, 54, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 4, 0,
- 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0,
- 32, 0, 0, 0, 32, 0, 0, 0, 64, 0, 0, 0, 64, 0, 0, 0, 0, 64, 67, 0, 0, 0,
- 67, 97,109,101,114, 97, 48, 49, 0, 0, 71, 52, 0, 0, 0,189, 19, 25,195,136,104, 81,
- 64,147, 56,182, 65, 96,233, 20,194, 67,196, 97,190,147, 56,182, 65, 0, 0, 0, 0, 85,
- 85, 85, 66, 32, 71, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 68, 0,176,179, 1, 0,
- 0, 10,176, 21, 0, 0, 0, 5, 0, 77, 65, 88, 83, 67, 69, 78, 69, 0, 44, 1, 0, 0,
- 8,176, 14, 0, 0, 0, 0, 0, 0, 0, 44, 1, 0, 0, 9,176, 10, 0, 0, 0,128, 2,
- 0, 0, 2,176,168, 0, 0, 0, 48,176, 8, 0, 0, 0, 0, 0, 16,176, 18, 0, 0, 0,
- 66,111,120, 48, 49, 0, 0, 64, 0, 0,255,255, 19,176, 18, 0, 0, 0, 0, 0, 0,128,
- 0, 0, 0,128, 0, 0, 0,128, 32,176, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53,169, 40, 65,176,205, 90,191, 0, 0,
- 0, 0, 33,176, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 34,176, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 3,176,143, 0, 0, 0,
- 48,176, 8, 0, 0, 0, 1, 0, 16,176, 21, 0, 0, 0, 67, 97,109,101,114, 97, 48, 49,
- 0, 0, 64, 0, 0,255,255, 32,176, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,189, 19, 25,195,136,104, 81, 64,147, 56,182,
- 65, 35,176, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 52, 66, 36,176, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,
- 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 13, 90,189,120, 0, 0, 0, 0,
- 0, 99,156,154,194, 4,176, 73, 0, 0, 0, 48,176, 8, 0, 0, 0, 2, 0, 16,176, 21,
- 0, 0, 0, 67, 97,109,101,114, 97, 48, 49, 0, 0, 64, 0, 0,255,255, 32,176, 38, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 96,233, 20,194, 67,196, 97,190,147, 56,182, 65 };
-// clang-format on
-#define AIUT_DEF_ERROR_TEXT "sorry, this is a test"
-
-static const aiImporterDesc desc = {
- "UNIT TEST - IMPORTER",
- "",
- "",
- "",
- 0,
- 0,
- 0,
- 0,
- 0,
- "apple mac linux windows"
-};
-
-class TestPlugin : public BaseImporter {
-public:
- virtual bool CanRead(
- const std::string &pFile, IOSystem * /*pIOHandler*/, bool /*test*/) const {
- std::string::size_type pos = pFile.find_last_of('.');
- // no file extension - can't read
- if (pos == std::string::npos)
- return false;
- std::string extension = pFile.substr(pos);
-
- // todo ... make case-insensitive
- return (extension == ".apple" || extension == ".mac" ||
- extension == ".linux" || extension == ".windows");
- }
-
- virtual const aiImporterDesc *GetInfo() const {
- return &desc;
- }
-
- virtual void InternReadFile(
- const std::string & /*pFile*/, aiScene * /*pScene*/, IOSystem * /*pIOHandler*/) {
- throw DeadlyImportError(AIUT_DEF_ERROR_TEXT);
- }
-};
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(ImporterTest, testMemoryRead) {
- const aiScene *sc = pImp->ReadFileFromMemory(InputData_abRawBlock, InputData_BLOCK_SIZE,
- aiProcessPreset_TargetRealtime_Quality, "3ds");
-
- ASSERT_TRUE(sc != NULL);
- EXPECT_EQ(aiString("<3DSRoot>"), sc->mRootNode->mName);
- EXPECT_EQ(1U, sc->mNumMeshes);
- EXPECT_EQ(24U, sc->mMeshes[0]->mNumVertices);
- EXPECT_EQ(12U, sc->mMeshes[0]->mNumFaces);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(ImporterTest, testIntProperty) {
- bool b = pImp->SetPropertyInteger("quakquak", 1503);
- EXPECT_FALSE(b);
- EXPECT_EQ(1503, pImp->GetPropertyInteger("quakquak", 0));
- EXPECT_EQ(314159, pImp->GetPropertyInteger("not_there", 314159));
-
- b = pImp->SetPropertyInteger("quakquak", 1504);
- EXPECT_TRUE(b);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(ImporterTest, testFloatProperty) {
- bool b = pImp->SetPropertyFloat("quakquak", 1503.f);
- EXPECT_TRUE(!b);
- EXPECT_EQ(1503.f, pImp->GetPropertyFloat("quakquak", 0.f));
- EXPECT_EQ(314159.f, pImp->GetPropertyFloat("not_there", 314159.f));
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(ImporterTest, testStringProperty) {
- bool b = pImp->SetPropertyString("quakquak", "test");
- EXPECT_TRUE(!b);
- EXPECT_EQ("test", pImp->GetPropertyString("quakquak", "weghwekg"));
- EXPECT_EQ("ILoveYou", pImp->GetPropertyString("not_there", "ILoveYou"));
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(ImporterTest, testPluginInterface) {
- pImp->RegisterLoader(new TestPlugin());
- EXPECT_TRUE(pImp->IsExtensionSupported(".apple"));
- EXPECT_TRUE(pImp->IsExtensionSupported(".mac"));
- EXPECT_TRUE(pImp->IsExtensionSupported("*.linux"));
- EXPECT_TRUE(pImp->IsExtensionSupported("windows"));
- EXPECT_TRUE(pImp->IsExtensionSupported(".x")); /* x and 3ds must be available in this Assimp build, of course! */
- EXPECT_TRUE(pImp->IsExtensionSupported(".3ds"));
- EXPECT_FALSE(pImp->IsExtensionSupported("."));
-
- TestPlugin *p = (TestPlugin *)pImp->GetImporter(".windows");
- ASSERT_TRUE(NULL != p);
-
- try {
- p->InternReadFile("", 0, NULL);
- } catch (const DeadlyImportError &dead) {
- EXPECT_TRUE(!strcmp(dead.what(), AIUT_DEF_ERROR_TEXT));
-
- // unregister the plugin and delete it
- pImp->UnregisterLoader(p);
- delete p;
-
- return;
- }
- EXPECT_TRUE(false); // control shouldn't reach this point
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(ImporterTest, testExtensionCheck) {
- std::string s;
- pImp->GetExtensionList(s);
-
- // TODO
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(ImporterTest, testMultipleReads) {
- // see http://sourceforge.net/projects/assimp/forums/forum/817654/topic/3591099
- // Check whether reading and post-processing multiple times using
- // the same objects is *generally* fine. This test doesn't target
- // importers. Testing post-processing stability is the main point.
-
- const unsigned int flags =
- aiProcess_Triangulate |
- aiProcess_JoinIdenticalVertices |
- aiProcess_GenSmoothNormals |
- aiProcess_ValidateDataStructure |
- aiProcess_RemoveRedundantMaterials |
- aiProcess_SortByPType |
- aiProcess_FindDegenerates |
- aiProcess_FindInvalidData |
- aiProcess_GenUVCoords |
- aiProcess_OptimizeMeshes |
- aiProcess_OptimizeGraph;
-
- EXPECT_TRUE(pImp->ReadFile(ASSIMP_TEST_MODELS_DIR "/X/test.x", flags));
- //EXPECT_TRUE(pImp->ReadFile(ASSIMP_TEST_MODELS_DIR "/X/dwarf.x",flags)); # is in nonbsd
- EXPECT_TRUE(pImp->ReadFile(ASSIMP_TEST_MODELS_DIR "/X/Testwuson.X", flags));
- EXPECT_TRUE(pImp->ReadFile(ASSIMP_TEST_MODELS_DIR "/X/anim_test.x", flags));
- //EXPECT_TRUE(pImp->ReadFile(ASSIMP_TEST_MODELS_DIR "/X/dwarf.x",flags)); # is in nonbsd
-
- EXPECT_TRUE(pImp->ReadFile(ASSIMP_TEST_MODELS_DIR "/X/anim_test.x", flags));
- EXPECT_TRUE(pImp->ReadFile(ASSIMP_TEST_MODELS_DIR "/X/BCN_Epileptic.X", flags));
- //EXPECT_TRUE(pImp->ReadFile(ASSIMP_TEST_MODELS_DIR "/X/dwarf.x",flags)); # is in nonbsd
-}
-
-TEST_F(ImporterTest, SearchFileHeaderForTokenTest) {
- //DefaultIOSystem ioSystem;
- // BaseImporter::SearchFileHeaderForToken( &ioSystem, assetPath, Token, 2 )
-}
-
-namespace {
-// Description for an importer which fails in specific ways.
-aiImporterDesc s_failingImporterDescription = {
- "Failing importer",
- "assimp team",
- "",
- "",
- 0,
- 1,
- 0,
- 1,
- 0,
- "fail"
-};
-
-// This importer fails in specific ways.
-class FailingImporter : public Assimp::BaseImporter {
-public:
- virtual ~FailingImporter() = default;
- virtual bool CanRead(const std::string &, Assimp::IOSystem *, bool) const override {
- return true;
- }
-
-protected:
- const aiImporterDesc *GetInfo() const override {
- return &s_failingImporterDescription;
- }
-
- void InternReadFile(const std::string &pFile, aiScene *, Assimp::IOSystem *) override {
- if (pFile == "deadlyImportError.fail") {
- throw DeadlyImportError("Deadly import error test. Details: ", 42, " More Details: ", "Failure");
- } else if (pFile == "stdException.fail") {
- throw std::runtime_error("std::exception test");
- } else if (pFile == "unexpectedException.fail") {
- throw 5;
- }
- }
-};
-} // namespace
-
-TEST_F(ImporterTest, deadlyImportError) {
- pImp->RegisterLoader(new FailingImporter);
- pImp->SetIOHandler(new TestIOSystem);
- const aiScene *scene = pImp->ReadFile("deadlyImportError.fail", 0);
- EXPECT_EQ(scene, nullptr);
- EXPECT_STREQ(pImp->GetErrorString(), "Deadly import error test. Details: 42 More Details: Failure");
- EXPECT_NE(pImp->GetException(), std::exception_ptr());
-}
-
-TEST_F(ImporterTest, stdException) {
- pImp->RegisterLoader(new FailingImporter);
- pImp->SetIOHandler(new TestIOSystem);
- const aiScene *scene = pImp->ReadFile("stdException.fail", 0);
- EXPECT_EQ(scene, nullptr);
- EXPECT_STREQ(pImp->GetErrorString(), "std::exception test");
- EXPECT_NE(pImp->GetException(), std::exception_ptr());
- try {
- std::rethrow_exception(pImp->GetException());
- } catch (const std::exception &e) {
- EXPECT_STREQ(e.what(), "std::exception test");
- } catch (...) {
- EXPECT_TRUE(false);
- }
-}
-
-TEST_F(ImporterTest, unexpectedException) {
- pImp->RegisterLoader(new FailingImporter);
- pImp->SetIOHandler(new TestIOSystem);
- const aiScene *scene = pImp->ReadFile("unexpectedException.fail", 0);
-
- EXPECT_EQ(scene, nullptr);
- EXPECT_STREQ(pImp->GetErrorString(), "Unknown exception");
- ASSERT_NE(pImp->GetException(), std::exception_ptr());
- try {
- std::rethrow_exception(pImp->GetException());
- } catch (int x) {
- EXPECT_EQ(x, 5);
- } catch (...) {
- EXPECT_TRUE(false);
- }
-}
diff --git a/libs/assimp/test/unit/utImproveCacheLocality.cpp b/libs/assimp/test/unit/utImproveCacheLocality.cpp
deleted file mode 100644
index 0e97eb0..0000000
--- a/libs/assimp/test/unit/utImproveCacheLocality.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "UnitTestPCH.h"
diff --git a/libs/assimp/test/unit/utIssues.cpp b/libs/assimp/test/unit/utIssues.cpp
deleted file mode 100644
index 546c36a..0000000
--- a/libs/assimp/test/unit/utIssues.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include <assimp/scene.h>
-#include <assimp/Importer.hpp>
-#include <assimp/Exporter.hpp>
-#include <assimp/postprocess.h>
-
-#include "TestModelFactory.h"
-
-using namespace Assimp;
-
-class utIssues : public ::testing::Test {
- // empty
-};
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
-
-TEST_F( utIssues, OpacityBugWhenExporting_727 ) {
- float opacity;
- aiScene *scene( TestModelFacttory::createDefaultTestModel( opacity ) );
- Assimp::Importer importer;
- Assimp::Exporter exporter;
-
- std::string path = "dae";
- const aiExportFormatDesc *desc = exporter.GetExportFormatDescription( 0 );
- EXPECT_NE( desc, nullptr );
- path.append(".");
- path.append( desc->fileExtension );
- EXPECT_EQ( AI_SUCCESS, exporter.Export( scene, desc->id, path ) );
- const aiScene *newScene( importer.ReadFile( path, aiProcess_ValidateDataStructure ) );
- ASSERT_NE( nullptr, newScene );
- float newOpacity;
- if ( newScene->mNumMaterials > 0 ) {
- std::cout << "Desc = " << desc->description << "\n";
- EXPECT_EQ( AI_SUCCESS, newScene->mMaterials[ 0 ]->Get( AI_MATKEY_OPACITY, newOpacity ) );
- EXPECT_FLOAT_EQ( opacity, newOpacity );
- }
- delete scene;
-}
-
-#endif // ASSIMP_BUILD_NO_EXPORT
diff --git a/libs/assimp/test/unit/utJoinVertices.cpp b/libs/assimp/test/unit/utJoinVertices.cpp
deleted file mode 100644
index b070090..0000000
--- a/libs/assimp/test/unit/utJoinVertices.cpp
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include <assimp/scene.h>
-
-#include "PostProcessing/JoinVerticesProcess.h"
-
-using namespace std;
-using namespace Assimp;
-
-class utJoinVertices : public ::testing::Test {
-public:
- utJoinVertices() :
- Test(), piProcess(nullptr), pcMesh(nullptr) {
- // empty
- }
-
-protected:
- virtual void SetUp();
- virtual void TearDown();
-
-protected:
- JoinVerticesProcess *piProcess;
- aiMesh *pcMesh;
-};
-
-// ------------------------------------------------------------------------------------------------
-void utJoinVertices::SetUp() {
- // construct the process
- piProcess = new JoinVerticesProcess();
-
- // create a quite small mesh for testing purposes -
- // the mesh itself is *something* but it has redundant vertices
- pcMesh = new aiMesh();
-
- pcMesh->mNumVertices = 900;
- aiVector3D *&pv = pcMesh->mVertices = new aiVector3D[900];
- for (unsigned int i = 0; i < 3; ++i) {
- const unsigned int base = i * 300;
- for (unsigned int a = 0; a < 300; ++a) {
- pv[base + a].x = pv[base + a].y = pv[base + a].z = (float)a;
- }
- }
-
- // generate faces - each vertex is referenced once
- pcMesh->mNumFaces = 300;
- pcMesh->mFaces = new aiFace[300];
- for (unsigned int i = 0, p = 0; i < 300; ++i) {
- aiFace &face = pcMesh->mFaces[i];
- face.mIndices = new unsigned int[face.mNumIndices = 3];
- for (unsigned int a = 0; a < 3; ++a) {
- face.mIndices[a] = p++;
- }
- }
-
- // generate extra members - set them to zero to make sure they're identical
- pcMesh->mTextureCoords[0] = new aiVector3D[900];
- pcMesh->mBitangents = new aiVector3D[900];
- pcMesh->mNormals = new aiVector3D[900];
- pcMesh->mTangents = new aiVector3D[900];
- for (unsigned int i = 0; i < 900; ++i) {
- pcMesh->mTextureCoords[0][i] = aiVector3D(0.f);
- pcMesh->mNormals[i] = aiVector3D(0.f);
- pcMesh->mTangents[i] = aiVector3D(0.f);
- pcMesh->mBitangents[i] = aiVector3D(0.f);
- }
-}
-
-// ------------------------------------------------------------------------------------------------
-void utJoinVertices::TearDown() {
- delete this->pcMesh;
- pcMesh = nullptr;
- delete this->piProcess;
- piProcess = nullptr;
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(utJoinVertices, testProcess) {
- // execute the step on the given data
- piProcess->ProcessMesh(pcMesh, 0);
-
- // the number of faces shouldn't change
- ASSERT_EQ(300U, pcMesh->mNumFaces);
- ASSERT_EQ(300U, pcMesh->mNumVertices);
-
- ASSERT_TRUE(nullptr != pcMesh->mNormals);
- ASSERT_TRUE(nullptr != pcMesh->mTangents);
- ASSERT_TRUE(nullptr != pcMesh->mBitangents);
- ASSERT_TRUE(nullptr != pcMesh->mTextureCoords[0]);
-
- // the order doesn't care
- float fSum = 0.f;
- for (unsigned int i = 0; i < 300; ++i) {
- aiVector3D &v = pcMesh->mVertices[i];
- fSum += v.x + v.y + v.z;
-
- EXPECT_FALSE(pcMesh->mNormals[i].x);
- EXPECT_FALSE(pcMesh->mTangents[i].x);
- EXPECT_FALSE(pcMesh->mBitangents[i].x);
- EXPECT_FALSE(pcMesh->mTextureCoords[0][i].x);
- }
- EXPECT_EQ(150.f * 299.f * 3.f, fSum); // gaussian sum equation
-}
diff --git a/libs/assimp/test/unit/utLWOImportExport.cpp b/libs/assimp/test/unit/utLWOImportExport.cpp
deleted file mode 100644
index 2661050..0000000
--- a/libs/assimp/test/unit/utLWOImportExport.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utLWOImportExport : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/LWO/LWO2/boxuv.lwo", aiProcess_ValidateDataStructure);
-
- EXPECT_EQ(1u, scene->mNumMeshes);
- EXPECT_NE(nullptr, scene->mMeshes[0]);
- EXPECT_EQ(24u, scene->mMeshes[0]->mNumVertices);
-
- //This test model is using n-gons, so 6 faces instead of 12 tris
- EXPECT_EQ(6u, scene->mMeshes[0]->mNumFaces);
- EXPECT_EQ(aiPrimitiveType_POLYGON, scene->mMeshes[0]->mPrimitiveTypes);
- EXPECT_EQ(true, scene->mMeshes[0]->HasTextureCoords(0));
-
- return nullptr != scene;
- }
-};
-
-TEST_F(utLWOImportExport, importLWObox_uv) {
- EXPECT_TRUE(importerTest());
-}
-
-TEST_F(utLWOImportExport, importLWOformatdetection) {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/LWO/LWO2/formatDetection", aiProcess_ValidateDataStructure);
-
- EXPECT_NE(nullptr, scene);
-}
diff --git a/libs/assimp/test/unit/utLWSImportExport.cpp b/libs/assimp/test/unit/utLWSImportExport.cpp
deleted file mode 100644
index 730911e..0000000
--- a/libs/assimp/test/unit/utLWSImportExport.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-#include <assimp/postprocess.h>
-
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utLWSImportExport : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/LWS/move_x.lws", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-};
-
-TEST_F(utLWSImportExport, importLWSFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
-
-TEST_F(utLWSImportExport, importLWSmove_x_post_linear) {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/LWS/move_x_post_linear.lws", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utLWSImportExport, importLWSmove_xz_bezier) {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/LWS/move_xz_bezier.lws", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utLWSImportExport, importLWSmove_xz_stepped) {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/LWS/move_xz_stepped.lws", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utLWSImportExport, importLWSmove_x_oldformat_56) {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/LWS/move_x_oldformat_56.lws", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utLWSImportExport, importLWSmove_x_post_offset_repeat) {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/LWS/move_x_post_offset_repeat.lws", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utLWSImportExport, importLWSmove_xz_hermite) {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/LWS/move_xz_hermite.lws", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utLWSImportExport, importLWSmove_y_pre_ofrep_post_osc) {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/LWS/move_y_pre_ofrep_post_osc.lws", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utLWSImportExport, importLWSmove_x_oldformat_6) {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/LWS/move_x_oldformat_6.lws", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utLWSImportExport, importLWSmove_x_post_repeat) {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/LWS/move_x_post_repeat.lws", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utLWSImportExport, importLWSmove_xz_linear) {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/LWS/move_xz_linear.lws", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utLWSImportExport, importLWSmove_x_post_constant) {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/LWS/move_x_post_constant.lws", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utLWSImportExport, importLWSmove_x_post_reset) {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/LWS/move_x_post_reset.lws", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utLWSImportExport, importLWSmove_xz_spline) {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/LWS/move_xz_spline.lws", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
diff --git a/libs/assimp/test/unit/utLimitBoneWeights.cpp b/libs/assimp/test/unit/utLimitBoneWeights.cpp
deleted file mode 100644
index 0c24b56..0000000
--- a/libs/assimp/test/unit/utLimitBoneWeights.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include "PostProcessing/LimitBoneWeightsProcess.h"
-#include <assimp/scene.h>
-
-using namespace std;
-using namespace Assimp;
-
-class LimitBoneWeightsTest : public ::testing::Test {
-public:
- LimitBoneWeightsTest() :
- Test(), mProcess(nullptr), mMesh(nullptr) {
- // empty
- }
-
-protected:
- virtual void SetUp();
- virtual void TearDown();
-
-protected:
- LimitBoneWeightsProcess *mProcess;
- aiMesh *mMesh;
-};
-
-// ------------------------------------------------------------------------------------------------
-void LimitBoneWeightsTest::SetUp() {
- // construct the process
- this->mProcess = new LimitBoneWeightsProcess();
-
- // now need to create a nice mesh for testing purposes
- this->mMesh = new aiMesh();
-
- mMesh->mNumVertices = 500;
- mMesh->mVertices = new aiVector3D[500]; // uninit.
- mMesh->mNumBones = 30;
- mMesh->mBones = new aiBone *[30];
- unsigned int iCur = 0;
- for (unsigned int i = 0; i < 30; ++i) {
- aiBone *pc = mMesh->mBones[i] = new aiBone();
- pc->mNumWeights = 250;
- pc->mWeights = new aiVertexWeight[pc->mNumWeights];
- for (unsigned int qq = 0; qq < pc->mNumWeights; ++qq) {
- aiVertexWeight &v = pc->mWeights[qq];
- v.mVertexId = iCur++;
- if (500 == iCur) {
- iCur = 0;
- }
- v.mWeight = 1.0f / 15; // each vertex should occur once in two bones
- }
- }
-}
-
-// ------------------------------------------------------------------------------------------------
-void LimitBoneWeightsTest::TearDown() {
- delete mMesh;
- delete mProcess;
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(LimitBoneWeightsTest, testProcess) {
- // execute the step on the given data
- mProcess->ProcessMesh(mMesh);
-
- // check whether everything is ok ...
- typedef std::vector<LimitBoneWeightsProcess::Weight> VertexWeightList;
- VertexWeightList *asWeights = new VertexWeightList[mMesh->mNumVertices];
-
- for (unsigned int i = 0; i < mMesh->mNumVertices; ++i) {
- asWeights[i].reserve(4);
- }
-
- // sort back as per-vertex lists
- for (unsigned int i = 0; i < mMesh->mNumBones; ++i) {
- aiBone &pcBone = **(mMesh->mBones + i);
- for (unsigned int q = 0; q < pcBone.mNumWeights; ++q) {
- aiVertexWeight weight = pcBone.mWeights[q];
- asWeights[weight.mVertexId].push_back(LimitBoneWeightsProcess::Weight(i, weight.mWeight));
- }
- }
-
- // now validate the size of the lists and check whether all weights sum to 1.0f
- for (unsigned int i = 0; i < mMesh->mNumVertices; ++i) {
- EXPECT_LE(asWeights[i].size(), 4U);
- float fSum = 0.0f;
- for (VertexWeightList::const_iterator iter = asWeights[i].begin(); iter != asWeights[i].end(); ++iter) {
- fSum += (*iter).mWeight;
- }
- EXPECT_GE(fSum, 0.95F);
- EXPECT_LE(fSum, 1.04F);
- }
-
- // delete allocated storage
- delete[] asWeights;
-
- // everything seems to be OK
-}
diff --git a/libs/assimp/test/unit/utM3DImportExport.cpp b/libs/assimp/test/unit/utM3DImportExport.cpp
deleted file mode 100644
index bd9fca1..0000000
--- a/libs/assimp/test/unit/utM3DImportExport.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2020, assimp tea
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/Importer.hpp>
-#include <assimp/Exporter.hpp>
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utM3DImportExport : public AbstractImportExportBase {
-public:
- bool importerTest() override {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/M3D/cube_normals.m3d", aiProcess_ValidateDataStructure);
-#ifndef ASSIMP_BUILD_NO_M3D_IMPORTER
- return nullptr != scene;
-#else
- return nullptr == scene;
-#endif // ASSIMP_BUILD_NO_M3D_IMPORTER
- }
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
- bool exporterTest() override {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/M3D/cube_normals.m3d", aiProcess_ValidateDataStructure);
- Exporter exporter;
- aiReturn ret = exporter.Export(scene, "m3d", ASSIMP_TEST_MODELS_DIR "/M3D/cube_normals_out.m3d");
- return ret == AI_SUCCESS;
- }
-#endif
-};
-
-TEST_F(utM3DImportExport, importM3DFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
-TEST_F(utM3DImportExport, exportM3DFromFileTest) {
- EXPECT_TRUE(exporterTest());
-}
-#endif // ASSIMP_BUILD_NO_EXPORT
diff --git a/libs/assimp/test/unit/utMDCImportExport.cpp b/libs/assimp/test/unit/utMDCImportExport.cpp
deleted file mode 100644
index 29b9ed5..0000000
--- a/libs/assimp/test/unit/utMDCImportExport.cpp
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utMDCImportExport : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- Assimp::Importer importer;
-
- //const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/MDC/spider.mdc", 0);
- static_cast<void>(importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/MDC/spider.mdc", 0));
- return true;
- }
-};
-
-TEST_F(utMDCImportExport, importMDCFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
diff --git a/libs/assimp/test/unit/utMaterialSystem.cpp b/libs/assimp/test/unit/utMaterialSystem.cpp
deleted file mode 100644
index 7b45604..0000000
--- a/libs/assimp/test/unit/utMaterialSystem.cpp
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include "Material/MaterialSystem.h"
-#include <assimp/scene.h>
-
-using namespace ::std;
-using namespace ::Assimp;
-
-class MaterialSystemTest : public ::testing::Test {
-public:
- virtual void SetUp() { this->pcMat = new aiMaterial(); }
- virtual void TearDown() { delete this->pcMat; }
-
-protected:
- aiMaterial *pcMat;
-};
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(MaterialSystemTest, testFloatProperty) {
- float pf = 150392.63f;
- this->pcMat->AddProperty(&pf, 1, "testKey1");
- pf = 0.0f;
-
- EXPECT_EQ(AI_SUCCESS, pcMat->Get("testKey1", 0, 0, pf));
- EXPECT_EQ(150392.63f, pf);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(MaterialSystemTest, testFloatArrayProperty) {
- float pf[] = { 0.0f, 1.0f, 2.0f, 3.0f };
- unsigned int pMax = sizeof(pf) / sizeof(float);
- this->pcMat->AddProperty(pf, pMax, "testKey2");
- pf[0] = pf[1] = pf[2] = pf[3] = 12.0f;
-
- EXPECT_EQ(AI_SUCCESS, pcMat->Get("testKey2", 0, 0, pf, &pMax));
- EXPECT_EQ(sizeof(pf) / sizeof(float), static_cast<size_t>(pMax));
- EXPECT_TRUE(!pf[0] && 1.0f == pf[1] && 2.0f == pf[2] && 3.0f == pf[3]);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(MaterialSystemTest, testIntProperty) {
- int pf = 15039263;
- this->pcMat->AddProperty(&pf, 1, "testKey3");
- pf = 12;
-
- EXPECT_EQ(AI_SUCCESS, pcMat->Get("testKey3", 0, 0, pf));
- EXPECT_EQ(15039263, pf);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(MaterialSystemTest, testIntArrayProperty) {
- int pf[] = { 0, 1, 2, 3 };
- unsigned int pMax = sizeof(pf) / sizeof(int);
- this->pcMat->AddProperty(pf, pMax, "testKey4");
- pf[0] = pf[1] = pf[2] = pf[3] = 12;
-
- EXPECT_EQ(AI_SUCCESS, pcMat->Get("testKey4", 0, 0, pf, &pMax));
- EXPECT_EQ(sizeof(pf) / sizeof(int), pMax);
- EXPECT_TRUE(!pf[0] && 1 == pf[1] && 2 == pf[2] && 3 == pf[3]);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(MaterialSystemTest, testColorProperty) {
- aiColor4D clr;
- clr.r = 2.0f;
- clr.g = 3.0f;
- clr.b = 4.0f;
- clr.a = 5.0f;
- this->pcMat->AddProperty(&clr, 1, "testKey5");
- clr.b = 1.0f;
- clr.a = clr.g = clr.r = 0.0f;
-
- EXPECT_EQ(AI_SUCCESS, pcMat->Get("testKey5", 0, 0, clr));
- EXPECT_TRUE(clr.r == 2.0f && clr.g == 3.0f && clr.b == 4.0f && clr.a == 5.0f);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(MaterialSystemTest, testStringProperty) {
- aiString s;
- s.Set("Hello, this is a small test");
- this->pcMat->AddProperty(&s, "testKey6");
- s.Set("358358");
- EXPECT_EQ(AI_SUCCESS, pcMat->Get("testKey6", 0, 0, s));
- EXPECT_STREQ("Hello, this is a small test", s.data);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(MaterialSystemTest, testMaterialNameAccess) {
- aiMaterial *mat = new aiMaterial();
- EXPECT_NE(nullptr, mat);
-
- aiString name = mat->GetName();
- const int retValue(strncmp(name.C_Str(), AI_DEFAULT_MATERIAL_NAME, name.length));
- EXPECT_EQ(0, retValue);
-
- delete mat;
-}
diff --git a/libs/assimp/test/unit/utMatrix3x3.cpp b/libs/assimp/test/unit/utMatrix3x3.cpp
deleted file mode 100644
index ae722a8..0000000
--- a/libs/assimp/test/unit/utMatrix3x3.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "UnitTestPCH.h"
-#include <iostream>
-
-using namespace ::Assimp;
-
-class utMatrix3x3Test : public ::testing::Test {
- // empty
-};
-
-TEST_F(utMatrix3x3Test, FromToMatrixTest) {
- aiVector3D res;
- aiMatrix3x3 trafo;
-
- const double PRECISION = 0.000001;
-
- // axes test
- aiVector3D axes[] = { aiVector3D(1, 0, 0), aiVector3D(0, 1, 0), aiVector3D(0, 0, 1) };
-
- for (int i = 0; i < 3; ++i) {
- for (int j = 0; j < 3; ++j) {
- aiMatrix3x3::FromToMatrix(axes[i], axes[j], trafo);
- res = trafo * axes[i];
-
- ASSERT_NEAR(axes[j].x, res.x, PRECISION);
- ASSERT_NEAR(axes[j].y, res.y, PRECISION);
- ASSERT_NEAR(axes[j].z, res.z, PRECISION);
- }
- }
-
- // random test
- const int NUM_SAMPLES = 10000;
-
- aiVector3D from, to;
-
- auto random_ratio = []() -> float {
- return static_cast<float>(rand()) / static_cast<float>(RAND_MAX);
- };
-
- for (int i = 0; i < NUM_SAMPLES; ++i) {
- from = aiVector3D(
- 1.f * random_ratio(),
- 1.f * random_ratio(),
- 1.f * random_ratio())
- .Normalize();
- to = aiVector3D(
- 1.f * random_ratio(),
- 1.f * random_ratio(),
- 1.f * random_ratio())
- .Normalize();
-
- aiMatrix3x3::FromToMatrix(from, to, trafo);
- res = trafo * from;
-
- ASSERT_NEAR(to.x, res.x, PRECISION);
- ASSERT_NEAR(to.y, res.y, PRECISION);
- ASSERT_NEAR(to.z, res.z, PRECISION);
- }
-}
diff --git a/libs/assimp/test/unit/utMatrix4x4.cpp b/libs/assimp/test/unit/utMatrix4x4.cpp
deleted file mode 100644
index 0b85a8f..0000000
--- a/libs/assimp/test/unit/utMatrix4x4.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "UnitTestPCH.h"
-
-using namespace Assimp;
-
-class utMatrix4x4 : public ::testing::Test {
-};
-
-TEST_F(utMatrix4x4, badIndexOperatorTest) {
- aiMatrix4x4 m;
- ai_real *a0 = m[4];
- EXPECT_EQ(NULL, a0);
-}
-
-TEST_F(utMatrix4x4, indexOperatorTest) {
- aiMatrix4x4 m;
- ai_real *a0 = m[0];
- EXPECT_FLOAT_EQ(1.0, *a0);
- ai_real *a1 = a0 + 1;
- EXPECT_FLOAT_EQ(0.0, *a1);
- ai_real *a2 = a0 + 2;
- EXPECT_FLOAT_EQ(0.0, *a2);
- ai_real *a3 = a0 + 3;
- EXPECT_FLOAT_EQ(0.0, *a3);
-
- ai_real *a4 = m[1];
- EXPECT_FLOAT_EQ(0.0, *a4);
- ai_real *a5 = a4 + 1;
- EXPECT_FLOAT_EQ(1.0, *a5);
- ai_real *a6 = a4 + 2;
- EXPECT_FLOAT_EQ(0.0, *a6);
- ai_real *a7 = a4 + 3;
- EXPECT_FLOAT_EQ(0.0, *a7);
-
- ai_real *a8 = m[2];
- EXPECT_FLOAT_EQ(0.0, *a8);
- ai_real *a9 = a8 + 1;
- EXPECT_FLOAT_EQ(0.0, *a9);
- ai_real *a10 = a8 + 2;
- EXPECT_FLOAT_EQ(1.0, *a10);
- ai_real *a11 = a8 + 3;
- EXPECT_FLOAT_EQ(0.0, *a11);
-
- ai_real *a12 = m[3];
- EXPECT_FLOAT_EQ(0.0, *a12);
- ai_real *a13 = a12 + 1;
- EXPECT_FLOAT_EQ(0.0, *a13);
- ai_real *a14 = a12 + 2;
- EXPECT_FLOAT_EQ(0.0, *a14);
- ai_real *a15 = a12 + 3;
- EXPECT_FLOAT_EQ(1.0, *a15);
-}
diff --git a/libs/assimp/test/unit/utMetadata.cpp b/libs/assimp/test/unit/utMetadata.cpp
deleted file mode 100644
index 6bd536d..0000000
--- a/libs/assimp/test/unit/utMetadata.cpp
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "UnitTestPCH.h"
-
-#include <assimp/metadata.h>
-
-using namespace ::Assimp;
-
-class utMetadata: public ::testing::Test {
-protected:
- aiMetadata *m_data;
-
- void SetUp() override {
- m_data = nullptr;
- }
-
- void TearDown() override {
- aiMetadata::Dealloc( m_data );
- }
-
-};
-
-TEST_F( utMetadata, creationTest ) {
- bool ok( true );
- try {
- aiMetadata data;
- } catch ( ... ) {
- ok = false;
- }
- EXPECT_TRUE( ok );
-}
-
-TEST_F( utMetadata, allocTest ) {
- aiMetadata *data = aiMetadata::Alloc( 0 );
- EXPECT_EQ( nullptr, data );
-
- data = aiMetadata::Alloc( 1 );
- EXPECT_NE( nullptr, data );
- EXPECT_EQ( 1U, data->mNumProperties );
- EXPECT_NE( nullptr, data->mKeys );
- EXPECT_NE( nullptr, data->mValues );
- aiMetadata::Dealloc( data );
-}
-
-TEST_F( utMetadata, get_set_pod_Test ) {
- m_data = aiMetadata::Alloc( 5 );
-
- // int, 32 bit
- unsigned int index( 0 );
- bool success( false );
- const std::string key_int = "test_int";
- success = m_data->Set( index, key_int, 1 );
- EXPECT_TRUE( success );
- success = m_data->Set( index + 10, key_int, 1 );
- EXPECT_FALSE( success );
-
- // unsigned int, 64 bit
- index++;
- const std::string key_uint = "test_uint";
- success = m_data->Set<uint64_t>( index, key_uint, 1UL );
- EXPECT_TRUE( success );
- uint64_t result_uint( 0 );
- success = m_data->Get( key_uint, result_uint );
- EXPECT_TRUE( success );
- EXPECT_EQ( 1UL, result_uint );
-
- // bool
- index++;
- const std::string key_bool = "test_bool";
- success = m_data->Set( index, key_bool, true );
- EXPECT_TRUE( success );
- bool result_bool( false );
- success = m_data->Get( key_bool, result_bool );
- EXPECT_TRUE( success );
- EXPECT_EQ( true, result_bool );
-
- // float
- index++;
- const std::string key_float = "test_float";
- float fVal = 2.0f;
- success = m_data->Set( index, key_float, fVal );
- EXPECT_TRUE( success );
- float result_float( 0.0f );
- success = m_data->Get( key_float, result_float );
- EXPECT_TRUE( success );
- EXPECT_FLOAT_EQ( 2.0f, result_float );
-
- // double
- index++;
- const std::string key_double = "test_double";
- double dVal = 3.0;
- success = m_data->Set( index, key_double, dVal );
- EXPECT_TRUE( success );
- double result_double( 0.0 );
- success = m_data->Get( key_double, result_double );
- EXPECT_TRUE( success );
- EXPECT_DOUBLE_EQ( 3.0, result_double );
-
- // error
- int result;
- success = m_data->Get( "bla", result );
- EXPECT_FALSE( success );
-}
-
-TEST_F( utMetadata, get_set_string_Test ) {
- m_data = aiMetadata::Alloc( 1 );
-
- unsigned int index( 0 );
- bool success( false );
- const std::string key = "test";
- success = m_data->Set( index, key, aiString( std::string( "test" ) ) );
- EXPECT_TRUE( success );
-
- success = m_data->Set( index+10, key, aiString( std::string( "test" ) ) );
- EXPECT_FALSE( success );
-
- aiString result;
- success = m_data->Get( key, result );
- EXPECT_EQ( aiString( std::string( "test" ) ), result );
- EXPECT_TRUE( success );
-
- success = m_data->Get( "bla", result );
- EXPECT_FALSE( success );
-}
-
-TEST_F( utMetadata, get_set_aiVector3D_Test ) {
- m_data = aiMetadata::Alloc( 1 );
-
- unsigned int index( 0 );
- bool success( false );
- const std::string key = "test";
- aiVector3D vec( 1, 2, 3 );
-
- success = m_data->Set( index, key, vec );
- EXPECT_TRUE( success );
-
- aiVector3D result( 0, 0, 0 );
- success = m_data->Get( key, result );
- EXPECT_EQ( vec, result );
- EXPECT_TRUE( success );
-}
-
-TEST_F( utMetadata, copy_test ) {
- m_data = aiMetadata::Alloc( AI_META_MAX );
- bool bv = true;
- m_data->Set( 0, "bool", bv );
- int32_t i32v = -10;
- m_data->Set( 1, "int32", i32v );
- uint64_t ui64v = static_cast<uint64_t>( 10 );
- m_data->Set( 2, "uint64", ui64v );
- float fv = 1.0f;
- m_data->Set( 3, "float", fv );
- double dv = 2.0;
- m_data->Set( 4, "double", dv );
- const aiString strVal( std::string( "test" ) );
- m_data->Set( 5, "aiString", strVal );
- aiVector3D vecVal( 1, 2, 3 );
- m_data->Set( 6, "aiVector3D", vecVal );
- aiMetadata metaVal;
- m_data->Set( 7, "aiMetadata", metaVal );
-
- aiMetadata copy( *m_data );
- EXPECT_EQ( 8u, copy.mNumProperties );
-
- // bool test
- {
- bool v;
- EXPECT_TRUE( copy.Get( "bool", v ) );
- EXPECT_EQ( bv, v );
- }
-
- // int32_t test
- {
- int32_t v = 0;
- bool ok = copy.Get( "int32", v );
- EXPECT_TRUE( ok );
- EXPECT_EQ( i32v, v );
- }
-
- // uint64_t test
- {
- uint64_t v;
- bool ok = copy.Get( "uint64", v );
- EXPECT_TRUE( ok );
- EXPECT_EQ( ui64v, v );
- }
-
- // float test
- {
- float v;
- EXPECT_TRUE( copy.Get( "float", v ) );
- EXPECT_EQ( fv, v );
- }
-
- // double test
- {
- double v;
- EXPECT_TRUE( copy.Get( "double", v ) );
- EXPECT_EQ( dv, v );
- }
-
- // bool test
- {
- aiString v;
- EXPECT_TRUE( copy.Get( "aiString", v ) );
- EXPECT_EQ( strVal, v );
- }
-
- // bool test
- {
- aiVector3D v;
- EXPECT_TRUE( copy.Get( "aiVector3D", v ) );
- EXPECT_EQ( vecVal, v );
- }
-
- // metadata test
- {
- aiMetadata v;
- EXPECT_TRUE( copy.Get( "aiMetadata", v ) );
- EXPECT_EQ( metaVal, v );
- }
-}
-
-TEST_F( utMetadata, set_test ) {
- aiMetadata v;
- const std::string key_bool = "test_bool";
- v.Set(1, key_bool, true);
- v.Set(1, key_bool, true);
- v.Set(1, key_bool, true);
- v.Set(1, key_bool, true);
-}
diff --git a/libs/assimp/test/unit/utNoBoostTest.cpp b/libs/assimp/test/unit/utNoBoostTest.cpp
deleted file mode 100644
index cb6c391..0000000
--- a/libs/assimp/test/unit/utNoBoostTest.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2020, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include "BoostWorkaround/boost/tuple/tuple.hpp"
-
-#define ASSIMP_FORCE_NOBOOST
-#include "BoostWorkaround/boost/format.hpp"
-#include <assimp/TinyFormatter.h>
-
-
-using namespace std;
-using namespace Assimp;
-using namespace Assimp::Formatter;
-
-// ------------------------------------------------------------------------------------------------
-TEST(NoBoostTest, testFormat)
-{
- EXPECT_EQ( "Ahoi!", boost::str( boost::format("Ahoi!") ));
- EXPECT_EQ( "Ahoi! %", boost::str( boost::format("Ahoi! %%") ));
- EXPECT_EQ( "Ahoi! ", boost::str( boost::format("Ahoi! %s") ));
- EXPECT_EQ( "Ahoi! !!", boost::str( boost::format("Ahoi! %s") % "!!" ));
- EXPECT_EQ( "Ahoi! !!", boost::str( boost::format("Ahoi! %s") % "!!" % "!!" ));
- EXPECT_EQ( "abc", boost::str( boost::format("%s%s%s") % "a" % std::string("b") % "c" ));
-}
-
-struct another
-{
- int dummy;
-};
-
-// ------------------------------------------------------------------------------------------------
-TEST(NoBoostTest, Tuple) {
- // Implicit conversion
- boost::tuple<unsigned,unsigned,unsigned> first = boost::make_tuple(4,4,4);
- EXPECT_EQ(4U, first.get<0>());
- EXPECT_EQ(4U, first.get<1>());
- EXPECT_EQ(4U, first.get<2>());
-
- boost::tuple<int, float, double, bool, another> second=
- boost::make_tuple(1,1.0f,0.0,false,another());
- bool b = second.get<3>();
-
- // check empty tuple
- boost::tuple<> third;
- third;
-
- // FIXME: Explicit conversion not really required yet
- boost::tuple<float,float,float> last =
- (boost::tuple<float,float,float>)boost::make_tuple(1.,2.,3.);
- EXPECT_EQ(1.f, last.get<0>());
- EXPECT_EQ(2.f, last.get<1>());
- EXPECT_EQ(3.f, last.get<2>());
-
- // Non-const access
- first.get<0>() = 1;
- first.get<1>() = 2;
- first.get<2>() = 3;
- EXPECT_EQ(1U, first.get<0>());
- EXPECT_EQ(2U, first.get<1>());
- EXPECT_EQ(3U, first.get<2>());
-
- // Const cases
- const boost::tuple<unsigned,unsigned,unsigned> constant = boost::make_tuple(5,5,5);
- first.get<0>() = constant.get<0>();
- EXPECT_EQ(5U, constant.get<0>());
- EXPECT_EQ(5U, first.get<0>());
-
- // Direct assignment w. explicit conversion
- last = first;
- EXPECT_EQ(5.f, last.get<0>());
- EXPECT_EQ(2.f, last.get<1>());
- EXPECT_EQ(3.f, last.get<2>());
-}
diff --git a/libs/assimp/test/unit/utObjImportExport.cpp b/libs/assimp/test/unit/utObjImportExport.cpp
deleted file mode 100644
index 58eace0..0000000
--- a/libs/assimp/test/unit/utObjImportExport.cpp
+++ /dev/null
@@ -1,479 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "AbstractImportExportBase.h"
-#include "SceneDiffer.h"
-#include "UnitTestPCH.h"
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Exporter.hpp>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-static const float VertComponents[24 * 3] = {
- -0.500000, 0.500000, 0.500000,
- -0.500000, 0.500000, -0.500000,
- -0.500000, -0.500000, -0.500000,
- -0.500000, -0.500000, 0.500000,
- -0.500000, -0.500000, -0.500000,
- 0.500000, -0.500000, -0.500000,
- 0.500000, -0.500000, 0.500000,
- -0.500000, -0.500000, 0.500000,
- -0.500000, 0.500000, -0.500000,
- 0.500000, 0.500000, -0.500000,
- 0.500000, -0.500000, -0.500000,
- -0.500000, -0.500000, -0.500000,
- 0.500000, 0.500000, 0.500000,
- 0.500000, 0.500000, -0.500000,
- -0.500000, 0.500000, -0.500000,
- -0.500000, 0.500000, 0.500000,
- 0.500000, -0.500000, 0.500000,
- 0.500000, 0.500000, 0.500000,
- -0.500000, 0.500000, 0.500000,
- -0.500000, -0.500000, 0.500000,
- 0.500000, -0.500000, -0.500000,
- 0.500000, 0.500000, -0.500000,
- 0.500000, 0.500000, 0.500000f,
- 0.500000, -0.500000, 0.500000f
-};
-
-static const char *ObjModel =
- "o 1\n"
- "\n"
- "# Vertex list\n"
- "\n"
- "v -0.5 -0.5 0.5\n"
- "v -0.5 -0.5 -0.5\n"
- "v -0.5 0.5 -0.5\n"
- "v -0.5 0.5 0.5\n"
- "v 0.5 -0.5 0.5\n"
- "v 0.5 -0.5 -0.5\n"
- "v 0.5 0.5 -0.5\n"
- "v 0.5 0.5 0.5\n"
- "\n"
- "# Point / Line / Face list\n"
- "\n"
- "g Box01\n"
- "usemtl Default\n"
- "f 4 3 2 1\n"
- "f 2 6 5 1\n"
- "f 3 7 6 2\n"
- "f 8 7 3 4\n"
- "f 5 8 4 1\n"
- "f 6 7 8 5\n"
- "\n"
- "# End of file\n";
-
-static const char *ObjModel_Issue1111 =
- "o 1\n"
- "\n"
- "# Vertex list\n"
- "\n"
- "v -0.5 -0.5 0.5\n"
- "v -0.5 -0.5 -0.5\n"
- "v -0.5 0.5 -0.5\n"
- "\n"
- "usemtl\n"
- "f 1 2 3\n"
- "\n"
- "# End of file\n";
-
-class utObjImportExport : public AbstractImportExportBase {
-protected:
- void SetUp() override {
- m_im = new Assimp::Importer;
- }
-
- void TearDown() override {
- delete m_im;
- m_im = nullptr;
- }
-
- aiScene *createScene() {
- aiScene *expScene = new aiScene;
- expScene->mNumMeshes = 1;
- expScene->mMeshes = new aiMesh *[1];
- aiMesh *mesh = new aiMesh;
- mesh->mName.Set("Box01");
- mesh->mNumVertices = 24;
- mesh->mVertices = new aiVector3D[24];
- ::memcpy(&mesh->mVertices->x, &VertComponents[0], sizeof(float) * 24 * 3);
- mesh->mNumFaces = 6;
- mesh->mFaces = new aiFace[mesh->mNumFaces];
-
- mesh->mFaces[0].mNumIndices = 4;
- mesh->mFaces[0].mIndices = new unsigned int[mesh->mFaces[0].mNumIndices];
- mesh->mFaces[0].mIndices[0] = 0;
- mesh->mFaces[0].mIndices[1] = 1;
- mesh->mFaces[0].mIndices[2] = 2;
- mesh->mFaces[0].mIndices[3] = 3;
-
- mesh->mFaces[1].mNumIndices = 4;
- mesh->mFaces[1].mIndices = new unsigned int[mesh->mFaces[0].mNumIndices];
- mesh->mFaces[1].mIndices[0] = 4;
- mesh->mFaces[1].mIndices[1] = 5;
- mesh->mFaces[1].mIndices[2] = 6;
- mesh->mFaces[1].mIndices[3] = 7;
-
- mesh->mFaces[2].mNumIndices = 4;
- mesh->mFaces[2].mIndices = new unsigned int[mesh->mFaces[0].mNumIndices];
- mesh->mFaces[2].mIndices[0] = 8;
- mesh->mFaces[2].mIndices[1] = 9;
- mesh->mFaces[2].mIndices[2] = 10;
- mesh->mFaces[2].mIndices[3] = 11;
-
- mesh->mFaces[3].mNumIndices = 4;
- mesh->mFaces[3].mIndices = new unsigned int[mesh->mFaces[0].mNumIndices];
- mesh->mFaces[3].mIndices[0] = 12;
- mesh->mFaces[3].mIndices[1] = 13;
- mesh->mFaces[3].mIndices[2] = 14;
- mesh->mFaces[3].mIndices[3] = 15;
-
- mesh->mFaces[4].mNumIndices = 4;
- mesh->mFaces[4].mIndices = new unsigned int[mesh->mFaces[0].mNumIndices];
- mesh->mFaces[4].mIndices[0] = 16;
- mesh->mFaces[4].mIndices[1] = 17;
- mesh->mFaces[4].mIndices[2] = 18;
- mesh->mFaces[4].mIndices[3] = 19;
-
- mesh->mFaces[5].mNumIndices = 4;
- mesh->mFaces[5].mIndices = new unsigned int[mesh->mFaces[0].mNumIndices];
- mesh->mFaces[5].mIndices[0] = 20;
- mesh->mFaces[5].mIndices[1] = 21;
- mesh->mFaces[5].mIndices[2] = 22;
- mesh->mFaces[5].mIndices[3] = 23;
-
- expScene->mMeshes[0] = mesh;
-
- expScene->mNumMaterials = 1;
- expScene->mMaterials = new aiMaterial *[expScene->mNumMaterials];
-
- return expScene;
- }
-
- bool importerTest() override {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/OBJ/spider.obj", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
-
- bool exporterTest() override {
- ::Assimp::Importer importer;
- ::Assimp::Exporter exporter;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/OBJ/spider.obj", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "obj", ASSIMP_TEST_MODELS_DIR "/OBJ/spider_out.obj"));
- EXPECT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "objnomtl", ASSIMP_TEST_MODELS_DIR "/OBJ/spider_nomtl_out.obj"));
-
- return true;
- }
-
-#endif // ASSIMP_BUILD_NO_EXPORT
-
-protected:
- ::Assimp::Importer *m_im;
- aiScene *m_expectedScene;
-};
-
-TEST_F(utObjImportExport, importObjFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
-
-TEST_F(utObjImportExport, exportObjFromFileTest) {
- EXPECT_TRUE(exporterTest());
-}
-
-#endif // ASSIMP_BUILD_NO_EXPORT
-
-TEST_F(utObjImportExport, obj_import_test) {
- const aiScene *scene = m_im->ReadFileFromMemory((void *)ObjModel, strlen(ObjModel), 0);
- aiScene *expected = createScene();
- EXPECT_NE(nullptr, scene);
-
- SceneDiffer differ;
- EXPECT_TRUE(differ.isEqual(expected, scene));
- differ.showReport();
-
- m_im->FreeScene();
- for (unsigned int i = 0; i < expected->mNumMeshes; ++i) {
- delete expected->mMeshes[i];
- }
- delete[] expected->mMeshes;
- expected->mMeshes = nullptr;
- delete[] expected->mMaterials;
- expected->mMaterials = nullptr;
- delete expected;
-}
-
-TEST_F(utObjImportExport, issue1111_no_mat_name_Test) {
- const aiScene *scene = m_im->ReadFileFromMemory((void *)ObjModel_Issue1111, strlen(ObjModel_Issue1111), 0);
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utObjImportExport, issue809_vertex_color_Test) {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/OBJ/cube_with_vertexcolors.obj", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
- ::Assimp::Exporter exporter;
- EXPECT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "obj", ASSIMP_TEST_MODELS_DIR "/OBJ/test_out.obj"));
-#endif // ASSIMP_BUILD_NO_EXPORT
-}
-
-TEST_F(utObjImportExport, issue1923_vertex_color_Test) {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/OBJ/cube_with_vertexcolors_uni.obj", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-
- scene = importer.GetOrphanedScene();
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
- ::Assimp::Exporter exporter;
- const aiExportDataBlob *blob = exporter.ExportToBlob(scene, "obj");
- EXPECT_NE(nullptr, blob);
-
- const aiScene *sceneReImport = importer.ReadFileFromMemory(blob->data, blob->size, aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-
- SceneDiffer differ;
- EXPECT_TRUE(differ.isEqual(scene, sceneReImport));
-#endif // ASSIMP_BUILD_NO_EXPORT
-
- delete scene;
-}
-
-TEST_F(utObjImportExport, issue1453_segfault) {
- static const char *curObjModel =
- "v 0.0 0.0 0.0\n"
- "v 0.0 0.0 1.0\n"
- "v 0.0 1.0 0.0\n"
- "v 0.0 1.0 1.0\n"
- "v 1.0 0.0 0.0\n"
- "v 1.0 0.0 1.0\n"
- "v 1.0 1.0 0.0\n"
- "v 1.0 1.0 1.0\nB";
-
- Assimp::Importer myimporter;
- const aiScene *scene = myimporter.ReadFileFromMemory(curObjModel, strlen(curObjModel), aiProcess_ValidateDataStructure);
- EXPECT_EQ(nullptr, scene);
-}
-
-TEST_F(utObjImportExport, relative_indices_Test) {
- static const char *curObjModel =
- "v -0.500000 0.000000 0.400000\n"
- "v -0.500000 0.000000 -0.800000\n"
- "v -0.500000 1.000000 -0.800000\n"
- "v -0.500000 1.000000 0.400000\n"
- "f -4 -3 -2 -1\nB";
-
- Assimp::Importer myimporter;
- const aiScene *scene = myimporter.ReadFileFromMemory(curObjModel, strlen(curObjModel), aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-
- EXPECT_EQ(scene->mNumMeshes, 1U);
- const aiMesh *mesh = scene->mMeshes[0];
- EXPECT_EQ(mesh->mNumVertices, 4U);
- EXPECT_EQ(mesh->mNumFaces, 1U);
- const aiFace face = mesh->mFaces[0];
- EXPECT_EQ(face.mNumIndices, 4U);
- for (unsigned int i = 0; i < face.mNumIndices; ++i) {
- EXPECT_EQ(face.mIndices[i], i);
- }
-}
-
-TEST_F(utObjImportExport, homogeneous_coordinates_Test) {
- static const char *curObjModel =
- "v -0.500000 0.000000 0.400000 0.50000\n"
- "v -0.500000 0.000000 -0.800000 1.00000\n"
- "v 0.500000 1.000000 -0.800000 0.5000\n"
- "f 1 2 3\nB";
-
- Assimp::Importer myimporter;
- const aiScene *scene = myimporter.ReadFileFromMemory(curObjModel, strlen(curObjModel), aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-
- EXPECT_EQ(scene->mNumMeshes, 1U);
- const aiMesh *mesh = scene->mMeshes[0];
- EXPECT_EQ(mesh->mNumVertices, 3U);
- EXPECT_EQ(mesh->mNumFaces, 1U);
- const aiFace face = mesh->mFaces[0];
- EXPECT_EQ(face.mNumIndices, 3U);
- const aiVector3D vertice = mesh->mVertices[0];
- EXPECT_EQ(vertice.x, -1.0f);
- EXPECT_EQ(vertice.y, 0.0f);
- EXPECT_EQ(vertice.z, 0.8f);
-}
-
-TEST_F(utObjImportExport, homogeneous_coordinates_divide_by_zero_Test) {
- static const char *curObjModel =
- "v -0.500000 0.000000 0.400000 0.\n"
- "v -0.500000 0.000000 -0.800000 1.00000\n"
- "v 0.500000 1.000000 -0.800000 0.5000\n"
- "f 1 2 3\nB";
-
- Assimp::Importer myimporter;
- const aiScene *scene = myimporter.ReadFileFromMemory(curObjModel, std::strlen(curObjModel), aiProcess_ValidateDataStructure);
- EXPECT_EQ(nullptr, scene);
-}
-
-TEST_F(utObjImportExport, 0based_array_Test) {
- static const char *curObjModel =
- "v -0.500000 0.000000 0.400000\n"
- "v -0.500000 0.000000 -0.800000\n"
- "v -0.500000 1.000000 -0.800000\n"
- "f 0 1 2\nB";
-
- Assimp::Importer myImporter;
- const aiScene *scene = myImporter.ReadFileFromMemory(curObjModel, strlen(curObjModel), 0);
- EXPECT_EQ(nullptr, scene);
-}
-
-TEST_F(utObjImportExport, invalid_normals_uvs) {
- static const char *curObjModel =
- "v -0.500000 0.000000 0.400000\n"
- "v -0.500000 0.000000 -0.800000\n"
- "v -0.500000 1.000000 -0.800000\n"
- "vt 0 0\n"
- "vn 0 1 0\n"
- "f 1/1/1 1/1/1 2/2/2\nB";
-
- Assimp::Importer myImporter;
- const aiScene *scene = myImporter.ReadFileFromMemory(curObjModel, strlen(curObjModel), 0);
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utObjImportExport, no_vt_just_vns) {
- static const char *curObjModel =
- "v 0 0 0\n"
- "v 0 0 0\n"
- "v 0 0 0\n"
- "v 0 0 0\n"
- "v 0 0 0\n"
- "v 0 0 0\n"
- "v 0 0 0\n"
- "v 0 0 0\n"
- "v 0 0 0\n"
- "v 0 0 0\n"
- "v 10 0 0\n"
- "v 0 10 0\n"
- "vn 0 0 1\n"
- "vn 0 0 1\n"
- "vn 0 0 1\n"
- "vn 0 0 1\n"
- "vn 0 0 1\n"
- "vn 0 0 1\n"
- "vn 0 0 1\n"
- "vn 0 0 1\n"
- "vn 0 0 1\n"
- "vn 0 0 1\n"
- "vn 0 0 1\n"
- "vn 0 0 1\n"
- "f 10/10 11/11 12/12\n";
-
- Assimp::Importer myImporter;
- const aiScene *scene = myImporter.ReadFileFromMemory(curObjModel, strlen(curObjModel), 0);
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utObjImportExport, mtllib_after_g) {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/OBJ/cube_mtllib_after_g.obj", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-
- EXPECT_EQ(scene->mNumMeshes, 1U);
- const aiMesh *mesh = scene->mMeshes[0];
- const aiMaterial *mat = scene->mMaterials[mesh->mMaterialIndex];
- aiString name;
- ASSERT_EQ(aiReturn_SUCCESS, mat->Get(AI_MATKEY_NAME, name));
- EXPECT_STREQ("MyMaterial", name.C_Str());
-}
-
-TEST_F(utObjImportExport, import_point_cloud) {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/OBJ/point_cloud.obj", 0);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST_F(utObjImportExport, import_without_linend) {
- Assimp::Importer myImporter;
- const aiScene *scene = myImporter.ReadFile(ASSIMP_TEST_MODELS_DIR "/OBJ/box_without_lineending.obj", 0);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST_F(utObjImportExport, import_with_line_continuations) {
- static const char *curObjModel =
- "v -0.5 -0.5 0.5\n"
- "v -0.5 \\\n"
- " -0.5 -0.5\n"
- "v -0.5 \\\n"
- " 0.5 \\\n"
- " -0.5\n"
- "f 1 2 3\n";
-
- Assimp::Importer myImporter;
- const aiScene *scene = myImporter.ReadFileFromMemory(curObjModel, strlen(curObjModel), 0);
- EXPECT_NE(nullptr, scene);
-
- EXPECT_EQ(scene->mNumMeshes, 1U);
- EXPECT_EQ(scene->mMeshes[0]->mNumVertices, 3U);
- EXPECT_EQ(scene->mMeshes[0]->mNumFaces, 1U);
-
- auto vertices = scene->mMeshes[0]->mVertices;
- const float threshold = 0.0001f;
-
- EXPECT_NEAR(vertices[0].x, -0.5f, threshold);
- EXPECT_NEAR(vertices[0].y, -0.5f, threshold);
- EXPECT_NEAR(vertices[0].z, 0.5f, threshold);
-
- EXPECT_NEAR(vertices[1].x, -0.5f, threshold);
- EXPECT_NEAR(vertices[1].y, -0.5f, threshold);
- EXPECT_NEAR(vertices[1].z, -0.5f, threshold);
-
- EXPECT_NEAR(vertices[2].x, -0.5f, threshold);
- EXPECT_NEAR(vertices[2].y, 0.5f, threshold);
- EXPECT_NEAR(vertices[2].z, -0.5f, threshold);
-}
diff --git a/libs/assimp/test/unit/utObjTools.cpp b/libs/assimp/test/unit/utObjTools.cpp
deleted file mode 100644
index 744e226..0000000
--- a/libs/assimp/test/unit/utObjTools.cpp
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "AssetLib/Obj/ObjFileParser.h"
-#include "AssetLib/Obj/ObjTools.h"
-#include "UnitTestPCH.h"
-
-using namespace ::Assimp;
-
-class utObjTools : public ::testing::Test {
- // empty
-};
-
-class TestObjFileParser : public ObjFileParser {
-public:
- TestObjFileParser() :
- ObjFileParser() {
- // empty
- }
-
- ~TestObjFileParser() {
- // empty
- }
-
- void testCopyNextWord(char *pBuffer, size_t length) {
- copyNextWord(pBuffer, length);
- }
-
- size_t testGetNumComponentsInDataDefinition() {
- return getNumComponentsInDataDefinition();
- }
-};
-
-TEST_F(utObjTools, skipDataLine_OneLine_Success) {
- std::vector<char> buffer;
- std::string data("v -0.5 -0.5 0.5\nend");
- buffer.resize(data.size());
- ::memcpy(&buffer[0], &data[0], data.size());
- std::vector<char>::iterator itBegin(buffer.begin()), itEnd(buffer.end());
- unsigned int line = 0;
- std::vector<char>::iterator current = skipLine<std::vector<char>::iterator>(itBegin, itEnd, line);
- EXPECT_EQ('e', *current);
-}
-
-TEST_F(utObjTools, skipDataLine_TwoLines_Success) {
- TestObjFileParser test_parser;
- std::string data("vn -2.061493116917992e-15 -0.9009688496589661 \\\n-0.4338837265968323");
- std::vector<char> buffer;
- buffer.resize(data.size());
- ::memcpy(&buffer[0], &data[0], data.size());
- test_parser.setBuffer(buffer);
- static const size_t Size = 4096UL;
- char data_buffer[Size];
-
- test_parser.testCopyNextWord(data_buffer, Size);
- EXPECT_EQ(0, strncmp(data_buffer, "vn", 2));
-
- test_parser.testCopyNextWord(data_buffer, Size);
- EXPECT_EQ(data_buffer[0], '-');
-
- test_parser.testCopyNextWord(data_buffer, Size);
- EXPECT_EQ(data_buffer[0], '-');
-
- test_parser.testCopyNextWord(data_buffer, Size);
- EXPECT_EQ(data_buffer[0], '-');
-}
-
-TEST_F(utObjTools, countComponents_TwoLines_Success) {
- TestObjFileParser test_parser;
- std::string data("-2.061493116917992e-15 -0.9009688496589661 \\\n-0.4338837265968323");
- std::vector<char> buffer;
- buffer.resize(data.size() + 1);
- ::memcpy(&buffer[0], &data[0], data.size());
- buffer[buffer.size() - 1] = '\0';
- test_parser.setBuffer(buffer);
-
- size_t numComps = test_parser.testGetNumComponentsInDataDefinition();
- EXPECT_EQ(3U, numComps);
-}
diff --git a/libs/assimp/test/unit/utOpenGEXImportExport.cpp b/libs/assimp/test/unit/utOpenGEXImportExport.cpp
deleted file mode 100644
index a7b6820..0000000
--- a/libs/assimp/test/unit/utOpenGEXImportExport.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utOpenGEXImportExport : public AbstractImportExportBase {
-public:
- bool importerTest() override {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/OpenGEX/Example.ogex", 0);
- return nullptr != scene;
- }
-};
-
-TEST_F(utOpenGEXImportExport, importLWSFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
-
-TEST_F(utOpenGEXImportExport, Importissue1262_NoCrash) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/OpenGEX/light_issue1262.ogex", 0);
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utOpenGEXImportExport, Importissue1340_EmptyCameraObject) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/OpenGEX/empty_camera.ogex", 0);
- EXPECT_NE(nullptr, scene);
-}
diff --git a/libs/assimp/test/unit/utPLYImportExport.cpp b/libs/assimp/test/unit/utPLYImportExport.cpp
deleted file mode 100644
index 2edbdd7..0000000
--- a/libs/assimp/test/unit/utPLYImportExport.cpp
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include "AbstractImportExportBase.h"
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Exporter.hpp>
-#include <assimp/Importer.hpp>
-
-using namespace ::Assimp;
-
-class utPLYImportExport : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/PLY/cube.ply", aiProcess_ValidateDataStructure);
- EXPECT_EQ(1u, scene->mNumMeshes);
- EXPECT_NE(nullptr, scene->mMeshes[0]);
- if (nullptr == scene->mMeshes[0]) {
- return false;
- }
- EXPECT_EQ(8u, scene->mMeshes[0]->mNumVertices);
- EXPECT_EQ(6u, scene->mMeshes[0]->mNumFaces);
-
- return (nullptr != scene);
- }
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
- virtual bool exporterTest() {
- Importer importer;
- Exporter exporter;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/PLY/cube.ply", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "ply", ASSIMP_TEST_MODELS_DIR "/PLY/cube_out.ply"));
-
- return true;
- }
-#endif // ASSIMP_BUILD_NO_EXPORT
-};
-
-TEST_F(utPLYImportExport, importTest_Success) {
- EXPECT_TRUE(importerTest());
-}
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
-
-TEST_F(utPLYImportExport, exportTest_Success) {
- EXPECT_TRUE(exporterTest());
-}
-
-#endif // ASSIMP_BUILD_NO_EXPORT
-
-//Test issue 1623, crash when loading two PLY files in a row
-TEST_F(utPLYImportExport, importerMultipleTest) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/PLY/cube.ply", aiProcess_ValidateDataStructure);
-
- EXPECT_NE(nullptr, scene);
-
- scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/PLY/cube.ply", aiProcess_ValidateDataStructure);
-
- EXPECT_NE(nullptr, scene);
- EXPECT_NE(nullptr, scene->mMeshes[0]);
- EXPECT_EQ(6u, scene->mMeshes[0]->mNumFaces);
-}
-
-TEST_F(utPLYImportExport, importPLYwithUV) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/PLY/cube_uv.ply", aiProcess_ValidateDataStructure);
-
- EXPECT_NE(nullptr, scene);
- EXPECT_NE(nullptr, scene->mMeshes[0]);
- //This test model is using n-gons, so 6 faces instead of 12 tris
- EXPECT_EQ(6u, scene->mMeshes[0]->mNumFaces);
- EXPECT_EQ(aiPrimitiveType_POLYGON, scene->mMeshes[0]->mPrimitiveTypes);
- EXPECT_EQ(true, scene->mMeshes[0]->HasTextureCoords(0));
-}
-
-TEST_F(utPLYImportExport, importBinaryPLY) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/PLY/cube_binary.ply", aiProcess_ValidateDataStructure);
-
- EXPECT_NE(nullptr, scene);
- EXPECT_NE(nullptr, scene->mMeshes[0]);
- //This test model is double sided, so 12 faces instead of 6
- EXPECT_EQ(12u, scene->mMeshes[0]->mNumFaces);
-}
-
-TEST_F(utPLYImportExport, vertexColorTest) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/PLY/float-color.ply", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(1u, scene->mMeshes[0]->mNumFaces);
- EXPECT_EQ(aiPrimitiveType_TRIANGLE, scene->mMeshes[0]->mPrimitiveTypes);
- EXPECT_EQ(true, scene->mMeshes[0]->HasVertexColors(0));
-
- auto first_face = scene->mMeshes[0]->mFaces[0];
- EXPECT_EQ(3u, first_face.mNumIndices);
- EXPECT_EQ(0u, first_face.mIndices[0]);
- EXPECT_EQ(1u, first_face.mIndices[1]);
- EXPECT_EQ(2u, first_face.mIndices[2]);
-}
-
-// Test issue #623, PLY importer should not automatically create faces
-TEST_F(utPLYImportExport, pointcloudTest) {
- Assimp::Importer importer;
-
- //Could not use aiProcess_ValidateDataStructure since it's missing faces.
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/PLY/issue623.ply", 0);
- EXPECT_NE(nullptr, scene);
-
- EXPECT_EQ(1u, scene->mNumMeshes);
- EXPECT_NE(nullptr, scene->mMeshes[0]);
- EXPECT_EQ(24u, scene->mMeshes[0]->mNumVertices);
- EXPECT_EQ(aiPrimitiveType::aiPrimitiveType_POINT, scene->mMeshes[0]->mPrimitiveTypes);
- EXPECT_EQ(0u, scene->mMeshes[0]->mNumFaces);
-}
-
-static const char *test_file =
- "ply\n"
- "format ascii 1.0\n"
- "element vertex 4\n"
- "property float x\n"
- "property float y\n"
- "property float z\n"
- "property uchar red\n"
- "property uchar green\n"
- "property uchar blue\n"
- "property float nx\n"
- "property float ny\n"
- "property float nz\n"
- "end_header\n"
- "0.0 0.0 0.0 255 255 255 0.0 1.0 0.0\n"
- "0.0 0.0 1.0 255 0 255 0.0 0.0 1.0\n"
- "0.0 1.0 0.0 255 255 0 1.0 0.0 0.0\n"
- "0.0 1.0 1.0 0 255 255 1.0 1.0 0.0\n";
-
-TEST_F(utPLYImportExport, parseErrorTest) {
- Assimp::Importer importer;
- //Could not use aiProcess_ValidateDataStructure since it's missing faces.
- const aiScene *scene = importer.ReadFileFromMemory(test_file, strlen(test_file), 0);
- EXPECT_NE(nullptr, scene);
-}
diff --git a/libs/assimp/test/unit/utPMXImporter.cpp b/libs/assimp/test/unit/utPMXImporter.cpp
deleted file mode 100644
index a0d663d..0000000
--- a/libs/assimp/test/unit/utPMXImporter.cpp
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "UnitTestPCH.h"
-#include "AbstractImportExportBase.h"
-#include "AssetLib/MMD/MMDImporter.h"
-
-#include <assimp/Importer.hpp>
-
-using namespace ::Assimp;
-
-class utPMXImporter : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- Assimp::Importer importer;
- /*const aiScene *scene = importer.ReadFile( ASSIMP_TEST_MODELS_DIR "/../models-nonbsd/MMD/Alicia_blade.pmx", aiProcess_ValidateDataStructure );
- return nullptr != scene;*/
- return true;
- }
-};
-
-TEST_F( utPMXImporter, importTest ) {
- EXPECT_TRUE( importerTest() );
-}
diff --git a/libs/assimp/test/unit/utPretransformVertices.cpp b/libs/assimp/test/unit/utPretransformVertices.cpp
deleted file mode 100644
index b22fdf7..0000000
--- a/libs/assimp/test/unit/utPretransformVertices.cpp
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include "PostProcessing/PretransformVertices.h"
-#include <assimp/scene.h>
-
-using namespace std;
-using namespace Assimp;
-
-class PretransformVerticesTest : public ::testing::Test {
-public:
- PretransformVerticesTest() :
- Test(), mScene(nullptr), mProcess(nullptr) {
- // empty
- }
-
-protected:
- virtual void SetUp();
- virtual void TearDown();
-
-protected:
- aiScene *mScene;
- PretransformVertices *mProcess;
-};
-
-// ------------------------------------------------------------------------------------------------
-void AddNodes(unsigned int num, aiNode *father, unsigned int depth) {
- father->mChildren = new aiNode *[father->mNumChildren = 5];
- for (unsigned int i = 0; i < 5; ++i) {
- aiNode *nd = father->mChildren[i] = new aiNode();
-
- nd->mName.length = sprintf(nd->mName.data, "%i%i", depth, i);
-
- // spawn two meshes
- nd->mMeshes = new unsigned int[nd->mNumMeshes = 2];
- nd->mMeshes[0] = num * 5 + i;
- nd->mMeshes[1] = 24 - (num * 5 + i); // mesh 12 is special ... it references the same mesh twice
-
- // setup an unique transformation matrix
- nd->mTransformation.a1 = num * 5.f + i + 1;
- }
-
- if (depth > 1) {
- for (unsigned int i = 0; i < 5; ++i) {
- AddNodes(i, father->mChildren[i], depth - 1);
- }
- }
-}
-
-// ------------------------------------------------------------------------------------------------
-void PretransformVerticesTest::SetUp() {
- mScene = new aiScene();
-
- // add 5 empty materials
- mScene->mMaterials = new aiMaterial *[mScene->mNumMaterials = 5];
- for (unsigned int i = 0; i < 5; ++i) {
- mScene->mMaterials[i] = new aiMaterial();
- }
-
- // add 25 test meshes
- mScene->mMeshes = new aiMesh *[mScene->mNumMeshes = 25];
- for (unsigned int i = 0; i < 25; ++i) {
- aiMesh *mesh = mScene->mMeshes[i] = new aiMesh();
-
- mesh->mPrimitiveTypes = aiPrimitiveType_POINT;
- mesh->mFaces = new aiFace[mesh->mNumFaces = 10 + i];
- mesh->mVertices = new aiVector3D[mesh->mNumVertices = mesh->mNumFaces];
- for (unsigned int a = 0; a < mesh->mNumFaces; ++a) {
- aiFace &f = mesh->mFaces[a];
- f.mIndices = new unsigned int[f.mNumIndices = 1];
- f.mIndices[0] = a * 3;
-
- mesh->mVertices[a] = aiVector3D((float)i, (float)a, 0.f);
- }
- mesh->mMaterialIndex = i % 5;
-
- if (i % 2) {
- mesh->mNormals = new aiVector3D[mesh->mNumVertices];
- for (unsigned int normalIdx = 0; normalIdx < mesh->mNumVertices; ++normalIdx) {
- mesh->mNormals[normalIdx].x = 1.0f;
- mesh->mNormals[normalIdx].y = 1.0f;
- mesh->mNormals[normalIdx].z = 1.0f;
- mesh->mNormals[normalIdx].Normalize();
- }
- }
- }
-
- // construct some nodes (1+25)
- mScene->mRootNode = new aiNode();
- mScene->mRootNode->mName.Set("Root");
- AddNodes(0, mScene->mRootNode, 2);
-
- mProcess = new PretransformVertices();
-}
-
-// ------------------------------------------------------------------------------------------------
-void PretransformVerticesTest::TearDown() {
- delete mScene;
- delete mProcess;
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(PretransformVerticesTest, testProcessCollapseHierarchy) {
- mProcess->KeepHierarchy(false);
- mProcess->Execute(mScene);
-
- EXPECT_EQ(5U, mScene->mNumMaterials);
- EXPECT_EQ(10U, mScene->mNumMeshes); // every second mesh has normals
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(PretransformVerticesTest, testProcessKeepHierarchy) {
- mProcess->KeepHierarchy(true);
- mProcess->Execute(mScene);
-
- EXPECT_EQ(5U, mScene->mNumMaterials);
- EXPECT_EQ(49U, mScene->mNumMeshes); // see note on mesh 12 above
-}
diff --git a/libs/assimp/test/unit/utProfiler.cpp b/libs/assimp/test/unit/utProfiler.cpp
deleted file mode 100644
index 6738d56..0000000
--- a/libs/assimp/test/unit/utProfiler.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-#include "UTLogStream.h"
-#include <assimp/Profiler.h>
-#include <assimp/DefaultLogger.hpp>
-
-using namespace ::Assimp;
-using namespace ::Assimp::Profiling;
-
-class utProfiler : public ::testing::Test {
-public:
- LogStream *m_stream;
-
- /*virtual void SetUp() {
- m_stream = new UTLogStream;
- DefaultLogger::create();
- DefaultLogger::get()->attachStream( m_stream );
- }
-
- virtual void TearDown() {
- DefaultLogger::get()->detatchStream( m_stream );
- m_stream = nullptr;
- }*/
-};
-
-TEST_F( utProfiler, addRegion_success ) {
- Profiler myProfiler;
- myProfiler.BeginRegion( "t1" );
- for ( int i=0; i<10; i++ ) {
- volatile int j=0;
- j++;
- }
- myProfiler.EndRegion( "t1" );
- //UTLogStream *stream( (UTLogStream*) m_stream );
- //EXPECT_FALSE( stream->m_messages.empty() );
-}
diff --git a/libs/assimp/test/unit/utQ3DImportExport.cpp b/libs/assimp/test/unit/utQ3DImportExport.cpp
deleted file mode 100644
index e5396a6..0000000
--- a/libs/assimp/test/unit/utQ3DImportExport.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include "AbstractImportExportBase.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utQ3DImportExport : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/Q3D/earth.q3o", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-};
-
-TEST_F(utQ3DImportExport, importTest) {
- EXPECT_TRUE(importerTest());
-}
diff --git a/libs/assimp/test/unit/utRemoveComments.cpp b/libs/assimp/test/unit/utRemoveComments.cpp
deleted file mode 100644
index 44fb56e..0000000
--- a/libs/assimp/test/unit/utRemoveComments.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include <assimp/RemoveComments.h>
-
-using namespace std;
-using namespace Assimp;
-
-// ------------------------------------------------------------------------------------------------
-TEST(RemoveCommentsTest, testSingleLineComments) {
- const char *szTest = "int i = 0; \n"
- "if (4 == //)\n"
- "\ttrue) { // do something here \n"
- "\t// hello ... and bye //\n";
-
- const size_t len(::strlen(szTest) + 1);
- char *szTest2 = new char[len];
- ::strncpy(szTest2, szTest, len);
-
- const char *szTestResult = "int i = 0; \n"
- "if (4 == \n"
- "\ttrue) { \n"
- "\t \n";
-
- CommentRemover::RemoveLineComments("//", szTest2, ' ');
- EXPECT_STREQ(szTestResult, szTest2);
-
- delete[] szTest2;
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST(RemoveCommentsTest, testMultiLineComments) {
- const char *szTest =
- "/* comment to be removed */\n"
- "valid text /* \n "
- " comment across multiple lines */"
- " / * Incomplete comment */ /* /* multiple comments */ */";
-
- const char *szTestResult =
- " \n"
- "valid text "
- " "
- " / * Incomplete comment */ */";
-
- const size_t len(::strlen(szTest) + 1);
- char *szTest2 = new char[len];
- ::strncpy(szTest2, szTest, len);
-
- CommentRemover::RemoveMultiLineComments("/*", "*/", szTest2, ' ');
- EXPECT_STREQ(szTestResult, szTest2);
-
- delete[] szTest2;
-}
diff --git a/libs/assimp/test/unit/utRemoveComponent.cpp b/libs/assimp/test/unit/utRemoveComponent.cpp
deleted file mode 100644
index 42fb85f..0000000
--- a/libs/assimp/test/unit/utRemoveComponent.cpp
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include "Material/MaterialSystem.h"
-#include "PostProcessing/RemoveVCProcess.h"
-#include <assimp/scene.h>
-
-using namespace std;
-using namespace Assimp;
-
-class RemoveVCProcessTest : public ::testing::Test {
-public:
- virtual void SetUp();
- virtual void TearDown();
-
-protected:
- RemoveVCProcess *piProcess;
- aiScene *pScene;
-};
-
-// ------------------------------------------------------------------------------------------------
-void RemoveVCProcessTest::SetUp() {
- // construct the process
- piProcess = new RemoveVCProcess();
- pScene = new aiScene();
-
- // fill the scene ..
- pScene->mMeshes = new aiMesh *[pScene->mNumMeshes = 2];
- pScene->mMeshes[0] = new aiMesh();
- pScene->mMeshes[1] = new aiMesh();
-
- pScene->mMeshes[0]->mNumVertices = 120;
- pScene->mMeshes[0]->mVertices = new aiVector3D[120];
- pScene->mMeshes[0]->mNormals = new aiVector3D[120];
- pScene->mMeshes[0]->mTextureCoords[0] = new aiVector3D[120];
- pScene->mMeshes[0]->mTextureCoords[1] = new aiVector3D[120];
- pScene->mMeshes[0]->mTextureCoords[2] = new aiVector3D[120];
- pScene->mMeshes[0]->mTextureCoords[3] = new aiVector3D[120];
-
- pScene->mMeshes[1]->mNumVertices = 120;
- pScene->mMeshes[1]->mVertices = new aiVector3D[120];
-
- pScene->mAnimations = new aiAnimation *[pScene->mNumAnimations = 2];
- pScene->mAnimations[0] = new aiAnimation();
- pScene->mAnimations[1] = new aiAnimation();
-
- pScene->mTextures = new aiTexture *[pScene->mNumTextures = 2];
- pScene->mTextures[0] = new aiTexture();
- pScene->mTextures[1] = new aiTexture();
-
- pScene->mMaterials = new aiMaterial *[pScene->mNumMaterials = 2];
- pScene->mMaterials[0] = new aiMaterial();
- pScene->mMaterials[1] = new aiMaterial();
-
- pScene->mLights = new aiLight *[pScene->mNumLights = 2];
- pScene->mLights[0] = new aiLight();
- pScene->mLights[1] = new aiLight();
-
- pScene->mCameras = new aiCamera *[pScene->mNumCameras = 2];
- pScene->mCameras[0] = new aiCamera();
- pScene->mCameras[1] = new aiCamera();
-}
-
-// ------------------------------------------------------------------------------------------------
-void RemoveVCProcessTest::TearDown() {
- delete pScene;
- delete piProcess;
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(RemoveVCProcessTest, testMeshRemove) {
- piProcess->SetDeleteFlags(aiComponent_MESHES);
- piProcess->Execute(pScene);
-
- EXPECT_TRUE(NULL == pScene->mMeshes);
- EXPECT_EQ(0U, pScene->mNumMeshes);
- EXPECT_TRUE(pScene->mFlags == AI_SCENE_FLAGS_INCOMPLETE);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(RemoveVCProcessTest, testAnimRemove) {
- piProcess->SetDeleteFlags(aiComponent_ANIMATIONS);
- piProcess->Execute(pScene);
-
- EXPECT_TRUE(NULL == pScene->mAnimations);
- EXPECT_EQ(0U, pScene->mNumAnimations);
- EXPECT_EQ(0U, pScene->mFlags);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(RemoveVCProcessTest, testMaterialRemove) {
- piProcess->SetDeleteFlags(aiComponent_MATERIALS);
- piProcess->Execute(pScene);
-
- // there should be one default material now ...
- EXPECT_TRUE(1 == pScene->mNumMaterials &&
- pScene->mMeshes[0]->mMaterialIndex == 0 &&
- pScene->mMeshes[1]->mMaterialIndex == 0);
- EXPECT_EQ(0U, pScene->mFlags);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(RemoveVCProcessTest, testTextureRemove) {
- piProcess->SetDeleteFlags(aiComponent_TEXTURES);
- piProcess->Execute(pScene);
-
- EXPECT_TRUE(NULL == pScene->mTextures);
- EXPECT_EQ(0U, pScene->mNumTextures);
- EXPECT_EQ(0U, pScene->mFlags);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(RemoveVCProcessTest, testCameraRemove) {
- piProcess->SetDeleteFlags(aiComponent_CAMERAS);
- piProcess->Execute(pScene);
-
- EXPECT_TRUE(NULL == pScene->mCameras);
- EXPECT_EQ(0U, pScene->mNumCameras);
- EXPECT_EQ(0U, pScene->mFlags);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(RemoveVCProcessTest, testLightRemove) {
- piProcess->SetDeleteFlags(aiComponent_LIGHTS);
- piProcess->Execute(pScene);
-
- EXPECT_TRUE(NULL == pScene->mLights);
- EXPECT_EQ(0U, pScene->mNumLights);
- EXPECT_EQ(0U, pScene->mFlags);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(RemoveVCProcessTest, testMeshComponentsRemoveA) {
- piProcess->SetDeleteFlags(aiComponent_TEXCOORDSn(1) | aiComponent_TEXCOORDSn(2) | aiComponent_TEXCOORDSn(3));
- piProcess->Execute(pScene);
-
- EXPECT_TRUE(pScene->mMeshes[0]->mTextureCoords[0] &&
- !pScene->mMeshes[0]->mTextureCoords[1] &&
- !pScene->mMeshes[0]->mTextureCoords[2] &&
- !pScene->mMeshes[0]->mTextureCoords[3]);
- EXPECT_EQ(0U, pScene->mFlags);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(RemoveVCProcessTest, testMeshComponentsRemoveB) {
- piProcess->SetDeleteFlags(aiComponent_TEXCOORDSn(1) | aiComponent_NORMALS);
- piProcess->Execute(pScene);
-
- EXPECT_TRUE(pScene->mMeshes[0]->mTextureCoords[0] &&
- pScene->mMeshes[0]->mTextureCoords[1] &&
- pScene->mMeshes[0]->mTextureCoords[2] && // shift forward ...
- !pScene->mMeshes[0]->mTextureCoords[3] &&
- !pScene->mMeshes[0]->mNormals);
- EXPECT_EQ(0U, pScene->mFlags);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(RemoveVCProcessTest, testRemoveEverything) {
- piProcess->SetDeleteFlags(aiComponent_LIGHTS | aiComponent_ANIMATIONS |
- aiComponent_MATERIALS | aiComponent_MESHES | aiComponent_CAMERAS | aiComponent_TEXTURES);
- piProcess->Execute(pScene);
- EXPECT_EQ(0U, pScene->mNumAnimations);
- EXPECT_EQ(0U, pScene->mNumCameras);
- EXPECT_EQ(0U, pScene->mNumLights);
- EXPECT_EQ(0U, pScene->mNumMeshes);
- EXPECT_EQ(0U, pScene->mNumTextures);
- // Only the default material should remain.
- EXPECT_EQ(1U, pScene->mNumMaterials);
-}
diff --git a/libs/assimp/test/unit/utRemoveRedundantMaterials.cpp b/libs/assimp/test/unit/utRemoveRedundantMaterials.cpp
deleted file mode 100644
index cec4501..0000000
--- a/libs/assimp/test/unit/utRemoveRedundantMaterials.cpp
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include "Material/MaterialSystem.h"
-#include "PostProcessing/RemoveRedundantMaterials.h"
-#include <assimp/scene.h>
-
-using namespace std;
-using namespace Assimp;
-
-class RemoveRedundantMatsTest : public ::testing::Test {
-public:
- virtual void SetUp();
- virtual void TearDown();
-
-protected:
- RemoveRedundantMatsProcess *piProcess;
- aiScene *pcScene1;
-};
-
-// ------------------------------------------------------------------------------------------------
-aiMaterial *getUniqueMaterial1() {
- // setup an unique name for each material - this shouldn't care
- aiString mTemp;
- mTemp.Set("UniqueMat1");
-
- aiMaterial *pcMat = new aiMaterial();
- pcMat->AddProperty(&mTemp, AI_MATKEY_NAME);
- float f = 2.0f;
- pcMat->AddProperty<float>(&f, 1, AI_MATKEY_BUMPSCALING);
- pcMat->AddProperty<float>(&f, 1, AI_MATKEY_SHININESS_STRENGTH);
- return pcMat;
-}
-
-// ------------------------------------------------------------------------------------------------
-aiMaterial *getUniqueMaterial2() {
- // setup an unique name for each material - this shouldn't care
- aiString mTemp;
- mTemp.Set("Unique Mat2");
-
- aiMaterial *pcMat = new aiMaterial();
- pcMat->AddProperty(&mTemp, AI_MATKEY_NAME);
- float f = 4.0f;
- int i = 1;
- pcMat->AddProperty<float>(&f, 1, AI_MATKEY_BUMPSCALING);
- pcMat->AddProperty<int>(&i, 1, AI_MATKEY_ENABLE_WIREFRAME);
- return pcMat;
-}
-
-// ------------------------------------------------------------------------------------------------
-aiMaterial *getUniqueMaterial3() {
- // setup an unique name for each material - this shouldn't care
- aiString mTemp;
- mTemp.Set("Complex material name");
-
- aiMaterial *pcMat = new aiMaterial();
- pcMat->AddProperty(&mTemp, AI_MATKEY_NAME);
- return pcMat;
-}
-
-// ------------------------------------------------------------------------------------------------
-void RemoveRedundantMatsTest::SetUp() {
- // construct the process
- piProcess = new RemoveRedundantMatsProcess();
-
- // create a scene with 5 materials (2 is a duplicate of 0, 3 of 1)
- pcScene1 = new aiScene();
- pcScene1->mNumMaterials = 5;
- pcScene1->mMaterials = new aiMaterial *[5];
-
- pcScene1->mMaterials[0] = getUniqueMaterial1();
- pcScene1->mMaterials[1] = getUniqueMaterial2();
- pcScene1->mMaterials[4] = getUniqueMaterial3();
-
- // all materials must be referenced
- pcScene1->mNumMeshes = 5;
- pcScene1->mMeshes = new aiMesh *[5];
- for (unsigned int i = 0; i < 5; ++i) {
- pcScene1->mMeshes[i] = new aiMesh();
- pcScene1->mMeshes[i]->mMaterialIndex = i;
- }
-
- // setup an unique name for each material - this shouldn't care
- aiString mTemp;
- mTemp.length = 1;
- mTemp.data[0] = 48;
- mTemp.data[1] = 0;
-
- aiMaterial *pcMat;
- pcScene1->mMaterials[2] = pcMat = new aiMaterial();
- aiMaterial::CopyPropertyList(pcMat, (const aiMaterial *)pcScene1->mMaterials[0]);
- pcMat->AddProperty(&mTemp, AI_MATKEY_NAME);
- mTemp.data[0]++;
-
- pcScene1->mMaterials[3] = pcMat = new aiMaterial();
- aiMaterial::CopyPropertyList(pcMat, (const aiMaterial *)pcScene1->mMaterials[1]);
- pcMat->AddProperty(&mTemp, AI_MATKEY_NAME);
- mTemp.data[0]++;
-}
-
-// ------------------------------------------------------------------------------------------------
-void RemoveRedundantMatsTest::TearDown() {
- delete piProcess;
- delete pcScene1;
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(RemoveRedundantMatsTest, testRedundantMaterials) {
- piProcess->SetFixedMaterialsString();
-
- piProcess->Execute(pcScene1);
- EXPECT_EQ(3U, pcScene1->mNumMaterials);
- EXPECT_TRUE(0 != pcScene1->mMaterials &&
- 0 != pcScene1->mMaterials[0] &&
- 0 != pcScene1->mMaterials[1] &&
- 0 != pcScene1->mMaterials[2]);
-
- aiString sName;
- EXPECT_EQ(AI_SUCCESS, aiGetMaterialString(pcScene1->mMaterials[2], AI_MATKEY_NAME, &sName));
- EXPECT_STREQ("Complex material name", sName.data);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(RemoveRedundantMatsTest, testRedundantMaterialsWithExcludeList) {
- piProcess->SetFixedMaterialsString("\'Unique Mat2\'\t\'Complex material name\' and_another_one_which_we_wont_use");
-
- piProcess->Execute(pcScene1);
- EXPECT_EQ(4U, pcScene1->mNumMaterials);
- EXPECT_TRUE(0 != pcScene1->mMaterials &&
- 0 != pcScene1->mMaterials[0] &&
- 0 != pcScene1->mMaterials[1] &&
- 0 != pcScene1->mMaterials[2] &&
- 0 != pcScene1->mMaterials[3]);
-
- aiString sName;
- EXPECT_EQ(AI_SUCCESS, aiGetMaterialString(pcScene1->mMaterials[3], AI_MATKEY_NAME, &sName));
- EXPECT_STREQ("Complex material name", sName.data);
-}
diff --git a/libs/assimp/test/unit/utRemoveVCProcess.cpp b/libs/assimp/test/unit/utRemoveVCProcess.cpp
deleted file mode 100644
index b555b0c..0000000
--- a/libs/assimp/test/unit/utRemoveVCProcess.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "PostProcessing/RemoveVCProcess.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/mesh.h>
-#include <assimp/scene.h>
-
-using namespace ::Assimp;
-
-class utRevmoveVCProcess : public ::testing::Test {
- // empty
-};
-
-TEST_F(utRevmoveVCProcess, createTest) {
- bool ok = true;
- try {
- RemoveVCProcess *process = new RemoveVCProcess;
- delete process;
- } catch (...) {
- ok = false;
- }
- EXPECT_TRUE(ok);
-}
-
-TEST_F(utRevmoveVCProcess, issue1266_ProcessMeshTest_NoCrash) {
- aiScene *scene = new aiScene;
- scene->mNumMeshes = 1;
- scene->mMeshes = new aiMesh *[1];
-
- aiMesh *mesh = new aiMesh;
- mesh->mNumVertices = 1;
- mesh->mColors[0] = new aiColor4D[2];
- scene->mMeshes[0] = mesh;
- std::unique_ptr<RemoveVCProcess> process(new RemoveVCProcess);
- process->Execute(scene);
- delete scene;
-}
diff --git a/libs/assimp/test/unit/utSIBImporter.cpp b/libs/assimp/test/unit/utSIBImporter.cpp
deleted file mode 100644
index b36e088..0000000
--- a/libs/assimp/test/unit/utSIBImporter.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include "AssetLib/SIB/SIBImporter.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-#include "AbstractImportExportBase.h"
-
-using namespace ::Assimp;
-
-class utSIBImporter : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/SIB/heffalump.sib", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-};
-
-TEST_F(utSIBImporter, createTest) {
- bool ok(true);
- try {
- SIBImporter myImporter;
- } catch (...) {
- ok = false;
- }
- EXPECT_TRUE(ok);
-}
-
-TEST_F(utSIBImporter, importTest) {
- EXPECT_TRUE(importerTest());
-}
diff --git a/libs/assimp/test/unit/utSMDImportExport.cpp b/libs/assimp/test/unit/utSMDImportExport.cpp
deleted file mode 100644
index 08683d5..0000000
--- a/libs/assimp/test/unit/utSMDImportExport.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include "AbstractImportExportBase.h"
-#include "AssetLib/SMD/SMDLoader.h"
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace ::Assimp;
-
-class utSMDImporter : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/SMD/triangle.smd", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-};
-
-TEST_F(utSMDImporter, createTest) {
- bool ok(true);
- try {
- SMDImporter myImporter;
- } catch (...) {
- ok = false;
- }
- EXPECT_TRUE(ok);
-}
-
-TEST_F(utSMDImporter, importTest) {
- EXPECT_TRUE(importerTest());
-}
-
-TEST_F(utSMDImporter, issue_899_Texture_garbage_at_end_of_string_Test) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR"/SMD/holy_grailref.smd", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
diff --git a/libs/assimp/test/unit/utSTLImportExport.cpp b/libs/assimp/test/unit/utSTLImportExport.cpp
deleted file mode 100644
index 4bf374a..0000000
--- a/libs/assimp/test/unit/utSTLImportExport.cpp
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Exporter.hpp>
-#include <assimp/Importer.hpp>
-
-#include <vector>
-
-using namespace Assimp;
-
-class utSTLImporterExporter : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/STL/Spider_ascii.stl", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-};
-
-TEST_F(utSTLImporterExporter, importSTLFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
-
-TEST_F(utSTLImporterExporter, test_multiple) {
- // import same file twice, each with its own importer
- // must work both times and not crash
- Assimp::Importer importer1;
- const aiScene *scene1 = importer1.ReadFile(ASSIMP_TEST_MODELS_DIR "/STL/Spider_ascii.stl", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene1);
-
- Assimp::Importer importer2;
- const aiScene *scene2 = importer2.ReadFile(ASSIMP_TEST_MODELS_DIR "/STL/Spider_ascii.stl", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene2);
-}
-
-TEST_F(utSTLImporterExporter, importSTLformatdetection) {
- ::Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/STL/formatDetection", aiProcess_ValidateDataStructure);
-
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utSTLImporterExporter, test_with_two_solids) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/STL/triangle_with_two_solids.stl", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utSTLImporterExporter, test_with_empty_solid) {
- Assimp::Importer importer;
- //STL File with empty mesh. We should still be able to import other meshes in this file. ValidateDataStructure should fail.
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/STL/triangle_with_empty_solid.stl", 0);
- EXPECT_NE(nullptr, scene);
-
- const aiScene *scene2 = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/STL/triangle_with_empty_solid.stl", aiProcess_ValidateDataStructure);
- EXPECT_EQ(nullptr, scene2);
-}
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
-
-TEST_F(utSTLImporterExporter, exporterTest) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/STL/Spider_ascii.stl", aiProcess_ValidateDataStructure);
-
- Assimp::Exporter mAiExporter;
- mAiExporter.Export(scene, "stl", "spiderExport.stl");
-
- const aiScene *scene2 = importer.ReadFile("spiderExport.stl", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene2);
-}
-
-TEST_F(utSTLImporterExporter, test_export_pointclouds) {
- struct XYZ {
- float x, y, z;
- };
-
- std::vector<XYZ> points;
-
- for (size_t i = 0; i < 10; ++i) {
- XYZ current;
- current.x = static_cast<float>(i);
- current.y = static_cast<float>(i);
- current.z = static_cast<float>(i);
- points.push_back(current);
- }
- aiScene scene;
- scene.mRootNode = new aiNode();
-
- scene.mMeshes = new aiMesh *[1];
- scene.mMeshes[0] = nullptr;
- scene.mNumMeshes = 1;
-
- scene.mMaterials = new aiMaterial *[1];
- scene.mMaterials[0] = nullptr;
- scene.mNumMaterials = 1;
-
- scene.mMaterials[0] = new aiMaterial();
-
- scene.mMeshes[0] = new aiMesh();
- scene.mMeshes[0]->mMaterialIndex = 0;
-
- scene.mRootNode->mMeshes = new unsigned int[1];
- scene.mRootNode->mMeshes[0] = 0;
- scene.mRootNode->mNumMeshes = 1;
-
- auto pMesh = scene.mMeshes[0];
-
- size_t numValidPoints = points.size();
-
- pMesh->mVertices = new aiVector3D[numValidPoints];
- pMesh->mNumVertices = static_cast<unsigned int>(numValidPoints);
-
- int i = 0;
- for (XYZ &p : points) {
- pMesh->mVertices[i] = aiVector3D(p.x, p.y, p.z);
- ++i;
- }
-
- Assimp::Exporter mAiExporter;
- ExportProperties *properties = new ExportProperties;
- properties->SetPropertyBool(AI_CONFIG_EXPORT_POINT_CLOUDS, true);
- mAiExporter.Export(&scene, "stl", "testExport.stl", 0, properties);
-
- delete properties;
-}
-
-#endif
diff --git a/libs/assimp/test/unit/utScaleProcess.cpp b/libs/assimp/test/unit/utScaleProcess.cpp
deleted file mode 100644
index baa13ab..0000000
--- a/libs/assimp/test/unit/utScaleProcess.cpp
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "PostProcessing/ScaleProcess.h"
-#include "TestModelFactory.h"
-#include "UnitTestPCH.h"
-
-namespace Assimp {
-namespace UnitTest {
-
-class utScaleProcess : public ::testing::Test {
- // empty
-};
-
-TEST_F(utScaleProcess, createTest) {
- bool ok = true;
- try {
- ScaleProcess process;
- } catch (...) {
- ok = false;
- }
- EXPECT_TRUE(ok);
-}
-
-TEST_F(utScaleProcess, accessScaleTest) {
- ScaleProcess process;
- EXPECT_FLOAT_EQ(AI_CONFIG_GLOBAL_SCALE_FACTOR_DEFAULT, process.getScale());
-
- process.setScale(2.0f);
- EXPECT_FLOAT_EQ(2.0f, process.getScale());
-}
-
-} // Namespace UnitTest
-} // Namespace Assimp
diff --git a/libs/assimp/test/unit/utScene.cpp b/libs/assimp/test/unit/utScene.cpp
deleted file mode 100644
index e989db7..0000000
--- a/libs/assimp/test/unit/utScene.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2020, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-#include <assimp/scene.h>
-
-using namespace ::Assimp;
-
-class utScene : public ::testing::Test {
- // empty
-};
-
-TEST_F( utScene, aiNode_addChildrenTest ) {
- aiNode myNode;
-
- static const size_t NumChildren = 10;
- aiNode **childrenPtr = new aiNode*[ NumChildren ];
- for ( unsigned int i = 0; i < NumChildren; i++ ) {
- childrenPtr[ i ] = new aiNode;
- }
- myNode.addChildren( NumChildren, childrenPtr );
- EXPECT_EQ( NumChildren, myNode.mNumChildren );
- for ( unsigned int i = 0; i < NumChildren; i++ ) {
- EXPECT_EQ( childrenPtr[ i ], myNode.mChildren[ i ] );
- }
-}
-
diff --git a/libs/assimp/test/unit/utSceneCombiner.cpp b/libs/assimp/test/unit/utSceneCombiner.cpp
deleted file mode 100644
index d837e4d..0000000
--- a/libs/assimp/test/unit/utSceneCombiner.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-#include <assimp/SceneCombiner.h>
-#include <assimp/mesh.h>
-#include <memory>
-
-using namespace ::Assimp;
-
-class utSceneCombiner : public ::testing::Test {
- // empty
-};
-
-TEST_F(utSceneCombiner, MergeMeshes_ValidNames_Test) {
- std::vector<aiMesh *> merge_list;
- aiMesh *mesh1 = new aiMesh;
- mesh1->mName.Set("mesh_1");
- merge_list.push_back(mesh1);
-
- aiMesh *mesh2 = new aiMesh;
- mesh2->mName.Set("mesh_2");
- merge_list.push_back(mesh2);
-
- aiMesh *mesh3 = new aiMesh;
- mesh3->mName.Set("mesh_3");
- merge_list.push_back(mesh3);
-
- std::unique_ptr<aiMesh> out;
- aiMesh *ptr = nullptr;
- SceneCombiner::MergeMeshes(&ptr, 0, merge_list.begin(), merge_list.end());
- out.reset(ptr);
- std::string outName = out->mName.C_Str();
- EXPECT_EQ("mesh_1.mesh_2.mesh_3", outName);
-}
-
-TEST_F(utSceneCombiner, CopySceneWithNullptr_AI_NO_EXCEPTion) {
- EXPECT_NO_THROW(SceneCombiner::CopyScene(nullptr, nullptr));
- EXPECT_NO_THROW(SceneCombiner::CopySceneFlat(nullptr, nullptr));
-}
diff --git a/libs/assimp/test/unit/utScenePreprocessor.cpp b/libs/assimp/test/unit/utScenePreprocessor.cpp
deleted file mode 100644
index 45d8a36..0000000
--- a/libs/assimp/test/unit/utScenePreprocessor.cpp
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include "Common/ScenePreprocessor.h"
-#include <assimp/mesh.h>
-#include <assimp/scene.h>
-#include <assimp/Importer.hpp>
-
-using namespace std;
-using namespace Assimp;
-
-class ScenePreprocessorTest : public ::testing::Test {
-public:
- ScenePreprocessorTest() :
- Test(), mScenePreprocessor(nullptr), mScene(nullptr) {
- // empty
- }
-
-protected:
- virtual void SetUp();
- virtual void TearDown();
-
-protected:
- void CheckIfOnly(aiMesh *p, unsigned int num, unsigned flag);
- void ProcessAnimation(aiAnimation *anim) { mScenePreprocessor->ProcessAnimation(anim); }
- void ProcessMesh(aiMesh *mesh) { mScenePreprocessor->ProcessMesh(mesh); }
-
-private:
- ScenePreprocessor *mScenePreprocessor;
- aiScene *mScene;
-};
-
-// ------------------------------------------------------------------------------------------------
-void ScenePreprocessorTest::SetUp() {
- // setup a dummy scene with a single node
- mScene = new aiScene();
- mScene->mRootNode = new aiNode();
- mScene->mRootNode->mName.Set("<test>");
-
- // add some translation
- mScene->mRootNode->mTransformation.a4 = 1.f;
- mScene->mRootNode->mTransformation.b4 = 2.f;
- mScene->mRootNode->mTransformation.c4 = 3.f;
-
- // and allocate a ScenePreprocessor to operate on the scene
- mScenePreprocessor = new ScenePreprocessor(mScene);
-}
-
-// ------------------------------------------------------------------------------------------------
-void ScenePreprocessorTest::TearDown() {
- delete mScenePreprocessor;
- delete mScene;
-}
-
-// ------------------------------------------------------------------------------------------------
-// Check whether ProcessMesh() returns flag for a mesh that consist of primitives with num indices
-void ScenePreprocessorTest::CheckIfOnly(aiMesh *p, unsigned int num, unsigned int flag) {
- // Triangles only
- for (unsigned i = 0; i < p->mNumFaces; ++i) {
- p->mFaces[i].mNumIndices = num;
- }
- mScenePreprocessor->ProcessMesh(p);
- EXPECT_EQ(flag, p->mPrimitiveTypes);
- p->mPrimitiveTypes = 0;
-}
-
-// ------------------------------------------------------------------------------------------------
-// Check whether a mesh is preprocessed correctly. Case 1: The mesh needs preprocessing
-TEST_F(ScenePreprocessorTest, testMeshPreprocessingPos) {
- aiMesh *p = new aiMesh;
- p->mNumFaces = 100;
- p->mFaces = new aiFace[p->mNumFaces];
-
- p->mTextureCoords[0] = new aiVector3D[10];
- p->mNumUVComponents[0] = 0;
- p->mNumUVComponents[1] = 0;
-
- CheckIfOnly(p, 1, aiPrimitiveType_POINT);
- CheckIfOnly(p, 2, aiPrimitiveType_LINE);
- CheckIfOnly(p, 3, aiPrimitiveType_TRIANGLE);
- CheckIfOnly(p, 4, aiPrimitiveType_POLYGON);
- CheckIfOnly(p, 1249, aiPrimitiveType_POLYGON);
-
- // Polygons and triangles mixed
- unsigned i;
- for (i = 0; i < p->mNumFaces / 2; ++i) {
- p->mFaces[i].mNumIndices = 3;
- }
- for (; i < p->mNumFaces - p->mNumFaces / 4; ++i) {
- p->mFaces[i].mNumIndices = 4;
- }
- for (; i < p->mNumFaces; ++i) {
- p->mFaces[i].mNumIndices = 10;
- }
- ProcessMesh(p);
- EXPECT_EQ(static_cast<unsigned int>(aiPrimitiveType_TRIANGLE | aiPrimitiveType_POLYGON),
- p->mPrimitiveTypes);
- EXPECT_EQ(2U, p->mNumUVComponents[0]);
- EXPECT_EQ(0U, p->mNumUVComponents[1]);
- delete p;
-}
-
-// ------------------------------------------------------------------------------------------------
-// Check whether a mesh is preprocessed correctly. Case 1: The mesh doesn't need preprocessing
-TEST_F(ScenePreprocessorTest, testMeshPreprocessingNeg) {
- aiMesh *p = new aiMesh;
- p->mPrimitiveTypes = aiPrimitiveType_TRIANGLE | aiPrimitiveType_POLYGON;
- ProcessMesh(p);
-
- // should be unmodified
- EXPECT_EQ(static_cast<unsigned int>(aiPrimitiveType_TRIANGLE | aiPrimitiveType_POLYGON),
- p->mPrimitiveTypes);
-
- delete p;
-}
-
-// ------------------------------------------------------------------------------------------------
-// Make a dummy animation with a single channel, '<test>'
-aiAnimation *MakeDummyAnimation() {
- aiAnimation *p = new aiAnimation();
- p->mNumChannels = 1;
- p->mChannels = new aiNodeAnim *[1];
- aiNodeAnim *anim = p->mChannels[0] = new aiNodeAnim();
- anim->mNodeName.Set("<test>");
- return p;
-}
-
-// ------------------------------------------------------------------------------------------------
-// Check whether an anim is preprocessed correctly. Case 1: The anim needs preprocessing
-TEST_F(ScenePreprocessorTest, testAnimationPreprocessingPos) {
- aiAnimation *p = MakeDummyAnimation();
- aiNodeAnim *anim = p->mChannels[0];
-
- // we don't set the animation duration, but generate scaling channels
- anim->mNumScalingKeys = 10;
- anim->mScalingKeys = new aiVectorKey[10];
-
- for (unsigned int i = 0; i < 10; ++i) {
- anim->mScalingKeys[i].mTime = i;
- anim->mScalingKeys[i].mValue = aiVector3D((float)i);
- }
- ProcessAnimation(p);
-
- // we should now have a proper duration
- EXPECT_NEAR(p->mDuration, 9., 0.005);
-
- // ... one scaling key
- EXPECT_TRUE(anim->mNumPositionKeys == 1 &&
- anim->mPositionKeys &&
- anim->mPositionKeys[0].mTime == 0.0 &&
- anim->mPositionKeys[0].mValue == aiVector3D(1.f, 2.f, 3.f));
-
- // ... and one rotation key
- EXPECT_TRUE(anim->mNumRotationKeys == 1 && anim->mRotationKeys &&
- anim->mRotationKeys[0].mTime == 0.0);
-
- delete p;
-}
diff --git a/libs/assimp/test/unit/utSharedPPData.cpp b/libs/assimp/test/unit/utSharedPPData.cpp
deleted file mode 100644
index e4be169..0000000
--- a/libs/assimp/test/unit/utSharedPPData.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include <assimp/scene.h>
-
-#include "Common/BaseProcess.h"
-
-using namespace std;
-using namespace Assimp;
-
-class SharedPPDataTest : public ::testing::Test {
-public:
- virtual void SetUp();
- virtual void TearDown();
-
-protected:
- SharedPostProcessInfo* shared;
-};
-
-// ------------------------------------------------------------------------------------------------
-void SharedPPDataTest::SetUp()
-{
- shared = new SharedPostProcessInfo();
-}
-
-// ------------------------------------------------------------------------------------------------
-void SharedPPDataTest::TearDown()
-{
- delete shared;
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(SharedPPDataTest, testPODProperty)
-{
- int i = 5;
- shared->AddProperty("test",i);
- int o = 0;
- EXPECT_TRUE(shared->GetProperty("test",o));
- EXPECT_EQ(5, o);
- EXPECT_FALSE(shared->GetProperty("test2",o));
- EXPECT_EQ(5, o);
-
- float f = 12.f, m;
- shared->AddProperty("test",f);
- EXPECT_TRUE(shared->GetProperty("test",m));
- EXPECT_EQ(12.f, m);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(SharedPPDataTest, testPropertyPointer)
-{
- int *i = new int;
- shared->AddProperty("test16",i);
- int* o;
- EXPECT_TRUE(shared->GetProperty("test16",o));
- EXPECT_EQ(i, o);
- shared->RemoveProperty("test16");
- EXPECT_FALSE(shared->GetProperty("test16",o));
-}
-
-static bool destructed;
-
-struct TestType
-{
- ~TestType()
- {
- destructed = true;
- }
-};
-// ------------------------------------------------------------------------------------------------
-TEST_F(SharedPPDataTest, testPropertyDeallocation)
-{
- SharedPostProcessInfo* localShared = new SharedPostProcessInfo();
- destructed = false;
-
- TestType *out, * pip = new TestType();
- localShared->AddProperty("quak",pip);
- EXPECT_TRUE(localShared->GetProperty("quak",out));
- EXPECT_EQ(pip, out);
-
- delete localShared;
- EXPECT_TRUE(destructed);
-}
diff --git a/libs/assimp/test/unit/utSimd.cpp b/libs/assimp/test/unit/utSimd.cpp
deleted file mode 100644
index 720d657..0000000
--- a/libs/assimp/test/unit/utSimd.cpp
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "UnitTestPCH.h"
-
-#include "Common/simd.h"
-
-using namespace ::Assimp;
-
-class utSimd : public ::testing::Test {
-protected:
- // empty
-};
-
-TEST_F( utSimd, SSE2SupportedTest ) {
- bool isSupported;
-
- isSupported = CPUSupportsSSE2();
- if ( isSupported ) {
- std::cout << "Supported" << std::endl;
- } else {
- std::cout << "Not supported" << std::endl;
- }
-}
diff --git a/libs/assimp/test/unit/utSortByPType.cpp b/libs/assimp/test/unit/utSortByPType.cpp
deleted file mode 100644
index 4dc0342..0000000
--- a/libs/assimp/test/unit/utSortByPType.cpp
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include "Common/ScenePreprocessor.h"
-#include "PostProcessing/SortByPTypeProcess.h"
-#include <assimp/scene.h>
-
-using namespace std;
-using namespace Assimp;
-
-class SortByPTypeProcessTest : public ::testing::Test {
-public:
- SortByPTypeProcessTest() :
- Test(), mProcess1(nullptr), mScene(nullptr) {
- // empty
- }
-
-protected:
- virtual void SetUp();
- virtual void TearDown();
-
-protected:
- SortByPTypeProcess *mProcess1;
- aiScene *mScene;
-};
-
-// ------------------------------------------------------------------------------------------------
-static unsigned int num[10][4] = {
- { 0, 0, 0, 1000 },
- { 0, 0, 1000, 0 },
- { 0, 1000, 0, 0 },
- { 1000, 0, 0, 0 },
- { 500, 500, 0, 0 },
- { 500, 0, 500, 0 },
- { 0, 330, 330, 340 },
- { 250, 250, 250, 250 },
- { 100, 100, 100, 700 },
- { 0, 100, 0, 900 },
-};
-
-// ------------------------------------------------------------------------------------------------
-static unsigned int result[10] = {
- aiPrimitiveType_POLYGON,
- aiPrimitiveType_TRIANGLE,
- aiPrimitiveType_LINE,
- aiPrimitiveType_POINT,
- aiPrimitiveType_POINT | aiPrimitiveType_LINE,
- aiPrimitiveType_POINT | aiPrimitiveType_TRIANGLE,
- aiPrimitiveType_TRIANGLE | aiPrimitiveType_LINE | aiPrimitiveType_POLYGON,
- aiPrimitiveType_POLYGON | aiPrimitiveType_LINE | aiPrimitiveType_TRIANGLE | aiPrimitiveType_POINT,
- aiPrimitiveType_POLYGON | aiPrimitiveType_LINE | aiPrimitiveType_TRIANGLE | aiPrimitiveType_POINT,
- aiPrimitiveType_LINE | aiPrimitiveType_POLYGON,
-};
-
-// ------------------------------------------------------------------------------------------------
-void SortByPTypeProcessTest::SetUp() {
- mProcess1 = new SortByPTypeProcess();
- mScene = new aiScene();
-
- mScene->mNumMeshes = 10;
- mScene->mMeshes = new aiMesh *[10];
-
- bool five = false;
- for (unsigned int i = 0; i < 10; ++i) {
- aiMesh *mesh = mScene->mMeshes[i] = new aiMesh();
- mesh->mNumFaces = 1000;
- aiFace *faces = mesh->mFaces = new aiFace[1000];
- aiVector3D *pv = mesh->mVertices = new aiVector3D[mesh->mNumFaces * 5];
- aiVector3D *pn = mesh->mNormals = new aiVector3D[mesh->mNumFaces * 5];
-
- aiVector3D *pt = mesh->mTangents = new aiVector3D[mesh->mNumFaces * 5];
- aiVector3D *pb = mesh->mBitangents = new aiVector3D[mesh->mNumFaces * 5];
-
- aiVector3D *puv = mesh->mTextureCoords[0] = new aiVector3D[mesh->mNumFaces * 5];
-
- unsigned int remaining[4] = { num[i][0], num[i][1], num[i][2], num[i][3] };
- unsigned int n = 0;
- for (unsigned int m = 0; m < 1000; ++m) {
- unsigned int idx = m % 4;
- while (true) {
- if (!remaining[idx]) {
- if (4 == ++idx) {
- idx = 0;
- }
- continue;
- }
- break;
- }
- faces->mNumIndices = idx + 1;
- if (4 == faces->mNumIndices) {
- if (five) ++faces->mNumIndices;
- five = !five;
- }
- faces->mIndices = new unsigned int[faces->mNumIndices];
- for (unsigned int q = 0; q < faces->mNumIndices; ++q, ++n) {
- faces->mIndices[q] = n;
- float f = (float)remaining[idx];
-
- // (the values need to be unique - otherwise all degenerates would be removed)
- *pv++ = aiVector3D(f, f + 1.f, f + q);
- *pn++ = aiVector3D(f, f + 1.f, f + q);
- *pt++ = aiVector3D(f, f + 1.f, f + q);
- *pb++ = aiVector3D(f, f + 1.f, f + q);
- *puv++ = aiVector3D(f, f + 1.f, f + q);
- }
- ++faces;
- --remaining[idx];
- }
- mesh->mNumVertices = n;
- }
-
- mScene->mRootNode = new aiNode();
- mScene->mRootNode->mNumChildren = 5;
- mScene->mRootNode->mChildren = new aiNode *[5];
- for (unsigned int i = 0; i < 5; ++i) {
- aiNode *node = mScene->mRootNode->mChildren[i] = new aiNode();
- node->mNumMeshes = 2;
- node->mMeshes = new unsigned int[2];
- node->mMeshes[0] = (i << 1u);
- node->mMeshes[1] = (i << 1u) + 1;
- }
-}
-
-// ------------------------------------------------------------------------------------------------
-void SortByPTypeProcessTest::TearDown() {
- delete mProcess1;
- delete mScene;
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(SortByPTypeProcessTest, SortByPTypeStep) {
- ScenePreprocessor s(mScene);
- s.ProcessScene();
- for (unsigned int m = 0; m < 10; ++m)
- EXPECT_EQ(result[m], mScene->mMeshes[m]->mPrimitiveTypes);
-
- mProcess1->Execute(mScene);
-
- unsigned int idx = 0;
- for (unsigned int m = 0, real = 0; m < 10; ++m) {
- for (unsigned int n = 0; n < 4; ++n) {
- idx = num[m][n];
- if (idx) {
- EXPECT_TRUE(real < mScene->mNumMeshes);
-
- aiMesh *mesh = mScene->mMeshes[real];
-
- EXPECT_TRUE(NULL != mesh);
- EXPECT_EQ(AI_PRIMITIVE_TYPE_FOR_N_INDICES(n + 1), mesh->mPrimitiveTypes);
- EXPECT_TRUE(NULL != mesh->mVertices);
- EXPECT_TRUE(NULL != mesh->mNormals);
- EXPECT_TRUE(NULL != mesh->mTangents);
- EXPECT_TRUE(NULL != mesh->mBitangents);
- EXPECT_TRUE(NULL != mesh->mTextureCoords[0]);
-
- EXPECT_TRUE(mesh->mNumFaces == idx);
- for (unsigned int f = 0; f < mesh->mNumFaces; ++f) {
- aiFace &face = mesh->mFaces[f];
- EXPECT_TRUE(face.mNumIndices == (n + 1) || (3 == n && face.mNumIndices > 3));
- }
- ++real;
- }
- }
- }
-}
diff --git a/libs/assimp/test/unit/utSplitLargeMeshes.cpp b/libs/assimp/test/unit/utSplitLargeMeshes.cpp
deleted file mode 100644
index c8a697d..0000000
--- a/libs/assimp/test/unit/utSplitLargeMeshes.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include "PostProcessing/SplitLargeMeshes.h"
-#include <assimp/scene.h>
-
-using namespace std;
-using namespace Assimp;
-
-class SplitLargeMeshesTest : public ::testing::Test {
-public:
- virtual void SetUp();
- virtual void TearDown();
-
-protected:
- SplitLargeMeshesProcess_Triangle *piProcessTriangle;
- SplitLargeMeshesProcess_Vertex *piProcessVertex;
-};
-
-// ------------------------------------------------------------------------------------------------
-void SplitLargeMeshesTest::SetUp() {
- // construct the processes
- this->piProcessTriangle = new SplitLargeMeshesProcess_Triangle();
- this->piProcessVertex = new SplitLargeMeshesProcess_Vertex();
-
- this->piProcessTriangle->SetLimit(1000);
- this->piProcessVertex->SetLimit(1000);
-}
-
-// ------------------------------------------------------------------------------------------------
-void SplitLargeMeshesTest::TearDown() {
- delete this->piProcessTriangle;
- delete this->piProcessVertex;
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(SplitLargeMeshesTest, testVertexSplit) {
- std::vector<std::pair<aiMesh *, unsigned int>> avOut;
-
- aiMesh *pcMesh1 = new aiMesh();
- pcMesh1->mNumVertices = 2100; // quersumme: 3
- pcMesh1->mVertices = new aiVector3D[pcMesh1->mNumVertices];
- pcMesh1->mNormals = new aiVector3D[pcMesh1->mNumVertices];
-
- pcMesh1->mNumFaces = pcMesh1->mNumVertices / 3;
- pcMesh1->mFaces = new aiFace[pcMesh1->mNumFaces];
-
- unsigned int qq = 0;
- for (unsigned int i = 0; i < pcMesh1->mNumFaces; ++i) {
- aiFace &face = pcMesh1->mFaces[i];
- face.mNumIndices = 3;
- face.mIndices = new unsigned int[3];
- face.mIndices[0] = qq++;
- face.mIndices[1] = qq++;
- face.mIndices[2] = qq++;
- }
-
- int iOldFaceNum = (int)pcMesh1->mNumFaces;
- piProcessVertex->SplitMesh(0, pcMesh1, avOut);
-
- for (std::vector<std::pair<aiMesh *, unsigned int>>::const_iterator
- iter = avOut.begin(),
- end = avOut.end();
- iter != end; ++iter) {
- aiMesh *mesh = (*iter).first;
- EXPECT_LT(mesh->mNumVertices, 1000U);
- EXPECT_TRUE(NULL != mesh->mNormals);
- EXPECT_TRUE(NULL != mesh->mVertices);
-
- iOldFaceNum -= mesh->mNumFaces;
- delete mesh;
- }
- EXPECT_EQ(0, iOldFaceNum);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(SplitLargeMeshesTest, testTriangleSplit) {
- std::vector<std::pair<aiMesh *, unsigned int>> avOut;
-
- // generate many, many faces with randomized indices for
- // the second mesh
- aiMesh *pcMesh2 = new aiMesh();
- pcMesh2->mNumVertices = 3000;
- pcMesh2->mVertices = new aiVector3D[pcMesh2->mNumVertices];
- pcMesh2->mNormals = new aiVector3D[pcMesh2->mNumVertices];
-
- pcMesh2->mNumFaces = 10000;
- pcMesh2->mFaces = new aiFace[pcMesh2->mNumFaces];
-
- for (unsigned int i = 0; i < pcMesh2->mNumFaces; ++i) {
- aiFace &face = pcMesh2->mFaces[i];
- face.mNumIndices = 3;
- face.mIndices = new unsigned int[3];
- face.mIndices[0] = (unsigned int)((rand() / (float)RAND_MAX) * pcMesh2->mNumVertices);
- face.mIndices[1] = (unsigned int)((rand() / (float)RAND_MAX) * pcMesh2->mNumVertices);
- face.mIndices[2] = (unsigned int)((rand() / (float)RAND_MAX) * pcMesh2->mNumVertices);
- }
-
- // the number of faces shouldn't change
- int iOldFaceNum = (int)pcMesh2->mNumFaces;
- piProcessTriangle->SplitMesh(0, pcMesh2, avOut);
-
- for (std::vector<std::pair<aiMesh *, unsigned int>>::const_iterator
- iter = avOut.begin(),
- end = avOut.end();
- iter != end; ++iter) {
- aiMesh *mesh = (*iter).first;
- EXPECT_LT(mesh->mNumFaces, 1000U);
- EXPECT_TRUE(NULL != mesh->mNormals);
- EXPECT_TRUE(NULL != mesh->mVertices);
-
- iOldFaceNum -= mesh->mNumFaces;
- delete mesh;
- }
- EXPECT_EQ(0, iOldFaceNum);
-}
diff --git a/libs/assimp/test/unit/utStringUtils.cpp b/libs/assimp/test/unit/utStringUtils.cpp
deleted file mode 100644
index 9c5ab31..0000000
--- a/libs/assimp/test/unit/utStringUtils.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-#include <assimp/StringUtils.h>
-
-class utStringUtils : public ::testing::Test {
- // empty
-};
-
-TEST_F(utStringUtils, to_string_Test ) {
- std::string res = ai_to_string( 1 );
- EXPECT_EQ( res, "1" );
-
- res = ai_to_string( 1.0f );
- EXPECT_EQ( res, "1" );
-}
-
-TEST_F(utStringUtils, ai_strtofTest ) {
- float res = ai_strtof( nullptr, nullptr );
- EXPECT_FLOAT_EQ( res, 0.0f );
-
- std::string testStr1 = "200.0";
- res = ai_strtof( testStr1.c_str(), nullptr );
- EXPECT_FLOAT_EQ( res, 200.0f );
-
- std::string testStr2 = "200.0 xxx";
- const char *begin( testStr2.c_str() );
- const char *end( begin + 6 );
- res = ai_strtof( begin, end );
- EXPECT_FLOAT_EQ( res, 200.0f );
-}
-
-TEST_F(utStringUtils, ai_rgba2hexTest) {
- std::string result;
- result = ai_rgba2hex(255, 255, 255, 255, true);
- EXPECT_EQ(result, "#ffffffff");
- result = ai_rgba2hex(0, 0, 0, 0, false);
- EXPECT_EQ(result, "00000000");
-}
diff --git a/libs/assimp/test/unit/utTargetAnimation.cpp b/libs/assimp/test/unit/utTargetAnimation.cpp
deleted file mode 100644
index 9cbb453..0000000
--- a/libs/assimp/test/unit/utTargetAnimation.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-// TODO
diff --git a/libs/assimp/test/unit/utTextureTransform.cpp b/libs/assimp/test/unit/utTextureTransform.cpp
deleted file mode 100644
index 9cbb453..0000000
--- a/libs/assimp/test/unit/utTextureTransform.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-// TODO
diff --git a/libs/assimp/test/unit/utTriangulate.cpp b/libs/assimp/test/unit/utTriangulate.cpp
deleted file mode 100644
index 874e55c..0000000
--- a/libs/assimp/test/unit/utTriangulate.cpp
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include <assimp/scene.h>
-
-#include "PostProcessing/TriangulateProcess.h"
-
-using namespace std;
-using namespace Assimp;
-
-class TriangulateProcessTest : public ::testing::Test {
-public:
- virtual void SetUp();
- virtual void TearDown();
-
-protected:
- aiMesh *pcMesh;
- TriangulateProcess *piProcess;
-};
-
-void TriangulateProcessTest::SetUp() {
- piProcess = new TriangulateProcess();
- pcMesh = new aiMesh();
-
- pcMesh->mNumFaces = 1000;
- pcMesh->mFaces = new aiFace[1000];
- pcMesh->mVertices = new aiVector3D[10000];
-
- pcMesh->mPrimitiveTypes = aiPrimitiveType_POINT | aiPrimitiveType_LINE | aiPrimitiveType_POLYGON;
-
- for (unsigned int m = 0, t = 0, q = 4; m < 1000; ++m) {
- ++t;
- aiFace &face = pcMesh->mFaces[m];
- face.mNumIndices = t;
- if (4 == t) {
- face.mNumIndices = q++;
- t = 0;
-
- if (10 == q) q = 4;
- }
- face.mIndices = new unsigned int[face.mNumIndices];
- for (unsigned int p = 0; p < face.mNumIndices; ++p) {
- face.mIndices[p] = pcMesh->mNumVertices;
-
- // construct fully convex input data in ccw winding, xy plane
- aiVector3D &v = pcMesh->mVertices[pcMesh->mNumVertices++];
- v.z = 0.f;
- v.x = cos(p * (float)(AI_MATH_TWO_PI) / face.mNumIndices);
- v.y = sin(p * (float)(AI_MATH_TWO_PI) / face.mNumIndices);
- }
- }
-}
-
-void TriangulateProcessTest::TearDown() {
- delete piProcess;
- delete pcMesh;
-}
-
-TEST_F(TriangulateProcessTest, testTriangulation) {
- piProcess->TriangulateMesh(pcMesh);
-
- for (unsigned int m = 0, t = 0, q = 4, max = 1000, idx = 0; m < max; ++m) {
- ++t;
- aiFace &face = pcMesh->mFaces[m];
- if (4 == t) {
- t = 0;
- max += q - 3;
-
- std::vector<bool> ait(q, false);
-
- for (unsigned int i = 0, tt = q - 2; i < tt; ++i, ++m) {
- aiFace &curFace = pcMesh->mFaces[m];
- EXPECT_EQ(3U, curFace.mNumIndices);
-
- for (unsigned int qqq = 0; qqq < curFace.mNumIndices; ++qqq) {
- ait[curFace.mIndices[qqq] - idx] = true;
- }
- }
- for (std::vector<bool>::const_iterator it = ait.begin(); it != ait.end(); ++it) {
- EXPECT_TRUE(*it);
- }
- --m;
- idx += q;
- if (++q == 10) {
- q = 4;
- }
- } else {
- EXPECT_EQ(t, face.mNumIndices);
-
- for (unsigned int i = 0; i < face.mNumIndices; ++i, ++idx) {
- EXPECT_EQ(idx, face.mIndices[i]);
- }
- }
- }
-
- // we should have no valid normal vectors now because we aren't a pure polygon mesh
- EXPECT_TRUE(pcMesh->mNormals == NULL);
-}
diff --git a/libs/assimp/test/unit/utTypes.cpp b/libs/assimp/test/unit/utTypes.cpp
deleted file mode 100644
index 33d2b4f..0000000
--- a/libs/assimp/test/unit/utTypes.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include <assimp/types.h>
-
-using namespace Assimp;
-
-class utTypes : public ::testing::Test {
- // empty
-};
-
-TEST_F( utTypes, Color3dCpmpareOpTest ) {
- aiColor3D col1( 1, 2, 3 );
- aiColor3D col2( 4, 5, 6 );
- const aiColor3D &col3(col1);
-
- EXPECT_FALSE( col1 == col2 );
- EXPECT_FALSE( col2 == col3 );
- EXPECT_TRUE( col1 == col3 );
-
- EXPECT_TRUE( col1 != col2 );
- EXPECT_TRUE( col2 != col3 );
- EXPECT_FALSE( col1 != col3 );
-}
-
-TEST_F( utTypes, Color3dIndexOpTest ) {
- aiColor3D col( 1, 2, 3 );
- const ai_real r = col[ 0 ];
- EXPECT_FLOAT_EQ( 1, r );
-
- const ai_real g = col[ 1 ];
- EXPECT_FLOAT_EQ( 2, g );
-
- const ai_real b = col[ 2 ];
- EXPECT_FLOAT_EQ( 3, b );
-}
diff --git a/libs/assimp/test/unit/utValidateDataStructure.cpp b/libs/assimp/test/unit/utValidateDataStructure.cpp
deleted file mode 100644
index 099c54d..0000000
--- a/libs/assimp/test/unit/utValidateDataStructure.cpp
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2020, assimp team
-
-
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include <assimp/mesh.h>
-#include <assimp/scene.h>
-#include <ValidateDataStructure.h>
-
-using namespace std;
-using namespace Assimp;
-
-
-class ValidateDataStructureTest : public ::testing::Test
-{
-public:
-
- virtual void SetUp();
- virtual void TearDown();
-
-protected:
-
-
- ValidateDSProcess* vds;
- aiScene* scene;
-};
-
-// ------------------------------------------------------------------------------------------------
-void ValidateDataStructureTest::SetUp()
-{
- // setup a dummy scene with a single node
- scene = new aiScene();
- scene->mRootNode = new aiNode();
- scene->mRootNode->mName.Set("<test>");
-
- // add some translation
- scene->mRootNode->mTransformation.a4 = 1.f;
- scene->mRootNode->mTransformation.b4 = 2.f;
- scene->mRootNode->mTransformation.c4 = 3.f;
-
- // and allocate a ScenePreprocessor to operate on the scene
- vds = new ValidateDSProcess();
-}
-
-// ------------------------------------------------------------------------------------------------
-void ValidateDataStructureTest::TearDown()
-{
- delete vds;
- delete scene;
-}
-
-
-
-// ------------------------------------------------------------------------------------------------
-//Template
-//TEST_F(ScenePreprocessorTest, test)
-//{
-//}
-// TODO Conditions not yet checked:
-//132: ReportError("aiScene::%s is NULL (aiScene::%s is %i)",
-//139: ReportError("aiScene::%s[%i] is NULL (aiScene::%s is %i)",
-//156: ReportError("aiScene::%s is NULL (aiScene::%s is %i)",
-//163: ReportError("aiScene::%s[%i] is NULL (aiScene::%s is %i)",
-//173: ReportError("aiScene::%s[%i] has the same name as "
-//192: ReportError("aiScene::%s[%i] has no corresponding node in the scene graph (%s)",
-//196: ReportError("aiScene::%s[%i]: there are more than one nodes with %s as name",
-//217: ReportError("aiScene::mNumMeshes is 0. At least one mesh must be there");
-//220: ReportError("aiScene::mMeshes is non-null although there are no meshes");
-//229: ReportError("aiScene::mAnimations is non-null although there are no animations");
-//238: ReportError("aiScene::mCameras is non-null although there are no cameras");
-//247: ReportError("aiScene::mLights is non-null although there are no lights");
-//256: ReportError("aiScene::mTextures is non-null although there are no textures");
-//266: ReportError("aiScene::mNumMaterials is 0. At least one material must be there");
-//270: ReportError("aiScene::mMaterials is non-null although there are no materials");
-//281: ReportWarning("aiLight::mType is aiLightSource_UNDEFINED");
-//286: ReportWarning("aiLight::mAttenuationXXX - all are zero");
-//290: ReportError("aiLight::mAngleInnerCone is larger than aiLight::mAngleOuterCone");
-//295: ReportWarning("aiLight::mColorXXX - all are black and won't have any influence");
-//303: ReportError("aiCamera::mClipPlaneFar must be >= aiCamera::mClipPlaneNear");
-//308: ReportWarning("%f is not a valid value for aiCamera::mHorizontalFOV",pCamera->mHorizontalFOV);
-//317: ReportError("aiMesh::mMaterialIndex is invalid (value: %i maximum: %i)",
-//332: ReportError("aiMesh::mFaces[%i].mNumIndices is 0",i);
-//336: ReportError("aiMesh::mFaces[%i] is a POINT but aiMesh::mPrimitiveTypes "
-//337: "does not report the POINT flag",i);
-//343: ReportError("aiMesh::mFaces[%i] is a LINE but aiMesh::mPrimitiveTypes "
-//344: "does not report the LINE flag",i);
-//350: ReportError("aiMesh::mFaces[%i] is a TRIANGLE but aiMesh::mPrimitiveTypes "
-//351: "does not report the TRIANGLE flag",i);
-//357: this->ReportError("aiMesh::mFaces[%i] is a POLYGON but aiMesh::mPrimitiveTypes "
-//358: "does not report the POLYGON flag",i);
-//365: ReportError("aiMesh::mFaces[%i].mIndices is NULL",i);
-//370: ReportError("The mesh %s contains no vertices", pMesh->mName.C_Str());
-//374: ReportError("Mesh has too many vertices: %u, but the limit is %u",pMesh->mNumVertices,AI_MAX_VERTICES);
-//377: ReportError("Mesh has too many faces: %u, but the limit is %u",pMesh->mNumFaces,AI_MAX_FACES);
-//382: ReportError("If there are tangents, bitangent vectors must be present as well");
-//387: ReportError("Mesh %s contains no faces", pMesh->mName.C_Str());
-//398: ReportError("Face %u has too many faces: %u, but the limit is %u",i,face.mNumIndices,AI_MAX_FACE_INDICES);
-//404: ReportError("aiMesh::mFaces[%i]::mIndices[%i] is out of range",i,a);
-//412: ReportError("aiMesh::mVertices[%i] is referenced twice - second "
-//426: ReportWarning("There are unreferenced vertices");
-//439: ReportError("Texture coordinate channel %i exists "
-//453: ReportError("Vertex color channel %i is exists "
-//464: ReportError("aiMesh::mBones is NULL (aiMesh::mNumBones is %i)",
-//480: ReportError("Bone %u has too many weights: %u, but the limit is %u",i,bone->mNumWeights,AI_MAX_BONE_WEIGHTS);
-//485: ReportError("aiMesh::mBones[%i] is NULL (aiMesh::mNumBones is %i)",
-//498: ReportError("aiMesh::mBones[%i], name = \"%s\" has the same name as "
-//507: ReportWarning("aiMesh::mVertices[%i]: bone weight sum != 1.0 (sum is %f)",i,afSum[i]);
-//513: ReportError("aiMesh::mBones is non-null although there are no bones");
-//524: ReportError("aiBone::mNumWeights is zero");
-//531: ReportError("aiBone::mWeights[%i].mVertexId is out of range",i);
-//534: ReportWarning("aiBone::mWeights[%i].mWeight has an invalid value",i);
-//549: ReportError("aiAnimation::mChannels is NULL (aiAnimation::mNumChannels is %i)",
-//556: ReportError("aiAnimation::mChannels[%i] is NULL (aiAnimation::mNumChannels is %i)",
-//563: ReportError("aiAnimation::mNumChannels is 0. At least one node animation channel must be there.");
-//567: // if (!pAnimation->mDuration)this->ReportError("aiAnimation::mDuration is zero");
-//592: ReportError("Material property %s is expected to be a string",prop->mKey.data);
-//596: ReportError("%s #%i is set, but there are only %i %s textures",
-//611: ReportError("Found texture property with index %i, although there "
-//619: ReportError("Material property %s%i is expected to be an integer (size is %i)",
-//627: ReportError("Material property %s%i is expected to be 5 floats large (size is %i)",
-//635: ReportError("Material property %s%i is expected to be an integer (size is %i)",
-//656: ReportWarning("Invalid UV index: %i (key %s). Mesh %i has only %i UV channels",
-//676: ReportWarning("UV-mapped texture, but there are no UV coords");
-//690: ReportError("aiMaterial::mProperties[%i] is NULL (aiMaterial::mNumProperties is %i)",
-//694: ReportError("aiMaterial::mProperties[%i].mDataLength or "
-//702: ReportError("aiMaterial::mProperties[%i].mDataLength is "
-//707: ReportError("Missing null-terminator in string material property");
-//713: ReportError("aiMaterial::mProperties[%i].mDataLength is "
-//720: ReportError("aiMaterial::mProperties[%i].mDataLength is "
-//739: ReportWarning("A specular shading model is specified but there is no "
-//743: ReportWarning("A specular shading model is specified but the value of the "
-//752: ReportWarning("Invalid opacity value (must be 0 < opacity < 1.0)");
-//776: ReportError("aiTexture::pcData is NULL");
-//781: ReportError("aiTexture::mWidth is zero (aiTexture::mHeight is %i, uncompressed texture)",
-//788: ReportError("aiTexture::mWidth is zero (compressed texture)");
-//791: ReportWarning("aiTexture::achFormatHint must be zero-terminated");
-//794: ReportWarning("aiTexture::achFormatHint should contain a file extension "
-//804: ReportError("aiTexture::achFormatHint contains non-lowercase letters");
-//815: ReportError("Empty node animation channel");
-//822: ReportError("aiNodeAnim::mPositionKeys is NULL (aiNodeAnim::mNumPositionKeys is %i)",
-//833: ReportError("aiNodeAnim::mPositionKeys[%i].mTime (%.5f) is larger "
-//840: ReportWarning("aiNodeAnim::mPositionKeys[%i].mTime (%.5f) is smaller "
-//853: ReportError("aiNodeAnim::mRotationKeys is NULL (aiNodeAnim::mNumRotationKeys is %i)",
-//861: ReportError("aiNodeAnim::mRotationKeys[%i].mTime (%.5f) is larger "
-//868: ReportWarning("aiNodeAnim::mRotationKeys[%i].mTime (%.5f) is smaller "
-//880: ReportError("aiNodeAnim::mScalingKeys is NULL (aiNodeAnim::mNumScalingKeys is %i)",
-//888: ReportError("aiNodeAnim::mScalingKeys[%i].mTime (%.5f) is larger "
-//895: ReportWarning("aiNodeAnim::mScalingKeys[%i].mTime (%.5f) is smaller "
-//907: ReportError("A node animation channel must have at least one subtrack");
-//915: ReportError("A node of the scenegraph is NULL");
-//920: ReportError("Non-root node %s lacks a valid parent (aiNode::mParent is NULL) ",pNode->mName);
-//928: ReportError("aiNode::mMeshes is NULL for node %s (aiNode::mNumMeshes is %i)",
-//937: ReportError("aiNode::mMeshes[%i] is out of range for node %s (maximum is %i)",
-//942: ReportError("aiNode::mMeshes[%i] is already referenced by this node %s (value: %i)",
-//951: ReportError("aiNode::mChildren is NULL for node %s (aiNode::mNumChildren is %i)",
-//965: ReportError("aiString::length is too large (%i, maximum is %lu)",
-//974: ReportError("aiString::data is invalid: the terminal zero is at a wrong offset");
-//979: ReportError("aiString::data is invalid. There is no terminal character");
-}
-
diff --git a/libs/assimp/test/unit/utVector3.cpp b/libs/assimp/test/unit/utVector3.cpp
deleted file mode 100644
index 2602c28..0000000
--- a/libs/assimp/test/unit/utVector3.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/*-------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------*/
-#include "UnitTestPCH.h"
-#include <assimp/vector3.h>
-
-using namespace ::Assimp;
-
-class utVector3 : public ::testing::Test {
- // empty
-};
-
-TEST_F(utVector3, CreationTest) {
- aiVector3D v0;
- aiVector3D v1(1.0f, 2.0f, 3.0f);
- EXPECT_FLOAT_EQ(1.0f, v1[0]);
- EXPECT_FLOAT_EQ(2.0f, v1[1]);
- EXPECT_FLOAT_EQ(3.0f, v1[2]);
- aiVector3D v2(1);
- EXPECT_FLOAT_EQ(1.0f, v2[0]);
- EXPECT_FLOAT_EQ(1.0f, v2[1]);
- EXPECT_FLOAT_EQ(1.0f, v2[2]);
- aiVector3D v3(v1);
- EXPECT_FLOAT_EQ(v1[0], v3[0]);
- EXPECT_FLOAT_EQ(v1[1], v3[1]);
- EXPECT_FLOAT_EQ(v1[2], v3[2]);
-}
-
-TEST_F(utVector3, BracketOpTest) {
- aiVector3D v(1.0f, 2.0f, 3.0f);
- EXPECT_FLOAT_EQ(1.0f, v[0]);
- EXPECT_FLOAT_EQ(2.0f, v[1]);
- EXPECT_FLOAT_EQ(3.0f, v[2]);
-}
diff --git a/libs/assimp/test/unit/utVersion.cpp b/libs/assimp/test/unit/utVersion.cpp
deleted file mode 100644
index 7548417..0000000
--- a/libs/assimp/test/unit/utVersion.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/*-------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------*/
-#include "UnitTestPCH.h"
-#include <assimp/version.h>
-
-class utVersion : public ::testing::Test {
- // empty
-};
-
-TEST_F( utVersion, aiGetLegalStringTest ) {
- const char *lv = aiGetLegalString();
- EXPECT_NE( lv, nullptr );
- std::string text( lv );
-
- size_t pos = text.find(std::string("2022"));
- EXPECT_NE(pos, std::string::npos);
-}
-
-TEST_F( utVersion, aiGetVersionMinorTest ) {
- EXPECT_EQ(aiGetVersionMinor(), 2U);
-}
-
-TEST_F( utVersion, aiGetVersionMajorTest ) {
- EXPECT_EQ( aiGetVersionMajor(), 5U );
-}
-
-TEST_F( utVersion, aiGetVersionPatchTest ) {
- EXPECT_EQ(aiGetVersionPatch(), 0U );
-}
-
-TEST_F( utVersion, aiGetCompileFlagsTest ) {
- EXPECT_NE( aiGetCompileFlags(), 0U );
-}
-
-TEST_F( utVersion, aiGetVersionRevisionTest ) {
- EXPECT_NE( aiGetVersionRevision(), 0U );
-}
-
-TEST_F( utVersion, aiGetBranchNameTest ) {
- EXPECT_NE( nullptr, aiGetBranchName() );
-}
diff --git a/libs/assimp/test/unit/utVertexTriangleAdjacency.cpp b/libs/assimp/test/unit/utVertexTriangleAdjacency.cpp
deleted file mode 100644
index bda6304..0000000
--- a/libs/assimp/test/unit/utVertexTriangleAdjacency.cpp
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "UnitTestPCH.h"
-
-#include <assimp/mesh.h>
-#include <assimp/types.h>
-
-#include "Common/VertexTriangleAdjacency.h"
-
-using namespace std;
-using namespace Assimp;
-
-class VTAdjacencyTest : public ::testing::Test {
-protected:
- void checkMesh(const aiMesh &mesh);
-};
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(VTAdjacencyTest, largeRandomDataSet) {
- // build a test mesh with randomized input data
- // *******************************************************************************
- aiMesh mesh;
-
- mesh.mNumVertices = 500;
- mesh.mNumFaces = 600;
-
- mesh.mFaces = new aiFace[600];
- unsigned int iCurrent = 0;
- for (unsigned int i = 0; i < 600; ++i) {
- aiFace &face = mesh.mFaces[i];
- face.mNumIndices = 3;
- face.mIndices = new unsigned int[3];
-
- if (499 == iCurrent) iCurrent = 0;
- face.mIndices[0] = iCurrent++;
-
- while (face.mIndices[0] == (face.mIndices[1] = (unsigned int)(((float)rand() / RAND_MAX) * 499)))
- ;
- while (face.mIndices[0] == (face.mIndices[2] = (unsigned int)(((float)rand() / RAND_MAX) * 499)) ||
- face.mIndices[1] == face.mIndices[2])
- ;
- }
-
- checkMesh(mesh);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(VTAdjacencyTest, smallDataSet) {
-
- // build a test mesh - this one is extremely small
- // *******************************************************************************
- aiMesh mesh;
-
- mesh.mNumVertices = 5;
- mesh.mNumFaces = 3;
-
- mesh.mFaces = new aiFace[3];
- mesh.mFaces[0].mIndices = new unsigned int[3];
- mesh.mFaces[0].mNumIndices = 3;
- mesh.mFaces[1].mIndices = new unsigned int[3];
- mesh.mFaces[1].mNumIndices = 3;
- mesh.mFaces[2].mIndices = new unsigned int[3];
- mesh.mFaces[2].mNumIndices = 3;
-
- mesh.mFaces[0].mIndices[0] = 1;
- mesh.mFaces[0].mIndices[1] = 3;
- mesh.mFaces[0].mIndices[2] = 2;
-
- mesh.mFaces[1].mIndices[0] = 0;
- mesh.mFaces[1].mIndices[1] = 2;
- mesh.mFaces[1].mIndices[2] = 3;
-
- mesh.mFaces[2].mIndices[0] = 3;
- mesh.mFaces[2].mIndices[1] = 0;
- mesh.mFaces[2].mIndices[2] = 4;
-
- checkMesh(mesh);
-}
-
-// ------------------------------------------------------------------------------------------------
-TEST_F(VTAdjacencyTest, unreferencedVerticesSet) {
- // build a test mesh which does not reference all vertices
- // *******************************************************************************
- aiMesh mesh;
-
- mesh.mNumVertices = 500;
- mesh.mNumFaces = 600;
-
- mesh.mFaces = new aiFace[600];
- unsigned int iCurrent = 0;
- for (unsigned int i = 0; i < 600; ++i) {
- aiFace &face = mesh.mFaces[i];
- face.mNumIndices = 3;
- face.mIndices = new unsigned int[3];
-
- if (499 == iCurrent) iCurrent = 0;
- face.mIndices[0] = iCurrent++;
-
- if (499 == iCurrent) iCurrent = 0;
- face.mIndices[1] = iCurrent++;
-
- if (499 == iCurrent) iCurrent = 0;
- face.mIndices[2] = iCurrent++;
-
- if (rand() > RAND_MAX / 2 && face.mIndices[0]) {
- face.mIndices[0]--;
- } else if (face.mIndices[1])
- face.mIndices[1]--;
- }
-
- checkMesh(mesh);
-}
-
-// ------------------------------------------------------------------------------------------------
-void VTAdjacencyTest::checkMesh(const aiMesh &mesh) {
- VertexTriangleAdjacency adj(mesh.mFaces, mesh.mNumFaces, mesh.mNumVertices, true);
-
- unsigned int *const piNum = adj.mLiveTriangles;
-
- // check the primary adjacency table and check whether all faces
- // are contained in the list
- unsigned int maxOfs = 0;
- for (unsigned int i = 0; i < mesh.mNumFaces; ++i) {
- aiFace &face = mesh.mFaces[i];
- for (unsigned int qq = 0; qq < 3; ++qq) {
- const unsigned int idx = face.mIndices[qq];
- const unsigned int num = piNum[idx];
-
- // go to this offset
- const unsigned int ofs = adj.mOffsetTable[idx];
- maxOfs = std::max(ofs + num, maxOfs);
- unsigned int *pi = &adj.mAdjacencyTable[ofs];
-
- // and search for us ...
- unsigned int tt = 0;
- for (; tt < num; ++tt, ++pi) {
- if (i == *pi) {
- // mask our entry in the table. Finally all entries should be masked
- *pi = 0xffffffff;
-
- // there shouldn't be two entries for the same face
- break;
- }
- }
- // assert if *this* vertex has not been found in the table
- EXPECT_LT(tt, num);
- }
- }
-
- // now check whether there are invalid faces
- const unsigned int *pi = adj.mAdjacencyTable;
- for (unsigned int i = 0; i < maxOfs; ++i, ++pi) {
- EXPECT_EQ(0xffffffff, *pi);
- }
-
- // check the numTrianglesPerVertex table
- for (unsigned int i = 0; i < mesh.mNumFaces; ++i) {
- aiFace &face = mesh.mFaces[i];
- for (unsigned int qq = 0; qq < 3; ++qq) {
- const unsigned int idx = face.mIndices[qq];
-
- // we should not reach 0 here ...
- EXPECT_NE(0U, piNum[idx]);
- piNum[idx]--;
- }
- }
-
- // check whether we reached 0 in all entries
- for (unsigned int i = 0; i < mesh.mNumVertices; ++i) {
- EXPECT_FALSE(piNum[i]);
- }
-}
diff --git a/libs/assimp/test/unit/utX3DImportExport.cpp b/libs/assimp/test/unit/utX3DImportExport.cpp
deleted file mode 100644
index f2df81a..0000000
--- a/libs/assimp/test/unit/utX3DImportExport.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utX3DImportExport : public AbstractImportExportBase {
-public:
- bool importerTest() override {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X3D/HelloX3dTrademark.x3d", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-};
-
-TEST_F(utX3DImportExport, importX3DFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
diff --git a/libs/assimp/test/unit/utXImporterExporter.cpp b/libs/assimp/test/unit/utXImporterExporter.cpp
deleted file mode 100644
index 4d247cc..0000000
--- a/libs/assimp/test/unit/utXImporterExporter.cpp
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-using namespace Assimp;
-
-class utXImporterExporter : public AbstractImportExportBase {
-public:
- virtual bool importerTest() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X/test.x", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-};
-
-TEST_F(utXImporterExporter, importXFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
-
-TEST_F(utXImporterExporter, heap_overflow_in_tokenizer) {
- Assimp::Importer importer;
- EXPECT_NO_THROW(importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X/OV_GetNextToken", 0));
-}
-
-TEST(utXImporter, importAnimTest) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X/anim_test.x", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utXImporter, importBCNEpileptic) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X/BCN_Epileptic.X", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utXImporter, importFromTrueSpaceBin32) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X/fromtruespace_bin32.x", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utXImporter, import_kwxport_test_cubewithvcolors) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X/kwxport_test_cubewithvcolors.x", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utXImporter, importTestCubeBinary) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X/test_cube_binary.x", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utXImporter, importTestCubeCompressed) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X/test_cube_compressed.x", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utXImporter, importTestCubeText) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X/test_cube_text.x", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utXImporter, importTestWuson) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X/Testwuson.X", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utXImporter, TestFormatDetection) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/X/TestFormatDetection", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
-
-TEST(utXImporter, importDwarf) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_NONBSD_DIR "/X/dwarf.x", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
-}
diff --git a/libs/assimp/test/unit/utglTF2ImportExport.cpp b/libs/assimp/test/unit/utglTF2ImportExport.cpp
deleted file mode 100644
index 00f76aa..0000000
--- a/libs/assimp/test/unit/utglTF2ImportExport.cpp
+++ /dev/null
@@ -1,834 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/commonMetaData.h>
-#include <assimp/postprocess.h>
-#include <assimp/scene.h>
-#include <assimp/Exporter.hpp>
-#include <assimp/Importer.hpp>
-#include <assimp/LogStream.hpp>
-#include <assimp/DefaultLogger.hpp>
-
-#include <rapidjson/schema.h>
-
-#include <array>
-
-#include <assimp/material.h>
-#include <assimp/GltfMaterial.h>
-
-using namespace Assimp;
-
-class utglTF2ImportExport : public AbstractImportExportBase {
-public:
- virtual bool importerMatTest(const char *file, bool spec_gloss, std::array<aiTextureMapMode, 2> exp_modes = { aiTextureMapMode_Wrap, aiTextureMapMode_Wrap }) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(file, aiProcess_ValidateDataStructure);
- EXPECT_NE(scene, nullptr);
- if (!scene) {
- return false;
- }
-
- EXPECT_TRUE(scene->HasMaterials());
- if (!scene->HasMaterials()) {
- return false;
- }
- const aiMaterial *material = scene->mMaterials[0];
-
- // This Material should be a PBR
- aiShadingMode shadingMode;
- EXPECT_EQ(aiReturn_SUCCESS, material->Get(AI_MATKEY_SHADING_MODEL, shadingMode));
- EXPECT_EQ(aiShadingMode_PBR_BRDF, shadingMode);
-
- // Should import the texture as diffuse and as base color
- aiString path;
- std::array<aiTextureMapMode,2> modes;
- EXPECT_EQ(aiReturn_SUCCESS, material->GetTexture(aiTextureType_DIFFUSE, 0, &path, nullptr, nullptr,
- nullptr, nullptr, modes.data()));
- EXPECT_STREQ(path.C_Str(), "CesiumLogoFlat.png");
- EXPECT_EQ(exp_modes, modes);
-
- // Also as Base Color
- EXPECT_EQ(aiReturn_SUCCESS, material->GetTexture(aiTextureType_BASE_COLOR, 0, &path, nullptr, nullptr,
- nullptr, nullptr, modes.data()));
- EXPECT_STREQ(path.C_Str(), "CesiumLogoFlat.png");
- EXPECT_EQ(exp_modes, modes);
-
- // Should have a MetallicFactor (default is 1.0)
- ai_real metal_factor = ai_real(0.5);
- EXPECT_EQ(aiReturn_SUCCESS, material->Get(AI_MATKEY_METALLIC_FACTOR, metal_factor));
- EXPECT_EQ(ai_real(0.0), metal_factor);
-
- // And a roughness factor (default is 1.0)
- ai_real roughness_factor = ai_real(0.5);
- EXPECT_EQ(aiReturn_SUCCESS, material->Get(AI_MATKEY_ROUGHNESS_FACTOR, roughness_factor));
- EXPECT_EQ(ai_real(1.0), roughness_factor);
-
- aiColor3D spec_color = { 0, 0, 0 };
- ai_real glossiness = ai_real(0.5);
- if (spec_gloss) {
- EXPECT_EQ(aiReturn_SUCCESS, material->Get(AI_MATKEY_COLOR_SPECULAR, spec_color));
- constexpr ai_real spec_val(0.20000000298023225); // From the file
- EXPECT_EQ(spec_val, spec_color.r);
- EXPECT_EQ(spec_val, spec_color.g);
- EXPECT_EQ(spec_val, spec_color.b);
- EXPECT_EQ(aiReturn_SUCCESS, material->Get(AI_MATKEY_GLOSSINESS_FACTOR, glossiness));
- EXPECT_EQ(ai_real(1.0), glossiness);
- } else {
- EXPECT_EQ(aiReturn_FAILURE, material->Get(AI_MATKEY_COLOR_SPECULAR, spec_color));
- EXPECT_EQ(aiReturn_FAILURE, material->Get(AI_MATKEY_GLOSSINESS_FACTOR, glossiness));
- }
-
- return true;
- }
-
- virtual bool binaryImporterTest() {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/2CylinderEngine-glTF-Binary/2CylinderEngine.glb",
- aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
- virtual bool exporterTest() {
- Assimp::Importer importer;
- Assimp::Exporter exporter;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/BoxTextured-glTF/BoxTextured.gltf",
- aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "gltf2", ASSIMP_TEST_MODELS_DIR "/glTF2/BoxTextured-glTF/BoxTextured_out.gltf"));
-
- return true;
- }
-#endif // ASSIMP_BUILD_NO_EXPORT
-};
-
-TEST_F(utglTF2ImportExport, importglTF2FromFileTest) {
- EXPECT_TRUE(importerMatTest(ASSIMP_TEST_MODELS_DIR "/glTF2/BoxTextured-glTF/BoxTextured.gltf", false, {aiTextureMapMode_Mirror, aiTextureMapMode_Clamp}));
-}
-
-TEST_F(utglTF2ImportExport, importBinaryglTF2FromFileTest) {
- EXPECT_TRUE(binaryImporterTest());
-}
-
-TEST_F(utglTF2ImportExport, importglTF2_KHR_materials_pbrSpecularGlossiness) {
- EXPECT_TRUE(importerMatTest(ASSIMP_TEST_MODELS_DIR "/glTF2/BoxTextured-glTF-pbrSpecularGlossiness/BoxTextured.gltf", true));
-}
-
-void VerifyClearCoatScene(const aiScene *scene) {
- ASSERT_NE(nullptr, scene);
-
- ASSERT_TRUE(scene->HasMaterials());
-
- // Find a specific Clearcoat material and check the values
- const aiString partial_coated("Partial_Coated");
- bool found_partial_coat = false;
- for (size_t i = 0; i < scene->mNumMaterials; ++i) {
- const aiMaterial *material = scene->mMaterials[i];
- ASSERT_NE(nullptr, material);
- if (material->GetName() == partial_coated) {
- found_partial_coat = true;
-
- ai_real clearcoat_factor(0.0f);
- EXPECT_EQ(aiReturn_SUCCESS, material->Get(AI_MATKEY_CLEARCOAT_FACTOR, clearcoat_factor));
- EXPECT_EQ(ai_real(1.0f), clearcoat_factor);
-
- ai_real clearcoat_rough_factor(0.0f);
- EXPECT_EQ(aiReturn_SUCCESS, material->Get(AI_MATKEY_CLEARCOAT_ROUGHNESS_FACTOR, clearcoat_rough_factor));
- EXPECT_EQ(ai_real(0.03f), clearcoat_rough_factor);
-
- // Should import the texture as diffuse and as base color
- aiString path;
- std::array<aiTextureMapMode, 2> modes;
- static const std::array<aiTextureMapMode, 2> exp_modes = { aiTextureMapMode_Wrap, aiTextureMapMode_Wrap };
- EXPECT_EQ(aiReturn_SUCCESS, material->GetTexture(AI_MATKEY_CLEARCOAT_TEXTURE, &path, nullptr, nullptr,
- nullptr, nullptr, modes.data()));
- EXPECT_STREQ(path.C_Str(), "PartialCoating.png");
- EXPECT_EQ(exp_modes, modes);
- }
- }
- EXPECT_TRUE(found_partial_coat);
-}
-
-TEST_F(utglTF2ImportExport, importglTF2_KHR_materials_clearcoat) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/ClearCoat-glTF/ClearCoatTest.gltf", aiProcess_ValidateDataStructure);
- VerifyClearCoatScene(scene);
-}
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
-
-TEST_F(utglTF2ImportExport, importglTF2AndExport_KHR_materials_clearcoat) {
- {
- Assimp::Importer importer;
- Assimp::Exporter exporter;
- const aiScene* scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/ClearCoat-glTF/ClearCoatTest.gltf", aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
- // Export
- EXPECT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "glb2", ASSIMP_TEST_MODELS_DIR "/glTF2/ClearCoat-glTF/ClearCoatTest_out.glb"));
- }
-
- // And re-import
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/ClearCoat-glTF/ClearCoatTest_out.glb", aiProcess_ValidateDataStructure);
- VerifyClearCoatScene(scene);
-}
-
-TEST_F(utglTF2ImportExport, importglTF2AndExport_KHR_materials_pbrSpecularGlossiness) {
- Assimp::Importer importer;
- Assimp::Exporter exporter;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/BoxTextured-glTF-pbrSpecularGlossiness/BoxTextured.gltf",
- aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- // Export
- EXPECT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "glb2", ASSIMP_TEST_MODELS_DIR "/glTF2/BoxTextured-glTF-pbrSpecularGlossiness/BoxTextured_out.glb"));
-
- // And re-import
- EXPECT_TRUE(importerMatTest(ASSIMP_TEST_MODELS_DIR "/glTF2/BoxTextured-glTF-pbrSpecularGlossiness/BoxTextured_out.glb", true));
-}
-
-TEST_F(utglTF2ImportExport, importglTF2AndExportToOBJ) {
- Assimp::Importer importer;
- Assimp::Exporter exporter;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/BoxTextured-glTF/BoxTextured.gltf",
- aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "obj", ASSIMP_TEST_MODELS_DIR "/glTF2/BoxTextured-glTF/BoxTextured_out.obj"));
-}
-
-TEST_F(utglTF2ImportExport, importglTF2EmbeddedAndExportToOBJ) {
- Assimp::Importer importer;
- Assimp::Exporter exporter;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/BoxTextured-glTF-Embedded/BoxTextured.gltf",
- aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "obj", ASSIMP_TEST_MODELS_DIR "/glTF2/BoxTextured-glTF-Embedded/BoxTextured_out.obj"));
-}
-
-#endif // ASSIMP_BUILD_NO_EXPORT
-
-TEST_F(utglTF2ImportExport, importglTF2PrimitiveModePointsWithoutIndices) {
- Assimp::Importer importer;
- //Points without indices
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_00.gltf", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(scene->mMeshes[0]->mNumVertices, 1024u);
- for (unsigned int i = 0; i < scene->mMeshes[0]->mNumFaces; ++i) {
- EXPECT_EQ(scene->mMeshes[0]->mFaces[i].mNumIndices, 1u);
- EXPECT_EQ(scene->mMeshes[0]->mFaces[i].mIndices[0], i);
- }
-}
-
-TEST_F(utglTF2ImportExport, importglTF2PrimitiveModeLinesWithoutIndices) {
- Assimp::Importer importer;
- //Lines without indices
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_01.gltf", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(scene->mMeshes[0]->mNumVertices, 8u);
- for (unsigned int i = 0; i < scene->mMeshes[0]->mNumFaces; ++i) {
- EXPECT_EQ(scene->mMeshes[0]->mFaces[i].mNumIndices, 2u);
- EXPECT_EQ(scene->mMeshes[0]->mFaces[i].mIndices[0], i * 2u);
- EXPECT_EQ(scene->mMeshes[0]->mFaces[i].mIndices[1], i * 2u + 1u);
- }
-}
-
-TEST_F(utglTF2ImportExport, importglTF2PrimitiveModeLinesLoopWithoutIndices) {
- Assimp::Importer importer;
- //Lines loop without indices
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_02.gltf", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(scene->mMeshes[0]->mNumVertices, 4u);
-
- std::array<unsigned int, 5> l1 = { { 0u, 1u, 2u, 3u, 0u } };
- EXPECT_EQ(scene->mMeshes[0]->mFaces[0].mNumIndices, 2u);
- for (unsigned int i = 0; i < scene->mMeshes[0]->mNumFaces; ++i) {
- EXPECT_EQ(scene->mMeshes[0]->mFaces[i].mNumIndices, 2u);
- EXPECT_EQ(scene->mMeshes[0]->mFaces[i].mIndices[0], l1[i]);
- EXPECT_EQ(scene->mMeshes[0]->mFaces[i].mIndices[1], l1[i + 1u]);
- }
-}
-
-TEST_F(utglTF2ImportExport, importglTF2PrimitiveModeLinesStripWithoutIndices) {
- Assimp::Importer importer;
- //Lines strip without indices
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_03.gltf", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(scene->mMeshes[0]->mNumVertices, 5u);
-
- EXPECT_EQ(scene->mMeshes[0]->mFaces[0].mNumIndices, 2u);
- for (unsigned int i = 0; i < scene->mMeshes[0]->mNumFaces; ++i) {
- EXPECT_EQ(scene->mMeshes[0]->mFaces[i].mNumIndices, 2u);
- EXPECT_EQ(scene->mMeshes[0]->mFaces[i].mIndices[0], i);
- EXPECT_EQ(scene->mMeshes[0]->mFaces[i].mIndices[1], i + 1u);
- }
-}
-
-TEST_F(utglTF2ImportExport, importglTF2PrimitiveModeTrianglesStripWithoutIndices) {
- Assimp::Importer importer;
- //Triangles strip without indices
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_04.gltf", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(scene->mMeshes[0]->mNumFaces, 2u);
- EXPECT_EQ(scene->mMeshes[0]->mNumVertices, 4u);
- std::array<unsigned int, 3> f1 = { { 0u, 1u, 2u } };
- EXPECT_EQ(scene->mMeshes[0]->mFaces[0].mNumIndices, 3u);
- for (unsigned int i = 0; i < 3; ++i) {
- EXPECT_EQ(scene->mMeshes[0]->mFaces[0].mIndices[i], f1[i]);
- }
-
- std::array<unsigned int, 3> f2 = { { 2u, 1u, 3u } };
- EXPECT_EQ(scene->mMeshes[0]->mFaces[1].mNumIndices, 3u);
- for (size_t i = 0; i < 3; ++i) {
- EXPECT_EQ(scene->mMeshes[0]->mFaces[1].mIndices[i], f2[i]);
- }
-}
-
-TEST_F(utglTF2ImportExport, importglTF2PrimitiveModeTrianglesFanWithoutIndices) {
- Assimp::Importer importer;
- //Triangles fan without indices
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_05.gltf", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(scene->mMeshes[0]->mNumFaces, 2u);
- EXPECT_EQ(scene->mMeshes[0]->mNumVertices, 4u);
- std::array<unsigned int, 3> f1 = { { 0u, 1u, 2u } };
- EXPECT_EQ(scene->mMeshes[0]->mFaces[0].mNumIndices, 3u);
- for (size_t i = 0; i < 3; ++i) {
- EXPECT_EQ(scene->mMeshes[0]->mFaces[0].mIndices[i], f1[i]);
- }
-
- std::array<unsigned int, 3> f2 = { { 0u, 2u, 3u } };
- EXPECT_EQ(scene->mMeshes[0]->mFaces[1].mNumIndices, 3u);
- for (size_t i = 0; i < 3; ++i) {
- EXPECT_EQ(scene->mMeshes[0]->mFaces[1].mIndices[i], f2[i]);
- }
-}
-
-TEST_F(utglTF2ImportExport, importglTF2PrimitiveModeTrianglesWithoutIndices) {
- Assimp::Importer importer;
- //Triangles without indices
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_06.gltf", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(scene->mMeshes[0]->mNumFaces, 2u);
- EXPECT_EQ(scene->mMeshes[0]->mNumVertices, 6u);
- std::array<unsigned int, 3> f1 = { { 0u, 1u, 2u } };
- EXPECT_EQ(scene->mMeshes[0]->mFaces[0].mNumIndices, 3u);
- for (size_t i = 0; i < 3; ++i) {
- EXPECT_EQ(scene->mMeshes[0]->mFaces[0].mIndices[i], f1[i]);
- }
-
- std::array<unsigned int, 3> f2 = { { 3u, 4u, 5u } };
- EXPECT_EQ(scene->mMeshes[0]->mFaces[1].mNumIndices, 3u);
- for (size_t i = 0; i < 3; ++i) {
- EXPECT_EQ(scene->mMeshes[0]->mFaces[1].mIndices[i], f2[i]);
- }
-}
-
-TEST_F(utglTF2ImportExport, importglTF2PrimitiveModePoints) {
- Assimp::Importer importer;
- //Line loop
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_07.gltf", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(scene->mMeshes[0]->mNumVertices, 1024u);
- for (unsigned int i = 0; i < scene->mMeshes[0]->mNumFaces; ++i) {
- EXPECT_EQ(scene->mMeshes[0]->mFaces[i].mNumIndices, 1u);
- EXPECT_EQ(scene->mMeshes[0]->mFaces[i].mIndices[0], i);
- }
-}
-
-TEST_F(utglTF2ImportExport, importglTF2PrimitiveModeLines) {
- Assimp::Importer importer;
- //Lines
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_08.gltf", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(scene->mMeshes[0]->mNumVertices, 4u);
- std::array<unsigned int, 5> l1 = { { 0u, 3u, 2u, 1u, 0u } };
- EXPECT_EQ(scene->mMeshes[0]->mFaces[0].mNumIndices, 2u);
- for (unsigned int i = 0; i < scene->mMeshes[0]->mNumFaces; ++i) {
- EXPECT_EQ(scene->mMeshes[0]->mFaces[i].mIndices[0], l1[i]);
- EXPECT_EQ(scene->mMeshes[0]->mFaces[i].mIndices[1], l1[i + 1]);
- }
-}
-
-TEST_F(utglTF2ImportExport, importglTF2PrimitiveModeLineLoop) {
- Assimp::Importer importer;
- //Line loop
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_09.gltf", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(scene->mMeshes[0]->mNumVertices, 4u);
- std::array<unsigned int, 5> l1 = { { 0, 3u, 2u, 1u, 0u } };
- EXPECT_EQ(scene->mMeshes[0]->mFaces[0].mNumIndices, 2u);
- for (unsigned int i = 0; i < scene->mMeshes[0]->mNumFaces; ++i) {
- EXPECT_EQ(scene->mMeshes[0]->mFaces[i].mIndices[0], l1[i]);
- EXPECT_EQ(scene->mMeshes[0]->mFaces[i].mIndices[1], l1[i + 1]);
- }
-}
-
-TEST_F(utglTF2ImportExport, importglTF2PrimitiveModeLineStrip) {
- Assimp::Importer importer;
- //Lines Strip
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_10.gltf", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(scene->mMeshes[0]->mNumVertices, 4u);
- std::array<unsigned int, 5> l1 = { { 0u, 3u, 2u, 1u, 0u } };
- EXPECT_EQ(scene->mMeshes[0]->mFaces[0].mNumIndices, 2u);
- for (unsigned int i = 0; i < scene->mMeshes[0]->mNumFaces; ++i) {
- EXPECT_EQ(scene->mMeshes[0]->mFaces[i].mIndices[0], l1[i]);
- EXPECT_EQ(scene->mMeshes[0]->mFaces[i].mIndices[1], l1[i + 1]);
- }
-}
-
-TEST_F(utglTF2ImportExport, importglTF2PrimitiveModeTrianglesStrip) {
- Assimp::Importer importer;
- //Triangles strip
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_11.gltf", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(scene->mMeshes[0]->mNumFaces, 2u);
- EXPECT_EQ(scene->mMeshes[0]->mNumVertices, 4u);
- std::array<unsigned int, 3> f1 = { { 0u, 3u, 1u } };
- EXPECT_EQ(scene->mMeshes[0]->mFaces[0].mNumIndices, 3u);
- for (size_t i = 0; i < 3; ++i) {
- EXPECT_EQ(scene->mMeshes[0]->mFaces[0].mIndices[i], f1[i]);
- }
-
- std::array<unsigned int, 3> f2 = { { 1u, 3u, 2u } };
- EXPECT_EQ(scene->mMeshes[0]->mFaces[1].mNumIndices, 3u);
- for (size_t i = 0; i < 3; ++i) {
- EXPECT_EQ(scene->mMeshes[0]->mFaces[1].mIndices[i], f2[i]);
- }
-}
-
-TEST_F(utglTF2ImportExport, importglTF2PrimitiveModeTrianglesFan) {
- Assimp::Importer importer;
- //Triangles fan
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/glTF-Asset-Generator/Mesh_PrimitiveMode/Mesh_PrimitiveMode_12.gltf", aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(scene->mMeshes[0]->mNumVertices, 4u);
- EXPECT_EQ(scene->mMeshes[0]->mNumFaces, 2u);
- std::array<unsigned int, 3> f1 = { { 0u, 3u, 2u } };
- EXPECT_EQ(scene->mMeshes[0]->mFaces[0].mNumIndices, 3u);
- for (size_t i = 0; i < 3; ++i) {
- EXPECT_EQ(scene->mMeshes[0]->mFaces[0].mIndices[i], f1[i]);
- }
-
- std::array<unsigned int, 3> f2 = { { 0u, 2u, 1u } };
- EXPECT_EQ(scene->mMeshes[0]->mFaces[1].mNumIndices, 3u);
- for (size_t i = 0; i < 3; ++i) {
- EXPECT_EQ(scene->mMeshes[0]->mFaces[1].mIndices[i], f2[i]);
- }
-}
-
-std::vector<char> ReadFile(const char *name) {
- std::vector<char> ret;
-
- FILE *p = ::fopen(name, "r");
- if (nullptr == p) {
- return ret;
- }
-
- ::fseek(p, 0, SEEK_END);
- const size_t size = ::ftell(p);
- ::fseek(p, 0, SEEK_SET);
-
- ret.resize(size);
- const size_t readSize = ::fread(&ret[0], 1, size, p);
- EXPECT_EQ(readSize, size);
- ::fclose(p);
-
- return ret;
-}
-
-TEST_F(utglTF2ImportExport, importglTF2FromMemory) {
- /*const auto flags = aiProcess_CalcTangentSpace | aiProcess_Triangulate | aiProcess_RemoveComponent |
- aiProcess_GenSmoothNormals | aiProcess_PreTransformVertices | aiProcess_FixInfacingNormals |
- aiProcess_FindDegenerates | aiProcess_GenUVCoords | aiProcess_SortByPType;
- const auto& buff = ReadFile("C:\\Users\\kimkulling\\Downloads\\camel\\camel\\scene.gltf");*/
- /*const aiScene* Scene = ::aiImportFileFromMemory(&buff[0], buff.size(), flags, ".gltf");
- EXPECT_EQ( nullptr, Scene );*/
-}
-
-TEST_F(utglTF2ImportExport, bug_import_simple_skin) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/simple_skin/simple_skin.gltf",
- aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utglTF2ImportExport, import_cameras) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/cameras/Cameras.gltf",
- aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
-
-TEST_F(utglTF2ImportExport, incorrect_vertex_arrays) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/IncorrectVertexArrays/Cube.gltf",
- aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(scene->mMeshes[0]->mNumVertices, 36u);
- EXPECT_EQ(scene->mMeshes[0]->mNumFaces, 12u);
- EXPECT_EQ(scene->mMeshes[1]->mNumVertices, 35u);
- EXPECT_EQ(scene->mMeshes[1]->mNumFaces, 11u);
- EXPECT_EQ(scene->mMeshes[2]->mNumVertices, 36u);
- EXPECT_EQ(scene->mMeshes[2]->mNumFaces, 18u);
- EXPECT_EQ(scene->mMeshes[3]->mNumVertices, 35u);
- EXPECT_EQ(scene->mMeshes[3]->mNumFaces, 17u);
- EXPECT_EQ(scene->mMeshes[4]->mNumVertices, 36u);
- EXPECT_EQ(scene->mMeshes[4]->mNumFaces, 12u);
- EXPECT_EQ(scene->mMeshes[5]->mNumVertices, 35u);
- EXPECT_EQ(scene->mMeshes[5]->mNumFaces, 11u);
- EXPECT_EQ(scene->mMeshes[6]->mNumVertices, 36u);
- EXPECT_EQ(scene->mMeshes[6]->mNumFaces, 18u);
- EXPECT_EQ(scene->mMeshes[7]->mNumVertices, 35u);
- EXPECT_EQ(scene->mMeshes[7]->mNumFaces, 17u);
-}
-
-TEST_F(utglTF2ImportExport, texture_transform_test) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/textureTransform/TextureTransformTest.gltf",
- aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
-}
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
-TEST_F(utglTF2ImportExport, exportglTF2FromFileTest) {
- EXPECT_TRUE(exporterTest());
-}
-
-TEST_F(utglTF2ImportExport, crash_in_anim_mesh_destructor) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/glTF-Sample-Models/AnimatedMorphCube-glTF/AnimatedMorphCube.gltf",
- aiProcess_ValidateDataStructure);
- ASSERT_NE(nullptr, scene);
- Assimp::Exporter exporter;
- ASSERT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "glb2", ASSIMP_TEST_MODELS_DIR "/glTF2/glTF-Sample-Models/AnimatedMorphCube-glTF/AnimatedMorphCube_out.glTF"));
-}
-
-TEST_F(utglTF2ImportExport, error_string_preserved) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/MissingBin/BoxTextured.gltf",
- aiProcess_ValidateDataStructure);
- ASSERT_EQ(nullptr, scene);
- std::string error = importer.GetErrorString();
- ASSERT_NE(error.find("BoxTextured0.bin"), std::string::npos) << "Error string should contain an error about missing .bin file";
-}
-
-TEST_F(utglTF2ImportExport, export_bad_accessor_bounds) {
- Assimp::Importer importer;
- Assimp::Exporter exporter;
- const aiScene* scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/BoxWithInfinites-glTF-Binary/BoxWithInfinites.glb", aiProcess_ValidateDataStructure);
- ASSERT_NE(scene, nullptr);
-
- EXPECT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "glb2", ASSIMP_TEST_MODELS_DIR "/glTF2/BoxWithInfinites-glTF-Binary/BoxWithInfinites_out.glb"));
- EXPECT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "gltf2", ASSIMP_TEST_MODELS_DIR "/glTF2/BoxWithInfinites-glTF-Binary/BoxWithInfinites_out.gltf"));
-}
-
-TEST_F(utglTF2ImportExport, export_normalized_normals) {
- Assimp::Importer importer;
- Assimp::Exporter exporter;
- const aiScene* scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/BoxBadNormals-glTF-Binary/BoxBadNormals.glb", aiProcess_ValidateDataStructure);
- ASSERT_NE(scene, nullptr);
- EXPECT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "glb2", ASSIMP_TEST_MODELS_DIR "/glTF2/BoxBadNormals-glTF-Binary/BoxBadNormals_out.glb"));
-
- // load in again and ensure normal-length normals but no Nan's or Inf's introduced
- scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/BoxBadNormals-glTF-Binary/BoxBadNormals_out.glb", aiProcess_ValidateDataStructure);
- for ( auto i = 0u; i < scene->mMeshes[0]->mNumVertices; ++i ) {
- const auto length = scene->mMeshes[0]->mNormals[i].Length();
- EXPECT_TRUE(abs(length) < 1e-6 || abs(length - 1) < ai_epsilon);
- }
-}
-
-#endif // ASSIMP_BUILD_NO_EXPORT
-
-TEST_F(utglTF2ImportExport, sceneMetadata) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/BoxTextured-glTF/BoxTextured.gltf",
- aiProcess_ValidateDataStructure);
- ASSERT_NE(scene, nullptr);
- ASSERT_NE(scene->mMetaData, nullptr);
- {
- ASSERT_TRUE(scene->mMetaData->HasKey(AI_METADATA_SOURCE_FORMAT));
- aiString format;
- ASSERT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_FORMAT, format));
- ASSERT_EQ(strcmp(format.C_Str(), "glTF2 Importer"), 0);
- }
- {
- ASSERT_TRUE(scene->mMetaData->HasKey(AI_METADATA_SOURCE_FORMAT_VERSION));
- aiString version;
- ASSERT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_FORMAT_VERSION, version));
- ASSERT_EQ(strcmp(version.C_Str(), "2.0"), 0);
- }
- {
- ASSERT_TRUE(scene->mMetaData->HasKey(AI_METADATA_SOURCE_GENERATOR));
- aiString generator;
- ASSERT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_GENERATOR, generator));
- ASSERT_EQ(strcmp(generator.C_Str(), "COLLADA2GLTF"), 0);
- }
-}
-
-TEST_F(utglTF2ImportExport, texcoords) {
-
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/BoxTexcoords-glTF/boxTexcoords.gltf", aiProcess_ValidateDataStructure);
- ASSERT_NE(scene, nullptr);
- ASSERT_TRUE(scene->HasMaterials());
- const aiMaterial *material = scene->mMaterials[0];
-
- aiString path;
- unsigned int uvIndex = 255;
- aiTextureMapMode modes[2];
- EXPECT_EQ(aiReturn_SUCCESS, material->GetTexture(AI_MATKEY_BASE_COLOR_TEXTURE, &path, nullptr, &uvIndex, nullptr, nullptr, modes));
- EXPECT_STREQ(path.C_Str(), "texture.png");
- EXPECT_EQ(uvIndex, 0u);
-
- uvIndex = 255;
- EXPECT_EQ(aiReturn_SUCCESS, material->GetTexture(AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_METALLICROUGHNESS_TEXTURE, &path, nullptr, &uvIndex, nullptr, nullptr, modes));
- EXPECT_STREQ(path.C_Str(), "texture.png");
- EXPECT_EQ(uvIndex, 1u);
-}
-
-#ifndef ASSIMP_BUILD_NO_EXPORT
-
-TEST_F(utglTF2ImportExport, texcoords_export) {
- {
- Assimp::Importer importer;
- Assimp::Exporter exporter;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/BoxTexcoords-glTF/boxTexcoords.gltf", aiProcess_ValidateDataStructure);
- ASSERT_NE(scene, nullptr);
- ASSERT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "glb2", ASSIMP_TEST_MODELS_DIR "/glTF2/BoxTexcoords-glTF/boxTexcoords.gltf_out.glb"));
- }
-
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/BoxTexcoords-glTF/boxTexcoords.gltf", aiProcess_ValidateDataStructure);
- ASSERT_NE(scene, nullptr);
-
- ASSERT_TRUE(scene->HasMaterials());
- const aiMaterial *material = scene->mMaterials[0];
-
- aiString path;
- unsigned int uvIndex = 255;
- aiTextureMapMode modes[2];
- EXPECT_EQ(aiReturn_SUCCESS, material->GetTexture(AI_MATKEY_BASE_COLOR_TEXTURE, &path, nullptr, &uvIndex, nullptr, nullptr, modes));
- EXPECT_STREQ(path.C_Str(), "texture.png");
- EXPECT_EQ(uvIndex, 0u);
-
- uvIndex = 255;
- EXPECT_EQ(aiReturn_SUCCESS, material->GetTexture(AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_METALLICROUGHNESS_TEXTURE, &path, nullptr, &uvIndex, nullptr, nullptr, modes));
- EXPECT_STREQ(path.C_Str(), "texture.png");
- EXPECT_EQ(uvIndex, 1u);
-}
-
-#endif // ASSIMP_BUILD_NO_EXPORT
-TEST_F(utglTF2ImportExport, recursive_nodes) {
- Assimp::Importer importer;
- const aiScene* scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/RecursiveNodes/RecursiveNodes.gltf", aiProcess_ValidateDataStructure);
- EXPECT_EQ(nullptr, scene);
-}
-
-TEST_F(utglTF2ImportExport, norootnode_noscene) {
- Assimp::Importer importer;
- const aiScene* scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/TestNoRootNode/NoScene.gltf", aiProcess_ValidateDataStructure);
- ASSERT_EQ(scene, nullptr);
-}
-
-TEST_F(utglTF2ImportExport, norootnode_scenewithoutnodes) {
- Assimp::Importer importer;
- const aiScene* scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/TestNoRootNode/SceneWithoutNodes.gltf", aiProcess_ValidateDataStructure);
- ASSERT_NE(scene, nullptr);
- ASSERT_NE(scene->mRootNode, nullptr);
-}
-
-// Shall not crash!
-TEST_F(utglTF2ImportExport, norootnode_issue_3269) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/issue_3269/texcoord_crash.gltf", aiProcess_ValidateDataStructure);
- ASSERT_EQ(scene, nullptr);
-}
-
-TEST_F(utglTF2ImportExport, indexOutOfRange) {
- // The contents of an asset should not lead to an assert.
- Assimp::Importer importer;
-
- struct LogObserver : Assimp::LogStream {
- bool m_observedWarning = false;
- void write(const char *message) override {
- m_observedWarning = m_observedWarning || std::strstr(message, "faces were dropped");
- }
- };
- LogObserver logObserver;
-
- DefaultLogger::get()->attachStream(&logObserver);
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/IndexOutOfRange/IndexOutOfRange.gltf", aiProcess_ValidateDataStructure);
- ASSERT_NE(scene, nullptr);
- ASSERT_NE(scene->mRootNode, nullptr);
- ASSERT_EQ(scene->mNumMeshes, 1u);
- EXPECT_EQ(scene->mMeshes[0]->mNumFaces, 11u);
- DefaultLogger::get()->detachStream(&logObserver);
- EXPECT_TRUE(logObserver.m_observedWarning);
-}
-
-TEST_F(utglTF2ImportExport, allIndicesOutOfRange) {
- // The contents of an asset should not lead to an assert.
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/IndexOutOfRange/AllIndicesOutOfRange.gltf", aiProcess_ValidateDataStructure);
- ASSERT_EQ(scene, nullptr);
- std::string error = importer.GetErrorString();
- ASSERT_NE(error.find("Mesh \"Mesh\" has no faces"), std::string::npos);
-}
-
-/////////////////////////////////
-// Draco decoding
-
-TEST_F(utglTF2ImportExport, import_dracoEncoded) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/draco/2CylinderEngine.gltf",
- aiProcess_ValidateDataStructure);
-#ifndef ASSIMP_ENABLE_DRACO
- // No draco support, scene should not load
- ASSERT_EQ(scene, nullptr);
-#else
- ASSERT_NE(scene, nullptr);
- ASSERT_NE(scene->mMetaData, nullptr);
- {
- ASSERT_TRUE(scene->mMetaData->HasKey(AI_METADATA_SOURCE_FORMAT));
- aiString format;
- ASSERT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_FORMAT, format));
- ASSERT_EQ(strcmp(format.C_Str(), "glTF2 Importer"), 0);
- }
- {
- ASSERT_TRUE(scene->mMetaData->HasKey(AI_METADATA_SOURCE_FORMAT_VERSION));
- aiString version;
- ASSERT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_FORMAT_VERSION, version));
- ASSERT_EQ(strcmp(version.C_Str(), "2.0"), 0);
- }
- {
- ASSERT_TRUE(scene->mMetaData->HasKey(AI_METADATA_SOURCE_GENERATOR));
- aiString generator;
- ASSERT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_GENERATOR, generator));
- ASSERT_EQ(strcmp(generator.C_Str(), "COLLADA2GLTF"), 0);
- }
-#endif
-}
-
-TEST_F(utglTF2ImportExport, wrongTypes) {
- // Deliberately broken version of the BoxTextured.gltf asset.
- using tup_T = std::tuple<std::string, std::string, std::string, std::string>;
- std::vector<tup_T> wrongTypes = {
- { "/glTF2/wrongTypes/badArray.gltf", "array", "primitives", "meshes[0]" },
- { "/glTF2/wrongTypes/badString.gltf", "string", "name", "scenes[0]" },
- { "/glTF2/wrongTypes/badUint.gltf", "uint", "index", "materials[0]" },
- { "/glTF2/wrongTypes/badNumber.gltf", "number", "scale", "materials[0]" },
- { "/glTF2/wrongTypes/badObject.gltf", "object", "pbrMetallicRoughness", "materials[0]" },
- { "/glTF2/wrongTypes/badExtension.gltf", "object", "KHR_texture_transform", "materials[0]" }
- };
- for (const auto& tuple : wrongTypes)
- {
- const auto& file = std::get<0>(tuple);
- const auto& type = std::get<1>(tuple);
- const auto& member = std::get<2>(tuple);
- const auto& context = std::get<3>(tuple);
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR + file , aiProcess_ValidateDataStructure);
- ASSERT_EQ(scene, nullptr);
- const std::string error = importer.GetErrorString();
- EXPECT_FALSE(error.empty());
- EXPECT_NE(error.find(member + "\" was not of type \"" + type + "\" when reading " + context), std::string::npos);
- }
-}
-
-namespace {
- /// This class provides a fake schema to the GLTF importer.
- /// It just checks that the file has a top-level "scene" property which is an integer.
- class FakeSchemaProvider : public rapidjson::IRemoteSchemaDocumentProvider
- {
- public:
- FakeSchemaProvider(const char* schemaName) :
- m_schemaName(schemaName)
- {
- rapidjson::Document schemaDoc;
- schemaDoc.Parse(R"==({"properties":{"scene" : { "type" : "integer" }}, "required": [ "scene" ]})==");
- EXPECT_FALSE(schemaDoc.HasParseError());
- m_schema.reset(new rapidjson::SchemaDocument(schemaDoc, m_schemaName.c_str(), static_cast<rapidjson::SizeType>(m_schemaName.size()), this));
- }
-
- const rapidjson::SchemaDocument* GetRemoteDocument(const char* uri, rapidjson::SizeType) override {
- if (m_schemaName == uri) {
- return m_schema.get();
- }
- return nullptr;
- }
-
- private:
- std::string m_schemaName;
- std::unique_ptr<const rapidjson::SchemaDocument> m_schema;
- };
-}
-
-TEST_F(utglTF2ImportExport, schemaCheckPass) {
- FakeSchemaProvider schemaProvider("glTF.schema.json");
- Assimp::Importer importer;
- importer.SetPropertyPointer(AI_CONFIG_IMPORT_SCHEMA_DOCUMENT_PROVIDER, &schemaProvider);
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/BoxTextured-glTF/BoxTextured.gltf", aiProcess_ValidateDataStructure);
- EXPECT_NE(scene, nullptr);
- EXPECT_STREQ(importer.GetErrorString(), "");
-}
-
-TEST_F(utglTF2ImportExport, schemaCheckFail) {
- FakeSchemaProvider schemaProvider("glTF.schema.json");
- Assimp::Importer importer;
- importer.SetPropertyPointer(AI_CONFIG_IMPORT_SCHEMA_DOCUMENT_PROVIDER, &schemaProvider);
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/SchemaFailures/sceneWrongType.gltf", aiProcess_ValidateDataStructure);
- EXPECT_EQ(scene, nullptr);
- const std::string errorString = importer.GetErrorString();
- EXPECT_NE(errorString.find("The JSON document did not satisfy the glTF2 schema"), std::string::npos);
-}
-
-TEST_F(utglTF2ImportExport, noSchemaFound) {
- // More than one importer might make use the provider, but not all schemas might be present.
- // Check that the glTF importer handles the case when an non-null provider returns null when asked for schemas.
- FakeSchemaProvider schemaProvider("missingSchema.json");
- Assimp::Importer importer;
- importer.SetPropertyPointer(AI_CONFIG_IMPORT_SCHEMA_DOCUMENT_PROVIDER, &schemaProvider);
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/BoxTextured-glTF/BoxTextured.gltf", aiProcess_ValidateDataStructure);
- EXPECT_NE(scene, nullptr);
- EXPECT_STREQ(importer.GetErrorString(), "");
-}
diff --git a/libs/assimp/test/unit/utglTFImportExport.cpp b/libs/assimp/test/unit/utglTFImportExport.cpp
deleted file mode 100644
index cb20c15..0000000
--- a/libs/assimp/test/unit/utglTFImportExport.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
----------------------------------------------------------------------------
-Open Asset Import Library (assimp)
----------------------------------------------------------------------------
-
-Copyright (c) 2006-2022, assimp team
-
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms,
-with or without modification, are permitted provided that the following
-conditions are met:
-
-* Redistributions of source code must retain the above
-copyright notice, this list of conditions and the
-following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the
-following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-* Neither the name of the assimp team, nor the names of its
-contributors may be used to endorse or promote products
-derived from this software without specific prior
-written permission of the assimp team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------------
-*/
-#include "AbstractImportExportBase.h"
-#include "UnitTestPCH.h"
-
-#include <assimp/postprocess.h>
-#include <assimp/Importer.hpp>
-
-#include <assimp/commonMetaData.h>
-#include <assimp/scene.h>
-
-using namespace Assimp;
-
-class utglTFImportExport : public AbstractImportExportBase {
-public:
- bool importerTest() override {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF/TwoBoxes/TwoBoxes.gltf", aiProcess_ValidateDataStructure);
- return nullptr != scene;
- }
-};
-
-TEST_F(utglTFImportExport, importglTFFromFileTest) {
- EXPECT_TRUE(importerTest());
-}
-
-TEST_F(utglTFImportExport, incorrect_vertex_arrays) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF/IncorrectVertexArrays/Cube_v1.gltf",
- aiProcess_ValidateDataStructure);
- EXPECT_NE(nullptr, scene);
- EXPECT_EQ(scene->mMeshes[0]->mNumVertices, 36u);
- EXPECT_EQ(scene->mMeshes[0]->mNumFaces, 12u);
- EXPECT_EQ(scene->mMeshes[1]->mNumVertices, 35u);
- EXPECT_EQ(scene->mMeshes[1]->mNumFaces, 11u);
- EXPECT_EQ(scene->mMeshes[2]->mNumVertices, 36u);
- EXPECT_EQ(scene->mMeshes[2]->mNumFaces, 18u);
- EXPECT_EQ(scene->mMeshes[3]->mNumVertices, 35u);
- EXPECT_EQ(scene->mMeshes[3]->mNumFaces, 17u);
- EXPECT_EQ(scene->mMeshes[4]->mNumVertices, 36u);
- EXPECT_EQ(scene->mMeshes[4]->mNumFaces, 12u);
- EXPECT_EQ(scene->mMeshes[5]->mNumVertices, 35u);
- EXPECT_EQ(scene->mMeshes[5]->mNumFaces, 11u);
- EXPECT_EQ(scene->mMeshes[6]->mNumVertices, 36u);
- EXPECT_EQ(scene->mMeshes[6]->mNumFaces, 18u);
- EXPECT_EQ(scene->mMeshes[7]->mNumVertices, 35u);
- EXPECT_EQ(scene->mMeshes[7]->mNumFaces, 17u);
-}
-
-TEST_F(utglTFImportExport, sceneMetadata) {
- Assimp::Importer importer;
- const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF/TwoBoxes/TwoBoxes.gltf", aiProcess_ValidateDataStructure);
- ASSERT_TRUE(scene);
- ASSERT_TRUE(scene->mMetaData);
- {
- ASSERT_TRUE(scene->mMetaData->HasKey(AI_METADATA_SOURCE_FORMAT));
- aiString format;
- ASSERT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_FORMAT, format));
- ASSERT_EQ(strcmp(format.C_Str(), "glTF Importer"), 0);
- }
- {
- ASSERT_TRUE(scene->mMetaData->HasKey(AI_METADATA_SOURCE_FORMAT_VERSION));
- aiString version;
- ASSERT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_FORMAT_VERSION, version));
- ASSERT_EQ(strcmp(version.C_Str(), "1.0"), 0);
- }
- {
- ASSERT_TRUE(scene->mMetaData->HasKey(AI_METADATA_SOURCE_GENERATOR));
- aiString generator;
- ASSERT_TRUE(scene->mMetaData->Get(AI_METADATA_SOURCE_GENERATOR, generator));
- ASSERT_EQ(strncmp(generator.C_Str(), "collada2gltf", 12), 0);
- }
-}