From d13f4866407d7fa6005e2dcfd0fd465289749f9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Sat, 4 Jun 2022 14:19:00 +0200 Subject: [PATCH] update tests/examples/demos to use the new API --- .../Constrained_Delaunay_triangulation_2.cpp | 4 +- Mesh_2/examples/Mesh_2/mesh_optimization.cpp | 5 +- Mesh_2/test/Mesh_2/test_lloyd.cpp | 55 +++++++++++++++++++ .../test_mesh_opti_projection_traits.cpp | 2 +- .../Plugins/Mesh_2/Mesh_2_plugin.cpp | 2 +- 5 files changed, 61 insertions(+), 7 deletions(-) diff --git a/GraphicsView/demo/Triangulation_2/Constrained_Delaunay_triangulation_2.cpp b/GraphicsView/demo/Triangulation_2/Constrained_Delaunay_triangulation_2.cpp index a05bf7ba8bf..220dc70f1a9 100644 --- a/GraphicsView/demo/Triangulation_2/Constrained_Delaunay_triangulation_2.cpp +++ b/GraphicsView/demo/Triangulation_2/Constrained_Delaunay_triangulation_2.cpp @@ -961,9 +961,7 @@ MainWindow::on_actionLloyd_optimization_triggered() } CGAL::lloyd_optimize_mesh_2(cdt, - max_iteration_number = nb, - seeds_begin = m_seeds.begin(), - seeds_end = m_seeds.end()); + CGAL::parameters::number_of_iterations(nb).seeds(m_seeds)); // default cursor QApplication::restoreOverrideCursor(); diff --git a/Mesh_2/examples/Mesh_2/mesh_optimization.cpp b/Mesh_2/examples/Mesh_2/mesh_optimization.cpp index 383b7edf1a7..6ffa683ec54 100644 --- a/Mesh_2/examples/Mesh_2/mesh_optimization.cpp +++ b/Mesh_2/examples/Mesh_2/mesh_optimization.cpp @@ -52,8 +52,9 @@ int main() std::cout << "Run Lloyd optimization..."; CGAL::lloyd_optimize_mesh_2(cdt, - CGAL::parameters::max_iteration_number = 10); - std::cout << " done." << std::endl; + CGAL::parameters::number_of_iterations(10)); + +std::cout << " done." << std::endl; std::cout << "Number of vertices: " << cdt.number_of_vertices() << std::endl; } diff --git a/Mesh_2/test/Mesh_2/test_lloyd.cpp b/Mesh_2/test/Mesh_2/test_lloyd.cpp index 005464fa2dd..cd6bfa0c3ec 100644 --- a/Mesh_2/test/Mesh_2/test_lloyd.cpp +++ b/Mesh_2/test/Mesh_2/test_lloyd.cpp @@ -1,3 +1,5 @@ +#define CGAL_NO_DEPRECATION_WARNINGS + #include "test_dependencies.h" #include #include @@ -55,6 +57,51 @@ struct Lloyd_tester cdt.number_of_vertices() <= 640 ); + const size_type number_of_constraints = number_of_constrained_edges(cdt); + const size_type number_of_vertices1 = cdt.number_of_vertices(); + + CGAL::Mesh_optimization_return_code rc + = CGAL::lloyd_optimize_mesh_2(cdt, + CGAL::parameters::number_of_iterations(10). + convergence_ratio(0.001). + vertex_freeze_bound(0.001). + seeds(seeds)); + const size_type number_of_vertices2 = cdt.number_of_vertices(); + std::cerr << " done (return code = "<< rc <<").\n"; + std::cerr << "Number of vertices: " << number_of_vertices2 << "\n\n"; + + assert( cdt.is_valid() ); + assert( number_of_vertices1 == number_of_vertices2 ); + assert( number_of_constraints == number_of_constrained_edges(cdt)); + } +}; + +#ifndef CGAL_NO_DEPRECATED_CODE +struct Lloyd_tester_deprecated_API +{ + void operator()(CDT& cdt) const + { + std::vector seeds; + seeds.reserve(32); + + std::cerr << "Reading fish-and-rectangle.poly..."; + std::ifstream poly_file("fish-and-rectangle.poly"); + CGAL::IO::read_triangle_poly_file(cdt, poly_file, std::back_inserter(seeds)); + assert( cdt.is_valid() ); + + std::cerr << " done.\nNumber of vertices: " << cdt.number_of_vertices() + << "\nNumber of seeds: " << seeds.size() << "\n\n"; + + std::cerr << "Meshing the triangulation with size 0.1..."; + CGAL::refine_Delaunay_mesh_2(cdt, + seeds.begin(), seeds.end(), + Criteria(0.125, 0.1)); + std::cerr << " done.\nNumber of vertices: " << cdt.number_of_vertices() << "\n\n"; + assert( cdt.is_valid() ); + assert( 580 <= cdt.number_of_vertices() && + cdt.number_of_vertices() <= 640 ); + + const size_type number_of_constraints = number_of_constrained_edges(cdt); const size_type number_of_vertices1 = cdt.number_of_vertices(); @@ -74,6 +121,7 @@ struct Lloyd_tester assert( number_of_constraints == number_of_constrained_edges(cdt)); } }; +#endif int main() { @@ -81,5 +129,12 @@ int main() CDT cdt; Lloyd_tester tester; tester(cdt); + + #ifndef CGAL_NO_DEPRECATED_CODE + std::cerr << "TESTING lloyd_optimize_mesh_2 with Epick (deprecated API)...\n\n"; + cdt = CDT(); + Lloyd_tester_deprecated_API tester_bis; + tester_bis(cdt); + #endif return 0; } diff --git a/Mesh_2/test/Mesh_2/test_mesh_opti_projection_traits.cpp b/Mesh_2/test/Mesh_2/test_mesh_opti_projection_traits.cpp index 88b379f1a1f..ef11be72b58 100644 --- a/Mesh_2/test/Mesh_2/test_mesh_opti_projection_traits.cpp +++ b/Mesh_2/test/Mesh_2/test_mesh_opti_projection_traits.cpp @@ -54,7 +54,7 @@ int main() std::cout << "Run Lloyd optimization..."; CGAL::lloyd_optimize_mesh_2(cdt, - CGAL::parameters::max_iteration_number = 10); + CGAL::parameters::number_of_iterations(10)); std::cout << " done." << std::endl; std::cout << "Number of vertices: " << cdt.number_of_vertices() << std::endl; diff --git a/Polyhedron/demo/Polyhedron/Plugins/Mesh_2/Mesh_2_plugin.cpp b/Polyhedron/demo/Polyhedron/Plugins/Mesh_2/Mesh_2_plugin.cpp index 4361cd11e7c..87fd4b7c529 100644 --- a/Polyhedron/demo/Polyhedron/Plugins/Mesh_2/Mesh_2_plugin.cpp +++ b/Polyhedron/demo/Polyhedron/Plugins/Mesh_2/Mesh_2_plugin.cpp @@ -326,7 +326,7 @@ private: ltime.restart(); std::cout << " Running lloyd_optimize_mesh_2..." << std::flush; CGAL::lloyd_optimize_mesh_2(cdt, - CGAL::parameters::max_iteration_number = nb_iter); + CGAL::parameters::number_of_iterations(nb_iter)); std::cout << " done (" << ltime.elapsed() << " ms)" << std::endl; }