boostorg/geometry — pull request #156 by zerebubuth (2014-10-11 16:59:00+00:00)
Title: Bug with CCW polygons with holes

I first found this when a polygon with a hole was not disjoint from another polygon which fit within the hole. It seemed like the issue may have been that only outer rings were used to provide sample points for contains-testing in the disjoint algorithm, but this did not solve the issue. Upon further investigation, it seemed that `point_on_surface` was ignoring inner rings of CCW polygons due to a CW assumption in `get_intruders` and `right_turn` used as part of the extrema-finding algorithm.

I can't say I fully understand the algorithm, and the "fix" I have provided in 924de9b1792356e68e3003b9bb991d8c52ba5a07 is based more on intuition than mathematics. However, I hope that some of this may be of use in fixing the problem for real.

Thanks!