-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improvement backports from CDT_3 branch (Follow-up to PR #8170) #8273
base: master
Are you sure you want to change the base?
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
#if CGAL_USE_BOOST_UNORDERED | ||
typedef boost::unordered_flat_map<Edge, Context_list*, boost::hash<Edge>> Sc_to_c_map; | ||
#else | ||
typedef std::unordered_map<Edge, Context_list*, boost::hash<Edge>> Sc_to_c_map; | ||
#endif |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Order of the sequence of values from the range CGAL::Constrained_triangulation_plus_2<Tr>::subconstraints()
- The patch 93fd966 makes the range
CGAL::Constrained_triangulation_plus_2<Tr>::subconstraints()
non-deterministic: instead of astd::map
with a customcompare
functor, now the sub-constraints are in an unordered map, for efficiency reasons. Note that the range was never documented as sorted or deterministic. - As my patch had broken a test from Mesh_2 (the test
test_meshing
), I had to fix that non-determinism. That was complicated to fix directly inConstrained_triangulation_plus_2
orConstrained_triangulation_plus_2
. Instead, I have chosen to fix the only place in CGAL where the order of that range mattered, inMesh_2/include/CGAL/Mesh_2/Refine_edges.h
. See the commit 82b5359.
Is that correct? That is a sort of breaking change, but the ordering of Ctp_2::constraints()
was never documented.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Jane (IRL) suggested that:
- it is documented that there is a breaking change
- and add a Tag to
Constrained_triangulation_plus_2
to allow users to fallback to the previous behavior.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
Summary of Changes
In the PR #8170, merged for CGAL-6.0, there was several commits that I had to revert, because they broke the testsuite results:
save_binary_file
. That was no correct as regards to the C3t3 concept. It is now fixed by commit c10dcf7 from this PR.Polyline_constraint_hierarchy_2
using an unordered map, instead of astd::map
. The issue was that is broke the determinism of Mesh_2. See Improvement backports from CDT_3 branch (Follow-up to PR #8170) #8273 (comment).CGAL::Segment_3
, for some CGAL kernels.This pull-request reintroduces those features, for CGAL-6.1.
Release Management