Handle polygon vertex intersections without false crossings - #2393
Erwan MATHIEU (wawanbreton) with Copilot wants to merge 4 commits into
Conversation
Co-authored-by: wawanbreton <601114+wawanbreton@users.noreply.github.com>
Erwan MATHIEU (wawanbreton)
left a comment
There was a problem hiding this comment.
Copilot Doing a double inside() call for every intersection seems a bit too much calculation, especially since this function is called for every single extrusion segment. Can you make a version that would be more optimized ?
Co-authored-by: wawanbreton <601114+wawanbreton@users.noreply.github.com>
Optimized in commit |
Erwan MATHIEU (wawanbreton)
left a comment
There was a problem hiding this comment.
Well, this is still a bit reducing: the intersections cluster could actually be spread over multiple override areas. In order to be complete, you should implement a loop that goes over the intersections lists and keeps adding elements to the clusters as long as it find any element that is at a distance of actual_last_intersection+epsilon_factor.
Co-authored-by: wawanbreton <601114+wawanbreton@users.noreply.github.com>
Implemented in commit |
|
Proposed solution is still not complete, finishing it manually in the branch. |
Duplicate edge intersections at polygon vertices were being collapsed into a single crossing, incorrectly changing extrusion override occupancy when a segment only touched a vertex.