Delphi **type** TJoinType = (jtSquare, jtRound, jtMiter);

C++ **enum** JoinType {Square, Round, Miter};

C# **public enum** JoinType {Square, Round, Miter};

The **JoinType** enumerator is only needed when **offsetting** (inflating/shrinking). It isn't needed for polygon clipping.

When adding paths to a ClipperOffset object via the AddPaths method, the joinType parameter may be any one of these types - Square, Round or Miter.

The angle at vertex A is more acute than the one at B and a mitered offset there would exceed 'miter limit'.

**JoinType.Square**: Squaring is applied uniformally at all joins where the*internal*join angle is less that 90 degrees. The squared edge will be at exactly the offset distance from the join vertex.**JoinType.Round**: Rounding is applied to all joins that have convex external angles, and it maintains the exact offset distance from the join vertex.**JoinType.Miter**: There's a necessary limit to mitered joins (to avoid narrow angled joins producing excessively long and narrow**spikes**). So where mitered joins would exceed a given maximum miter distance (relative to the offset distance), these are 'squared' instead.

Clipper.Offset, ClipperOffset, ClipperOffset.AddPaths, ClipperOffset.MiterLimit

Copyright ©2010-2022 Angus Johnson - Clipper2 1.0.4 - Help file built on 16 Sep 2022