From 515bfce970cffc218991266c036bfdef5797a04b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Fri, 1 Jan 2021 17:29:31 +0100 Subject: [PATCH] MeshTools: fix a variable shadowing warning. --- src/Magnum/MeshTools/RemoveDuplicates.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/Magnum/MeshTools/RemoveDuplicates.cpp b/src/Magnum/MeshTools/RemoveDuplicates.cpp index 2e0afcc19..9aadafa96 100644 --- a/src/Magnum/MeshTools/RemoveDuplicates.cpp +++ b/src/Magnum/MeshTools/RemoveDuplicates.cpp @@ -483,7 +483,7 @@ Trade::MeshData removeDuplicatesFuzzy(const Trade::MeshData& data, const Float f /* For each attribute decide if it needs to be fuzzy-deduplicated or not, calculate the epsilon size and call the appropriate API */ - const Containers::StridedArrayView2D perAttributeIndices = combinedIndices.transposed<0, 1>(); + Containers::StridedArrayView2D perAttributeIndices = combinedIndices.transposed<0, 1>(); for(UnsignedInt i = 0; i != owned.attributeCount(); ++i) { const VertexFormat format = owned.attributeFormat(i); CORRADE_ASSERT(!isVertexFormatImplementationSpecific(format), @@ -579,20 +579,18 @@ Trade::MeshData removeDuplicatesFuzzy(const Trade::MeshData& data, const Float f indexType = owned.indexType(); } - combinedIndices = combinedIndices.prefix(vertexCount); - Trade::MeshData layout = interleavedLayout(owned, vertexCount); Trade::MeshIndexData indices{indexType, indexData}; Trade::MeshData out{layout.primitive(), std::move(indexData), indices, layout.releaseVertexData(), layout.releaseAttributeData(), vertexCount}; - { - /* Duplicate the attributes according to the combined index buffer */ - const Containers::StridedArrayView2D perAttributeIndices = combinedIndices.transposed<0, 1>(); - for(UnsignedInt i = 0; i != owned.attributeCount(); ++i) - duplicateInto(perAttributeIndices[i].prefix(vertexCount), owned.attribute(i), out.mutableAttribute(i)); - } + /* Trim the views to only the unique combinations, duplicate the attributes + according to the combined index buffer */ + combinedIndices = combinedIndices.prefix(vertexCount); + perAttributeIndices = combinedIndices.transposed<0, 1>(); + for(UnsignedInt i = 0; i != owned.attributeCount(); ++i) + duplicateInto(perAttributeIndices[i].prefix(vertexCount), owned.attribute(i), out.mutableAttribute(i)); return out; }