diff --git a/Installation/CHANGES.md b/Installation/CHANGES.md index 7133056dd81..0a50227086a 100644 --- a/Installation/CHANGES.md +++ b/Installation/CHANGES.md @@ -648,7 +648,7 @@ Release date: July 2023 - Added the class `CGAL::Surface_mesh_simplification::GarlandHeckbert_plane_and_line_policies`, which provides improved output for `CGAL::Surface_mesh_simplification::edge_collapse`. - That class works the same as previous `GarlandHeckbert_policies` - Its constructor takes a `Mesh` and an optional `double` parameter specifying the weight of the line policy relative to the plane policy (default: 0.01). -- `CGAL::Surface_mesh_simplification::GarlandHeckbert_policies.h` is now an alias of `CGAL::Surface_mesh_simplification::GarlandHeckbert_plane_plus_line_policies.h` and is no longer deprecated. +- `CGAL::Surface_mesh_simplification::GarlandHeckbert_policies.h` is now an alias of `CGAL::Surface_mesh_simplification::GarlandHeckbert_plane_and_line_policies.h` and is no longer deprecated. ### [2D Regularized Boolean Set Operations](https://doc.cgal.org/5.6/Manual/packages.html#PkgBooleanSetOperations2) - Exposed all required member functions of the diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_plane_and_line_policies.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_plane_and_line_policies.h index 783209f7978..80fd4c16676 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_plane_and_line_policies.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_plane_and_line_policies.h @@ -45,9 +45,10 @@ public: /// @{ /*! - initializes the Garland-Heckbert Plane policies. + initializes the Garland-Heckbert Plane policies. The `line_weight` parameter (default: 0.01) defines the weight of the line + policy relative to the plane policy. */ - GarlandHeckbert_plane_and_line_policies(TriangleMesh& tmesh); + GarlandHeckbert_plane_and_line_policies(TriangleMesh& tmesh, const FT line_weight=FT(0.01)); /// @} diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_plane_and_line_policies.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_plane_and_line_policies.h index 11ff1edccc1..033a0258bbe 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_plane_and_line_policies.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_plane_and_line_policies.h @@ -43,8 +43,8 @@ public: public: GarlandHeckbert_plane_and_line_policies(TriangleMesh& tmesh, - const FT dm = FT(100), - const FT line_weight=FT(0.01)) + const FT line_weight=FT(0.01), + const FT dm = FT(100)) : Base(tmesh, FT(1.)/line_weight, dm) { } diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_plane_policies.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_plane_policies.h index 2d77132ec59..3f99ca2c751 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_plane_policies.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_plane_policies.h @@ -33,10 +33,10 @@ public: Plane_quadric_calculator() { } template - Mat_4 construct_quadric_from_vertex(typename boost::graph_traits::vertex_descriptor v, - const TriangleMesh& tmesh, - const VertexPointMap point_map, - const GeomTraits& gt) const + Mat_4 construct_quadric_from_vertex(typename boost::graph_traits::vertex_descriptor /*v*/, + const TriangleMesh& /*tmesh*/, + const VertexPointMap /*point_map*/, + const GeomTraits& /*gt*/) const { return Mat_4::Zero(); } diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_probabilistic_plane_policies.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_probabilistic_plane_policies.h index f1f2b102c90..f7c439c845a 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_probabilistic_plane_policies.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_probabilistic_plane_policies.h @@ -75,10 +75,10 @@ public: public: template - Mat_4 construct_quadric_from_vertex(typename boost::graph_traits::vertex_descriptor v, - const TriangleMesh& tmesh, - const VertexPointMap point_map, - const GeomTraits& gt) const + Mat_4 construct_quadric_from_vertex(typename boost::graph_traits::vertex_descriptor /*v*/, + const TriangleMesh& /*tmesh*/, + const VertexPointMap /*point_map*/, + const GeomTraits& /*gt*/) const { return Mat_4::Zero(); } diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_probabilistic_triangle_policies.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_probabilistic_triangle_policies.h index c08d66c5642..8d13f92ae63 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_probabilistic_triangle_policies.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_probabilistic_triangle_policies.h @@ -75,10 +75,10 @@ public: public: template - Mat_4 construct_quadric_from_vertex(typename boost::graph_traits::vertex_descriptor v, - const TriangleMesh& tmesh, - const VertexPointMap point_map, - const GeomTraits& gt) const + Mat_4 construct_quadric_from_vertex(typename boost::graph_traits::vertex_descriptor /*v*/, + const TriangleMesh& /*tmesh*/, + const VertexPointMap /*point_map*/, + const GeomTraits& /*gt*/) const { return Mat_4::Zero(); } diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_triangle_policies.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_triangle_policies.h index 1f340e233ea..5318623cf5d 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_triangle_policies.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_triangle_policies.h @@ -33,10 +33,10 @@ public: Triangle_quadric_calculator() { } template - Mat_4 construct_quadric_from_vertex(typename boost::graph_traits::vertex_descriptor v, - const TriangleMesh& tmesh, - const VertexPointMap point_map, - const GeomTraits& gt) const + Mat_4 construct_quadric_from_vertex(typename boost::graph_traits::vertex_descriptor /*v*/, + const TriangleMesh& /*tmesh*/, + const VertexPointMap /*point_map*/, + const GeomTraits& /*gt*/) const { return Mat_4::Zero(); } diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/internal/GarlandHeckbert_line_policies.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/internal/GarlandHeckbert_line_policies.h index de2efa13a4f..1f9aea8346d 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/internal/GarlandHeckbert_line_policies.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/internal/GarlandHeckbert_line_policies.h @@ -46,19 +46,19 @@ public: } template - Mat_4 construct_quadric_from_edge(typename boost::graph_traits::halfedge_descriptor he, - const TriangleMesh& tmesh, - const VertexPointMap point_map, - const GeomTraits& gt) const + Mat_4 construct_quadric_from_edge(typename boost::graph_traits::halfedge_descriptor /*he*/, + const TriangleMesh& /*tmesh*/, + const VertexPointMap /*point_map*/, + const GeomTraits& /*gt*/) const { return Mat_4::Zero(); } template - Mat_4 construct_quadric_from_face(typename boost::graph_traits::face_descriptor f, - const TriangleMesh& tmesh, - const VertexPointMap point_map, - const GeomTraits& gt) const + Mat_4 construct_quadric_from_face(typename boost::graph_traits::face_descriptor /*f*/, + const TriangleMesh& /*tmesh*/, + const VertexPointMap /*point_map*/, + const GeomTraits& /*gt*/) const { return Mat_4::Zero(); } diff --git a/Surface_mesh_simplification/test/Surface_mesh_simplification/CMakeLists.txt b/Surface_mesh_simplification/test/Surface_mesh_simplification/CMakeLists.txt index 310f6aec4c1..53763e6802a 100644 --- a/Surface_mesh_simplification/test/Surface_mesh_simplification/CMakeLists.txt +++ b/Surface_mesh_simplification/test/Surface_mesh_simplification/CMakeLists.txt @@ -13,13 +13,14 @@ create_single_source_cgal_program("test_edge_collapse_Polyhedron_3.cpp") create_single_source_cgal_program("test_edge_profile_link.cpp") create_single_source_cgal_program("test_edge_deprecated_stop_predicates.cpp") create_single_source_cgal_program("test_edge_collapse_stability.cpp") -create_single_source_cgal_program("test_issue_8988.cpp") find_package(Eigen3 3.1.0 QUIET) #(3.1.0 or greater) include(CGAL_Eigen3_support) if(TARGET CGAL::Eigen3_support) create_single_source_cgal_program("edge_collapse_garland_heckbert_variations.cpp") target_link_libraries(edge_collapse_garland_heckbert_variations PRIVATE CGAL::Eigen3_support) + create_single_source_cgal_program("test_issue_8988.cpp") + target_link_libraries(test_issue_8988 PRIVATE CGAL::Eigen3_support) else() message(STATUS "NOTICE: Garland-Heckbert polices require the Eigen library, which has not been found; related examples will not be compiled.") endif()