diff options
author | Filip Sykala <filip.sykala@prusa3d.cz> | 2021-09-02 12:17:07 +0300 |
---|---|---|
committer | Filip Sykala <filip.sykala@prusa3d.cz> | 2021-09-02 12:17:07 +0300 |
commit | d45ab1c484c9699a596bf40e21e04d25fe645bda (patch) | |
tree | 46f199326257b9119d6660dcf91fcd106c5167f8 /tests/libslic3r | |
parent | f6f70f6fd4115b205d462ca14234810157d1bbb5 (diff) |
Fix trouble case test
Diffstat (limited to 'tests/libslic3r')
-rw-r--r-- | tests/libslic3r/test_indexed_triangle_set.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/tests/libslic3r/test_indexed_triangle_set.cpp b/tests/libslic3r/test_indexed_triangle_set.cpp index bbb22e778..7e2d511c7 100644 --- a/tests/libslic3r/test_indexed_triangle_set.cpp +++ b/tests/libslic3r/test_indexed_triangle_set.cpp @@ -279,14 +279,23 @@ TEST_CASE("Simplify mesh by Quadric edge collapse to 5%", "[its]") CHECK(is_similar(its, mesh.its, cfg)); } +bool exist_triangle_with_twice_vertices(const std::vector<stl_triangle_vertex_indices>& indices) +{ + for (const auto &face : indices) + if (face[0] == face[1] || + face[0] == face[2] || + face[1] == face[2]) return true; + return false; +} + TEST_CASE("Simplify trouble case", "[its]") { TriangleMesh tm = load_model("simplification.obj"); REQUIRE_FALSE(tm.empty()); float max_error = std::numeric_limits<float>::max(); - uint32_t wanted_count = 8; + uint32_t wanted_count = 0; its_quadric_edge_collapse(tm.its, wanted_count, &max_error); - CHECK(tm.its.indices.size() <= 8); + CHECK(!exist_triangle_with_twice_vertices(tm.its.indices)); } TEST_CASE("Simplified cube should not be empty.", "[its]") |