Delphi function TrimCollinear(const p: TPath64; isOpenPath: Boolean = false): TPath64;

Delphi function TrimCollinear(const p: TPathD; precision: integer; isOpenPath: Boolean = false): TPathD;

C++ inline Path64 TrimCollinear(const Path64& p, bool is_open_path = false);

C++ inline PathD TrimCollinear(const PathD& p, int precision, bool is_open_path = false);

C#  public static Path64 TrimCollinear(Path64 path, bool is_open = false);

C#  public static PathD TrimCollinear(PathD path, int precision bool, is_open = false);

This function removes the vertices between adjacent collinear segments. It will also remove duplicate vertices (adjacent vertices with identical coordinates).

With floating point paths, the precision parameter indicates the decimal precision that's required when determining collinearity.

Note: While duplicate vertices will be removed automatically from clipping solutions, collinear edges will not unless the Clipper object's PreserveCollinear property had been disabled.

See Also

Clipper64.PreserveCollinear, ClipperD.PreserveCollinear