Del.» function SimplifyPolygons(const polys: TPaths;
        FillType: TPolyFillType = pftEvenOdd): TPaths;

C++ » void SimplifyPolygons(const Paths &in_polys, Paths &out_polys,
        PolyFillType fillType = pftEvenOdd);

C++ » void SimplifyPolygons(Paths &polys, PolyFillType fillType = pftEvenOdd);

C#  » public static Polygons SimplifyPolygons(Paths polys,
        PolyFillType fillType = PolyFillType.pftEvenOdd);

Removes self-intersections from the supplied polygons (by performing a boolean union operation using the nominated PolyFillType).
Polygons with non-contiguous duplicate vertices (ie 'vertices are touching') will be split into two polygons.

C++ only: This function is overloaded. In the first definition, the in_polys and out_polys parameters can reference the same Paths object though in that case the calling code might be clearer if the second definition (accepting a single Paths parameter) is used.

Note: There's currently no guarantee that polygons will be strictly simple since 'simplifying' is still a work in progress.

See Also

Clipper.StrictlySimple, CleanPolygons, PolyFillType