-
-
Notifications
You must be signed in to change notification settings - Fork 886
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
Bug Fix: reworked line polygon crossings so that combing copes with complex boundaries #973
Bug Fix: reworked line polygon crossings so that combing copes with complex boundaries #973
Conversation
…x comb boundaries. Before, if a travel crossed multiple polygons it could fail to detect all of the crossings and the resulting comb path could cross regions that it should not.
…t crossings, duh!
Devs. CURA-6112 |
I'll like to second that PR, because I ran into the same issue on a 3Dbenchy (!?!). |
…on-crossings # Conflicts: # src/pathPlanning/LinePolygonsCrossings.cpp
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.
Looks like a good approach to the problem. Reduces the administration with that minimum and maximum, too. I'll give it a good test...
Good that I saw you post this, I had this one pegged as the next one to-do, but couldn't get to it yesterday. Almost also started a review :-) |
Well it's got a Jira ticket so Jira would've resolved the conflict anyway :) |
Took a while, but indeed I found some cases where it improved combing. It doesn't seem to have any noticeable performance impact. |
The original line polygon crossings implementation did not cope with complex combing regions well because it assumed that each polygon in the combing boundary could only have a single crossing pair. This is not true for complex combing regions that have multiple holes.
Before this PR...
With this PR...
This PR fixes Ultimaker/Cura#5116.
Note that the problem is not only with no-skin combing, it can occur with any combing where the combing region is sufficiently complex.