From 29ebb126b87a250d8e2cf681e233d9342d2d369a Mon Sep 17 00:00:00 2001 From: Alexandre Avenel Date: Thu, 2 Aug 2018 19:05:45 +0200 Subject: [PATCH] Add test for glTF2 lines, line strip, lines loop --- test/unit/utglTF2ImportExport.cpp | 45 +++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/test/unit/utglTF2ImportExport.cpp b/test/unit/utglTF2ImportExport.cpp index a8866f86c..35b6030da 100644 --- a/test/unit/utglTF2ImportExport.cpp +++ b/test/unit/utglTF2ImportExport.cpp @@ -145,6 +145,51 @@ TEST_F(utglTF2ImportExport, importglTF2PrimitiveModeTrianglesStrip) { } } +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, 4); + std::array l1 = { 0, 3, 2, 1, 0}; + EXPECT_EQ(scene->mMeshes[0]->mFaces[0].mNumIndices, 2); + for (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, 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, 4); + std::array l1 = { 0, 3, 2, 1, 0 }; + EXPECT_EQ(scene->mMeshes[0]->mFaces[0].mNumIndices, 2); + for (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, 4); + std::array l1 = { 0, 3, 2, 1, 0 }; + EXPECT_EQ(scene->mMeshes[0]->mFaces[0].mNumIndices, 2); + for (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]); + } +} + #ifndef ASSIMP_BUILD_NO_EXPORT TEST_F( utglTF2ImportExport, exportglTF2FromFileTest ) { EXPECT_TRUE( exporterTest() );