polyline offset
native offset in rhino, maya and microstation for degree 1 curve/polyline
i) rhino produces additional segments from its cleaning procedure, it handles single island within closed/looped polyline
ii) maya no edge loop removal unless its a degree>1 curve
iii) microstation (red line) works well as expected as a cad software, handles multiple islands
dotted lines in iii shows the possible result from a simple segment paired offset, yielding unwanted result at kinks (2nd local loop in iv)
fig iv wouldn’t work well with post-process edge loop removal, should have either taken into account the directions of the offset vector and previous vector or operating on the curve shattered at kinks by its reflex (orange) and convex (black) vertex (v)
previous implementation on 090611 had issues handling situation shown in iv at the 2nd local loop
top image: test implementation on polyline works in most simple cases removing local loops, with known issues shown in vii with global loops
todo: global loops, keep global loops as islands, look at computing weighted offset either based on cgal skeleton for closed-polygon or from own implementation primarily for open polylines