From 1c74a87f2478fab9f920fc8b2878c26464178983 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Thu, 9 Jan 2020 11:32:01 +0100 Subject: [PATCH] Primitives: use a more efficient duplicate removal approach in Icosphere. It's still extremely bad, but at least something. --- src/Magnum/Primitives/Icosphere.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Magnum/Primitives/Icosphere.cpp b/src/Magnum/Primitives/Icosphere.cpp index f43ab09d4..80ee71b66 100644 --- a/src/Magnum/Primitives/Icosphere.cpp +++ b/src/Magnum/Primitives/Icosphere.cpp @@ -27,7 +27,6 @@ #include "Magnum/Mesh.h" #include "Magnum/Math/Color.h" -#include "Magnum/MeshTools/Duplicate.h" #include "Magnum/MeshTools/RemoveDuplicates.h" #include "Magnum/MeshTools/Subdivide.h" #include "Magnum/Trade/MeshData3D.h" @@ -78,7 +77,7 @@ Trade::MeshData3D icosphereSolid(const UnsignedInt subdivisions) { return (a+b).normalized(); }); - indices = MeshTools::duplicate(indices, MeshTools::removeDuplicates(positions)); + positions.resize(MeshTools::removeDuplicatesIndexedInPlace(Containers::stridedArrayView(indices), Containers::stridedArrayView(positions))); std::vector normals(positions); return Trade::MeshData3D{MeshPrimitive::Triangles, std::move(indices), {std::move(positions)}, {std::move(normals)}, {}, {}, nullptr};