mirror of https://github.com/CGAL/cgal
Try-Catch the CDT constraint insertions
This commit is contained in:
parent
f570e0ec2e
commit
4d03dbe076
|
|
@ -1442,12 +1442,20 @@ triangulate_hole_polyline_with_cdt(const PointRange& points,
|
||||||
vertices[v->info()] = v;
|
vertices[v->info()] = v;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (std::size_t i = 0; i < size; ++i) {
|
try
|
||||||
const std::size_t ip = (i + 1) % size;
|
{
|
||||||
if (vertices[i] != vertices[ip]) {
|
for (std::size_t i = 0; i < size; ++i) {
|
||||||
cdt.insert_constraint(vertices[i], vertices[ip]);
|
const std::size_t ip = (i + 1) % size;
|
||||||
|
if (vertices[i] != vertices[ip]) {
|
||||||
|
cdt.insert_constraint(vertices[i], vertices[ip]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
catch(const typename CDT::Intersection_of_constraints_exception&)
|
||||||
|
{
|
||||||
|
visitor.end_planar_phase(false);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Mark external faces.
|
// Mark external faces.
|
||||||
for (typename CDT::All_faces_iterator fit = cdt.all_faces_begin(),
|
for (typename CDT::All_faces_iterator fit = cdt.all_faces_begin(),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue