Subversion Repositories gelsvn

Rev

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

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