Browse Source

MeshTools: ensure proper assert is printed in compressIndices().

pull/430/head
Vladimír Vondruš 6 years ago
parent
commit
c5e70c40eb
  1. 5
      src/Magnum/MeshTools/CompressIndices.cpp
  2. 4
      src/Magnum/MeshTools/Test/CompressIndicesTest.cpp

5
src/Magnum/MeshTools/CompressIndices.cpp

@ -165,9 +165,12 @@ Trade::MeshData compressIndices(Trade::MeshData&& data, MeshIndexType atLeast) {
} }
Trade::MeshData compressIndices(const Trade::MeshData& data, MeshIndexType atLeast) { Trade::MeshData compressIndices(const Trade::MeshData& data, MeshIndexType atLeast) {
CORRADE_ASSERT(data.isIndexed(), "MeshTools::compressIndices(): mesh data not indexed", (Trade::MeshData{MeshPrimitive::Triangles, 0}));
return compressIndices(Trade::MeshData{data.primitive(), return compressIndices(Trade::MeshData{data.primitive(),
{}, data.indexData(), Trade::MeshIndexData{data.indices()}, {}, data.indexData(), Trade::MeshIndexData{data.indices()},
{}, data.vertexData(), Trade::meshAttributeDataNonOwningArray(data.attributeData())}, atLeast); {}, data.vertexData(), Trade::meshAttributeDataNonOwningArray(data.attributeData()),
data.vertexCount()}, atLeast);
} }
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED

4
src/Magnum/MeshTools/Test/CompressIndicesTest.cpp

@ -316,10 +316,14 @@ void CompressIndicesTest::compressMeshDataMove() {
} }
void CompressIndicesTest::compressMeshDataNonIndexed() { void CompressIndicesTest::compressMeshDataNonIndexed() {
/* Test both r-value and l-value overload */
std::ostringstream out; std::ostringstream out;
Error redirectError{&out}; Error redirectError{&out};
Trade::MeshData mesh{MeshPrimitive::TriangleFan, 5};
MeshTools::compressIndices(mesh);
MeshTools::compressIndices(Trade::MeshData{MeshPrimitive::TriangleFan, 5}); MeshTools::compressIndices(Trade::MeshData{MeshPrimitive::TriangleFan, 5});
CORRADE_COMPARE(out.str(), CORRADE_COMPARE(out.str(),
"MeshTools::compressIndices(): mesh data not indexed\n"
"MeshTools::compressIndices(): mesh data not indexed\n"); "MeshTools::compressIndices(): mesh data not indexed\n");
} }

Loading…
Cancel
Save