You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The source files in the attached archive bug.zip demonstrate an intersection bug that is present in version 1.79.0. Given two intersecting rectangles each with collinear points represented as two multi_polygons, for specific choices of those points, boost::geometry::intersection produces an incorrect result.
nonbug.cpp produces the following output where the second part of the output refers to a case with the y-coordinates of the points on the second rectangle being perturbed ever so slightly. As expected, the output is the same in both cases.
However, bug.cpp produces the following output where the first part indicates the bug. After perturbing the y-coordinates of the points on the second rectangle, the problem vanishes.
Looking at boost versions 1.76 - 1.80, I noted that the bug is present in version 1.79 and the latest 1.80 release. It is not present in versions 1.76 - 1.78.
Sorry, it's a few weeks later already.
It's a numerical issue. Using long double fixes this particular example.
Boost 1.79 is different from the versions before, because we stopped using rescaling (which caused several other issues).
I will look later if this issue can be fixed in a generic way, but that will not be soon.
The source files in the attached archive bug.zip demonstrate an intersection bug that is present in version 1.79.0. Given two intersecting rectangles each with collinear points represented as two multi_polygons, for specific choices of those points,
boost::geometry::intersection
produces an incorrect result.nonbug.cpp produces the following output where the second part of the output refers to a case with the y-coordinates of the points on the second rectangle being perturbed ever so slightly. As expected, the output is the same in both cases.
However, bug.cpp produces the following output where the first part indicates the bug. After perturbing the y-coordinates of the points on the second rectangle, the problem vanishes.
Note that the difference between both files is as follows.
The text was updated successfully, but these errors were encountered: