Files
test/source
Germano Cavalcante 9bf673a37d Fix #114215: Scanfill sometimes fails to identify holes
The problem is in the way of identifying "fast" intersections through bounds.

In the existing code, before testing the intersections (to identify
holes) the polys are sorted according to the bounds
(in the order x1 < x2 || y1 < y2).

Then a for loop is used on the order returned by sort.

Each time the bound of a polygon intersects with another, it is joined
and the bound is added.

The problem with this solution is that some bounds may not intersect
with the first, but could intersect one that is joined to the first,
which, as it is cleared, makes the intersection undetected.

The solution is to remove this code with `qsort` and create a
"target_map" that identifies a source polygon and a dest polygon.

Pull Request: https://projects.blender.org/blender/blender/pulls/114600
2023-11-10 12:56:20 +01:00
..