extrude-simple ( edge dist sharp? -- edge )


Vocabulary
euler.modeling

Inputs
edgean object
distan object
sharp?an object


Outputs
edgean object


Definition


:: extrude-simple ( edge dist sharp? -- edge )
edge face-normal dist v*n :> vec edge vertex-pos vec v+
:> pos edge pos make-ev-one
:> e0! e0 opposite-edge>> :> e-end edge face-ccw :> edge!
[ edge e-end eq? not ] [
edge vertex-pos vec v+ :> pos edge pos make-ev-one
:> e1 e0 e1 make-ef drop e1 e0! edge face-ccw edge!
] do while e-end face-ccw :> e-end e0 e-end make-ef drop
e-end ;