Merge remote-tracking branch 'cgal/5.6.x-branch' into 'cgal/6.0.x-branch'

This commit is contained in:
Sébastien Loriot 2025-07-31 15:15:52 +02:00
commit 28eee36cb6
4 changed files with 25 additions and 17 deletions

View File

@ -622,7 +622,7 @@ bool are_holes_and_boundary_pairwise_disjoint
Topology_traits;
typedef CGAL::Gps_on_surface_base_2<Traits_2, Topology_traits>
Polygon_set_2;
typedef typename Polygon_set_2::Size Size;
// typedef typename Polygon_set_2::Size Size;
typedef typename Traits_2::Polygon_2 Polygon_2;
typedef typename Traits_2::Polygon_with_holes_2 Polygon_with_holes_2;
typedef typename Polygon_with_holes_2::Hole_const_iterator
@ -677,7 +677,7 @@ bool are_holes_and_boundary_pairwise_disjoint
Polygon_set_2 gps(traits);
// check for 2D intersections of holes (holes must be disjoint except for
// vertices)
Size num_of_holes = 0;
// Size num_of_holes = 0;
// functors for creating a pwh needed for inserting pgns into the arrangement
// quickly
Construct_polygon_with_holes_2 construct_pwh_functor =
@ -701,7 +701,7 @@ bool are_holes_and_boundary_pairwise_disjoint
// traits.Construct_polygon_with_holes_2 (hole);
// Polygon_with_holes_2 empty_pwh(hole);
gps.insert(empty_pwh);
num_of_holes++;
// num_of_holes++;
}
}
/* not good - doesn't work if intersection at vertices is legal.

View File

@ -646,6 +646,7 @@ bool remove_almost_degenerate_faces(const FaceRange& face_range,
{
using CGAL::parameters::choose_parameter;
using CGAL::parameters::get_parameter;
using parameters::is_default_parameter;
typedef typename boost::graph_traits<TriangleMesh>::vertex_descriptor vertex_descriptor;
typedef typename boost::graph_traits<TriangleMesh>::halfedge_descriptor halfedge_descriptor;
@ -702,21 +703,25 @@ bool remove_almost_degenerate_faces(const FaceRange& face_range,
CGAL_precondition(is_triangle_mesh(tmesh));
// constrain extremities of constrained edges
for(face_descriptor f : face_range)
if constexpr (!is_default_parameter<NamedParameters, internal_np::edge_is_constrained_t>::value ||
!is_default_parameter<NamedParameters, internal_np::vertex_is_constrained_t>::value)
{
if(f == boost::graph_traits<TriangleMesh>::null_face())
continue;
for(halfedge_descriptor h : CGAL::halfedges_around_face(halfedge(f, tmesh), tmesh))
for(face_descriptor f : face_range)
{
if(get(ecm, edge(h, tmesh)))
if(f == boost::graph_traits<TriangleMesh>::null_face())
continue;
for(halfedge_descriptor h : CGAL::halfedges_around_face(halfedge(f, tmesh), tmesh))
{
put(vcm, source(h, tmesh), true);
put(vcm, target(h, tmesh), true);
}
else if(get(vcm_np, target(h, tmesh)))
{
put(vcm, target(h, tmesh), true);
if(get(ecm, edge(h, tmesh)))
{
put(vcm, source(h, tmesh), true);
put(vcm, target(h, tmesh), true);
}
else if(get(vcm_np, target(h, tmesh)))
{
put(vcm, target(h, tmesh), true);
}
}
}
}
@ -813,7 +818,7 @@ bool remove_almost_degenerate_faces(const FaceRange& face_range,
const edge_descriptor e = edge(h, tmesh);
CGAL_assertion(!get(ecm, edge(h, tmesh)));
CGAL_assertion(!get(vcm, source(h, tmesh)) && !get(vcm, target(h, tmesh)));
CGAL_assertion(!get(vcm, source(h, tmesh)) || !get(vcm, target(h, tmesh)));
#ifdef CGAL_PMP_DEBUG_REMOVE_DEGENERACIES_EXTRA
std::cout << " treat needle: " << e

View File

@ -75,7 +75,7 @@ circumcenter is not supposed to be computed
by the constructor `Construct_weighted_circumcenter_3` of the traits
class, hence the returned point has no weight.
*/
const Point_3& weighted_circumcenter(const Traits& gt = Traits()) const;
Point_3 weighted_circumcenter(const Traits& gt = Traits()) const;
/// @}

View File

@ -665,6 +665,9 @@ public:
{
CGAL_precondition(dimension() >= 2);
if(the_facet_is_in_its_cz)
*the_facet_is_in_its_cz = false;
std::vector<Cell_handle> cells;
cells.reserve(32);
std::vector<Facet> facets;