14 {0, 1, 2, 3, 4, 5, 6, 7},
15 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11},
16 {0, 1, 2, 3, 4, 5, 6}},
18 {0, 4, 5, 1, 3, 7, 6, 2},
19 {8, 4, 9, 0, 10, 6, 11, 2, 3, 7, 1, 5},
20 {0, 2, 3, 1, 6, 4, 5}},
22 {0, 3, 7, 4, 1, 2, 6, 5},
23 {3, 10, 7, 8, 1, 11, 5, 9, 0, 2, 4, 6},
24 {0, 3, 1, 2, 5, 6, 4}},
26 {1, 5, 6, 2, 0, 4, 7, 3},
27 {9, 5, 11, 1, 8, 7, 10, 3, 0, 4, 2, 6},
28 {1, 3, 0, 2, 5, 4, 6}},
30 {1, 0, 4, 5, 2, 3, 7, 6},
31 {0, 8, 4, 9, 2, 10, 6, 11, 1, 3, 5, 7},
32 {1, 0, 2, 3, 6, 5, 4}},
34 {1, 2, 3, 0, 5, 6, 7, 4},
35 {1, 2, 3, 0, 5, 6, 7, 4, 9, 11, 8, 10},
36 {1, 2, 3, 0, 4, 6, 5}},
38 {2, 1, 5, 6, 3, 0, 4, 7},
39 {1, 9, 5, 11, 3, 8, 7, 10, 2, 0, 6, 4},
40 {2, 1, 3, 0, 5, 6, 4}},
42 {2, 3, 0, 1, 6, 7, 4, 5},
43 {2, 3, 0, 1, 6, 7, 4, 5, 11, 10, 9, 8},
44 {2, 3, 0, 1, 4, 5, 6}},
46 {2, 6, 7, 3, 1, 5, 4, 0},
47 {11, 6, 10, 2, 9, 4, 8, 0, 1, 5, 3, 7},
48 {2, 0, 1, 3, 6, 4, 5}},
50 {3, 2, 6, 7, 0, 1, 5, 4},
51 {2, 11, 6, 10, 0, 9, 4, 8, 3, 1, 7, 5},
52 {3, 2, 0, 1, 6, 5, 4}},
54 {3, 0, 1, 2, 7, 4, 5, 6},
55 {3, 0, 1, 2, 7, 4, 5, 6, 10, 8, 11, 9},
56 {3, 0, 1, 2, 4, 6, 5}},
58 {3, 7, 4, 0, 2, 6, 5, 1},
59 {10, 7, 8, 3, 11, 5, 9, 1, 2, 6, 0, 4},
60 {3, 1, 2, 0, 5, 4, 6}},
62 {4, 5, 1, 0, 7, 6, 2, 3},
63 {4, 9, 0, 8, 6, 11, 2, 10, 7, 5, 3, 1},
64 {2, 3, 1, 0, 6, 5, 4}},
66 {4, 7, 6, 5, 0, 3, 2, 1},
67 {7, 6, 5, 4, 3, 2, 1, 0, 8, 10, 9, 11},
68 {2, 1, 0, 3, 4, 6, 5}},
70 {4, 0, 3, 7, 5, 1, 2, 6},
71 {8, 3, 10, 7, 9, 1, 11, 5, 4, 0, 6, 2},
72 {2, 0, 3, 1, 5, 4, 6}},
74 {5, 4, 7, 6, 1, 0, 3, 2},
75 {4, 7, 6, 5, 0, 3, 2, 1, 9, 8, 11, 10},
76 {3, 2, 1, 0, 4, 5, 6}},
78 {5, 1, 0, 4, 6, 2, 3, 7},
79 {9, 0, 8, 4, 11, 2, 10, 6, 5, 1, 7, 3},
80 {3, 1, 0, 2, 6, 4, 5}},
82 {5, 6, 2, 1, 4, 7, 3, 0},
83 {5, 11, 1, 9, 7, 10, 3, 8, 4, 6, 0, 2},
84 {3, 0, 2, 1, 5, 6, 4}},
86 {6, 2, 1, 5, 7, 3, 0, 4},
87 {11, 1, 9, 5, 10, 3, 8, 7, 6, 2, 4, 0},
88 {0, 2, 1, 3, 5, 4, 6}},
90 {6, 7, 3, 2, 5, 4, 0, 1},
91 {6, 10, 2, 11, 4, 8, 0, 9, 5, 7, 1, 3},
92 {0, 1, 3, 2, 6, 5, 4}},
94 {6, 5, 4, 7, 2, 1, 0, 3},
95 {5, 4, 7, 6, 1, 0, 3, 2, 11, 9, 10, 8},
96 {0, 3, 2, 1, 4, 6, 5}},
98 {7, 3, 2, 6, 4, 0, 1, 5},
99 {10, 2, 11, 6, 8, 0, 9, 4, 7, 3, 5, 1},
100 {1, 3, 2, 0, 6, 4, 5}},
102 {7, 4, 0, 3, 6, 5, 1, 2},
103 {7, 8, 3, 10, 5, 9, 1, 11, 6, 4, 2, 0},
104 {1, 2, 0, 3, 5, 6, 4}},
106 {7, 6, 5, 4, 3, 2, 1, 0},
107 {6, 5, 4, 7, 2, 1, 0, 3, 10, 11, 8, 9},
108 {1, 0, 3, 2, 4, 5, 6}}};
110 *rot_info = rotation[rot_type];
119 if (point_index < 100) {
120 converted_index = (int)rot_info->
edge[point_index];
121 }
else if (point_index < 200) {
122 converted_index = 100 + (int)rot_info->
inside[point_index - 100];
124 converted_index = 200 + (int)rot_info->
grid_point[point_index - 200];
127 return converted_index;
132 double fvalue,
int CS_type,
int disamb_flag) {
204 static int verts[8] = {200, 201, 202, 203, 204, 205, 206, 207};
205 static int isosurf[1] = {-1};
212 for (i = 0; i < 8; i++) cube_polys->
verts[i] = verts[i];
214 *cube_polys->
isosurf = isosurf;
224 static int verts[4] = {0, 3, 8, 200};
225 static int isosurf[4] = {0, 2, 1, -1};
258 for (i = 0; i < 4; i++) {
262 *cube_polys->
isosurf = isosurf;
272 static int verts[10] = {0, 3, 8, 201, 202, 203, 204, 205, 206, 207};
273 static int isosurf[4] = {0, 1, 2, -1};
306 for (i = 0; i < 10; i++) {
310 *cube_polys->
isosurf = isosurf;
320 static int verts[6] = {1, 3, 8, 9, 200, 201};
321 static int isosurf[7] = {1, 0, 2, 3, 2, 0, -1};
366 for (i = 0; i < 6; i++) {
370 *cube_polys->
isosurf = isosurf;
380 static int verts[10] = {1, 3, 8, 9, 202, 203, 204, 205, 206, 207};
381 static int isosurf[7] = {0, 1, 2, 2, 3, 0, -1};
426 for (i = 0; i < 10; i++) {
430 *cube_polys->
isosurf = isosurf;
443 static int verts[8] = {0, 1, 2, 3, 8, 11, 200, 202};
444 static int isosurf_A[7] = {0, 4, 3, 2, 5, 1, -1};
445 static int isosurf_B[13] = {3, 2, 4, 2, 5, 4, 4, 5, 1, 4, 1, 0, -1};
454 if (disamb_flag == 0) {
560 for (i = 0; i < 8; i++) {
565 *cube_polys->
isosurf = isosurf_A;
568 *cube_polys->
isosurf = isosurf_B;
581 double fvalue,
int CS_type,
int index,
586 static int verts[12] = {0, 1, 2, 3, 8, 11, 201, 203, 204, 205, 206, 207};
587 static int isosurf_A[7] = {0, 3, 4, 2, 1, 5, -1};
588 static int isosurf_B[13] = {3, 4, 2, 2, 4, 5, 4, 1, 5, 4, 0, 1, -1};
597 if (disamb_flag == 0) {
703 for (i = 0; i < 12; i++) {
708 *cube_polys->
isosurf = isosurf_A;
711 *cube_polys->
isosurf = isosurf_B;
726 static int verts[8] = {0, 3, 5, 6, 8, 11, 200, 206};
727 static int isosurf[7] = {0, 4, 1, 5, 3, 2, -1};
748 for (i = 0; i < 8; i++) {
752 *cube_polys->
isosurf = isosurf;
753 for (i = 0; i < 6; i++) {
761 static int verts[12] = {0, 3, 5, 6, 8, 11, 201, 202, 203, 204, 205, 207};
762 static int isosurf[7] = {0, 1, 4, 5, 2, 3, -1};
783 for (i = 0; i < 12; i++) {
787 *cube_polys->
isosurf = isosurf;
788 for (i = 0; i < 6; i++) {
796 static int verts[8] = {0, 1, 5, 7, 8, 201, 204, 205};
797 static int isosurf[10] = {0, 1, 4, 1, 3, 4, 1, 2, 3, -1};
884 for (i = 0; i < 8; i++) {
888 *cube_polys->
isosurf = isosurf;
889 for (i = 0; i < 6; i++) {
897 static int verts[10] = {0, 1, 5, 7, 8, 200, 202, 203, 206, 207};
898 static int isosurf[10] = {0, 4, 1, 1, 4, 3, 1, 3, 2, -1};
983 for (i = 0; i < 10; i++) {
987 *cube_polys->
isosurf = isosurf;
988 for (i = 0; i < 6; i++) {
999 static int verts[10] = {1, 3, 5, 6, 8, 9, 11, 200, 201, 206};
1000 static int isosurf_A[16] = {0, 6, 1, 1, 6, 3, 1, 3, 4, 4, 3, 2, 4, 2, 5, -1};
1001 static int isosurf_B[10] = {1, 0, 4, 4, 0, 5, 6, 3, 2, -1};
1010 if (disamb_flag == 0) {
1222 for (i = 0; i < 10; i++) {
1229 *cube_polys->
isosurf = isosurf_A;
1232 *cube_polys->
isosurf = isosurf_B;
1244 double fvalue,
int CS_type,
int index,
1249 static int verts[12] = {1, 3, 5, 6, 8, 9, 11, 202, 203, 204, 205, 207};
1250 static int isosurf_A[16] = {0, 1, 6, 1, 3, 6, 1, 4, 3, 4, 2, 3, 4, 5, 2, -1};
1251 static int isosurf_B[10] = {1, 4, 0, 4, 5, 0, 6, 2, 3, -1};
1260 if (disamb_flag == 0) {
1472 for (i = 0; i < 12; i++) {
1479 *cube_polys->
isosurf = isosurf_A;
1482 *cube_polys->
isosurf = isosurf_B;
1499 static int verts[13] = {0, 1, 2, 3, 5, 6, 9, 10, 11, 201, 203, 206, 101};
1500 static int isosurf_A[10] = {0, 1, 6, 3, 7, 2, 8, 5, 4, -1};
1501 static int isosurf_B[16] = {8, 5, 4, 3, 7, 0, 0, 7, 6, 6, 7, 2, 6, 2, 1, -1};
1502 static int isosurf_C[28] = {6, 0, 12, 0, 3, 12, 3, 7, 12, 7, 2, 12, 2, 1, 12,
1503 1, 8, 12, 8, 5, 12, 5, 4, 12, 4, 6, 12, -1};
1504 static int isosurf_D[16] = {8, 2, 1, 0, 3, 7, 0, 7, 5, 0, 5, 6, 6, 5, 4, -1};
1506 if (disamb_flag == 0) {
1546 switch (amb_index) {
1572 switch (amb_index) {
1598 switch (amb_index) {
1624 switch (amb_index) {
1650 switch (amb_index) {
1676 switch (amb_index) {
1702 switch (amb_index) {
1728 switch (amb_index) {
1748 switch (amb_index) {
1751 for (i = 0; i < 12; i++) {
1754 *cube_polys->
isosurf = isosurf_A;
1761 for (i = 0; i < 12; i++) {
1764 *cube_polys->
isosurf = isosurf_B;
1771 for (i = 0; i < 13; i++) {
1774 *cube_polys->
isosurf = isosurf_C;
1779 for (i = 0; i < 12; i++) {
1782 *cube_polys->
isosurf = isosurf_D;
1789 double fvalue,
int CS_type,
int index,
1794 static int verts[15] = {0, 1, 2, 3, 5, 6, 9, 10,
1795 11, 200, 202, 204, 205, 207, 101};
1796 static int isosurf_A[10] = {0, 6, 1, 3, 2, 7, 8, 4, 5, -1};
1797 static int isosurf_B[16] = {8, 4, 5, 3, 0, 7, 0, 6, 7, 6, 2, 7, 6, 1, 2, -1};
1798 static int isosurf_C[28] = {0, 6, 14, 3, 0, 14, 7, 3, 14, 2, 7, 14, 1, 2, 14,
1799 8, 1, 14, 5, 8, 14, 4, 5, 14, 6, 4, 14, -1};
1800 static int isosurf_D[16] = {8, 1, 2, 0, 7, 3, 0, 5, 7, 0, 6, 5, 6, 4, 5, -1};
1802 if (disamb_flag == 0) {
1842 switch (amb_index) {
1868 switch (amb_index) {
1894 switch (amb_index) {
1920 switch (amb_index) {
1946 switch (amb_index) {
1972 switch (amb_index) {
1998 switch (amb_index) {
2024 switch (amb_index) {
2044 switch (amb_index) {
2047 for (i = 0; i < 14; i++) {
2050 *cube_polys->
isosurf = isosurf_A;
2057 for (i = 0; i < 14; i++) {
2060 *cube_polys->
isosurf = isosurf_B;
2067 for (i = 0; i < 15; i++) {
2070 *cube_polys->
isosurf = isosurf_C;
2075 for (i = 0; i < 14; i++) {
2078 *cube_polys->
isosurf = isosurf_D;
2087 static int verts[8] = {1, 3, 5, 7, 200, 201, 204, 205};
2088 static int isosurf[7] = {0, 2, 1, 1, 2, 3, -1};
2102 for (i = 0; i < 8; i++) {
2106 *cube_polys->
isosurf = isosurf;
2107 for (i = 0; i < 6; i++) {
2114 static int verts[8] = {1, 3, 5, 7, 202, 203, 206, 207};
2115 static int isosurf[7] = {0, 1, 2, 1, 3, 2, -1};
2129 for (i = 0; i < 8; i++) {
2133 *cube_polys->
isosurf = isosurf;
2134 for (i = 0; i < 6; i++) {
2141 static int verts[10] = {0, 3, 5, 6, 9, 10, 200, 204, 205, 207};
2142 static int isosurf[13] = {1, 3, 5, 0, 3, 1, 0, 2, 3, 0, 4, 2, -1};
2159 for (i = 0; i < 10; i++) {
2163 *cube_polys->
isosurf = isosurf;
2164 for (i = 0; i < 6; i++) {
2171 static int verts[10] = {0, 3, 5, 6, 9, 10, 201, 202, 203, 206};
2172 static int isosurf[13] = {1, 5, 3, 0, 1, 3, 0, 3, 2, 0, 2, 4, -1};
2189 for (i = 0; i < 10; i++) {
2193 *cube_polys->
isosurf = isosurf;
2194 for (i = 0; i < 6; i++) {
2199 double fvalue,
int CS_type,
int index,
2204 static int verts[13] = {0, 2, 4, 6, 8, 9, 10, 11, 200, 203, 205, 206, 106};
2205 static int isosurf_A[13] = {4, 1, 0, 1, 4, 6, 5, 7, 3, 3, 2, 5, -1};
2206 static int isosurf_B[25] = {1, 0, 12, 7, 1, 12, 5, 7, 12, 2, 5, 12, 3,
2207 2, 12, 6, 3, 12, 4, 6, 12, 0, 4, 12, -1};
2208 static int isosurf_C[13] = {6, 3, 2, 6, 2, 4, 7, 1, 0, 7, 0, 5, -1};
2209 static int isosurf_D[25] = {0, 5, 12, 5, 7, 12, 7, 3, 12, 3, 2, 12, 2,
2210 4, 12, 4, 6, 12, 6, 1, 12, 1, 0, 12, -1};
2212 if (disamb_flag == 0) {
2255 switch (amb_index) {
2258 for (i = 0; i < 12; i++) {
2261 *cube_polys->
isosurf = isosurf_A;
2266 for (i = 0; i < 13; i++) {
2269 *cube_polys->
isosurf = isosurf_B;
2274 for (i = 0; i < 12; i++) {
2277 *cube_polys->
isosurf = isosurf_C;
2282 for (i = 0; i < 13; i++) {
2285 *cube_polys->
isosurf = isosurf_D;
2292 double fvalue,
int CS_type,
int index,
2297 static int verts[13] = {0, 2, 4, 6, 8, 9, 10, 11, 201, 202, 204, 207, 106};
2298 static int isosurf_A[13] = {4, 0, 1, 1, 6, 4, 5, 3, 7, 3, 5, 2, -1};
2299 static int isosurf_B[25] = {0, 1, 12, 1, 7, 12, 7, 5, 12, 5, 2, 12, 2,
2300 3, 12, 3, 6, 12, 6, 4, 12, 4, 0, 12, -1};
2301 static int isosurf_C[13] = {6, 2, 3, 6, 4, 2, 7, 0, 1, 7, 5, 0, -1};
2302 static int isosurf_D[25] = {5, 0, 12, 7, 5, 12, 3, 7, 12, 2, 3, 12, 4,
2303 2, 12, 6, 4, 12, 1, 6, 12, 0, 1, 12, -1};
2305 if (disamb_flag == 0) {
2348 switch (amb_index) {
2351 for (i = 0; i < 12; i++) {
2354 *cube_polys->
isosurf = isosurf_A;
2359 for (i = 0; i < 13; i++) {
2362 *cube_polys->
isosurf = isosurf_B;
2367 for (i = 0; i < 12; i++) {
2370 *cube_polys->
isosurf = isosurf_C;
2375 for (i = 0; i < 13; i++) {
2378 *cube_polys->
isosurf = isosurf_D;
2387 static int verts[10] = {0, 3, 6, 7, 9, 11, 200, 204, 205, 206};
2388 static int isosurf[13] = {0, 3, 1, 4, 3, 0, 4, 2, 3, 4, 5, 2, -1};
2411 for (i = 0; i < 10; i++) {
2415 *cube_polys->
isosurf = isosurf;
2416 for (i = 0; i < 6; i++) {
2423 static int verts[10] = {0, 3, 6, 7, 9, 11, 201, 202, 203, 207};
2424 static int isosurf[13] = {0, 1, 3, 4, 0, 3, 4, 3, 2, 4, 2, 5, -1};
2447 for (i = 0; i < 10; i++) {
2451 *cube_polys->
isosurf = isosurf;
2452 for (i = 0; i < 6; i++) {
2457 double fvalue,
int CS_type,
int index,
2462 static int verts[12] = {0, 1, 2, 3, 5, 7, 8, 10, 201, 203, 204, 205};
2463 static int isosurf_A[13] = {7, 2, 3, 0, 1, 6, 1, 5, 6, 1, 4, 5, -1};
2464 static int isosurf_B[19] = {4, 2, 1, 4, 7, 2, 4, 0, 7, 0,
2465 3, 7, 4, 6, 0, 4, 5, 6, -1};
2466 static int isosurf_C[13] = {0, 3, 6, 2, 5, 7, 1, 5, 2, 4, 5, 1, -1};
2467 static int isosurf_D[19] = {2, 3, 6, 4, 5, 7, 4, 7, 2, 4,
2468 2, 6, 4, 6, 0, 4, 0, 1, -1};
2470 if (disamb_flag == 0) {
2613 for (i = 0; i < 12; i++) {
2617 switch (amb_index) {
2619 *cube_polys->
isosurf = isosurf_A;
2623 *cube_polys->
isosurf = isosurf_B;
2627 *cube_polys->
isosurf = isosurf_C;
2631 *cube_polys->
isosurf = isosurf_D;
2638 double fvalue,
int CS_type,
int index,
2643 static int verts[12] = {0, 1, 2, 3, 5, 7, 8, 10, 200, 202, 206, 207};
2644 static int isosurf_A[13] = {7, 3, 2, 0, 6, 1, 1, 6, 5, 1, 5, 4, -1};
2645 static int isosurf_B[19] = {4, 1, 2, 4, 2, 7, 4, 7, 0, 0,
2646 7, 3, 4, 0, 6, 4, 6, 5, -1};
2647 static int isosurf_C[13] = {0, 6, 3, 2, 7, 5, 1, 2, 5, 4, 1, 5, -1};
2648 static int isosurf_D[19] = {2, 6, 3, 4, 7, 5, 4, 2, 7, 4,
2649 6, 2, 4, 0, 6, 4, 1, 0, -1};
2651 if (disamb_flag == 0) {
2794 for (i = 0; i < 12; i++) {
2798 switch (amb_index) {
2800 *cube_polys->
isosurf = isosurf_A;
2804 *cube_polys->
isosurf = isosurf_B;
2808 *cube_polys->
isosurf = isosurf_C;
2812 *cube_polys->
isosurf = isosurf_D;
2819 double fvalue,
int CS_type,
int index,
2824 static int verts[16] = {0, 1, 2, 3, 4, 5, 6, 7,
2825 8, 9, 10, 11, 200, 202, 205, 207};
2826 static int isosurf_A[13] = {2, 10, 3, 0, 9, 1, 8, 7, 4, 5, 6, 11, -1};
2827 static int isosurf_B[19] = {8, 7, 4, 5, 6, 11, 9, 1, 10, 1,
2828 2, 10, 9, 10, 3, 9, 3, 0, -1};
2829 static int isosurf_C[25] = {0, 9, 3, 9, 10, 3, 10, 9, 1, 1, 2, 10, 5,
2830 4, 11, 11, 4, 8, 11, 8, 6, 6, 8, 7, -1};
2831 static int isosurf_D[31] = {0, 9, 16, 9, 5, 16, 5, 6, 16, 6, 11,
2832 16, 11, 1, 16, 1, 2, 16, 2, 10, 16, 10,
2833 3, 16, 3, 0, 16, 4, 8, 7, -1};
2834 static int isosurf_E[37] = {
2835 0, 9, 16, 9, 5, 16, 5, 6, 16, 6, 11, 16, 11, 1, 16, 1, 2, 16, 2,
2836 10, 16, 10, 7, 16, 7, 4, 16, 4, 8, 16, 8, 3, 16, 3, 0, 16, -1};
2837 static int isosurf_F[37] = {0, 8, 16, 8, 7, 16, 7, 4, 16, 4, 9, 16, 9,
2838 5, 16, 5, 6, 16, 6, 11, 16, 11, 1, 16, 1, 2,
2839 16, 2, 10, 16, 10, 3, 16, 3, 0, 16, -1};
2840 static int isosurf_G[25] = {0, 8, 1, 1, 8, 11, 11, 8, 3, 3, 2, 11, 9,
2841 7, 4, 9, 10, 7, 9, 5, 10, 5, 6, 10, -1};
2842 static int isosurf_H[31] = {0, 8, 16, 8, 3, 16, 3, 2, 16, 2, 11,
2843 16, 11, 5, 16, 5, 4, 16, 4, 9, 16, 9,
2844 1, 16, 1, 0, 16, 6, 10, 7, -1};
2845 static int isosurf_I[19] = {8, 3, 2, 8, 2, 11, 8, 11, 0, 0,
2846 11, 1, 9, 5, 4, 10, 7, 6, -1};
2847 static int isosurf_J[13] = {0, 8, 3, 4, 9, 5, 2, 11, 1, 10, 7, 6, -1};
2848 static int isosurf_K[37] = {0, 8, 16, 8, 7, 16, 7, 4, 16, 4, 9, 16, 9,
2849 1, 16, 1, 2, 16, 2, 11, 16, 11, 5, 16, 5, 6,
2850 16, 6, 10, 16, 10, 3, 16, 3, 0, 16, -1};
2851 static int isosurf_L[19] = {2, 11, 1, 0, 10, 3, 0, 6, 10, 9,
2852 6, 0, 9, 5, 6, 8, 7, 4, -1};
2867 static int cube_patch[64] = {
2868 9, 8, 8, 7, 8, 6, 7, 4, 8, 7, 6, 10, 7, 4, 10, 2, 8, 7, 7, 5, 7, 10,
2869 11, 3, 7, 11, 4, 3, 5, 3, 3, 1, 8, 7, 7, 11, 7, 10, 5, 3, 7, 5, 4, 3,
2870 11, 3, 3, 1, 6, 4, 10, 3, 4, 2, 3, 1, 10, 3, 2, 1, 3, 1, 1, 0};
2871 static int cube_rotation[64] = {
2872 0, 0, 6, 0, 15, 0, 23, 22, 2, 7, 6, 15, 15, 6, 0, 1,
2873 8, 21, 17, 15, 8, 1, 7, 22, 2, 23, 1, 1, 0, 6, 16, 1,
2874 16, 16, 6, 15, 1, 21, 7, 2, 22, 17, 8, 8, 0, 17, 21, 8,
2875 21, 15, 22, 15, 0, 6, 7, 22, 17, 23, 0, 15, 0, 6, 0, 0};
2877 if (disamb_flag == 0) {
2901 switch (cube_patch[amb_index]) {
2904 for (i = 0; i < 16; i++) {
2907 *cube_polys->
isosurf = isosurf_A;
2912 for (i = 0; i < 16; i++) {
2915 *cube_polys->
isosurf = isosurf_B;
2920 for (i = 0; i < 16; i++) {
2923 *cube_polys->
isosurf = isosurf_C;
2928 for (i = 0; i < 16; i++) {
2932 *cube_polys->
isosurf = isosurf_D;
2937 for (i = 0; i < 16; i++) {
2941 *cube_polys->
isosurf = isosurf_E;
2946 for (i = 0; i < 16; i++) {
2950 *cube_polys->
isosurf = isosurf_F;
2955 for (i = 0; i < 16; i++) {
2958 *cube_polys->
isosurf = isosurf_G;
2963 for (i = 0; i < 16; i++) {
2967 *cube_polys->
isosurf = isosurf_H;
2972 for (i = 0; i < 16; i++) {
2975 *cube_polys->
isosurf = isosurf_I;
2980 for (i = 0; i < 16; i++) {
2983 *cube_polys->
isosurf = isosurf_J;
2988 for (i = 0; i < 16; i++) {
2992 *cube_polys->
isosurf = isosurf_K;
2997 for (i = 0; i < 16; i++) {
3000 *cube_polys->
isosurf = isosurf_L;
3007 double fvalue,
int CS_type,
int index,
3012 static int verts[16] = {0, 1, 2, 3, 4, 5, 6, 7,
3013 8, 9, 10, 11, 201, 203, 204, 206};
3014 static int isosurf_A[13] = {2, 3, 10, 0, 1, 9, 8, 4, 7, 5, 11, 6, -1};
3015 static int isosurf_B[19] = {8, 4, 7, 5, 11, 6, 9, 10, 1, 1,
3016 10, 2, 9, 3, 10, 9, 0, 3, -1};
3017 static int isosurf_C[25] = {0, 3, 9, 9, 3, 10, 10, 1, 9, 1, 10, 2, 5,
3018 11, 4, 11, 8, 4, 11, 6, 8, 6, 7, 8, -1};
3019 static int isosurf_D[31] = {9, 0, 16, 5, 9, 16, 6, 5, 16, 11, 6,
3020 16, 1, 11, 16, 2, 1, 16, 10, 2, 16, 3,
3021 10, 16, 0, 3, 16, 4, 7, 8, -1};
3022 static int isosurf_E[37] = {9, 0, 16, 5, 9, 16, 6, 5, 16, 11, 6, 16, 1,
3023 11, 16, 2, 1, 16, 10, 2, 16, 7, 10, 16, 4, 7,
3024 16, 8, 4, 16, 3, 8, 16, 0, 3, 16, -1};
3025 static int isosurf_F[37] = {8, 0, 16, 7, 8, 16, 4, 7, 16, 9, 4, 16, 5,
3026 9, 16, 6, 5, 16, 11, 6, 16, 1, 11, 16, 2, 1,
3027 16, 10, 2, 16, 3, 10, 16, 0, 3, 16, -1};
3028 static int isosurf_G[25] = {0, 1, 8, 1, 11, 8, 11, 3, 8, 3, 11, 2, 9,
3029 4, 7, 9, 7, 10, 9, 10, 5, 5, 10, 6, -1};
3030 static int isosurf_H[31] = {8, 0, 16, 3, 8, 16, 2, 3, 16, 11, 2,
3031 16, 5, 11, 16, 4, 5, 16, 9, 4, 16, 1,
3032 9, 16, 0, 1, 16, 6, 7, 10, -1};
3033 static int isosurf_I[19] = {8, 2, 3, 8, 11, 2, 8, 0, 11, 0,
3034 1, 11, 9, 4, 5, 10, 6, 7, -1};
3035 static int isosurf_J[13] = {0, 3, 8, 4, 5, 9, 2, 1, 11, 10, 6, 7, -1};
3036 static int isosurf_K[37] = {8, 0, 16, 7, 8, 16, 4, 7, 16, 9, 4, 16, 1,
3037 9, 16, 2, 1, 16, 11, 2, 16, 5, 11, 16, 6, 5,
3038 16, 10, 6, 16, 3, 10, 16, 0, 3, 16, -1};
3039 static int isosurf_L[19] = {2, 1, 11, 0, 3, 10, 0, 10, 6, 9,
3040 0, 6, 9, 6, 5, 8, 4, 7, -1};
3055 static int cube_patch[64] = {
3056 9, 8, 8, 7, 8, 6, 7, 4, 8, 7, 6, 10, 7, 4, 10, 2, 8, 7, 7, 5, 7, 10,
3057 11, 3, 7, 11, 4, 3, 5, 3, 3, 1, 8, 7, 7, 11, 7, 10, 5, 3, 7, 5, 4, 3,
3058 11, 3, 3, 1, 6, 4, 10, 3, 4, 2, 3, 1, 10, 3, 2, 1, 3, 1, 1, 0};
3059 static int cube_rotation[64] = {
3060 0, 0, 6, 0, 15, 0, 23, 22, 2, 7, 6, 15, 15, 6, 0, 1,
3061 8, 21, 17, 15, 8, 1, 7, 22, 2, 23, 1, 1, 0, 6, 16, 1,
3062 16, 16, 6, 15, 1, 21, 7, 2, 22, 17, 8, 8, 0, 17, 21, 8,
3063 21, 15, 22, 15, 0, 6, 7, 22, 17, 23, 0, 15, 0, 6, 0, 0};
3065 if (disamb_flag == 0) {
3090 switch (cube_patch[amb_index]) {
3093 for (i = 0; i < 16; i++) {
3096 *cube_polys->
isosurf = isosurf_A;
3101 for (i = 0; i < 16; i++) {
3104 *cube_polys->
isosurf = isosurf_B;
3109 for (i = 0; i < 16; i++) {
3112 *cube_polys->
isosurf = isosurf_C;
3117 for (i = 0; i < 16; i++) {
3121 *cube_polys->
isosurf = isosurf_D;
3126 for (i = 0; i < 16; i++) {
3130 *cube_polys->
isosurf = isosurf_E;
3135 for (i = 0; i < 16; i++) {
3139 *cube_polys->
isosurf = isosurf_F;
3144 for (i = 0; i < 16; i++) {
3147 *cube_polys->
isosurf = isosurf_G;
3152 for (i = 0; i < 16; i++) {
3156 *cube_polys->
isosurf = isosurf_H;
3161 for (i = 0; i < 16; i++) {
3164 *cube_polys->
isosurf = isosurf_I;
3169 for (i = 0; i < 16; i++) {
3172 *cube_polys->
isosurf = isosurf_J;
3177 for (i = 0; i < 16; i++) {
3181 *cube_polys->
isosurf = isosurf_K;
3186 for (i = 0; i < 16; i++) {
3189 *cube_polys->
isosurf = isosurf_L;
3198 static int verts[10] = {0, 1, 5, 6, 8, 10, 201, 204, 205, 207};
3199 static int isosurf[13] = {1, 2, 0, 0, 2, 4, 4, 2, 3, 4, 3, 5, -1};
3222 for (i = 0; i < 10; i++) {
3226 *cube_polys->
isosurf = isosurf;
3227 for (i = 0; i < 6; i++) {
3234 static int verts[10] = {0, 1, 5, 6, 8, 10, 200, 202, 203, 206};
3235 static int isosurf[13] = {1, 0, 2, 0, 4, 2, 4, 3, 2, 4, 5, 3, -1};
3258 for (i = 0; i < 10; i++) {
3262 *cube_polys->
isosurf = isosurf;
3263 for (i = 0; i < 6; i++) {
3268 double voxel0,
double voxel1,
double voxel2,
3273 switch (disamb_flag) {
3284 if (voxel0 >= fvalue) {
3285 sep = (field < fvalue) ? 0 : 1;
3287 sep = (field >= fvalue) ? 0 : 1;
3291 if (voxel0 <= fvalue) {
3292 sep = (field > fvalue) ? 0 : 1;
3294 sep = (field <= fvalue) ? 0 : 1;