Changed booleanCrosses with two input lines to recognise if crossing point is between vertices #2968
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously, when checking the intersection of two lines booleanCrosses would only check candidate intersection points against line vertices, which lead to valid crossing points being missed and to false negatives.
This change has the function be more optimistic and only rule out candidate intersections if they coincide with the end points (or "boundary") of the lines. The crossing points can otherwise be anywhere on the lines.
Added tests to better exercise the different variations crosses needs to cater for, at least for two lines. Renamed a couple of other tests to better describe what they're testing.
Resolves #1901
Resolves #2967
Please provide the following when creating a PR:
contributorsfield ofpackage.json- you've earned it! 👏