Handbook
Glossary
make-ef ( e1: b-edge e2: b-edge -- edge: b-edge )
Vocabulary
euler
.
operators
Inputs
e1
a
b-edge
e2
a
b-edge
Outputs
edge
a
b-edge
Definition
USING:
accessors
euler.b-rep
euler.operators.private
kernel
typed
;
IN:
euler.operators
TYPED::
make-ef
( e1: b-edge e2: b-edge -- edge: b-edge )
e1 e2
assert-same-face
e2
vertex>>
make-loop-face
:>
e1' e1
vertex>>
e2
make-edge
:>
e2' e1' e2'
opposite-edges
e1
face-cw
:>
e1p e1 e2
eq?
[
e2
face-cw
:>
e2p e1'
face>>
e1 e2
subdivide-edge-cycle
e1' e2p
next-edge<<
e1 e1'
next-edge<<
]
unless
e2' e1p
next-edge<<
e1'
;