Open LMarkowski opened 4 years ago
Besides what is said in the description there are many other ways in which Offest could be improved to be more error-proof. Here are some of my not implemented ideas:
BooleanUnion
could be adapt to find biggest possible polygon. Cons: works only on closed curves and positive values of offset. Pros: could work better than what we have now.curve[i].StartPoint
and curve[i+1].EndPoint
. It was not always possible but even so it doesn't always mean that this exact curve should be culled.Polylines
is much more reliable. Referring to it while offsetting PolyCurve
could be considered as often as possible.@pawelbaran @IsakNaslundBh @FraserGreenroyd here's the issue mentioned in Friday's PR.
Great, cheers @LMarkowski :smile:
Now just need to find someone to resolve it... 🤔
Description:
Following the discussion in PR #1314 following items should be improved in
Offset()
method forPolyline
andPolyCurve
classes:0.05 * Curve.Length()
. Instead should be calculated or exposed as an input parameter. Link to the specific comment in a PR.Reflection.Compute.ClearCurrentEvents()
. Probably there is a better way to cover it. Link to the specific comment in a PR. Refers also to #1306.Fillet()
now works only on pairs of Lines and Arcs and rather trims/extends them to the intersection point than really fillet. It was inspired by Autocad Fillet method. Could be improved and added as separate public method or maybe renamed.ExtendToPoint()
as above.Extend(curve, double, double)
is implemented for most ofICurve
classes, only Nurbs are missing. Now we could decide if separate method for extending to a given point instead of extending by a given length would be useful. If so, there is a private method working on lines and arcs inOffset.cs
file. It could be used as a draft.