24 {-90.0, -0.820025563, -0.00566683663, 0.761402547, -102.513450623},
25 {-80.0, -0.754989743, -0.00520792603, 0.846449375, -90.6535682678},
26 {-70.0, -0.68668443, -0.00474862708, 0.92180711, -79.623046875},
27 {-60.0, -0.621659517, -0.00342348195, 0.979949296, -70.1457858086},
28 {-50.0, -0.556169391, 0.0011247769, 1.02253902, -62.9730377197},
29 {-40.0, -0.492958367, 0.00525747985, 1.06271756, -55.8160095215},
30 {-30.0, -0.373254806, 0.00502402289, 1.10341728, -42.5149187148},
31 {-20.0, -0.233692259, 0.00385937118, 1.13184297, -27.7257080078},
32 {-10.0, -0.106234029, 0.0014725402, 1.12895668, -13.5424880981},
33 {-8.0, -0.0791881531, 0.00153348595, 1.12579584, -10.5965538025},
34 {-6.0, -0.0550608225, 0.0005375818, 1.12165511, -7.847448349},
35 {-4.0, -0.0291669685, 0.000460080802, 1.11724615, -4.96613055468},
36 {-2.0, -0.00520789856, -8.18446206e-005, 1.11239338, -2.18479919434},
37 {0.0 , 0.0199751724, -0.000237718239, 1.10685933, 0.656613349915},
38 {2.0 , 0.0474604815, -0.000476859539, 1.10631061, 3.42151546478},
39 {4.0 , 0.0753834769, -0.000586710812, 1.10548747, 6.21252536774},
40 {6.0 , 0.103622861, -0.000562481582, 1.10425735, 9.0348777771},
41 {8.0 , 0.132121757, -0.000393480062, 1.10258472, 11.8929595947},
42 {10.0, 0.161176234, -0.000701442303, 1.10047519, 14.4690093994},
43 {20.0, 0.305605233, -0.000723838806, 1.07536352, 28.0411071777},
44 {30.0, 0.435892373, 0.00164459657, 1.01915348, 41.6651306152},
45 {40.0, 0.560899138, 0.00394713879, 0.949841857, 53.7326016426},
46 {50.0, 0.64627862, 0.00594675541, 0.905627429, 60.9953536987},
47 {60.0, 0.730919778, 0.00894816965, 0.86073643, 67.0545349121},
48 {70.0, 0.835809886, 0.00966545194, 0.751601994, 78.9754219055},
49 {80.0, 0.922447503, 0.00939706713, 0.622487068, 91.9488887787},
50 {90.0, 0.992749035, 0.00875499006, 0.477440089, 105.611335754},
75 neighbors.push_back(s);
111 std::vector<mcMovementState> moves;
169 uint64_t ang =
node.heading;
170 return (x<<40)|(y<<20)|(ang);
180 return sqrt((n1.
x - n2.
x)*(n1.
x - n2.
x) + (n1.
y-n2.
y)*(n1.
y-n2.
y));
210 GLdouble xx, yy, zz, rad;
211 GetOpenGLCoord(perc*newState.
x + (1-perc)*oldState.
x, perc*newState.
y + (1-perc)*oldState.
y, xx, yy, zz, rad);
220 else if ((newState.
heading >= 3*DEG/4) && (oldState.
heading <= DEG/4))
226 GLdouble yoffset = sin(
TWOPI*rot/DEG)*rad;
227 GLdouble xoffset = cos(
TWOPI*rot/DEG)*rad;
229 glBegin(GL_TRIANGLES);
230 glColor4f(r, g, b/2, t);
231 glVertex3f(xx+xoffset, yy+yoffset, zz);
232 glColor4f(r, g/2, b, t);
233 glVertex3f(xx-xoffset, yy-yoffset, zz-rad);
234 glColor4f(r, g, b/2, t);
235 glVertex3f(xx-xoffset+0.5*yoffset, yy-yoffset-0.5*xoffset, zz);
237 glColor4f(r, g/2, b, t);
238 glVertex3f(xx+xoffset, yy+yoffset, zz);
239 glColor4f(r, g, b/2, t);
240 glVertex3f(xx-xoffset, yy-yoffset, zz-rad);
241 glColor4f(r, g/2, b, t);
242 glVertex3f(xx-xoffset-0.5*yoffset, yy-yoffset+0.5*xoffset, zz);
249 GLdouble xx, yy, zz, rad;
257 glBegin(GL_TRIANGLES);
259 surfaceNormal.
x = (((-0.5*xoffset) * (-rad)) - ((+rad) - (-2*yoffset)));
260 surfaceNormal.
y = (((rad) * (-2*xoffset)) - ((0.5*yoffset) - (rad)));
261 surfaceNormal.
z = (((0.5*yoffset) * (-2*yoffset)) - ((-0.5*xoffset) - (-2*xoffset)));
263 glNormal3f(surfaceNormal.
x, surfaceNormal.
y, surfaceNormal.
z);
264 glColor4f(r, g, b/2, t);
265 glVertex3f(xx+xoffset, yy+yoffset, zz);
266 glColor4f(r, g/2, b, t);
267 glVertex3f(xx-xoffset, yy-yoffset, zz-rad);
268 glColor4f(r, g, b/2, t);
269 glVertex3f(xx-xoffset+0.5*yoffset, yy-yoffset-0.5*xoffset, zz);
271 surfaceNormal.
x = (((+0.5*xoffset) * (-rad)) - ((+rad) - (-2*yoffset)));
272 surfaceNormal.
y = (((rad) * (-2*xoffset)) - ((-0.5*yoffset) - (rad)));
273 surfaceNormal.
z = (((-0.5*yoffset) * (-2*yoffset)) - ((+0.5*xoffset) - (-2*xoffset)));
275 glNormal3f(surfaceNormal.
x, surfaceNormal.
y, surfaceNormal.
z);
276 glColor4f(r, g/2, b, t);
277 glVertex3f(xx+xoffset, yy+yoffset, zz);
278 glColor4f(r, g, b/2, t);
279 glVertex3f(xx-xoffset, yy-yoffset, zz-rad);
280 glColor4f(r, g/2, b, t);
281 glVertex3f(xx-xoffset-0.5*yoffset, yy-yoffset+0.5*xoffset, zz);
288 GLdouble xx, yy, zz, rad;
290 glColor3f(0.5f, 0.5f, 0.5);
297 GLdouble xx, yy, zz, rad;
300 GLfloat rr, gg, bb, t;
302 glColor4f(rr, gg, bb, t);
305 glVertex3f(xx, yy, zz-rad/2);
307 glVertex3f(xx, yy, zz-rad/2);