jbuckmccready / cavalier_contours

2D polyline/shape library for offsetting, combining, etc.
Apache License 2.0
151 stars 13 forks source link

Look into different offset join types #12

Open jbuckmccready opened 3 years ago

jbuckmccready commented 3 years ago

Currently segments are always joined with an arc when needed (to maintain constant offset distance from original input).

It's common in graphics libraries to offer other join types, e.g. see Microsoft documentation on the Shape.StrokeLineJoin Property here: https://docs.microsoft.com/en-us/dotnet/api/system.windows.shapes.shape.strokelinejoin?view=net-5.0

It may be possible add a miter and/or bevel join option to the parallel offset algorithm, need to investigate if it conflicts with the way offset slice pruning is performed.