factor/extra/gml/examples/cube.gml

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