42 lines
498 B
Plaintext
42 lines
498 B
Plaintext
usereg
|
|
|
|
(1,1,1) !v0
|
|
(1,0,1) !v1
|
|
(0,0,1) !v2
|
|
(0,1,1) !v3
|
|
|
|
(1,1,0) !v4
|
|
(1,0,0) !v5
|
|
(0,0,0) !v6
|
|
(0,1,0) !v7
|
|
|
|
:v0 :v1 makeVEFS dup
|
|
[ :v2 :v3 ]
|
|
{ makeEVone } forall
|
|
exch edgemate exch makeEF
|
|
|
|
:v7 makeEVone
|
|
dup faceCCW faceCCW
|
|
[ :v4 :v5 :v6 ]
|
|
{
|
|
makeEVone
|
|
makeEF vertexCW
|
|
dup faceCCW faceCCW
|
|
} forall
|
|
faceCCW makeEF
|
|
|
|
edgemate !e
|
|
:e :e facemidpoint
|
|
:e facenormal add
|
|
|
|
!p !e
|
|
:e :p makeEVone
|
|
dup edgemate !e
|
|
{
|
|
dup faceCCW faceCCW
|
|
dup :e eq { exit } if
|
|
makeEF edgemate
|
|
} loop
|
|
|
|
pop pop
|