add mesh simplification.

SPE-1072 
Working but flipped normals with the interior.
Testing on treefrog passed
Oversampling for hollowed mesh should not be less than 3x
Flip back normals after simplify and remove redundant test code.
This commit is contained in:
tamasmeszaros 2020-01-23 10:57:51 +01:00
parent 63b0eec5a9
commit f8a5796ca5
11 changed files with 875 additions and 44 deletions

View file

@ -11,6 +11,7 @@ add_executable(${_TEST_NAME}_tests
test_placeholder_parser.cpp
test_polygon.cpp
test_stl.cpp
test_meshsimplify.cpp
)
if (TARGET OpenVDB::openvdb)

View file

@ -9,6 +9,8 @@
#include <libnest2d/tools/benchmark.h>
#include <libslic3r/SimplifyMesh.hpp>
#if defined(WIN32) || defined(_WIN32)
#define PATH_SEPARATOR R"(\)"
#else
@ -23,6 +25,7 @@ static Slic3r::TriangleMesh load_model(const std::string &obj_filename)
return mesh;
}
TEST_CASE("Negative 3D offset should produce smaller object.", "[Hollowing]")
{
Slic3r::TriangleMesh in_mesh = load_model("20mm_cube.obj");
@ -40,3 +43,4 @@ TEST_CASE("Negative 3D offset should produce smaller object.", "[Hollowing]")
in_mesh.require_shared_vertices();
in_mesh.WriteOBJFile("merged_out.obj");
}

View file

@ -0,0 +1,11 @@
#include <catch2/catch.hpp>
#include <test_utils.hpp>
//#include <libslic3r/MeshSimplify.hpp>
//TEST_CASE("Mesh simplification", "[mesh_simplify]") {
// Simplify::load_obj(TEST_DATA_DIR PATH_SEPARATOR "zaba.obj");
// Simplify::simplify_mesh_lossless();
// Simplify::write_obj("zaba_simplified.obj");
//}