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
[](https://github.com/SixLabors/PolygonClipper/blob/main/LICENSE)
13
13
14
14
</div>
15
15
16
-
A C# implementation of the Martínez–Rueda algorithm for performing Boolean operations on polygons. This library supports union, intersection, difference, and xor operations on complex polygons with holes, multiple contours, and self-intersections.
16
+
A C# implementation of the Martínez-Rueda algorithm for performing Boolean operations on polygons. This library supports union, intersection, difference, and xor operations on complex polygons with holes, multiple contours, and self-intersections.
17
17
18
18
## Features
19
19
20
20
- Works with non-convex polygons, including holes and multiple disjoint regions
21
21
- Handles edge cases like overlapping edges and vertical segments
22
22
- Preserves topology: output polygons include hole/contour hierarchy
23
23
- Deterministic and robust sweep line algorithm with O((n + k) log n) complexity
24
+
- Includes self-intersection removal to normalize input contours for boolean operations
25
+
- Uses double precision geometry without coordinate quantization
24
26
25
27
## Usage
26
28
@@ -30,13 +32,20 @@ The API centers around `Polygon` and `Contour` types. Construct input polygons u
0 commit comments