Clipper2
Clipper2 copied to clipboard
Polygon Clipping and Offsetting - C++, C# and Delphi
Clipper2
A Polygon Clipping and Offsetting library (in C++, C# & Delphi)
Clipper2 is a major update of my original Clipper library which I'm now calling Clipper1.
Clipper1 was written over 10 years ago and still works very well, but Clipper2 is better in just about every way.
Documentation
Examples
//C++ Paths64 subject, clip, solution; subject.push_back(MakePath("100, 50, 10, 79, 65, 2, 65, 98, 10, 21")); clip.push_back(MakePath("98, 63, 4, 68, 77, 8, 52, 100, 19, 12")); solution = Intersect(subject, clip, FillRule::NonZero);
//C# Paths64 subj = new Paths64(); Paths64 clip = new Paths64(); subj.Add(Clipper.MakePath(new int[] { 100, 50, 10, 79, 65, 2, 65, 98, 10, 21 })); clip.Add(Clipper.MakePath(new int[] { 98, 63, 4, 68, 77, 8, 52, 100, 19, 12 })); Paths64 solution = Clipper.Intersect(subj, clip, FillRule.NonZero);
//Delphi var subject, clip, solution: TPaths64; begin SetLength(subject, 1); subject[0] := MakePath([100, 50, 10, 79, 65, 2, 65, 98, 10, 21]); SetLength(clip, 1); clip[0] := MakePath([98, 63, 4, 68, 77, 8, 52, 100, 19, 12]); solution := Intersect( subject, clip, frNonZero);