Skip to content
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

Surface_sweep_2: Handle new overlap on the right of an event that is interior to a curve #7243

Merged
merged 16 commits into from
Dec 22, 2023

Conversation

sloriot
Copy link
Member

@sloriot sloriot commented Feb 3, 2023

Handle case of overlapping curve starting on a non start/end event.

@efifogel I don't like the fact that I'm adding some geometric tests. I think I should check if there are overlapping curves on the right of the event and check if the originating curves are in the status line (using the stored hint). What do you think?

Fixes #7235

@sloriot
Copy link
Member Author

sloriot commented Feb 3, 2023

@efifogel could you add your minimal case in the testsuite?

@efifogel
Copy link
Member

efifogel commented Feb 4, 2023 via email

@efifogel
Copy link
Member

efifogel commented Feb 4, 2023 via email

@lrineau lrineau changed the title Handle new overlap on the right of an event that is interior to a curve Surface_sweep_2: Handle new overlap on the right of an event that is interior to a curve Jun 1, 2023
@lrineau lrineau changed the base branch from 5.4.x-branch to 5.5.x-branch June 13, 2023 16:25
@lrineau lrineau added this to the 5.5.3 milestone Jun 14, 2023
@lrineau lrineau modified the milestones: 5.5.3, 5.5.4 Jul 28, 2023
@sloriot
Copy link
Member Author

sloriot commented Dec 7, 2023

@efifogel 0714c96 is actually the real fix for this case. What happens is the following:

We are at event A, which is also the left event of curve c1. During handle_left_curve, event A is deleted. Then in handle_right_curve, we have c1 and c2 that are adjacent and that create overlapping curve c3. That curve starts at event B. BUT event B is allocated at the same address as event A, which later prevents c1 and c2 to be added as left curves of event B. Resetting left event of curves after deletion solves the pb. I wonder if the fix is at the right place and if we shouldn't do it also for non-overlapping and no intersection sweep versions.

Note that test_construction_polylines fails in the test. I'll have a look at it.

@sloriot
Copy link
Member Author

sloriot commented Dec 15, 2023

@efifogel there is actually a conflict with the update of tests with #6721, which should actually be responsible for the Conic failure mentioned in your observer PR. What do you recommend? undo the changes related to conics in this PR?

@efifogel
Copy link
Member

efifogel commented Dec 15, 2023 via email

@sloriot
Copy link
Member Author

sloriot commented Dec 15, 2023

Note that this branch targets 5.5.x and the problem is when we merge the branch with master (that targets 6.0)

@efifogel
Copy link
Member

efifogel commented Dec 15, 2023 via email

@sloriot
Copy link
Member Author

sloriot commented Dec 22, 2023

Successfully tested in CGAL-6.0-Ic-134

@sloriot sloriot merged commit 339441a into CGAL:5.5.x-branch Dec 22, 2023
8 checks passed
@sloriot sloriot deleted the AoS-polycurve_overlap branch December 22, 2023 16:11
@sloriot
Copy link
Member Author

sloriot commented Dec 22, 2023

@efifogel You can now submit the PR for the improvement of the test for the conic traits (over 5.6.x AFAIR)

@efifogel
Copy link
Member

efifogel commented Dec 26, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants