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;
|
Topology_traits;
|
||||||
typedef CGAL::Gps_on_surface_base_2<Traits_2, Topology_traits>
|
typedef CGAL::Gps_on_surface_base_2<Traits_2, Topology_traits>
|
||||||
Polygon_set_2;
|
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_2 Polygon_2;
|
||||||
typedef typename Traits_2::Polygon_with_holes_2 Polygon_with_holes_2;
|
typedef typename Traits_2::Polygon_with_holes_2 Polygon_with_holes_2;
|
||||||
typedef typename Polygon_with_holes_2::Hole_const_iterator
|
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);
|
Polygon_set_2 gps(traits);
|
||||||
// check for 2D intersections of holes (holes must be disjoint except for
|
// check for 2D intersections of holes (holes must be disjoint except for
|
||||||
// vertices)
|
// vertices)
|
||||||
Size num_of_holes = 0;
|
// Size num_of_holes = 0;
|
||||||
// functors for creating a pwh needed for inserting pgns into the arrangement
|
// functors for creating a pwh needed for inserting pgns into the arrangement
|
||||||
// quickly
|
// quickly
|
||||||
Construct_polygon_with_holes_2 construct_pwh_functor =
|
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);
|
// traits.Construct_polygon_with_holes_2 (hole);
|
||||||
// Polygon_with_holes_2 empty_pwh(hole);
|
// Polygon_with_holes_2 empty_pwh(hole);
|
||||||
gps.insert(empty_pwh);
|
gps.insert(empty_pwh);
|
||||||
num_of_holes++;
|
// num_of_holes++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* not good - doesn't work if intersection at vertices is legal.
|
/* 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::choose_parameter;
|
||||||
using CGAL::parameters::get_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>::vertex_descriptor vertex_descriptor;
|
||||||
typedef typename boost::graph_traits<TriangleMesh>::halfedge_descriptor halfedge_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));
|
CGAL_precondition(is_triangle_mesh(tmesh));
|
||||||
|
|
||||||
// constrain extremities of constrained edges
|
// 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())
|
for(face_descriptor f : face_range)
|
||||||
continue;
|
|
||||||
|
|
||||||
for(halfedge_descriptor h : CGAL::halfedges_around_face(halfedge(f, tmesh), tmesh))
|
|
||||||
{
|
{
|
||||||
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);
|
if(get(ecm, edge(h, tmesh)))
|
||||||
put(vcm, target(h, tmesh), true);
|
{
|
||||||
}
|
put(vcm, source(h, tmesh), true);
|
||||||
else if(get(vcm_np, target(h, tmesh)))
|
put(vcm, target(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);
|
const edge_descriptor e = edge(h, tmesh);
|
||||||
CGAL_assertion(!get(ecm, 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
|
#ifdef CGAL_PMP_DEBUG_REMOVE_DEGENERACIES_EXTRA
|
||||||
std::cout << " treat needle: " << e
|
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
|
by the constructor `Construct_weighted_circumcenter_3` of the traits
|
||||||
class, hence the returned point has no weight.
|
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);
|
CGAL_precondition(dimension() >= 2);
|
||||||
|
|
||||||
|
if(the_facet_is_in_its_cz)
|
||||||
|
*the_facet_is_in_its_cz = false;
|
||||||
|
|
||||||
std::vector<Cell_handle> cells;
|
std::vector<Cell_handle> cells;
|
||||||
cells.reserve(32);
|
cells.reserve(32);
|
||||||
std::vector<Facet> facets;
|
std::vector<Facet> facets;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue