reconstruct-face ( face-vertices vertices -- face edges )


Vocabulary
euler.b-rep.io.obj.private

Inputs
face-verticesan object
verticesan object


Outputs
facean object
edgesan object


Definition


:: reconstruct-face ( face-vertices vertices -- face edges )
face new dup >>base-face :> face face-vertices [
vertices nth :> vertex b-edge new vertex >>vertex
face >>face :> edge vertex
[ [ edge ] unless* ] change-edge drop edge
] { } map-as :> edges edges 1 edges length 1 +
edges <circular-slice> [ >>next-edge drop ] 2each
face edges first >>edge edges ;