-
Notifications
You must be signed in to change notification settings - Fork 347
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
Fix QuadEdgeSubdivision remove method #342
Conversation
|
Thanks for fixing. I don't think #2 is a bug -- value capture and reference capture would be equivalent for a reference. |
Well, it doesn't work without that change. And it fails in a really sneaky way... the edge seems to remove ok, but its point values end up different. (Verified by comparing traces from before and after the original commit). Unless there is something else going on? |
|
Actually they're not equivalent. Since the comparison |
|
I think the remove method is fundamentally flawed in that |
|
Ah, so you are saying that the change to the referencing to If the above is acceptable, we should remove the calls to |
|
It looks to me like the |
|
Yeah, as long as the container isn't going to grow without bound as the algorithm chugs along, there's no reason not to just let it sit and just quietly deallocate everything when the algorithm completes. |
|
Sounds good. Thanks, @dr-jts . |
This fixes this GEOS issue which causes an infinite loop for grids of regularly spaced points. The problem was caused by two bugs in the
QuadEdgeSubdivision::removemethod:QuadEdgeQuartetneeds to check if the quartet base matches the arg edge OR its syme, not&e, since it is already a reference