Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilip Sykala <filip.sykala@prusa3d.cz>2021-09-02 12:17:07 +0300
committerFilip Sykala <filip.sykala@prusa3d.cz>2021-09-02 12:17:07 +0300
commitd45ab1c484c9699a596bf40e21e04d25fe645bda (patch)
tree46f199326257b9119d6660dcf91fcd106c5167f8 /tests/libslic3r
parentf6f70f6fd4115b205d462ca14234810157d1bbb5 (diff)
Fix trouble case test
Diffstat (limited to 'tests/libslic3r')
-rw-r--r--tests/libslic3r/test_indexed_triangle_set.cpp13
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]")