boolean-contains not always true for results of intersect using same parent zone
See original GitHub issueConsider the following case:
const coverage = [[[-75.77768325805664, 42.46399280017058], [-69.57040786743164, 40.697299008636755], [-77.08505630493164, 40.772221877329024], [-75.77768325805664, 42.46399280017058]]];
const allowedCoordinates = [[[-74.3994140625, 43.14107810634587], [-70.46630859375, 40.47202439692057], [-76.387939453125, 39.2492708462234], [-76.871337890625, 42.73087427928485], [-74.3994140625, 43.14107810634587]]];
const allowedCoverage = Polygon(allowedCoordinates);
const intendedCoverage = Polygon(coverage);
const resultingShape = Intersect(allowedCoverage, intendedCoverage);
const isContained = BooleanContains(allowedCoverage, resultingShape);// -> false
In my test case above I expected the resultingShape will be contained.
Issue Analytics
- State:
- Created 5 years ago
- Reactions:1
- Comments:11 (4 by maintainers)
Top Results From Across the Web
Boolean Operations - Figma Help Center
Boolean operations combine any set of shape layers through one of four formulas: Union, Subtract, Intersect, and Exclude. Boolean groups are treated as...
Read more >Boolean Compound Object | 3ds Max 2021
A Boolean object combines two or more objects into a single mesh by performing a Boolean operation on them.
Read more >XPath and XQuery Functions and Operators 3.1 - W3C
In the case of namespace nodes, however, the result is always an empty sequence — it does not depend on the base URI...
Read more >Intersection Observer API - MDN Web Docs
The Intersection Observer API provides a way to asynchronously observe changes in the intersection of a target element with an ancestor ...
Read more >Reference guide for expression functions - Azure Logic Apps
For example, if you use non-string values where strings are expected ... true or false, Boolean, Return true when all expressions are true....
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Any update ?
Confirmed that my test case fails because of lack of precision in the
onBoundary
calculation withinRing()
in booleanPointInPolygon. In particular because of this check:Don’t really have an idea of how to solve that at this point. If you have some thoughts I would be happy to take a stab at a PR