mirror of https://github.com/CGAL/cgal
Merge remote-tracking branch 'cgal/5.6.x-branch' into 'cgal/6.0.x-branch'
This commit is contained in:
commit
28eee36cb6
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
/// @}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue