private PolyTree Union(IReadOnlyList<IReadOnlyList<TriangulationPoint>> input) { var landUnionClipper = new Clipper(Clipper.ioStrictlySimple); landUnionClipper.AddPaths(input.MapList(x => x.MapList(UpscalePoint)), PolyType.ptSubject, true); PolyTree landUnionPolyTree = new PolyTree(); landUnionClipper.Execute(ClipType.ctUnion, landUnionPolyTree, PolyFillType.pftNonZero, PolyFillType.pftNonZero); return landUnionPolyTree; }