]> gitweb.factorcode.org Git - factor.git/blob - extra/gml/examples/cube.gml
maintain gml, euler, flatland, pong, multi-methods, pair-rockets, variables.
[factor.git] / extra / gml / examples / cube.gml
1 usereg
2
3 (1,1,1) !v0
4 (1,0,1) !v1
5 (0,0,1) !v2
6 (0,1,1) !v3
7
8 (1,1,0) !v4
9 (1,0,0) !v5
10 (0,0,0) !v6
11 (0,1,0) !v7
12
13 :v0 :v1 makeVEFS dup
14 [ :v2 :v3 ]
15 { makeEVone } forall
16 exch edgemate exch makeEF
17
18 :v7 makeEVone
19 dup faceCCW faceCCW
20 [ :v4 :v5 :v6 ]
21 {
22     makeEVone
23     makeEF vertexCW
24     dup faceCCW faceCCW
25 } forall
26 faceCCW makeEF
27
28 edgemate !e
29 :e :e facemidpoint
30 :e facenormal add
31
32 !p !e
33 :e :p makeEVone
34 dup edgemate !e
35 {
36     dup faceCCW faceCCW
37     dup :e eq { exit } if
38     makeEF edgemate
39 } loop
40
41 pop pop