FIX: Make Python scripts more robust (Closes FFBUG0000006)
[freefoam.git] / doc / UserGuide / mesh / assets / wedgeNumbering.asy
blob55509b170fb95b52c37e80bee43becf95e14df7f
1 import three;
3 settings.render = 0;
4 settings.prc = false;
5 settings.gsOptions="-r144x144";
6 size(11cm);
7 currentprojection=obliqueZ();
9 Z /= 2;
11 triple[] corners = {
12   Z,   X+Z,   X,
13   Y+Z, X+Y+Z, X+Y, Y
15 pair[] corner_pos = {
16   SW, SE, SE,
17   NW, SE, NE, NW
20 triple[] face_centers = {
21   (corners[0]+corners[2]+corners[1])/3,
22   (corners[3]+corners[4]+corners[5]+corners[6])/4,
23   (corners[0]+corners[3]+corners[6])/3,
24   (corners[1]+corners[2]+corners[5]+corners[4])/4,
25   (corners[0]+corners[1]+corners[4]+corners[3])/4,
26   (corners[0]+corners[6]+corners[5]+corners[2])/4,
29 int[][] edges = {
30   {0, 1},
31   {1, 2},
32   {0, 2},
33   {0, 3},
34   {0, 6},
35   {2, 5},
36   {1, 4},
37   {3, 4},
38   {3, 6},
39   {4, 5},
40   {5, 6},
43 pen[] edge_styles = {
44   black,
45   black,
46   dashed,
47   black,
48   dashed,
49   black,
50   black,
51   black,
52   black,
53   black,
54   black
57 pair[] edge_pos = {
58   S, S, N,
59   W, NW, E, E,
60   S, N, S, N
63 picture wedge()
65   picture pic = new picture;
66   for(int i=0; i<edges.length; ++i)
67   {
68     draw(pic, corners[edges[i][0]]--corners[edges[i][1]], edge_styles[i]);
69   }
70   return pic;
73 picture pic1 = wedge();
74 picture pic3 = wedge();
75 picture pic2 = wedge();
77 for(int i=0; i<corners.length; ++i)
79   label(pic1, format("$%d$", i), corners[i], corner_pos[i]);
81 for(int i=0; i<face_centers.length; ++i)
83   label(pic2, format("$%d$", i), face_centers[i]);
85 for(int i=0; i<edges.length; ++i)
87   triple c = (corners[edges[i][0]]+corners[edges[i][1]])/2;
88   label(pic3, format("$%d$", i), c, edge_pos[i]);
91 add(pic1);
92 add(shift(1.5X)*pic2);
93 add(shift(3X)*pic3);