svn merge ^/trunk/blender -r43009:43033
[blender.git] / intern / dualcon / intern / Projections.cpp
1 /*
2  * ***** BEGIN GPL LICENSE BLOCK *****
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License
6  * as published by the Free Software Foundation; either version 2
7  * of the License, or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software Foundation,
16  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17  *
18  * Contributor(s): Tao Ju
19  *
20  * ***** END GPL LICENSE BLOCK *****
21  */
22
23 #include <math.h>
24 #include "Projections.h"
25
26 const int vertmap[8][3] = {
27         {0, 0, 0},
28         {0, 0, 1},
29         {0, 1, 0},
30         {0, 1, 1},
31         {1, 0, 0},
32         {1, 0, 1},
33         {1, 1, 0},
34         {1, 1, 1}
35 };
36
37 const int centmap[3][3][3][2] = {
38         {{{0, 0}, {0, 1}, {1, 1}},
39          {{0, 2}, {0, 3}, {1, 3}},
40          {{2, 2}, {2, 3}, {3, 3}}
41         },
42         
43         {{{0, 4}, {0, 5}, {1, 5}},
44          {{0, 6}, {0, 7}, {1, 7}},
45          {{2, 6}, {2, 7}, {3, 7}}
46         },
47         
48         {{{4, 4}, {4, 5}, {5, 5}},
49          {{4, 6}, {4, 7}, {5, 7}},
50          {{6, 6}, {6, 7}, {7, 7}}
51         }
52 };
53
54 const int edgemap[12][2] = {
55         {0, 4},
56         {1, 5},
57         {2, 6},
58         {3, 7},
59         {0, 2},
60         {1, 3},
61         {4, 6},
62         {5, 7},
63         {0, 1},
64         {2, 3},
65         {4, 5},
66         {6, 7}
67 };
68
69 const int facemap[6][4] = {
70         {0, 1, 2, 3},
71         {4, 5, 6, 7},
72         {0, 1, 4, 5},
73         {2, 3, 6, 7},
74         {0, 2, 4, 6},
75         {1, 3, 5, 7}
76 };