Home | ClipperLib |

Del.» **function** CleanPolygons(**const** Polys: TPaths; Distance: double = 1.415): TPaths;

C++ » **void** CleanPolygons(**const** Paths &in_polys, Paths &out_polys, double distance = 1.415);

C++ » **void** CleanPolygons(Paths &polys, double distance = 1.415);

C# » **public static** Paths CleanPolygons(Paths polys, double distance = 1.415);

Removes vertices:

- that join co-linear edges, or join edges that are almost co-linear (such that if the vertex was moved no more than the specified distance the edges would be co-linear)
- that are within the specified distance of an adjacent vertex
- that are within the specified distance of a semi-adjacent vertex together with their out-lying vertices

Vertices are *semi-adjacent* when they are separated by a single (out-lying) vertex.

The *distance* parameter's default value is approximately √2 so that a vertex will be removed when adjacent or semi-adjacent vertices having their corresponding X and Y coordinates differing by no more than 1 unit. (If the egdes are semi-adjacent the out-lying vertex will be removed too.)

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.

CleanPolygon, SimplifyPolygons

Copyright ©2010-2014 Angus Johnson - Clipper 6.2.0 - Help file built on 16-October-2014