COVISE Core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
IsoCuttingTables.h
Go to the documentation of this file.
1 /* This file is part of COVISE.
2 
3  You can use it under the terms of the GNU Lesser General Public License
4  version 2.1 or later, see lgpl-2.1.txt.
5 
6  * License: LGPL 2+ */
7 
8 #ifndef CUTTING_TABLE_H
9 #define CUTTING_TABLE_H
10 
11 namespace covise
12 {
13 
14 static cutting_info Hex_Table[256] = {
15  { /* 0: no 00000000 */
16  {
17  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
18  },
19  0
20  },
21  { /* 1: yes 00000001 */
22  {
23  0, 1, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0
24  },
25  1
26  },
27  { /* 2: yes 00000010 */
28  {
29  1, 0, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0
30  },
31  1
32  },
33  { /* 3: yes 00000011 */
34  {
35  0, 3, 4, 1, 5, 2, 0, 0, 0, 0, 0, 0
36  },
37  2
38  },
39  { /* 4: yes 00000100 */
40  {
41  2, 1, 6, 3, 0, 0, 0, 0, 0, 0, 0, 0
42  },
43  1
44  },
45  { /* 5: yes 00000101 */
46  {
47  0, 4, 1, 3, 2, 6, 0, 0, 0, 0, 0, 0
48  },
49  3
50  },
51  { /* 6: yes 00000110 */
52  {
53  1, 0, 5, 2, 6, 3, 0, 0, 0, 0, 0, 0
54  },
55  2
56  },
57  { /* 7: yes 00000111 */
58  {
59  0, 3, 4, 1, 5, 2, 6, 3, 0, 0, 0, 0
60  },
61  5
62  },
63  { /* 8: yes 00001000 */
64  {
65  3, 0, 2, 7, 0, 0, 0, 0, 0, 0, 0, 0
66  },
67  1
68  },
69  { /* 9: yes 00001001 */
70  {
71  0, 4, 1, 3, 2, 7, 0, 0, 0, 0, 0, 0
72  },
73  2
74  },
75  { /* 10: yes 00001010 */
76  {
77  1, 5, 2, 0, 3, 7, 0, 0, 0, 0, 0, 0
78  },
79  3
80  },
81  { /* 11: yes 00001011 */
82  {
83  3, 2, 7, 0, 4, 1, 5, 2, 0, 0, 0, 0
84  },
85  5
86  },
87  { /* 12: yes 00001100 */
88  {
89  2, 1, 6, 3, 7, 0, 0, 0, 0, 0, 0, 0
90  },
91  2
92  },
93  { /* 13: yes 00001101 */
94  {
95  2, 1, 6, 3, 7, 0, 4, 1, 0, 0, 0, 0
96  },
97  5
98  },
99  { /* 14: yes 00001110 */
100  {
101  1, 0, 5, 2, 6, 3, 7, 0, 0, 0, 0, 0
102  },
103  5
104  },
105  { /* 15: yes 00001111 */
106  {
107  0, 4, 1, 5, 2, 6, 3, 7, 0, 0, 0, 0
108  },
109  6
110  },
111  { /* 16: yes 00010000 */
112  {
113  4, 0, 7, 5, 0, 0, 0, 0, 0, 0, 0, 0
114  },
115  1
116  },
117  { /* 17: yes 00010001 */
118  {
119  4, 7, 5, 0, 1, 3, 0, 0, 0, 0, 0, 0
120  },
121  2
122  },
123  { /* 18: yes 00010010 */
124  {
125  1, 2, 0, 5, 4, 7, 0, 0, 0, 0, 0, 0
126  },
127  3
128  },
129  { /* 19: yes 00010011 */
130  {
131  1, 5, 2, 0, 3, 4, 7, 5, 0, 0, 0, 0
132  },
133  5
134  },
135  { /* 20: yes 00010100 */
136  {
137  2, 3, 1, 6, 4, 0, 7, 5, 0, 0, 0, 0
138  },
139  7
140  },
141  { /* 21: yes 00010101 */
142  {
143  0, 1, 3, 4, 7, 5, 2, 3, 1, 6, 0, 0
144  },
145  8
146  },
147  { /* 22: yes 00010110 */
148  {
149  1, 0, 5, 2, 6, 3, 4, 0, 7, 5, 0, 0
150  },
151  8
152  },
153  { /* 23: yes 00010111 */
154  {
155  1, 5, 2, 6, 3, 0, 4, 7, 5, 0, 0, 0
156  },
157  9
158  },
159  { /* 24: yes 00011000 */
160  {
161  4, 5, 0, 7, 3, 2, 0, 0, 0, 0, 0, 0
162  },
163  3
164  },
165  { /* 25: yes 00011001 */
166  {
167  4, 7, 5, 0, 1, 3, 2, 7, 0, 0, 0, 0
168  },
169  5
170  },
171  { /* 26: yes 00011010 */
172  {
173  1, 2, 0, 5, 3, 0, 2, 7, 4, 5, 0, 7
174  },
175  10
176  },
177  { /* 27: yes 00011011 */
178  {
179  4, 7, 5, 1, 5, 2, 3, 2, 7, 0, 0, 0
180  },
181  11
182  },
183  { /* 28: yes 00011100 */
184  {
185  3, 7, 0, 2, 1, 6, 4, 0, 7, 5, 0, 0
186  },
187  8
188  },
189  { /* 29: yes 00011101 */
190  {
191  4, 7, 5, 0, 1, 2, 6, 3, 7, 0, 0, 0
192  },
193  12
194  },
195  { /* 30: yes 00011110 */
196  {
197  0, 4, 3, 1, 7, 3, 4, 5, 1, 2, 6, 0
198  },
199  13
200  },
201  { /* 31: yes 00011111 */
202  {
203  5, 4, 1, 6, 2, 7, 3, 4, 0, 0, 0, 0
204  },
205  5
206  },
207  { /* 32: yes 00100000 */
208  {
209  5, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, 0
210  },
211  1
212  },
213  { /* 33: yes 00100001 */
214  {
215  0, 3, 4, 1, 5, 6, 0, 0, 0, 0, 0, 0
216  },
217  3
218  },
219  { /* 34: yes 00100010 */
220  {
221  5, 4, 6, 1, 2, 0, 0, 0, 0, 0, 0, 0
222  },
223  2
224  },
225  { /* 35: yes 00100011 */
226  {
227  5, 4, 6, 1, 2, 0, 3, 4, 0, 0, 0, 0
228  },
229  5
230  },
231  { /* 36: yes 00100100 */
232  {
233  2, 3, 1, 6, 5, 4, 0, 0, 0, 0, 0, 0
234  },
235  3
236  },
237  { /* 37: yes 00100101 */
238  {
239  0, 1, 3, 4, 2, 3, 1, 6, 5, 1, 4, 6
240  },
241  10
242  },
243  { /* 38: yes 00100110 */
244  {
245  2, 6, 3, 1, 0, 5, 4, 6, 0, 0, 0, 0
246  },
247  5
248  },
249  { /* 39: yes 00100111 */
250  {
251  0, 3, 4, 5, 4, 6, 2, 6, 3, 0, 0, 0
252  },
253  11
254  },
255  { /* 40: yes 00101000 */
256  {
257  3, 0, 2, 7, 5, 1, 4, 6, 0, 0, 0, 0
258  },
259  7
260  },
261  { /* 41: yes 00101001 */
262  {
263  0, 4, 1, 3, 2, 7, 5, 1, 4, 6, 0, 0
264  },
265  8
266  },
267  { /* 42: yes 00101010 */
268  {
269  1, 2, 0, 5, 4, 6, 3, 0, 2, 7, 0, 0
270  },
271  8
272  },
273  { /* 43: yes 00101011 */
274  {
275  5, 4, 6, 1, 2, 3, 7, 0, 4, 0, 0, 0
276  },
277  12
278  },
279  { /* 44: yes 00101100 */
280  {
281  2, 1, 6, 3, 7, 0, 5, 1, 4, 6, 0, 0
282  },
283  8
284  },
285  { /* 45: yes 00101101 */
286  {
287  1, 0, 2, 5, 6, 5, 2, 3, 7, 0, 4, 0
288  },
289  13
290  },
291  { /* 46: yes 00101110 */
292  {
293  1, 0, 5, 4, 6, 2, 3, 7, 0, 0, 0, 0
294  },
295  9
296  },
297  { /* 47: yes 00101111 */
298  {
299  6, 5, 2, 7, 3, 4, 0, 5, 0, 0, 0, 0
300  },
301  5
302  },
303  { /* 48: yes 00110000 */
304  {
305  5, 6, 1, 4, 0, 7, 0, 0, 0, 0, 0, 0
306  },
307  2
308  },
309  { /* 49: yes 00110001 */
310  {
311  0, 1, 3, 4, 7, 5, 6, 1, 0, 0, 0, 0
312  },
313  5
314  },
315  { /* 50: yes 00110010 */
316  {
317  4, 0, 7, 5, 6, 1, 2, 0, 0, 0, 0, 0
318  },
319  5
320  },
321  { /* 51: yes 00110011 */
322  {
323  0, 3, 4, 7, 5, 6, 1, 2, 0, 0, 0, 0
324  },
325  6
326  },
327  { /* 52: yes 00110100 */
328  {
329  4, 0, 7, 5, 6, 1, 2, 3, 1, 6, 0, 0
330  },
331  8
332  },
333  { /* 53: yes 00110101 */
334  {
335  1, 0, 2, 5, 6, 5, 2, 3, 4, 7, 0, 0
336  },
337  13
338  },
339  { /* 54: yes 00110110 */
340  {
341  4, 0, 7, 5, 6, 2, 3, 1, 0, 0, 0, 0
342  },
343  12
344  },
345  { /* 55: yes 00110111 */
346  {
347  3, 2, 0, 7, 4, 6, 5, 2, 0, 0, 0, 0
348  },
349  5
350  },
351  { /* 56: yes 00111000 */
352  {
353  4, 0, 7, 5, 6, 1, 3, 0, 2, 7, 0, 0
354  },
355  8
356  },
357  { /* 57: yes 00111001 */
358  {
359  4, 7, 5, 6, 1, 0, 3, 2, 7, 0, 0, 0
360  },
361  9
362  },
363  { /* 58: yes 00111010 */
364  {
365  0, 1, 4, 3, 2, 1, 3, 7, 4, 5, 6, 0
366  },
367  13
368  },
369  { /* 59: yes 00111011 */
370  {
371  7, 3, 4, 6, 5, 2, 1, 3, 0, 0, 0, 0
372  },
373  5
374  },
375  { /* 60: yes 00111100 */
376  {
377  2, 1, 6, 3, 7, 0, 4, 0, 7, 5, 6, 1
378  },
379  14
380  },
381  { /* 61: yes 00111101 */
382  {
383  7, 3, 4, 6, 5, 2, 1, 0, 2, 5, 0, 0
384  },
385  8
386  },
387  { /* 62: yes 00111110 */
388  {
389  7, 3, 4, 6, 5, 2, 0, 1, 4, 3, 0, 0
390  },
391  8
392  },
393  { /* 63: yes 00111111 */
394  {
395  7, 3, 4, 6, 5, 2, 0, 0, 0, 0, 0, 0
396  },
397  2
398  },
399  { /* 64: yes 01000000 */
400  {
401  6, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, 0
402  },
403  1
404  },
405  { /* 65: yes 01000001 */
406  {
407  0, 1, 3, 4, 6, 2, 5, 7, 0, 0, 0, 0
408  },
409  7
410  },
411  { /* 66: yes 01000010 */
412  {
413  1, 0, 5, 2, 6, 7, 0, 0, 0, 0, 0, 0
414  },
415  3
416  },
417  { /* 67: yes 01000011 */
418  {
419  0, 3, 4, 1, 5, 2, 6, 2, 5, 7, 0, 0
420  },
421  8
422  },
423  { /* 68: yes 01000100 */
424  {
425  2, 3, 1, 6, 5, 7, 0, 0, 0, 0, 0, 0
426  },
427  2
428  },
429  { /* 69: yes 01000101 */
430  {
431  2, 3, 1, 6, 5, 7, 0, 1, 3, 4, 0, 0
432  },
433  8
434  },
435  { /* 70: yes 01000110 */
436  {
437  6, 5, 7, 2, 3, 1, 0, 5, 0, 0, 0, 0
438  },
439  5
440  },
441  { /* 71: yes 01000111 */
442  {
443  0, 3, 4, 1, 5, 6, 7, 3, 2, 0, 0, 0
444  },
445  12
446  },
447  { /* 72: yes 01001000 */
448  {
449  3, 0, 2, 7, 6, 5, 0, 0, 0, 0, 0, 0
450  },
451  3
452  },
453  { /* 73: yes 01001001 */
454  {
455  0, 4, 1, 3, 2, 7, 6, 2, 5, 7, 0, 0
456  },
457  8
458  },
459  { /* 74: yes 01001010 */
460  {
461  1, 2, 0, 5, 3, 0, 2, 7, 6, 2, 5, 7
462  },
463  10
464  },
465  { /* 75: yes 01001011 */
466  {
467  2, 3, 6, 1, 5, 1, 6, 7, 3, 0, 4, 0
468  },
469  13
470  },
471  { /* 76: yes 01001100 */
472  {
473  3, 7, 0, 2, 1, 6, 5, 7, 0, 0, 0, 0
474  },
475  5
476  },
477  { /* 77: yes 01001101 */
478  {
479  2, 1, 6, 5, 7, 3, 0, 4, 1, 0, 0, 0
480  },
481  9
482  },
483  { /* 78: yes 01001110 */
484  {
485  1, 0, 5, 6, 5, 7, 3, 7, 0, 0, 0, 0
486  },
487  11
488  },
489  { /* 79: yes 01001111 */
490  {
491  7, 6, 3, 4, 0, 5, 1, 6, 0, 0, 0, 0
492  },
493  5
494  },
495  { /* 80: yes 01010000 */
496  {
497  6, 2, 5, 7, 4, 0, 0, 0, 0, 0, 0, 0
498  },
499  3
500  },
501  { /* 81: yes 01010001 */
502  {
503  0, 1, 3, 4, 7, 5, 6, 2, 5, 7, 0, 0
504  },
505  8
506  },
507  { /* 82: yes 01010010 */
508  {
509  1, 2, 0, 5, 4, 5, 0, 7, 6, 2, 5, 7
510  },
511  10
512  },
513  { /* 83: yes 01010011 */
514  {
515  5, 4, 1, 6, 7, 4, 6, 2, 1, 0, 3, 0
516  },
517  13
518  },
519  { /* 84: yes 01010100 */
520  {
521  2, 3, 1, 6, 5, 7, 4, 0, 7, 5, 0, 0
522  },
523  8
524  },
525  { /* 85: yes 01010101 */
526  {
527  2, 3, 1, 6, 5, 7, 0, 1, 3, 4, 7, 5
528  },
529  14
530  },
531  { /* 86: yes 01010110 */
532  {
533  5, 1, 6, 4, 0, 1, 4, 7, 6, 2, 3, 0
534  },
535  13
536  },
537  { /* 87: yes 01010111 */
538  {
539  3, 2, 0, 7, 4, 6, 5, 1, 6, 4, 0, 0
540  },
541  8
542  },
543  { /* 88: yes 01011000 */
544  {
545  6, 2, 5, 7, 4, 5, 0, 7, 3, 0, 2, 7
546  },
547  10
548  },
549  { /* 89: yes 01011001 */
550  {
551  2, 1, 3, 6, 5, 1, 6, 7, 3, 0, 4, 0
552  },
553  13
554  },
555  { /* 90: yes 01011010 */
556  {
557  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
558  },
559  15
560  },
561  { /* 91: yes 01011011 */
562  {
563  7, 3, 4, 6, 5, 4, 1, 6, 2, 1, 3, 6
564  },
565  10
566  },
567  { /* 92: yes 01011100 */
568  {
569  7, 3, 4, 6, 5, 6, 4, 0, 3, 2, 1, 0
570  },
571  13
572  },
573  { /* 93: yes 01011101 */
574  {
575  1, 0, 2, 5, 6, 4, 7, 3, 4, 6, 0, 0
576  },
577  8
578  },
579  { /* 94: yes 01011110 */
580  {
581  7, 3, 4, 6, 5, 1, 6, 4, 0, 1, 4, 3
582  },
583  10
584  },
585  { /* 95: yes 01011111 */
586  {
587  7, 3, 4, 6, 5, 1, 0, 0, 0, 0, 0, 0
588  },
589  4
590  },
591  { /* 96: yes 01100000 */
592  {
593  5, 1, 4, 6, 7, 2, 0, 0, 0, 0, 0, 0
594  },
595  2
596  },
597  { /* 97: yes 01100001 */
598  {
599  6, 7, 2, 5, 1, 4, 0, 1, 3, 4, 0, 0
600  },
601  8
602  },
603  { /* 98: yes 01100010 */
604  {
605  1, 2, 0, 5, 4, 6, 7, 2, 0, 0, 0, 0
606  },
607  5
608  },
609  { /* 99: yes 01100011 */
610  {
611  5, 4, 6, 7, 2, 1, 0, 3, 4, 0, 0, 4
612  },
613  9
614  },
615  { /* 100: yes 01100100 */
616  {
617  5, 1, 4, 6, 7, 2, 3, 1, 0, 0, 0, 0
618  },
619  5
620  },
621  { /* 101: yes 01100101 */
622  {
623  1, 0, 2, 5, 3, 2, 0, 4, 5, 6, 7, 0
624  },
625  13
626  },
627  { /* 102: yes 01100110 */
628  {
629  1, 0, 5, 4, 6, 7, 2, 3, 0, 0, 0, 0
630  },
631  6
632  },
633  { /* 103: yes 01100111 */
634  {
635  4, 0, 5, 7, 6, 3, 2, 0, 0, 0, 0, 0
636  },
637  5
638  },
639  { /* 104: yes 01101000 */
640  {
641  6, 7, 2, 5, 1, 4, 3, 0, 2, 7, 0, 0
642  },
643  8
644  },
645  { /* 105: yes 01101001 */
646  {
647  0, 4, 1, 3, 2, 7, 5, 1, 4, 6, 7, 2
648  },
649  14
650  },
651  { /* 106: yes 01101010 */
652  {
653  2, 6, 1, 3, 7, 6, 3, 0, 1, 4, 5, 0
654  },
655  13
656  },
657  { /* 107: yes 01101011 */
658  {
659  7, 6, 3, 4, 0, 5, 2, 3, 6, 1, 0, 0
660  },
661  8
662  },
663  { /* 108: yes 01101100 */
664  {
665  5, 1, 4, 6, 7, 3, 0, 1, 2, 0, 0, 0
666  },
667  12
668  },
669  { /* 109: yes 01101101 */
670  {
671  7, 6, 3, 4, 0, 5, 1, 5, 2, 0, 0, 0
672  },
673  8
674  },
675  { /* 110: yes 01101110 */
676  {
677  0, 3, 1, 4, 5, 7, 6, 3, 0, 0, 0, 0
678  },
679  5
680  },
681  { /* 111: yes 01101111 */
682  {
683  4, 0, 5, 7, 6, 3, 0, 0, 0, 0, 0, 0
684  },
685  2
686  },
687  { /* 112: yes 01110000 */
688  {
689  6, 7, 2, 5, 1, 4, 0, 7, 0, 0, 0, 0
690  },
691  5
692  },
693  { /* 113: yes 01110001 */
694  {
695  0, 1, 3, 4, 7, 6, 2, 5, 1, 0, 0, 0
696  },
697  12
698  },
699  { /* 114: yes 01110010 */
700  {
701  1, 2, 0, 4, 0, 7, 6, 7, 2, 0, 0, 0
702  },
703  11
704  },
705  { /* 115: yes 01110011 */
706  {
707  2, 6, 1, 3, 0, 7, 4, 6, 0, 0, 0, 0
708  },
709  5
710  },
711  { /* 116: yes 01110100 */
712  {
713  5, 1, 4, 0, 7, 6, 2, 3, 1, 0, 0, 0
714  },
715  9
716  },
717  { /* 117: yes 01110101 */
718  {
719  3, 2, 0, 7, 4, 6, 1, 0, 2, 5, 0, 0
720  },
721  8
722  },
723  { /* 118: yes 01110110 */
724  {
725  7, 4, 6, 3, 2, 0, 1, 4, 0, 0, 0, 0
726  },
727  5
728  },
729  { /* 119: yes 01110111 */
730  {
731  3, 2, 0, 7, 4, 6, 0, 0, 0, 0, 0, 0
732  },
733  2
734  },
735  { /* 120: yes 01111000 */
736  {
737  7, 3, 4, 6, 0, 4, 3, 2, 6, 5, 1, 0
738  },
739  13
740  },
741  { /* 121: yes 01111001 */
742  {
743  1, 5, 0, 2, 3, 6, 7, 3, 4, 6, 0, 0
744  },
745  8
746  },
747  { /* 122: yes 01111010 */
748  {
749  7, 3, 4, 6, 2, 1, 3, 6, 0, 1, 4, 3
750  },
751  10
752  },
753  { /* 123: yes 01111011 */
754  {
755  7, 4, 6, 3, 2, 1, 0, 0, 0, 0, 0, 0
756  },
757  4
758  },
759  { /* 124: yes 01111100 */
760  {
761  1, 2, 5, 0, 4, 3, 7, 3, 4, 6, 0, 0
762  },
763  8
764  },
765  { /* 125: yes 01111101 */
766  {
767  1, 0, 2, 5, 7, 3, 4, 6, 0, 0, 0, 0
768  },
769  7
770  },
771  { /* 126: yes 01111110 */
772  {
773  0, 1, 4, 3, 7, 6, 0, 0, 0, 0, 0, 0
774  },
775  4
776  },
777  { /* 127: yes 01111111 */
778  {
779  7, 3, 4, 6, 0, 0, 0, 0, 0, 0, 0, 0
780  },
781  1
782  },
783  { /* 128: yes 10000000 */
784  {
785  7, 3, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0
786  },
787  1
788  },
789  { /* 129: yes 10000001 */
790  {
791  0, 1, 3, 4, 7, 6, 0, 0, 0, 0, 0, 0
792  },
793  3
794  },
795  { /* 130: yes 10000010 */
796  {
797  1, 2, 0, 5, 7, 4, 3, 6, 0, 0, 0, 0
798  },
799  7
800  },
801  { /* 131: yes 10000011 */
802  {
803  0, 3, 4, 1, 5, 2, 7, 6, 4, 3, 0, 0
804  },
805  8
806  },
807  { /* 132: yes 10000100 */
808  {
809  2, 1, 6, 3, 7, 4, 0, 0, 0, 0, 0, 0
810  },
811  3
812  },
813  { /* 133: yes 10000101 */
814  {
815  0, 1, 3, 4, 2, 1, 6, 3, 7, 6, 4, 3
816  },
817  10
818  },
819  { /* 134: yes 10000110 */
820  {
821  1, 0, 5, 2, 6, 3, 7, 6, 4, 3, 0, 0
822  },
823  8
824  },
825  { /* 135: yes 10000111 */
826  {
827  3, 2, 0, 7, 6, 2, 7, 4, 0, 1, 5, 0
828  },
829  13
830  },
831  { /* 136: yes 10001000 */
832  {
833  7, 6, 4, 3, 0, 2, 0, 0, 0, 0, 0, 0
834  },
835  2
836  },
837  { /* 137: yes 10001001 */
838  {
839  0, 4, 1, 3, 2, 7, 6, 4, 0, 0, 0, 0
840  },
841  5
842  },
843  { /* 138: yes 10001010 */
844  {
845  7, 6, 4, 3, 0, 2, 7, 6, 4, 3, 0, 0
846  },
847  8
848  },
849  { /* 139: yes 10001011 */
850  {
851  0, 4, 1, 5, 2, 3, 7, 6, 4, 0, 0, 0
852  },
853  9
854  },
855  { /* 140: yes 10001100 */
856  {
857  7, 6, 4, 3, 0, 2, 1, 6, 0, 0, 0, 0
858  },
859  5
860  },
861  { /* 141: yes 10001101 */
862  {
863  0, 4, 1, 2, 1, 6, 7, 6, 4, 0, 0, 0
864  },
865  11
866  },
867  { /* 142: yes 10001110 */
868  {
869  1, 0, 5, 2, 6, 7, 4, 0, 3, 0, 0, 0
870  },
871  12
872  },
873  { /* 143: yes 10001111 */
874  {
875  4, 7, 0, 5, 1, 6, 2, 7, 0, 0, 0, 0
876  },
877  5
878  },
879  { /* 144: yes 10010000 */
880  {
881  4, 5, 0, 7, 3, 6, 0, 0, 0, 0, 0, 0
882  },
883  2
884  },
885  { /* 145: yes 10010001 */
886  {
887  7, 3, 6, 4, 5, 0, 1, 3, 0, 0, 0, 0
888  },
889  5
890  },
891  { /* 146: yes 10010010 */
892  {
893  7, 3, 6, 4, 5, 0, 1, 0, 5, 2, 0, 0
894  },
895  8
896  },
897  { /* 147: yes 10010011 */
898  {
899  7, 3, 6, 4, 5, 1, 2, 0, 3, 0, 0, 0
900  },
901  12
902  },
903  { /* 148: yes 10010100 */
904  {
905  7, 3, 6, 4, 5, 0, 2, 6, 3, 1, 0, 0
906  },
907  8
908  },
909  { /* 149: yes 10010101 */
910  {
911  3, 2, 0, 7, 1, 0, 2, 6, 7, 4, 5, 0
912  },
913  13
914  },
915  { /* 150: yes 10010110 */
916  {
917  1, 0, 5, 2, 6, 3, 4, 5, 0, 7, 3, 6
918  },
919  14
920  },
921  { /* 151: yes 10010111 */
922  {
923  5, 4, 1, 6, 2, 7, 3, 2, 0, 7, 0, 0
924  },
925  8
926  },
927  { /* 152: yes 10011000 */
928  {
929  3, 0, 2, 7, 6, 4, 5, 0, 0, 0, 0, 0
930  },
931  5
932  },
933  { /* 153: yes 10011001 */
934  {
935  1, 0, 2, 3, 6, 7, 5, 4, 0, 0, 0, 0
936  },
937  6
938  },
939  { /* 154: yes 10011010 */
940  {
941  0, 3, 1, 4, 5, 4, 1, 2, 3, 7, 6, 0
942  },
943  13
944  },
945  { /* 155: yes 10011011 */
946  {
947  2, 1, 3, 6, 7, 5, 4, 1, 0, 0, 0, 0
948  },
949  5
950  },
951  { /* 156: yes 10011100 */
952  {
953  0, 3, 2, 1, 6, 7, 4, 5, 0, 0, 0, 0
954  },
955  9
956  },
957  { /* 157: yes 10011101 */
958  {
959  6, 2, 7, 5, 4, 1, 0, 2, 0, 0, 0, 0
960  },
961  5
962  },
963  { /* 158: yes 10011110 */
964  {
965  5, 4, 1, 6, 2, 7, 0, 1, 4, 3, 0, 0
966  },
967  8
968  },
969  { /* 159: yes 10011111 */
970  {
971  5, 4, 1, 6, 2, 7, 0, 0, 0, 0, 0, 0
972  },
973  2
974  },
975  { /* 160: yes 10100000 */
976  {
977  5, 1, 4, 6, 7, 3, 0, 0, 0, 0, 0, 0
978  },
979  3
980  },
981  { /* 161: yes 10100001 */
982  {
983  0, 1, 3, 4, 5, 1, 4, 6, 7, 4, 3, 6
984  },
985  10
986  },
987  { /* 162: yes 10100010 */
988  {
989  1, 2, 0, 5, 4, 6, 7, 6, 4, 3, 0, 0
990  },
991  8
992  },
993  { /* 163: yes 10100011 */
994  {
995  4, 0, 5, 7, 3, 0, 7, 6, 5, 2, 1, 0
996  },
997  13
998  },
999  { /* 164: yes 10100100 */
1000  {
1001  7, 4, 3, 6, 5, 1, 4, 6, 2, 1, 6, 3
1002  },
1003  10
1004  },
1005  { /* 165: yes 10100101 */
1006  {
1007  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1008  },
1009  15
1010  },
1011  { /* 166: yes 10100110 */
1012  {
1013  6, 5, 2, 7, 4, 5, 7, 3, 2, 0, 1, 0
1014  },
1015  13
1016  },
1017  { /* 167: yes 10100111 */
1018  {
1019  6, 7, 5, 2, 4, 0, 5, 7, 3, 2, 0, 7
1020  },
1021  10
1022  },
1023  { /* 168: yes 10101000 */
1024  {
1025  7, 6, 4, 3, 0, 2, 5, 1, 4, 6, 0, 0
1026  },
1027  8
1028  },
1029  { /* 169: yes 10101001 */
1030  {
1031  4, 0, 5, 7, 6, 7, 5, 1, 0, 2, 3, 0
1032  },
1033  13
1034  },
1035  { /* 170: yes 10101010 */
1036  {
1037  1, 2, 0, 5, 4, 6, 3, 0, 2, 7, 6, 4
1038  },
1039  14
1040  },
1041  { /* 171: yes 10101011 */
1042  {
1043  2, 1, 3, 6, 7, 5, 4, 0, 5, 7, 0, 0
1044  },
1045  8
1046  },
1047  { /* 172: yes 10101100 */
1048  {
1049  6, 7, 5, 2, 1, 2, 5, 4, 7, 0, 3, 0
1050  },
1051  13
1052  },
1053  { /* 173: yes 10101101 */
1054  {
1055  1, 0, 2, 5, 6, 7, 5, 2, 4, 0, 5, 7
1056  },
1057  10
1058  },
1059  { /* 174: yes 10101110 */
1060  {
1061  0, 3, 1, 4, 5, 7, 6, 2, 7, 5, 0, 0
1062  },
1063  8
1064  },
1065  { /* 175: yes 10101111 */
1066  {
1067  4, 1, 5, 7, 6, 2, 0, 0, 0, 0, 0, 0
1068  },
1069  4
1070  },
1071  { /* 176: yes 10110000 save */
1072  {
1073  5, 6, 1, 4, 0, 7, 3, 6, 0, 0, 0, 0
1074  },
1075  5
1076  },
1077  { /* 177: yes 10110001 */
1078  {
1079  0, 1, 3, 7, 3, 6, 5, 6, 1, 0, 0, 0
1080  },
1081  11
1082  },
1083  { /* 178: yes 10110010 */
1084  {
1085  0, 4, 7, 3, 6, 5, 1, 2, 0, 0, 0, 0
1086  },
1087  9
1088  },
1089  { /* 179: yes 10110011 */
1090  {
1091  6, 7, 5, 2, 1, 3, 0, 7, 0, 0, 0, 0
1092  },
1093  5
1094  },
1095  { /* 180: yes 10110100 */
1096  {
1097  6, 5, 2, 7, 3, 7, 2, 1, 5, 0, 4, 0
1098  },
1099  13
1100  },
1101  { /* 181: yes 10110101 */
1102  {
1103  1, 0, 2, 5, 3, 2, 0, 7, 6, 7, 5, 2
1104  },
1105  10
1106  },
1107  { /* 182: yes 10110110 */
1108  {
1109  3, 7, 2, 0, 1, 4, 6, 2, 7, 5, 0, 0
1110  },
1111  8
1112  },
1113  { /* 183: yes 10110111 */
1114  {
1115  3, 0, 7, 2, 6, 5, 0, 0, 0, 0, 0, 0
1116  },
1117  4
1118  },
1119  { /* 184: yes 10111000 */
1120  {
1121  3, 0, 2, 7, 6, 5, 1, 4, 0, 0, 0, 0
1122  },
1123  12
1124  },
1125  { /* 185: yes 10111001 */
1126  {
1127  1, 5, 0, 2, 3, 6, 7, 5, 0, 0, 0, 0
1128  },
1129  5
1130  },
1131  { /* 186: yes 10111010 */
1132  {
1133  2, 1, 3, 6, 7, 5, 0, 1, 4, 3, 0, 0
1134  },
1135  8
1136  },
1137  { /* 187: yes 10111011 */
1138  {
1139  6, 7, 5, 2, 1, 3, 0, 0, 0, 0, 0, 0
1140  },
1141  2
1142  },
1143  { /* 188: yes 10111100 */
1144  {
1145  1, 2, 5, 0, 4, 3, 6, 2, 7, 5, 0, 0
1146  },
1147  8
1148  },
1149  { /* 189: yes 10111101 */
1150  {
1151  6, 7, 5, 2, 1, 0, 0, 0, 0, 0, 0, 0
1152  },
1153  4
1154  },
1155  { /* 190: yes 10111110 */
1156  {
1157  0, 1, 4, 3, 6, 2, 7, 5, 0, 0, 0, 0
1158  },
1159  7
1160  },
1161  { /* 191: yes 10111111 */
1162  {
1163  6, 2, 7, 5, 0, 0, 0, 0, 0, 0, 0, 0
1164  },
1165  1
1166  },
1167  { /* 192: yes 11000000 */
1168  {
1169  6, 2, 5, 7, 4, 3, 0, 0, 0, 0, 0, 0
1170  },
1171  2
1172  },
1173  { /* 193: yes 11000001 */
1174  {
1175  6, 2, 5, 7, 4, 3, 0, 1, 3, 4, 0, 0
1176  },
1177  8
1178  },
1179  { /* 194: yes 11000010 */
1180  {
1181  6, 2, 5, 7, 4, 3, 1, 5, 2, 0, 0, 0
1182  },
1183  8
1184  },
1185  { /* 195: yes 11000011 */
1186  {
1187  0, 3, 4, 1, 5, 2, 6, 2, 5, 7, 4, 3
1188  },
1189  14
1190  },
1191  { /* 196: yes 11000100 */
1192  {
1193  2, 3, 1, 6, 5, 7, 4, 3, 0, 0, 0, 0
1194  },
1195  5
1196  },
1197  { /* 197: yes 11000101 */
1198  {
1199  3, 2, 0, 7, 4, 7, 0, 1, 2, 5, 6, 0
1200  },
1201  13
1202  },
1203  { /* 198: yes 11000110 */
1204  {
1205  2, 3, 1, 0, 5, 6, 7, 4, 3, 0, 0, 0
1206  },
1207  9
1208  },
1209  { /* 199: yes 11000111 */
1210  {
1211  4, 7, 0, 5, 1, 6, 3, 2, 0, 7, 0, 0
1212  },
1213  8
1214  },
1215  { /* 200: yes 11001000 */
1216  {
1217  6, 2, 5, 7, 4, 3, 0, 2, 0, 0, 0, 0
1218  },
1219  5
1220  },
1221  { /* 201: yes 11001001 */
1222  {
1223  0, 4, 1, 3, 2, 6, 5, 7, 4, 0, 0, 0
1224  },
1225  12
1226  },
1227  { /* 202: yes 11001010 */
1228  {
1229  2, 1, 3, 6, 0, 3, 1, 5, 6, 4, 7, 0
1230  },
1231  13
1232  },
1233  { /* 203: yes 11001011 */
1234  {
1235  4, 7, 0, 5, 1, 6, 2, 1, 3, 6, 0, 0
1236  },
1237  8
1238  },
1239  { /* 204: yes 11001100 */
1240  {
1241  0, 3, 1, 2, 5, 6, 4, 7, 0, 0, 0, 0
1242  },
1243  6
1244  },
1245  { /* 205: yes 11001101 */
1246  {
1247  1, 0, 2, 5, 6, 4, 7, 0, 0, 0, 0, 0
1248  },
1249  5
1250  },
1251  { /* 206: yes 11001110 */
1252  {
1253  5, 1, 6, 4, 7, 0, 3, 1, 0, 0, 0, 0
1254  },
1255  5
1256  },
1257  { /* 207: yes 11001111 */
1258  {
1259  4, 7, 0, 5, 1, 6, 0, 0, 0, 0, 0, 0
1260  },
1261  2
1262  },
1263  { /* 208: yes 11010000 */
1264  {
1265  4, 5, 0, 7, 3, 6, 2, 5, 0, 0, 0, 0
1266  },
1267  5
1268  },
1269  { /* 209: yes 11010001 */
1270  {
1271  7, 3, 6, 2, 5, 4, 0, 1, 3, 0, 0, 0
1272  },
1273  9
1274  },
1275  { /* 210: yes 11010010 */
1276  {
1277  5, 1, 6, 4, 2, 6, 1, 0, 4, 3, 7, 0
1278  },
1279  13
1280  },
1281  { /* 211: yes 11010011 */
1282  {
1283  2, 6, 1, 3, 0, 7, 5, 1, 6, 4, 0, 0
1284  },
1285  8
1286  },
1287  { /* 212: yes 11010100 */
1288  {
1289  2, 3, 1, 6, 5, 4, 0, 3, 7, 0, 0, 0
1290  },
1291  12
1292  },
1293  { /* 213: yes 11010101 */
1294  {
1295  5, 6, 4, 1, 0, 2, 3, 2, 0, 7, 0, 0
1296  },
1297  8
1298  },
1299  { /* 214: yes 11010110 */
1300  {
1301  0, 1, 4, 3, 7, 2, 5, 1, 6, 4, 0, 0
1302  },
1303  8
1304  },
1305  { /* 215: yes 11010111 */
1306  {
1307  3, 2, 0, 7, 5, 1, 6, 4, 0, 0, 0, 0
1308  },
1309  7
1310  },
1311  { /* 216: yes 11011000 */
1312  {
1313  3, 0, 2, 6, 2, 5, 4, 5, 0, 0, 0, 0
1314  },
1315  11
1316  },
1317  { /* 217: yes 11011001 */
1318  {
1319  5, 6, 4, 1, 0, 2, 3, 6, 0, 0, 0, 0
1320  },
1321  5
1322  },
1323  { /* 218: yes 11011010 */
1324  {
1325  0, 1, 4, 3, 2, 1, 3, 6, 5, 1, 6, 4
1326  },
1327  10
1328  },
1329  { /* 219: yes 11011011 */
1330  {
1331  5, 4, 1, 6, 2, 3, 0, 0, 0, 0, 0, 0
1332  },
1333  4
1334  },
1335  { /* 220: yes 11011100 */
1336  {
1337  0, 4, 3, 1, 2, 5, 6, 4, 0, 0, 0, 0
1338  },
1339  5
1340  },
1341  { /* 221: yes 11011101 */
1342  {
1343  5, 6, 4, 1, 0, 2, 0, 0, 0, 0, 0, 0
1344  },
1345  2
1346  },
1347  { /* 222: yes 11011110 */
1348  {
1349  0, 3, 1, 4, 5, 6, 0, 0, 0, 0, 0, 0
1350  },
1351  4
1352  },
1353  { /* 223: yes 11011111 */
1354  {
1355  5, 4, 1, 6, 0, 0, 0, 0, 0, 0, 0, 0
1356  },
1357  1
1358  },
1359  { /* 224: yes 11100000 */
1360  {
1361  7, 4, 3, 6, 2, 5, 1, 4, 0, 0, 0, 0
1362  },
1363  5
1364  },
1365  { /* 225: yes 11100001 */
1366  {
1367  4, 0, 5, 7, 1, 5, 0, 3, 7, 2, 6, 0
1368  },
1369  13
1370  },
1371  { /* 226: yes 11100010 */
1372  {
1373  1, 2, 0, 5, 4, 7, 3, 6, 2, 0, 0, 0
1374  },
1375  12
1376  },
1377  { /* 227: yes 11100011 */
1378  {
1379  2, 6, 1, 3, 0, 7, 4, 0, 5, 7, 0, 0
1380  },
1381  8
1382  },
1383  { /* 228: yes 11100100 */
1384  {
1385  2, 3, 1, 5, 1, 4, 7, 4, 3, 0, 0, 0
1386  },
1387  11
1388  },
1389  { /* 229: yes 11100101 */
1390  {
1391  1, 5, 0, 2, 3, 2, 0, 7, 4, 0, 5, 7
1392  },
1393  10
1394  },
1395  { /* 230: yes 11100110 */
1396  {
1397  3, 7, 2, 0, 1, 4, 5, 7, 0, 0, 0, 0
1398  },
1399  5
1400  },
1401  { /* 231: yes 11100111 */
1402  {
1403  3, 2, 0, 7, 4, 5, 0, 0, 0, 0, 0, 0
1404  },
1405  4
1406  },
1407  { /* 232: yes 11101000 */
1408  {
1409  2, 6, 5, 1, 4, 7, 3, 0, 2, 0, 0, 0
1410  },
1411  9
1412  },
1413  { /* 233: yes 11101001 */
1414  {
1415  1, 5, 0, 2, 3, 6, 4, 0, 5, 7, 0, 0
1416  },
1417  8
1418  },
1419  { /* 234: yes 11101010 */
1420  {
1421  0, 3, 1, 4, 5, 7, 2, 1, 3, 6, 0, 0
1422  },
1423  8
1424  },
1425  { /* 235: yes 11101011 */
1426  {
1427  2, 3, 6, 1, 4, 0, 5, 7, 0, 0, 0, 0
1428  },
1429  7
1430  },
1431  { /* 236: yes 11101100 */
1432  {
1433  4, 5, 7, 0, 3, 1, 2, 5, 0, 0, 0, 0
1434  },
1435  5
1436  },
1437  { /* 237: yes 11101101 */
1438  {
1439  1, 2, 5, 0, 4, 7, 0, 0, 0, 0, 0, 0
1440  },
1441  4
1442  },
1443  { /* 238: yes 11101110 */
1444  {
1445  0, 3, 1, 4, 5, 7, 0, 0, 0, 0, 0, 0
1446  },
1447  2
1448  },
1449  { /* 239: yes 11101111 */
1450  {
1451  4, 0, 5, 7, 0, 0, 0, 0, 0, 0, 0, 0
1452  },
1453  1
1454  },
1455  { /* 240: yes 11110000 */
1456  {
1457  0, 4, 3, 7, 2, 6, 1, 5, 0, 0, 0, 0
1458  },
1459  6
1460  },
1461  { /* 241: yes 11110001 */
1462  {
1463  3, 0, 7, 2, 6, 1, 5, 0, 0, 0, 0, 0
1464  },
1465  5
1466  },
1467  { /* 242: yes 11110010 */
1468  {
1469  0, 1, 4, 3, 7, 2, 6, 1, 0, 0, 0, 0
1470  },
1471  5
1472  },
1473  { /* 243: yes 11110011 */
1474  {
1475  2, 6, 1, 3, 0, 7, 0, 0, 0, 0, 0, 0
1476  },
1477  2
1478  },
1479  { /* 244: yes 11110100 */
1480  {
1481  1, 2, 5, 0, 4, 3, 7, 2, 0, 0, 0, 0
1482  },
1483  5
1484  },
1485  { /* 245: yes 11110101 */
1486  {
1487  1, 5, 0, 2, 3, 7, 0, 0, 0, 0, 0, 0
1488  },
1489  4
1490  },
1491  { /* 246: yes 11110110 */
1492  {
1493  0, 1, 4, 3, 7, 2, 0, 0, 0, 0, 0, 0
1494  },
1495  2
1496  },
1497  { /* 247: yes 11110111 */
1498  {
1499  3, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0
1500  },
1501  1
1502  },
1503  { /* 248: yes 11111000 */
1504  {
1505  2, 3, 6, 1, 5, 0, 4, 3, 0, 0, 0, 0
1506  },
1507  5
1508  },
1509  { /* 249: yes 11111001 */
1510  {
1511  2, 3, 6, 1, 5, 0, 0, 0, 0, 0, 0, 0
1512  },
1513  2
1514  },
1515  { /* 250: yes 11111010 */
1516  {
1517  0, 4, 3, 1, 2, 6, 0, 0, 0, 0, 0, 0
1518  },
1519  4
1520  },
1521  { /* 251: yes 11111011 */
1522  {
1523  2, 1, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0
1524  },
1525  1
1526  },
1527  { /* 252: yes 11111100 */
1528  {
1529  1, 2, 5, 0, 4, 3, 0, 0, 0, 0, 0, 0
1530  },
1531  2
1532  },
1533  { /* 253: yes 11111101 */
1534  {
1535  1, 0, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0
1536  },
1537  1
1538  },
1539  { /* 254: yes 11111110 */
1540  {
1541  0, 4, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0
1542  },
1543  1
1544  },
1545  { /* 255: no 11111111 */
1546  {
1547  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1548  },
1549  0
1550  }
1551 };
1552 
1553 static cutting_info Tet_Table[16] = {
1554  { /* 0000 */
1555  {
1556  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1557  },
1558  0
1559  },
1560  { /* 0001 */
1561  {
1562  0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0
1563  },
1564  1
1565  },
1566  { /* 0010 */
1567  {
1568  1, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0
1569  },
1570  1
1571  },
1572  { /* 0011 */
1573  {
1574  0, 2, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0
1575  },
1576  2
1577  },
1578  { /* 0100 */
1579  {
1580  2, 0, 1, 3, 2, 3, 0, 0, 0, 0, 0, 0
1581  },
1582  1
1583  },
1584  { /* 0101 */
1585  {
1586  0, 3, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0
1587  },
1588  2
1589  },
1590  { /* 0110 */
1591  {
1592  1, 0, 3, 2, 3, 0, 0, 0, 0, 0, 0, 0
1593  },
1594  2
1595  },
1596  { /* 0111 */
1597  {
1598  3, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0
1599  },
1600  1
1601  },
1602  { /* 1000 */
1603  {
1604  3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0
1605  },
1606  1
1607  },
1608  { /* 1001 */
1609  {
1610  3, 2, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0
1611  },
1612  2
1613  },
1614  { /* 1010 */
1615  {
1616  1, 2, 0, 3, 0, 2, 0, 0, 0, 0, 0, 0
1617  },
1618  2
1619  },
1620  { /* 1011 */
1621  {
1622  2, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0
1623  },
1624  1
1625  },
1626  { /* 1100 */
1627  {
1628  2, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0
1629  },
1630  2
1631  },
1632  { /* 1101 */
1633  {
1634  1, 3, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0
1635  },
1636  1
1637  },
1638  { /* 1110 */
1639  {
1640  0, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0
1641  },
1642  1
1643  },
1644  { /* 1111 */
1645  {
1646  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1647  },
1648  0
1649  }
1650 };
1651 
1652 static cutting_info Pry_Table[32] = {
1653  { /* 0: no 00000000 */
1654  {
1655  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1656  },
1657  0
1658  },
1659  { /* 1: yes 00000001 */
1660  {
1661  0, 1, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0
1662  },
1663  1
1664  },
1665  { /* 2: yes 00000010 */
1666  {
1667  1, 0, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0
1668  },
1669  1
1670  },
1671  { /* 3: yes 00000011 */
1672  {
1673  0, 3, 4, 1, 4, 2, 0, 0, 0, 0, 0, 0
1674  },
1675  2
1676  },
1677  { /* 4: yes 00000100 */
1678  {
1679  2, 1, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0
1680  },
1681  1
1682  },
1683  { /* 5: yes 00000101 */
1684  {
1685  0, 4, 1, 3, 2, 4, 0, 0, 0, 0, 0, 0
1686  },
1687  3
1688  },
1689  { /* 6: yes 00000110 */
1690  {
1691  1, 0, 4, 2, 4, 3, 0, 0, 0, 0, 0, 0
1692  },
1693  2
1694  },
1695  { /* 7: yes 00000111 */
1696  {
1697  0, 3, 4, 1, 4, 2, 4, 3, 0, 0, 0, 0
1698  },
1699  5
1700  },
1701  { /* 8: yes 00001000 */
1702  {
1703  3, 4, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0
1704  },
1705  1
1706  },
1707  { /* 9: yes 00001001 */
1708  {
1709  3, 2, 4, 0, 4, 1, 0, 0, 0, 0, 0, 0
1710  },
1711  2
1712  },
1713  { /* 10: yes 00001010 */
1714  {
1715  1, 4, 2, 0, 3, 4, 0, 0, 0, 0, 0, 0
1716  },
1717  3
1718  },
1719  { /* 11: yes 00001011 */
1720  {
1721  3, 2, 4, 0, 4, 1, 4, 2, 0, 0, 0, 0
1722  },
1723  5
1724  },
1725  { /* 12: yes 00001100 */
1726  {
1727  3, 4, 0, 2, 1, 4, 0, 0, 0, 0, 0, 0
1728  },
1729  2
1730  },
1731  { /* 13: yes 00001101 */
1732  {
1733  2, 1, 4, 3, 4, 0, 4, 1, 0, 0, 0, 0
1734  },
1735  5
1736  },
1737  { /* 14: yes 00001110 */
1738  {
1739  1, 0, 4, 2, 4, 3, 4, 0, 0, 0, 0, 0
1740  },
1741  5
1742  },
1743  { /* 15: yes 00001111 */
1744  {
1745  4, 1, 2, 4, 3, 0, 0, 0, 0, 0, 0, 0
1746  },
1747  2
1748  },
1749  { /* 16: yes 00010000 */
1750  {
1751  4, 0, 3, 4, 2, 1, 0, 0, 0, 0, 0, 0
1752  },
1753  2
1754  },
1755  { /* 17: yes 00010001 */
1756  {
1757  3, 0, 4, 2, 4, 1, 4, 0, 0, 0, 0, 0
1758  },
1759  5
1760  },
1761  { /* 18: yes 00010010 */
1762  {
1763  0, 1, 4, 3, 4, 2, 4, 1, 0, 0, 0, 0
1764  },
1765  5
1766  },
1767  { /* 19: yes 00010011 */
1768  {
1769  2, 4, 1, 3, 0, 4, 0, 0, 0, 0, 0, 0
1770  },
1771  2
1772  },
1773  { /* 20: yes 00010100 */
1774  {
1775  1, 2, 4, 0, 4, 3, 4, 2, 0, 0, 0, 0
1776  },
1777  5
1778  },
1779  { /* 21: yes 00010101 */
1780  {
1781  1, 4, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0
1782  },
1783  4
1784  },
1785  { /* 22: yes 00010110 */
1786  {
1787  0, 1, 4, 3, 4, 2, 3, 5, 0, 0, 0, 0
1788  },
1789  2
1790  },
1791  { /* 23: yes 00010111 */
1792  {
1793  3, 0, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0
1794  },
1795  1
1796  },
1797  { /* 24: yes 00011000 */
1798  {
1799  2, 3, 4, 1, 4, 0, 4, 3, 0, 0, 0, 0
1800  },
1801  5
1802  },
1803  { /* 25: yes 00011001 */
1804  {
1805  2, 3, 4, 1, 4, 0, 0, 0, 0, 0, 0, 0
1806  },
1807  2
1808  },
1809  { /* 26: yes 00011010 */
1810  {
1811  0, 4, 3, 1, 2, 4, 0, 0, 0, 0, 0, 0
1812  },
1813  4
1814  },
1815  { /* 27: yes 00011011 */
1816  {
1817  2, 4, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0
1818  },
1819  1
1820  },
1821  { /* 28: yes 00011100 */
1822  {
1823  1, 2, 4, 0, 4, 3, 2, 0, 1, 5, 0, 0
1824  },
1825  2
1826  },
1827  { /* 29: yes 00011101 */
1828  {
1829  1, 4, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0
1830  },
1831  1
1832  },
1833  { /* 30: yes 00011110 */
1834  {
1835  0, 3, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0
1836  },
1837  1
1838  },
1839  { /* 31: yes 00011111 */
1840  {
1841  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1842  },
1843  0
1844  },
1845 };
1846 
1847 static cutting_info Psm_Table[64] = {
1848  { /* 0: no 00000000 */
1849  {
1850  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1851  },
1852  0
1853  },
1854  { /* 1: yes 00000001 */
1855  {
1856  0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0
1857  },
1858  1
1859  },
1860  { /* 2: yes 00000010 */
1861  {
1862  1, 0, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0
1863  },
1864  1
1865  },
1866  { /* 3: yes 00000011 */
1867  {
1868  1, 4, 2, 0, 2, 3, 0, 0, 0, 0, 0, 0
1869  },
1870  2
1871  },
1872  { /* 4: yes 00000100 */
1873  {
1874  2, 0, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0
1875  },
1876  1
1877  },
1878  { /* 5: yes 00000101 */
1879  {
1880  0, 3, 1, 2, 1, 5, 0, 0, 0, 0, 0, 0
1881  },
1882  2
1883  },
1884  { /* 6: yes 00000110 */
1885  {
1886  2, 5, 0, 1, 0, 4, 0, 0, 0, 0, 0, 0
1887  },
1888  2
1889  },
1890  { /* 7: yes 00000111 */
1891  {
1892  0, 3, 1, 4, 2, 5, 0, 0, 0, 0, 0, 0
1893  },
1894  16
1895  },
1896  { /* 8: yes 00001000 */
1897  {
1898  3, 4, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0
1899  },
1900  1
1901  },
1902  { /* 9: yes 00001001 */
1903  {
1904  0, 1, 2, 3, 5, 4, 0, 0, 0, 0, 0, 0
1905  },
1906  2
1907  },
1908  { /* 10: yes 00001010 */
1909  {
1910  1, 2, 0, 4, 3, 5, 0, 0, 0, 0, 0, 0
1911  },
1912  3
1913  },
1914  { /* 11: yes 00001011 */
1915  {
1916  1, 4, 2, 0, 2, 3, 5, 4, 0, 0, 0, 0
1917  },
1918  5
1919  },
1920  { /* 12: yes 00001100 */
1921  {
1922  2, 1, 5, 0, 3, 4, 0, 0, 0, 0, 0, 0
1923  },
1924  3
1925  },
1926  { /* 13: yes 00001101 */
1927  {
1928  3, 5, 4, 0, 1, 2, 1, 5, 0, 0, 0, 0
1929  },
1930  5
1931  },
1932  { /* 14: yes 00001110 */
1933  {
1934  1, 0, 4, 2, 5, 0, 3, 4, 0, 5, 0, 0
1935  },
1936  8
1937  },
1938  { /* 15: yes 00001111 */
1939  {
1940  4, 3, 1, 5, 2, 3, 0, 0, 0, 0, 0, 0
1941  },
1942  2
1943  },
1944  { /* 16: yes 00010000 */
1945  {
1946  4, 1, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0
1947  },
1948  1
1949  },
1950  { /* 17: yes 00010001 */
1951  {
1952  4, 5, 1, 3, 0, 2, 0, 0, 0, 0, 0, 0
1953  },
1954  3
1955  },
1956  { /* 18: yes 00010010 */
1957  {
1958  1, 2, 0, 4, 3, 5, 0, 0, 0, 0, 0, 0
1959  },
1960  2
1961  },
1962  { /* 19: yes 00010011 */
1963  {
1964  4, 3, 5, 1, 2, 0, 2, 3, 0, 0, 0, 0
1965  },
1966  5
1967  },
1968  { /* 20: yes 00010100 */
1969  {
1970  2, 0, 1, 5, 4, 3, 0, 0, 0, 0, 0, 0
1971  },
1972  3
1973  },
1974  { /* 21: yes 00010101 */
1975  {
1976  0, 3, 1, 2, 1, 5, 4, 1, 3, 5, 0, 0
1977  },
1978  8
1979  },
1980  { /* 22: yes 00010110 */
1981  {
1982  2, 5, 0, 1, 0, 4, 3, 5, 0, 0, 0, 0
1983  },
1984  5
1985  },
1986  { /* 23: yes 00010111 */
1987  {
1988  3, 0, 4, 5, 4, 2, 0, 0, 0, 0, 0, 0
1989  },
1990  2
1991  },
1992  { /* 24: yes 00011000 */
1993  {
1994  4, 5, 1, 3, 0, 5, 0, 0, 0, 0, 0, 0
1995  },
1996  2
1997  },
1998  { /* 25: yes 00011001 */
1999  {
2000  0, 1, 2, 3, 5, 4, 5, 1, 0, 0, 0, 0
2001  },
2002  5
2003  },
2004  { /* 26: yes 00011010 */
2005  {
2006  3, 0, 5, 4, 5, 1, 2, 0, 0, 0, 0, 0
2007  },
2008  5
2009  },
2010  { /* 27: yes 00011011 */
2011  {
2012  5, 3, 4, 2, 1, 0, 0, 0, 0, 0, 0, 0
2013  },
2014  2
2015  },
2016  { /* 28: yes 00011100 */
2017  {
2018  4, 5, 1, 3, 0, 5, 2, 0, 1, 5, 0, 0
2019  },
2020  8
2021  },
2022  { /* 29: yes 00011101 */
2023  {
2024  1, 0, 2, 4, 5, 3, 0, 0, 0, 0, 0, 0
2025  },
2026  3
2027  },
2028  { /* 30: yes 00011110 */
2029  {
2030  0, 1, 3, 2, 5, 4, 0, 0, 0, 0, 0, 0
2031  },
2032  3
2033  },
2034  { /* 31: yes 00011111 */
2035  {
2036  5, 3, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0
2037  },
2038  1
2039  },
2040  { /* 32: yes 00100000 */
2041  {
2042  5, 4, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0
2043  },
2044  1
2045  },
2046  { /* 33: yes 00100001 */
2047  {
2048  0, 1, 2, 3, 5, 4, 0, 0, 0, 0, 0, 0
2049  },
2050  3
2051  },
2052  { /* 34: yes 00100010 */
2053  {
2054  1, 0, 4, 2, 5, 3, 0, 0, 0, 0, 0, 0
2055  },
2056  3
2057  },
2058  { /* 35: yes 00100011 */
2059  {
2060  0, 2, 3, 1, 4, 2, 5, 2, 4, 3, 0, 0
2061  },
2062  8
2063  },
2064  { /* 36: yes 00100100 */
2065  {
2066  2, 0, 1, 5, 4, 3, 0, 0, 0, 0, 0, 0
2067  },
2068  2
2069  },
2070  { /* 37: yes 00100101 */
2071  {
2072  0, 3, 1, 2, 1, 5, 4, 3, 0, 0, 0, 0
2073  },
2074  5
2075  },
2076  { /* 38: yes 00100110 */
2077  {
2078  5, 4, 3, 2, 0, 1, 0, 4, 0, 0, 0, 0
2079  },
2080  5
2081  },
2082  { /* 39: yes 00100111 */
2083  {
2084  3, 5, 0, 4, 1, 5, 0, 0, 0, 0, 0, 0
2085  },
2086  2
2087  },
2088  { /* 40: yes 00101000 */
2089  {
2090  5, 2, 4, 3, 0, 4, 0, 0, 0, 0, 0, 0
2091  },
2092  2
2093  },
2094  { /* 41: yes 00101001 */
2095  {
2096  5, 2, 4, 3, 4, 0, 1, 2, 0, 0, 0, 0
2097  },
2098  5
2099  },
2100  { /* 42: yes 00101010 */
2101  {
2102  5, 2, 4, 3, 4, 0, 1, 2, 0, 4, 0, 0
2103  },
2104  8
2105  },
2106  { /* 43: yes 00101011 */
2107  {
2108  2, 0, 5, 1, 4, 3, 0, 0, 0, 0, 0, 0
2109  },
2110  3
2111  },
2112  { /* 44: yes 00101100 */
2113  {
2114  2, 0, 1, 5, 4, 3, 4, 0, 0, 0, 0, 0
2115  },
2116  5
2117  },
2118  { /* 45: yes 00101101 */
2119  {
2120  1, 0, 2, 4, 5, 3, 0, 0, 0, 0, 0, 0
2121  },
2122  2
2123  },
2124  { /* 46: yes 00101110 */
2125  {
2126  0, 2, 1, 3, 4, 5, 0, 0, 0, 0, 0, 0
2127  },
2128  3
2129  },
2130  { /* 47: yes 00101111 */
2131  {
2132  4, 1, 5, 3, 0, 0, 0, 0, 0, 0, 0, 0
2133  },
2134  1
2135  },
2136  { /* 48: yes 00110000 */
2137  {
2138  5, 3, 2, 4, 1, 3, 0, 0, 0, 0, 0, 0
2139  },
2140  2
2141  },
2142  { /* 49: yes 00110001 */
2143  {
2144  5, 3, 2, 4, 1, 3, 0, 1, 2, 3, 0, 0
2145  },
2146  8
2147  },
2148  { /* 50: yes 00110010 */
2149  {
2150  1, 2, 0, 4, 3, 5, 3, 2, 0, 0, 0, 0
2151  },
2152  5
2153  },
2154  { /* 51: yes 00110011 */
2155  {
2156  2, 1, 0, 5, 3, 4, 0, 0, 0, 0, 0, 0
2157  },
2158  3
2159  },
2160  { /* 52: yes 00110100 */
2161  {
2162  4, 1, 3, 5, 3, 2, 0, 1, 0, 0, 0, 0
2163  },
2164  5
2165  },
2166  { /* 53: yes 00110101 */
2167  {
2168  1, 2, 4, 0, 3, 5, 0, 0, 0, 0, 0, 0
2169  },
2170  3
2171  },
2172  { /* 54: yes 00110110 */
2173  {
2174  0, 2, 1, 3, 4, 5, 0, 0, 0, 0, 0, 0
2175  },
2176  2
2177  },
2178  { /* 55: yes 00110111 */
2179  {
2180  3, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0
2181  },
2182  1
2183  },
2184  { /* 56: yes 00111000 */
2185  {
2186  0, 3, 2, 5, 1, 4, 0, 0, 0, 0, 0, 0
2187  },
2188  16
2189  },
2190  { /* 57: yes 00111001 */
2191  {
2192  2, 0, 5, 1, 4, 0, 0, 0, 0, 0, 0, 0
2193  },
2194  2
2195  },
2196  { /* 58: yes 00111010 */
2197  {
2198  2, 5, 1, 0, 1, 3, 0, 0, 0, 0, 0, 0
2199  },
2200  2
2201  },
2202  { /* 59: yes 00111011 */
2203  {
2204  2, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0
2205  },
2206  1
2207  },
2208  { /* 60: yes 00111100 */
2209  {
2210  1, 2, 4, 0, 3, 2, 0, 0, 0, 0, 0, 0
2211  },
2212  2
2213  },
2214  { /* 61: yes 00111101 */
2215  {
2216  1, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0
2217  },
2218  1
2219  },
2220  { /* 62: yes 00111110 */
2221  {
2222  0, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0
2223  },
2224  1
2225  },
2226  { /* 63: yes 00111111 */
2227  {
2228  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
2229  },
2230  0
2231  },
2232 };
2233 
2234 static cutting_info Null_Table[16] = {
2235  { /* 0000 */
2236  {
2237  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
2238  },
2239  0
2240  },
2241  { /* 0001 */
2242  {
2243  0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0
2244  },
2245  0
2246  },
2247  { /* 0010 */
2248  {
2249  1, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0
2250  },
2251  0
2252  },
2253  { /* 0011 */
2254  {
2255  0, 2, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0
2256  },
2257  0
2258  },
2259  { /* 0100 */
2260  {
2261  2, 0, 1, 3, 2, 3, 0, 0, 0, 0, 0, 0
2262  },
2263  0
2264  },
2265  { /* 0101 */
2266  {
2267  0, 3, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0
2268  },
2269  0
2270  },
2271  { /* 0110 */
2272  {
2273  1, 0, 3, 2, 3, 0, 0, 0, 0, 0, 0, 0
2274  },
2275  0
2276  },
2277  { /* 0111 */
2278  {
2279  3, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0
2280  },
2281  0
2282  },
2283  { /* 1000 */
2284  {
2285  3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0
2286  },
2287  0
2288  },
2289  { /* 1001 */
2290  {
2291  3, 2, 1, 0, 1, 2, 0, 0, 0, 0, 0, 0
2292  },
2293  0
2294  },
2295  { /* 1010 */
2296  {
2297  1, 2, 0, 3, 0, 2, 0, 0, 0, 0, 0, 0
2298  },
2299  0
2300  },
2301  { /* 1011 */
2302  {
2303  2, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0
2304  },
2305  0
2306  },
2307  { /* 1100 */
2308  {
2309  2, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0
2310  },
2311  0
2312  },
2313  { /* 1101 */
2314  {
2315  1, 3, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0
2316  },
2317  0
2318  },
2319  { /* 1110 */
2320  {
2321  0, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0
2322  },
2323  0
2324  },
2325  { /* 1111 */
2326  {
2327  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
2328  },
2329  0
2330  }
2331 };
2332 
2334 
2335 /*static int Triangle_table[8][4] =
2336 {
2337  {
2338  0,0,0,0
2339  }
2340  ,
2341  {
2342  0,1,2,1
2343  }
2344  ,
2345  {
2346 1,0,2,1
2347 }
2348 ,
2349 {
2350 2,1,0,1
2351 }
2352 ,
2353 {
2354 2,0,1,1
2355 }
2356 ,
2357 {
2358 1,0,2,1
2359 }
2360 ,
2361 {
2362 0,1,2,1
2363 }
2364 ,
2365 {
2366 0,0,0,0
2367 }
2368 };*/
2369 }
2370 #endif
static cutting_info Psm_Table[64]
Definition: CuttingTables.h:1836
Definition: coCuttingSurface.h:45
static cutting_info * Cutting_Info[8]
Definition: CuttingTables.h:2054
static cutting_info Pry_Table[32]
Definition: CuttingTables.h:1640
static cutting_info Tet_Table[16]
Definition: CuttingTables.h:1541
static cutting_info Hex_Table[256]
Definition: CuttingTables.h:14
static cutting_info Null_Table[16]
Definition: IsoCuttingTables.h:2234