Del.» function SimplifyPolygon(const Poly: TPath; FillType: TPolyFillType = pftEvenOdd): TPaths;

C++ » void SimplifyPolygon(const Path &in_poly, Paths &out_polys,
        PolyFillType fillType = pftEvenOdd);

C#  » public static Paths SimplifyPolygon(Path poly,
        PolyFillType fillType = PolyFillType.pftEvenOdd);

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

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

See Also

Clipper.StrictlySimple, CleanPolygon, Path, PolyFillType