Subversion Repositories gelsvn

Rev

Rev 595 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 595 Rev 630
1
/* ----------------------------------------------------------------------- *
1
/* ----------------------------------------------------------------------- *
2
 * This file is part of GEL, http://www.imm.dtu.dk/GEL
2
 * This file is part of GEL, http://www.imm.dtu.dk/GEL
3
 * Copyright (C) the authors and DTU Informatics
3
 * Copyright (C) the authors and DTU Informatics
4
 * For license and list of authors, see ../../doc/intro.pdf
4
 * For license and list of authors, see ../../doc/intro.pdf
5
 * ----------------------------------------------------------------------- */
5
 * ----------------------------------------------------------------------- */
6
 
6
 
7
#include "Neighbours.h"
7
#include "Neighbours.h"
8
 
8
 
9
namespace Geometry
9
namespace Geometry
10
{
10
{
11
	using namespace CGLA;
11
	using namespace CGLA;
12
 
12
 
13
	const Vec3f N6f[6] =
13
	const Vec3f N6f[6] =
14
	{
14
	{
15
		Vec3f(-1,0,0),
15
		Vec3f(-1,0,0),
16
		Vec3f( 1,0,0),
16
		Vec3f( 1,0,0),
17
		Vec3f( 0,-1,0),
17
		Vec3f( 0,-1,0),
18
		Vec3f( 0, 1,0),
18
		Vec3f( 0, 1,0),
19
		Vec3f( 0,0,-1),
19
		Vec3f( 0,0,-1),
20
		Vec3f( 0,0,1)
20
		Vec3f( 0,0,1)
21
	};
21
	};
22
	
22
	
23
	const Vec3i N6i[6] =
23
	const Vec3i N6i[6] =
24
	{
24
	{
25
		Vec3i(-1,0,0),
25
		Vec3i(-1,0,0),
26
		Vec3i( 1,0,0),
26
		Vec3i( 1,0,0),
27
		Vec3i( 0,-1,0),
27
		Vec3i( 0,-1,0),
28
		Vec3i( 0, 1,0),
28
		Vec3i( 0, 1,0),
29
		Vec3i( 0,0,-1),
29
		Vec3i( 0,0,-1),
30
		Vec3i( 0,0,1)		
30
		Vec3i( 0,0,1)		
31
	};
31
	};
32
 
32
 
33
	const Vec3d N6d[6] =
33
	const Vec3d N6d[6] =
34
	{
34
	{
35
		Vec3d(-1,0,0),
35
		Vec3d(-1,0,0),
36
		Vec3d( 1,0,0),
36
		Vec3d( 1,0,0),
37
		Vec3d( 0,-1,0),
37
		Vec3d( 0,-1,0),
38
		Vec3d( 0, 1,0),
38
		Vec3d( 0, 1,0),
39
		Vec3d( 0,0,-1),
39
		Vec3d( 0,0,-1),
40
		Vec3d( 0,0,1)		
40
		Vec3d( 0,0,1)		
41
	};
41
	};
42
	
42
	
43
	const Vec3f N26f[26] =
43
	const Vec3f N26f[26] =
44
	{
44
	{
45
		Vec3f(-1,-1,-1),
45
		Vec3f(-1,-1,-1),
46
		Vec3f( 0,-1,-1),
46
		Vec3f( 0,-1,-1),
47
		Vec3f( 1,-1,-1),
47
		Vec3f( 1,-1,-1),
48
		Vec3f(-1, 0,-1),
48
		Vec3f(-1, 0,-1),
49
		Vec3f( 0, 0,-1),
49
		Vec3f( 0, 0,-1),
50
		Vec3f( 1, 0,-1),
50
		Vec3f( 1, 0,-1),
51
		Vec3f(-1, 1,-1),
51
		Vec3f(-1, 1,-1),
52
		Vec3f( 0, 1,-1),
52
		Vec3f( 0, 1,-1),
53
		Vec3f( 1, 1,-1),
53
		Vec3f( 1, 1,-1),
54
 
54
 
55
		Vec3f(-1,-1, 0),
55
		Vec3f(-1,-1, 0),
56
		Vec3f( 0,-1, 0),
56
		Vec3f( 0,-1, 0),
57
		Vec3f( 1,-1, 0),
57
		Vec3f( 1,-1, 0),
58
		Vec3f(-1, 0, 0),
58
		Vec3f(-1, 0, 0),
59
		Vec3f( 1, 0, 0),
59
		Vec3f( 1, 0, 0),
60
		Vec3f(-1, 1, 0),
60
		Vec3f(-1, 1, 0),
61
		Vec3f( 0, 1, 0),
61
		Vec3f( 0, 1, 0),
62
		Vec3f( 1, 1, 0),
62
		Vec3f( 1, 1, 0),
63
 
63
 
64
		Vec3f(-1,-1, 1),
64
		Vec3f(-1,-1, 1),
65
		Vec3f( 0,-1, 1),
65
		Vec3f( 0,-1, 1),
66
		Vec3f( 1,-1, 1),
66
		Vec3f( 1,-1, 1),
67
		Vec3f(-1, 0, 1),
67
		Vec3f(-1, 0, 1),
68
		Vec3f( 0, 0, 1),
68
		Vec3f( 0, 0, 1),
69
		Vec3f( 1, 0, 1),
69
		Vec3f( 1, 0, 1),
70
		Vec3f(-1, 1, 1),
70
		Vec3f(-1, 1, 1),
71
		Vec3f( 0, 1, 1),
71
		Vec3f( 0, 1, 1),
72
		Vec3f( 1, 1, 1)
72
		Vec3f( 1, 1, 1)
73
		};
73
		};
74
 
74
 
75
	const Vec3i N26i[26] = 
75
	const Vec3i N26i[26] = 
76
	{
76
	{
77
		Vec3i(-1,-1,-1),
77
		Vec3i(-1,-1,-1),
78
		Vec3i( 0,-1,-1),
78
		Vec3i( 0,-1,-1),
79
		Vec3i( 1,-1,-1),
79
		Vec3i( 1,-1,-1),
80
		Vec3i(-1, 0,-1),
80
		Vec3i(-1, 0,-1),
81
		Vec3i( 0, 0,-1),
81
		Vec3i( 0, 0,-1),
82
		Vec3i( 1, 0,-1),
82
		Vec3i( 1, 0,-1),
83
		Vec3i(-1, 1,-1),
83
		Vec3i(-1, 1,-1),
84
		Vec3i( 0, 1,-1),
84
		Vec3i( 0, 1,-1),
85
		Vec3i( 1, 1,-1),
85
		Vec3i( 1, 1,-1),
86
 
86
 
87
		Vec3i(-1,-1, 0),
87
		Vec3i(-1,-1, 0),
88
		Vec3i( 0,-1, 0),
88
		Vec3i( 0,-1, 0),
89
		Vec3i( 1,-1, 0),
89
		Vec3i( 1,-1, 0),
90
		Vec3i(-1, 0, 0),
90
		Vec3i(-1, 0, 0),
91
		Vec3i( 1, 0, 0),
91
		Vec3i( 1, 0, 0),
92
		Vec3i(-1, 1, 0),
92
		Vec3i(-1, 1, 0),
93
		Vec3i( 0, 1, 0),
93
		Vec3i( 0, 1, 0),
94
		Vec3i( 1, 1, 0),
94
		Vec3i( 1, 1, 0),
95
 
95
 
96
		Vec3i(-1,-1, 1),
96
		Vec3i(-1,-1, 1),
97
		Vec3i( 0,-1, 1),
97
		Vec3i( 0,-1, 1),
98
		Vec3i( 1,-1, 1),
98
		Vec3i( 1,-1, 1),
99
		Vec3i(-1, 0, 1),
99
		Vec3i(-1, 0, 1),
100
		Vec3i( 0, 0, 1),
100
		Vec3i( 0, 0, 1),
101
		Vec3i( 1, 0, 1),
101
		Vec3i( 1, 0, 1),
102
		Vec3i(-1, 1, 1),
102
		Vec3i(-1, 1, 1),
103
		Vec3i( 0, 1, 1),
103
		Vec3i( 0, 1, 1),
104
		Vec3i( 1, 1, 1)
104
		Vec3i( 1, 1, 1)
105
	};
105
	};
106
 
106
 
107
	const Vec3d N26d[26] = 
107
	const Vec3d N26d[26] = 
108
	{
108
	{
109
		Vec3d(-1,-1,-1),
109
		Vec3d(-1,-1,-1),
110
		Vec3d( 0,-1,-1),
110
		Vec3d( 0,-1,-1),
111
		Vec3d( 1,-1,-1),
111
		Vec3d( 1,-1,-1),
112
		Vec3d(-1, 0,-1),
112
		Vec3d(-1, 0,-1),
113
		Vec3d( 0, 0,-1),
113
		Vec3d( 0, 0,-1),
114
		Vec3d( 1, 0,-1),
114
		Vec3d( 1, 0,-1),
115
		Vec3d(-1, 1,-1),
115
		Vec3d(-1, 1,-1),
116
		Vec3d( 0, 1,-1),
116
		Vec3d( 0, 1,-1),
117
		Vec3d( 1, 1,-1),
117
		Vec3d( 1, 1,-1),
118
 
118
 
119
		Vec3d(-1,-1, 0),
119
		Vec3d(-1,-1, 0),
120
		Vec3d( 0,-1, 0),
120
		Vec3d( 0,-1, 0),
121
		Vec3d( 1,-1, 0),
121
		Vec3d( 1,-1, 0),
122
		Vec3d(-1, 0, 0),
122
		Vec3d(-1, 0, 0),
123
		Vec3d( 1, 0, 0),
123
		Vec3d( 1, 0, 0),
124
		Vec3d(-1, 1, 0),
124
		Vec3d(-1, 1, 0),
125
		Vec3d( 0, 1, 0),
125
		Vec3d( 0, 1, 0),
126
		Vec3d( 1, 1, 0),
126
		Vec3d( 1, 1, 0),
127
 
127
 
128
		Vec3d(-1,-1, 1),
128
		Vec3d(-1,-1, 1),
129
		Vec3d( 0,-1, 1),
129
		Vec3d( 0,-1, 1),
130
		Vec3d( 1,-1, 1),
130
		Vec3d( 1,-1, 1),
131
		Vec3d(-1, 0, 1),
131
		Vec3d(-1, 0, 1),
132
		Vec3d( 0, 0, 1),
132
		Vec3d( 0, 0, 1),
133
		Vec3d( 1, 0, 1),
133
		Vec3d( 1, 0, 1),
134
		Vec3d(-1, 1, 1),
134
		Vec3d(-1, 1, 1),
135
		Vec3d( 0, 1, 1),
135
		Vec3d( 0, 1, 1),
136
		Vec3d( 1, 1, 1)
136
		Vec3d( 1, 1, 1)
137
	};
137
	};
138
 
138
 
139
 
139
 
140
	const Vec3i CubeCorners8i[8] = 
140
	const Vec3i CubeCorners8i[8] = 
141
		{
141
		{
142
			Vec3i(0,0,0),
142
			Vec3i(0,0,0),
143
			Vec3i(1,0,0),
143
			Vec3i(1,0,0),
144
			Vec3i(0,1,0),
144
			Vec3i(0,1,0),
145
			Vec3i(1,1,0),
145
			Vec3i(1,1,0),
146
			Vec3i(0,0,1),
146
			Vec3i(0,0,1),
147
			Vec3i(1,0,1),
147
			Vec3i(1,0,1),
148
			Vec3i(0,1,1),
148
			Vec3i(0,1,1),
149
			Vec3i(1,1,1),
149
			Vec3i(1,1,1),
150
		};
150
		};
151
 
151
 
152
	const Vec3f CubeCorners8f[8] = 
152
	const Vec3f CubeCorners8f[8] = 
153
	{
153
	{
154
		Vec3f(0,0,0),
154
		Vec3f(0,0,0),
155
		Vec3f(1,0,0),
155
		Vec3f(1,0,0),
156
		Vec3f(0,1,0),
156
		Vec3f(0,1,0),
157
		Vec3f(1,1,0),
157
		Vec3f(1,1,0),
158
		Vec3f(0,0,1),
158
		Vec3f(0,0,1),
159
		Vec3f(1,0,1),
159
		Vec3f(1,0,1),
160
		Vec3f(0,1,1),
160
		Vec3f(0,1,1),
161
		Vec3f(1,1,1),
161
		Vec3f(1,1,1),
162
	};
162
	};
163
}
163
}
164
 
164