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
Copy file name to clipboardExpand all lines: README.md
+31-5Lines changed: 31 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,9 @@ SixLabors.PolygonClipper
13
13
14
14
</div>
15
15
16
-
SixLabors.PolygonClipper provides boolean operations on polygons in C# using a Martínez-Rueda sweep-line implementation. It supports union, intersection, difference, and xor on complex polygons with holes and multiple contours. Self-intersection normalization is provided via a separate Clipper2-inspired pipeline.
16
+
SixLabors.PolygonClipper provides high-performance polygon clipping and stroking in C#.
17
+
Boolean operations (union, intersection, difference, xor) are implemented with a Martinez-Rueda sweep-line pipeline for complex polygons with holes and multiple contours.
18
+
Self-intersection normalization is handled by a dedicated Vatti/Clipper2-inspired remover, and `PolygonStroker` builds stroke geometry on top of that normalization path.
17
19
18
20
## Features
19
21
@@ -22,14 +24,15 @@ SixLabors.PolygonClipper provides boolean operations on polygons in C# using a M
22
24
- Preserves topology: output polygons include hole/contour hierarchy
23
25
- Deterministic and robust sweep line algorithm with O((n + k) log n) complexity
24
26
- Includes self-intersection removal (Clipper2-inspired) to normalize input contours for boolean operations
27
+
- Includes `PolygonStroker` for configurable geometric stroking (joins, caps, miter limits)
25
28
- Uses double precision geometry without coordinate quantization
26
29
27
30
## Usage
28
31
29
-
The API centers around `Polygon` and `Contour` types. Construct input polygons using contours, then apply Boolean operations via the `PolygonClipper` class:
32
+
The API centers around `Polygon` and `Contour` types. Construct input polygons using contours, then apply Boolean operations via `PolygonClipper`:
0 commit comments