move code to internal/experimental and example to test

also update test that was no longer compiling
This commit is contained in:
Sébastien Loriot 2019-09-27 08:35:03 +02:00
parent 3bd071175e
commit 6cedfac39a
5 changed files with 1370 additions and 4 deletions

View File

@ -85,7 +85,6 @@ create_single_source_cgal_program( "detect_features_example.cpp" )
create_single_source_cgal_program( "manifoldness_repair_example.cpp" )
create_single_source_cgal_program( "repair_polygon_soup_example.cpp" )
create_single_source_cgal_program( "mesh_smoothing_example.cpp")
create_single_source_cgal_program( "clean_degeneracies.cpp" )
if(OpenMesh_FOUND)
create_single_source_cgal_program( "compute_normals_example_OM.cpp" )

View File

@ -324,6 +324,8 @@ bool should_flip(typename boost::graph_traits<TriangleMesh>::edge_descriptor e,
} // namespace internal
namespace experimental {
// @todo check what to use as priority queue with removable elements, set might not be optimal
template <typename FaceRange, typename TriangleMesh, typename NamedParameters>
bool remove_almost_degenerate_faces(const FaceRange& face_range,
@ -704,6 +706,7 @@ bool remove_almost_degenerate_faces(TriangleMesh& tmesh,
CGAL::parameters::all_default());
}
} // namespace experimental
} // namespace Polygon_mesh_processing
} // namespace CGAL

View File

@ -95,6 +95,7 @@ endif()
create_single_source_cgal_program("remove_degeneracies_test.cpp")
create_single_source_cgal_program("test_pmp_manifoldness.cpp")
create_single_source_cgal_program("test_mesh_smoothing.cpp")
create_single_source_cgal_program("test_remove_caps_needles.cpp")
if( TBB_FOUND )
CGAL_target_use_TBB(test_pmp_distance)

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@
#include <CGAL/Polygon_mesh_processing/self_intersections.h>
#include <fstream>
#include <CGAL/Polygon_mesh_processing/remove_degeneracies.h>
#include <CGAL/Polygon_mesh_processing/internal/remove_degeneracies.h>
#include <iostream>
#include <vector>
@ -32,8 +32,10 @@ int main(int argc, char** argv)
if (PMP::does_self_intersect(mesh))
std::cout << "Input mesh has self-intersections\n";
PMP::remove_almost_degenerate_faces(mesh);
PMP::experimental::remove_almost_degenerate_faces(mesh,
std::cos(160. / 180 * CGAL_PI),
4,
0.14);
std::ofstream out("cleaned_mesh.off");
out << std::setprecision(17) << mesh;