TTK
Loading...
Searching...
No Matches
MarchingTetrahedraLookupTables.inl
Go to the documentation of this file.
1
5
19constexpr int tetLookupWall[28][15] = {
20 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (1) 0,0,0 - 0
21 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,0,1 - 1
22 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,0,2 - 2
23 {2, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (2) 0,0,3 - 3
24 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,1,0 - 4
25 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,1,1 - 5
26 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,1,2 - 6
27 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,1,3 - 7
28 {1, 3, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (2) 0,2,0 - 8
29 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,2,1 - 9
30 {1, 2, 4, 1, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (2) 0,2,2 -10
31 {5, 8, 9, 1, 9, 8, 1, 9, 3, 2, 9, 4, 2, 9, 8}, // (3) 0,2,3 -11
32 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,3,0 -12
33 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,3,1 -13
34 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,3,2 -14
35 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,3,3 -15
36 {0, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (2) 1,0,0 -16
37 {0, 2, 3, 2, 3, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (2) 1,0,1 -17
38 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 1,0,2 -18
39 {4, 7, 9, 0, 7, 9, 0, 3, 9, 2, 7, 9, 2, 5, 9}, // (3) 1,0,3 -19
40 {0, 1, 4, 1, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (2) 1,1,0 -20
41 {0, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (2) 1,1,1 -21
42 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 1,1,2 -22
43 {2, 7, 8, 1, 7, 8, 0, 1, 7, 4, 7, 8, 4, 5, 8}, // (3) 1,1,3 -23
44 {3, 6, 9, 4, 6, 9, 0, 4, 6, 1, 6, 9, 1, 5, 9}, // (3) 1,2,0 -24
45 {1, 6, 8, 2, 6, 8, 2, 6, 0, 3, 8, 5, 3, 8, 6}, // (3) 1,2,1 -25
46 {0, 6, 7, 2, 6, 1, 2, 6, 7, 3, 7, 4, 3, 7, 6}, // (3) 1,2,2 -26
47 {10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10} // (4) 1,2,3 -27
48};
49
56constexpr int tetLookupWallLabel[27][10] = {
57 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (1) 0,0,0 - 0
58 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,0,1 - 1
59 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,0,2 - 2
60 {0, 3, -1, -1, -1, -1, -1, -1, -1, -1}, // (2) 0,0,3 - 3
61 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,1,0 - 4
62 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,1,1 - 5
63 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,1,2 - 6
64 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,1,3 - 7
65 {0, 2, -1, -1, -1, -1, -1, -1, -1, -1}, // (2) 0,2,0 - 8
66 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,2,1 - 9
67 {0, 2, 0, 2, -1, -1, -1, -1, -1, -1}, // (2) 0,2,2 -10
68 {2, 3, 0, 2, 0, 2, 0, 3, 0, 3}, // (3) 0,2,3 -11
69 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,3,0 -12
70 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,3,1 -13
71 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,3,2 -14
72 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,3,3 -15
73 {0, 1, -1, -1, -1, -1, -1, -1, -1, -1}, // (2) 1,0,0 -16
74 {0, 1, 0, 1, -1, -1, -1, -1, -1, -1}, // (2) 1,0,1 -17
75 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 1,0,2 -18
76 {1, 3, 0, 1, 0, 1, 0, 3, 0, 3}, // (3) 1,0,3 -19
77 {0, 1, 0, 1, -1, -1, -1, -1, -1, -1}, // (2) 1,1,0 -20
78 {0, 1, -1, -1, -1, -1, -1, -1, -1, -1}, // (2) 1,1,1 -21
79 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 1,1,2 -22
80 {0, 3, 0, 1, 0, 1, 1, 3, 1, 3}, // (3) 1,1,3 -23
81 {1, 2, 0, 1, 0, 1, 0, 2, 0, 2}, // (3) 1,2,0 -24
82 {0, 2, 0, 1, 0, 1, 1, 2, 1, 2}, // (3) 1,2,1 -25
83 {0, 1, 0, 2, 0, 2, 1, 2, 1, 2} // (3) 1,2,2 -26
84};
85
89constexpr size_t tetLookupNumWallTriangles[28] = {
90 0, // (1) 0,0,0 - 0
91 0, // (-) 0,0,1 - 1
92 0, // (-) 0,0,2 - 2
93 1, // (2) 0,0,3 - 3
94 0, // (-) 0,1,0 - 4
95 0, // (-) 0,1,1 - 5
96 0, // (-) 0,1,2 - 6
97 0, // (-) 0,1,3 - 7
98 1, // (2) 0,2,0 - 8
99 0, // (-) 0,2,1 - 9
100 2, // (2) 0,2,2 -10
101 5, // (3) 0,2,3 -11
102 0, // (-) 0,3,0 -12
103 0, // (-) 0,3,1 -13
104 0, // (-) 0,3,2 -14
105 0, // (-) 0,3,3 -15
106 1, // (2) 1,0,0 -16
107 2, // (2) 1,0,1 -17
108 0, // (-) 1,0,2 -18
109 5, // (3) 1,0,3 -19
110 2, // (2) 1,1,0 -20
111 1, // (2) 1,1,1 -21
112 0, // (-) 1,1,2 -22
113 5, // (3) 1,1,3 -23
114 5, // (3) 1,2,0 -24
115 5, // (3) 1,2,1 -25
116 5, // (3) 1,2,2 -26
117 12 // (4) 1,2,3 -27
118};
119
126 0, // (1) 0,0,0 - 0
127 0, // (-) 0,0,1 - 1
128 0, // (-) 0,0,2 - 2
129 2, // (2) 0,0,3 - 3
130 0, // (-) 0,1,0 - 4
131 0, // (-) 0,1,1 - 5
132 0, // (-) 0,1,2 - 6
133 0, // (-) 0,1,3 - 7
134 2, // (2) 0,2,0 - 8
135 0, // (-) 0,2,1 - 9
136 4, // (2) 0,2,2 -10
137 10, // (3) 0,2,3 -11
138 0, // (-) 0,3,0 -12
139 0, // (-) 0,3,1 -13
140 0, // (-) 0,3,2 -14
141 0, // (-) 0,3,3 -15
142 2, // (2) 1,0,0 -16
143 4, // (2) 1,0,1 -17
144 0, // (-) 1,0,2 -18
145 10, // (3) 1,0,3 -19
146 4, // (2) 1,1,0 -20
147 2, // (2) 1,1,1 -21
148 0, // (-) 1,1,2 -22
149 10, // (3) 1,1,3 -23
150 10, // (3) 1,2,0 -24
151 10, // (3) 1,2,1 -25
152 10, // (3) 1,2,2 -26
153 24 // (4) 1,2,3 -27
154};
155
162constexpr size_t tetLookupNumTrianglesBoundaries[28] = {
163 0, // (1) 0,0,0 - 0
164 0, // (-) 0,0,1 - 1
165 0, // (-) 0,0,2 - 2
166 1, // (2) 0,0,3 - 3
167 0, // (-) 0,1,0 - 4
168 0, // (-) 0,1,1 - 5
169 0, // (-) 0,1,2 - 6
170 0, // (-) 0,1,3 - 7
171 1, // (2) 0,2,0 - 8
172 0, // (-) 0,2,1 - 9
173 0, // (2) 0,2,2 -10
174 0, // (3) 0,2,3 -11
175 0, // (-) 0,3,0 -12
176 0, // (-) 0,3,1 -13
177 0, // (-) 0,3,2 -14
178 0, // (-) 0,3,3 -15
179 1, // (2) 1,0,0 -16
180 0, // (2) 1,0,1 -17
181 0, // (-) 1,0,2 -18
182 0, // (3) 1,0,3 -19
183 0, // (2) 1,1,0 -20
184 1, // (2) 1,1,1 -21
185 0, // (-) 1,1,2 -22
186 0, // (3) 1,1,3 -23
187 0, // (3) 1,2,0 -24
188 0, // (3) 1,2,1 -25
189 0, // (3) 1,2,2 -26
190 0 // (4) 1,2,3 -27
191};
192
194constexpr bool tetLookupIsMultiLabel[28] = {
195 false, // (1) 0,0,0 - 0
196 false, // (-) 0,0,1 - 1
197 false, // (-) 0,0,2 - 2
198 true, // (2) 0,0,3 - 3
199 false, // (-) 0,1,0 - 4
200 false, // (-) 0,1,1 - 5
201 false, // (-) 0,1,2 - 6
202 false, // (-) 0,1,3 - 7
203 true, // (2) 0,2,0 - 8
204 false, // (-) 0,2,1 - 9
205 true, // (2) 0,2,2 -10
206 true, // (3) 0,2,3 -11
207 false, // (-) 0,3,0 -12
208 false, // (-) 0,3,1 -13
209 false, // (-) 0,3,2 -14
210 false, // (-) 0,3,3 -15
211 true, // (2) 1,0,0 -16
212 true, // (2) 1,0,1 -17
213 false, // (-) 1,0,2 -18
214 true, // (3) 1,0,3 -19
215 true, // (2) 1,1,0 -20
216 true, // (2) 1,1,1 -21
217 false, // (-) 1,1,2 -22
218 true, // (3) 1,1,3 -23
219 true, // (3) 1,2,0 -24
220 true, // (3) 1,2,1 -25
221 true, // (3) 1,2,2 -26
222 true // (4) 1,2,3 -27
223};
224
226constexpr bool tetLookupIs2Label[28] = {
227 false, // (1) 0,0,0 - 0
228 false, // (-) 0,0,1 - 1
229 false, // (-) 0,0,2 - 2
230 true, // (2) 0,0,3 - 3
231 false, // (-) 0,1,0 - 4
232 false, // (-) 0,1,1 - 5
233 false, // (-) 0,1,2 - 6
234 false, // (-) 0,1,3 - 7
235 true, // (2) 0,2,0 - 8
236 false, // (-) 0,2,1 - 9
237 true, // (2) 0,2,2 -10
238 false, // (3) 0,2,3 -11
239 false, // (-) 0,3,0 -12
240 false, // (-) 0,3,1 -13
241 false, // (-) 0,3,2 -14
242 false, // (-) 0,3,3 -15
243 true, // (2) 1,0,0 -16
244 true, // (2) 1,0,1 -17
245 false, // (-) 1,0,2 -18
246 false, // (3) 1,0,3 -19
247 true, // (2) 1,1,0 -20
248 true, // (2) 1,1,1 -21
249 false, // (-) 1,1,2 -22
250 false, // (3) 1,1,3 -23
251 false, // (3) 1,2,0 -24
252 false, // (3) 1,2,1 -25
253 false, // (3) 1,2,2 -26
254 false // (4) 1,2,3 -27
255};
256
258constexpr bool tetLookupIs3Label[28] = {
259 false, // (1) 0,0,0 - 0
260 false, // (-) 0,0,1 - 1
261 false, // (-) 0,0,2 - 2
262 false, // (2) 0,0,3 - 3
263 false, // (-) 0,1,0 - 4
264 false, // (-) 0,1,1 - 5
265 false, // (-) 0,1,2 - 6
266 false, // (-) 0,1,3 - 7
267 false, // (2) 0,2,0 - 8
268 false, // (-) 0,2,1 - 9
269 false, // (2) 0,2,2 -10
270 true, // (3) 0,2,3 -11
271 false, // (-) 0,3,0 -12
272 false, // (-) 0,3,1 -13
273 false, // (-) 0,3,2 -14
274 false, // (-) 0,3,3 -15
275 false, // (2) 1,0,0 -16
276 false, // (2) 1,0,1 -17
277 false, // (-) 1,0,2 -18
278 true, // (3) 1,0,3 -19
279 false, // (2) 1,1,0 -20
280 false, // (2) 1,1,1 -21
281 false, // (-) 1,1,2 -22
282 true, // (3) 1,1,3 -23
283 true, // (3) 1,2,0 -24
284 true, // (3) 1,2,1 -25
285 true, // (3) 1,2,2 -26
286 false // (4) 1,2,3 -27
287};
288
293constexpr int tetLookupFastCase[28] = {
294 -1, // (1) 0,0,0 - 0
295 -1, // (-) 0,0,1 - 1
296 -1, // (-) 0,0,2 - 2
297 0, // (2) 0,0,3 - 3
298 -1, // (-) 0,1,0 - 4
299 -1, // (-) 0,1,1 - 5
300 -1, // (-) 0,1,2 - 6
301 -1, // (-) 0,1,3 - 7
302 1, // (2) 0,2,0 - 8
303 -1, // (-) 0,2,1 - 9
304 -1, // (2) 0,2,2 -10
305 -1, // (3) 0,2,3 -11
306 -1, // (-) 0,3,0 -12
307 -1, // (-) 0,3,1 -13
308 -1, // (-) 0,3,2 -14
309 -1, // (-) 0,3,3 -15
310 2, // (2) 1,0,0 -16
311 -1, // (2) 1,0,1 -17
312 -1, // (-) 1,0,2 -18
313 -1, // (3) 1,0,3 -19
314 -1, // (2) 1,1,0 -20
315 3, // (2) 1,1,1 -21
316 -1, // (-) 1,1,2 -22
317 -1, // (3) 1,1,3 -23
318 -1, // (3) 1,2,0 -24
319 -1, // (3) 1,2,1 -25
320 -1, // (3) 1,2,2 -26
321 -1 // (4) 1,2,3 -27
322};
323
327constexpr bool tetLookupFast[28] = {
328 false, // (1) 0,0,0 - 0
329 false, // (-) 0,0,1 - 1
330 false, // (-) 0,0,2 - 2
331 true, // (2) 0,0,3 - 3
332 false, // (-) 0,1,0 - 4
333 false, // (-) 0,1,1 - 5
334 false, // (-) 0,1,2 - 6
335 false, // (-) 0,1,3 - 7
336 true, // (2) 0,2,0 - 8
337 false, // (-) 0,2,1 - 9
338 false, // (2) 0,2,2 -10
339 false, // (3) 0,2,3 -11
340 false, // (-) 0,3,0 -12
341 false, // (-) 0,3,1 -13
342 false, // (-) 0,3,2 -14
343 false, // (-) 0,3,3 -15
344 true, // (2) 1,0,0 -16
345 false, // (2) 1,0,1 -17
346 false, // (-) 1,0,2 -18
347 false, // (3) 1,0,3 -19
348 false, // (2) 1,1,0 -20
349 true, // (2) 1,1,1 -21
350 false, // (-) 1,1,2 -22
351 false, // (3) 1,1,3 -23
352 false, // (3) 1,2,0 -24
353 false, // (3) 1,2,1 -25
354 false, // (3) 1,2,2 -26
355 false // (4) 1,2,3 -27
356};
357
362constexpr int tetLookupFastTri[4][3]
363 = {{0, 1, 2}, {0, 1, 3}, {0, 2, 3}, {1, 2, 3}};
364
374constexpr int tetLookupSplitBasins2Label[22][8] = {
375 {-1, -1, -1, -1, -1, -1, -1, -1}, // (1) 0,0,0 - 0
376 {-1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,0,1 - 1
377 {-1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,0,2 - 2
378 {0, 3, 1, 3, 2, 3, -1, -1}, // (2) 0,0,3 - 3
379 {-1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,1,0 - 4
380 {-1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,1,1 - 5
381 {-1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,1,2 - 6
382 {-1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,1,3 - 7
383 {0, 2, 1, 2, 3, 2, -1, -1}, // (2) 0,2,0 - 8
384 {-1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,2,1 - 9
385 {0, 2, 1, 3, 0, 3, 1, 2}, // (2) 0,2,2 -10
386 {-1, -1, -1, -1, -1, -1, -1, -1}, // (3) 0,2,3 -11
387 {-1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,3,0 -12
388 {-1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,3,1 -13
389 {-1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,3,2 -14
390 {-1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,3,3 -15
391 {0, 1, 2, 1, 3, 1, -1, -1}, // (2) 1,0,0 -16
392 {0, 1, 2, 3, 0, 3, 2, 1}, // (2) 1,0,1 -17
393 {-1, -1, -1, -1, -1, -1, -1, -1}, // (-) 1,0,2 -18
394 {-1, -1, -1, -1, -1, -1, -1, -1}, // (3) 1,0,3 -19
395 {0, 1, 3, 2, 0, 2, 3, 1}, // (2) 1,1,0 -20
396 {1, 0, 2, 0, 3, 0, -1, -1}, // (2) 1,1,1 -21
397};
398
408constexpr int tetLookupSplitBasisns3Label[27][11] = {
409 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (1) 0,0,0 - 0
410 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,0,1 - 1
411 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,0,2 - 2
412 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (2) 0,0,3 - 3
413 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,1,0 - 4
414 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,1,1 - 5
415 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,1,2 - 6
416 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,1,3 - 7
417 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (2) 0,2,0 - 8
418 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,2,1 - 9
419 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (2) 0,2,2 -10
420 {0, 1, 2, 2, 1, 3, 4, 3, 2, 3, 5}, // (3) 0,2,3 -11
421 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,3,0 -12
422 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,3,1 -13
423 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,3,2 -14
424 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 0,3,3 -15
425 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (2) 1,0,0 -16
426 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (2) 1,0,1 -17
427 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 1,0,2 -18
428 {0, 2, 0, 1, 2, 5, 3, 3, 3, 1, 4}, // (3) 1,0,3 -19
429 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (2) 1,1,0 -20
430 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (2) 1,1,1 -21
431 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // (-) 1,1,2 -22
432 {1, 0, 4, 1, 2, 1, 5, 2, 0, 3, 2}, // (3) 1,1,3 -23
433 {0, 0, 1, 0, 3, 4, 5, 3, 1, 2, 3}, // (3) 1,2,0 -24
434 {1, 0, 3, 0, 3, 2, 5, 2, 0, 2, 1}, // (3) 1,2,1 -25
435 {2, 1, 3, 0, 3, 2, 4, 1, 0, 1, 0}, // (3) 1,2,2 -26
436};
437
439constexpr bool triangleLookupIsMultiLabel[7] = {
440 false, // (1) 0,0 - 0
441 false, // (-) 0,1 - 1
442 true, // (2) 0,2 - 2
443 false, // (-) 0,3 - 3
444 true, // (2) 1,0 - 4
445 true, // (2) 1,1 - 5
446 true // (3) 1,2 - 6
447};
448
450constexpr bool triangleLookupIs2Label[7] = {
451 false, // (1) 0,0 - 0
452 false, // (-) 0,1 - 1
453 true, // (2) 0,2 - 2
454 false, // (-) 0,3 - 3
455 true, // (2) 1,0 - 4
456 true, // (2) 1,1 - 5
457 false // (3) 1,2 - 6
458};
459
461constexpr size_t triangleNumberLookup[7] = {
462 0, // (1) 0,0 - 0
463 0, // (-) 0,1 - 1
464 1, // (2) 0,2 - 2
465 0, // (-) 0,3 - 3
466 1, // (2) 1,0 - 4
467 1, // (2) 1,1 - 5
468 3 // (3) 1,2 - 6
469};
470
472constexpr size_t triangleNumberLookupBoundary[7] = {
473 0, // (1) 0,0 - 0
474 0, // (-) 0,1 - 1
475 1, // (2) 0,2 - 2
476 0, // (-) 0,3 - 3
477 1, // (2) 1,0 - 4
478 1, // (2) 1,1 - 5
479 0 // (3) 1,2 - 6
480};
481
484 0, // (1) 0,0 - 0
485 0, // (-) 0,1 - 1
486 2, // (2) 0,2 - 2
487 0, // (-) 0,3 - 3
488 2, // (2) 1,0 - 4
489 2, // (2) 1,1 - 5
490 6 // (3) 1,2 - 6
491};
492
497constexpr int triangleLookupEdgeVerts[7][4] = {
498 {-1, -1, -1, -1}, // (1) 0,0 - 0
499 {-1, -1, -1, -1}, // (-) 0,1 - 1
500 {0, 2, 1, 2}, // (2) 0,2 - 2
501 {-1, -1, -1, -1}, // (-) 0,3 - 3
502 {0, 1, 2, 1}, // (2) 1,0 - 4
503 {1, 0, 2, 0}, // (2) 1,1 - 5
504};
constexpr bool triangleLookupIs2Label[7]
constexpr int tetLookupSplitBasisns3Label[27][11]
constexpr bool triangleLookupIsMultiLabel[7]
constexpr bool tetLookupIsMultiLabel[28]
constexpr bool tetLookupIs2Label[28]
constexpr int tetLookupFastTri[4][3]
constexpr int tetLookupWallLabel[27][10]
constexpr size_t triangleNumberLookup[7]
constexpr int triangleLookupEdgeVerts[7][4]
constexpr size_t tetLookupNumTrianglesDetailedBoundary[28]
constexpr size_t tetLookupNumTrianglesBoundaries[28]
constexpr size_t triangleNumberLookupBoundary[7]
constexpr int tetLookupSplitBasins2Label[22][8]
constexpr bool tetLookupIs3Label[28]
constexpr size_t triangleNumberLookupBoundaryDetailed[7]
constexpr size_t tetLookupNumWallTriangles[28]
constexpr int tetLookupFastCase[28]
constexpr bool tetLookupFast[28]
constexpr int tetLookupWall[28][15]
Lookuptables used in MarchingTetrahedra algorithm.