Merge branch 'releases/CGAL-4.13-branch' into releases/CGAL-4.14-branch

This commit is contained in:
Laurent Rineau 2019-07-01 11:06:57 +02:00
commit 3782c024df
2 changed files with 11 additions and 2 deletions

View File

@ -611,9 +611,15 @@ public:
++epp_it;
}
BOOST_FOREACH(edge_descriptor ed, inter_edges_to_remove1)
{
put(marks_on_input_edges.ecm1, ed, false);
intersection_edges1.erase(ed);
}
BOOST_FOREACH(edge_descriptor ed, inter_edges_to_remove2)
{
put(marks_on_input_edges.ecm2, ed, false);
intersection_edges2.erase(ed);
}
// (1) Assign a patch id to each facet indicating in which connected
// component limited by intersection edges of the surface they are.

View File

@ -143,8 +143,11 @@ public:
static
FT to_ft(const Sqrt_3& x)
{
FT sqrt_e = compute_sqrt( to_ft(x.e()), FT_Has_sqrt() );
FT sqrt_f = compute_sqrt( to_ft(x.f()), FT_Has_sqrt() );
// If the number type does not offer a square root, x.e() and x.f() (which are of type sqrt_1)
// might be negative after (approximately) evaluating them. Taking the max sanitize these values
// to ensure that we do not take the square root of a negative number.
FT sqrt_e = compute_sqrt( (std::max)(FT(0), to_ft(x.e())), FT_Has_sqrt() );
FT sqrt_f = compute_sqrt( (std::max)(FT(0), to_ft(x.f())), FT_Has_sqrt() );
FT sqrt_ef = sqrt_e * sqrt_f;
return to_ft(x.a()) + to_ft(x.b()) * sqrt_e
+ to_ft(x.c()) * sqrt_f + to_ft(x.d()) * sqrt_ef;