fixed: auto_ptr -> unique_ptr
[opensg.git] / Source / System / NodeCores / Drawables / Geometry / PropertiesBase / OSGGeoVectorPropertyConversionTest.cpp
blobe61c969309ac5d03ced20ffa78fdabf81e56b413
1 /*---------------------------------------------------------------------------*\
2 * OpenSG *
3 * *
4 * *
5 * Copyright (C) 2000-2006 by the OpenSG Forum *
6 * *
7 * contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de *
8 * *
9 \*---------------------------------------------------------------------------*/
10 /*---------------------------------------------------------------------------*\
11 * License *
12 * *
13 * This library is free software; you can redistribute it and/or modify it *
14 * under the terms of the GNU Library General Public License as published *
15 * by the Free Software Foundation, version 2. *
16 * *
17 * This library is distributed in the hope that it will be useful, but *
18 * WITHOUT ANY WARRANTY; without even the implied warranty of *
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
20 * Library General Public License for more details. *
21 * *
22 * You should have received a copy of the GNU Library General Public *
23 * License along with this library; if not, write to the Free Software *
24 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
25 * *
26 \*---------------------------------------------------------------------------*/
27 /*---------------------------------------------------------------------------*\
28 * Changes *
29 * *
30 * *
31 * *
32 * *
33 * *
34 * *
35 \*---------------------------------------------------------------------------*/
37 #include <UnitTest++.h>
39 #include "OSGVector.h"
40 #include "OSGColor.h"
41 #include "OSGGeoVectorProperty.h"
43 // In the tests below there are quite a number of tests commented out, because
44 // they fail to compile - all involving types with Fixed32 elements.
45 // The underlying reason is the limited number of mixed type arithmetic
46 // that the Fixed32 type supports - ticket #79 tracks the issue.
48 namespace {
50 /*! Fixture to hold all the variables for the various conversions.
51 Variable names ending in "_ref" are reference values agains which results
52 are compared,
53 while those ending in "_dest" are targets for conversions, all others are
54 input.
56 struct GeoConvertFixture
58 GeoConvertFixture(void) :
59 vec4b_ref (1, 2, 3, 4),
60 vec4ub_ref(1, 2, 3, 4),
61 vec4s_ref (1, 2, 3, 4),
62 vec4f_ref (1.0f, 2.0f, 3.0f, 4.0f),
63 vec4d_ref (1.0, 2.0, 3.0, 4.0),
64 vec4fx_ref(1.0f, 2.0f, 3.0f, 4.0f),
66 vec1b (1, 1), // Vec1 has no 1 argument ctor - use 2 arg ctor
67 vec1s (1, 1),
68 vec1f (1.0f, 1.0f),
69 vec1d (1.0, 1.0),
70 vec1fx(1.0f, 1.0f),
71 vec2b (1, 2),
72 vec2s (1, 2),
73 vec2f (1.0f, 2.0f),
74 vec2d (1.0, 2.0),
75 vec2fx(1.0f, 2.0f),
76 vec3b (1, 2, 3),
77 vec3s (1, 2, 3),
78 vec3f (1.0f, 2.0f, 3.0f),
79 vec3d (1.0, 2.0, 3.0),
80 vec3fx(1.0f, 2.0f, 3.0f),
81 vec4b (1, 2, 3, 4),
82 vec4s (1, 2, 3, 4),
83 vec4f (1.0f, 2.0f, 3.0f, 4.0f),
84 vec4d (1.0, 2.0, 3.0, 4.0),
85 vec4fx(1.0f, 2.0f, 3.0f, 4.0f),
87 pnt1b (1, 1), // Pnt1 has no 1 argument ctor - use 2 arg ctor
88 pnt1s (1, 1),
89 pnt1f (1.0f, 1.0f),
90 pnt1d (1.0, 1.0),
91 pnt1fx(1.0f, 1.0f),
92 pnt2b (1, 2),
93 pnt2s (1, 2),
94 pnt2f (1.0f, 2.0f),
95 pnt2d (1.0, 2.0),
96 pnt2fx(1.0f, 2.0f),
97 pnt3b (1, 2, 3),
98 pnt3s (1, 2, 3),
99 pnt3f (1.0f, 2.0f, 3.0f),
100 pnt3d (1.0, 2.0, 3.0),
101 pnt3fx(1.0f, 2.0f, 3.0f),
102 pnt4b (1, 2, 3, 4),
103 pnt4s (1, 2, 3, 4),
104 pnt4f (1.0f, 2.0f, 3.0f, 4.0f),
105 pnt4d (1.0, 2.0, 3.0, 4.0),
106 pnt4fx(1.0f, 2.0f, 3.0f, 4.0f),
108 col3ub(1, 2, 3),
109 col3f (1.0f, 2.0f, 3.0f),
110 col3fx(1.0f, 2.0f, 3.0f),
111 col4ub(1, 2, 3, 4),
112 col4f (1.0f, 2.0f, 3.0f, 4.0f),
113 col4fx(1.0f, 2.0f, 3.0f, 4.0f)
117 ~GeoConvertFixture(void)
121 // Reference for comparison
122 const OSG::Vec4b vec4b_ref;
123 const OSG::Vec4ub vec4ub_ref;
124 const OSG::Vec4s vec4s_ref;
125 const OSG::Vec4f vec4f_ref;
126 const OSG::Vec4d vec4d_ref;
127 const OSG::Vec4fx vec4fx_ref;
129 // Input
130 const OSG::Vec1b vec1b;
131 const OSG::Vec1s vec1s;
132 const OSG::Vec1f vec1f;
133 const OSG::Vec1d vec1d;
134 const OSG::Vec1fx vec1fx;
135 const OSG::Vec2b vec2b;
136 const OSG::Vec2s vec2s;
137 const OSG::Vec2f vec2f;
138 const OSG::Vec2d vec2d;
139 const OSG::Vec2fx vec2fx;
140 const OSG::Vec3b vec3b;
141 const OSG::Vec3s vec3s;
142 const OSG::Vec3f vec3f;
143 const OSG::Vec3d vec3d;
144 const OSG::Vec3fx vec3fx;
145 const OSG::Vec4b vec4b;
146 const OSG::Vec4s vec4s;
147 const OSG::Vec4f vec4f;
148 const OSG::Vec4d vec4d;
149 const OSG::Vec4fx vec4fx;
151 const OSG::Pnt1b pnt1b;
152 const OSG::Pnt1s pnt1s;
153 const OSG::Pnt1f pnt1f;
154 const OSG::Pnt1d pnt1d;
155 const OSG::Pnt1fx pnt1fx;
156 const OSG::Pnt2b pnt2b;
157 const OSG::Pnt2s pnt2s;
158 const OSG::Pnt2f pnt2f;
159 const OSG::Pnt2d pnt2d;
160 const OSG::Pnt2fx pnt2fx;
161 const OSG::Pnt3b pnt3b;
162 const OSG::Pnt3s pnt3s;
163 const OSG::Pnt3f pnt3f;
164 const OSG::Pnt3d pnt3d;
165 const OSG::Pnt3fx pnt3fx;
166 const OSG::Pnt4b pnt4b;
167 const OSG::Pnt4s pnt4s;
168 const OSG::Pnt4f pnt4f;
169 const OSG::Pnt4d pnt4d;
170 const OSG::Pnt4fx pnt4fx;
172 const OSG::Color3ub col3ub;
173 const OSG::Color3f col3f;
174 const OSG::Color3fx col3fx;
175 const OSG::Color4ub col4ub;
176 const OSG::Color4f col4f;
177 const OSG::Color4fx col4fx;
179 // Output
180 OSG::Vec1b vec1b_dest;
181 OSG::Vec1s vec1s_dest;
182 OSG::Vec1f vec1f_dest;
183 OSG::Vec1d vec1d_dest;
184 OSG::Vec1fx vec1fx_dest;
185 OSG::Vec2b vec2b_dest;
186 OSG::Vec2s vec2s_dest;
187 OSG::Vec2f vec2f_dest;
188 OSG::Vec2d vec2d_dest;
189 OSG::Vec2fx vec2fx_dest;
190 OSG::Vec3b vec3b_dest;
191 OSG::Vec3s vec3s_dest;
192 OSG::Vec3f vec3f_dest;
193 OSG::Vec3d vec3d_dest;
194 OSG::Vec3fx vec3fx_dest;
195 OSG::Vec4b vec4b_dest;
196 OSG::Vec4s vec4s_dest;
197 OSG::Vec4f vec4f_dest;
198 OSG::Vec4d vec4d_dest;
199 OSG::Vec4fx vec4fx_dest;
201 OSG::Pnt1b pnt1b_dest;
202 OSG::Pnt1s pnt1s_dest;
203 OSG::Pnt1f pnt1f_dest;
204 OSG::Pnt1d pnt1d_dest;
205 OSG::Pnt1fx pnt1fx_dest;
206 OSG::Pnt2b pnt2b_dest;
207 OSG::Pnt2s pnt2s_dest;
208 OSG::Pnt2f pnt2f_dest;
209 OSG::Pnt2d pnt2d_dest;
210 OSG::Pnt2fx pnt2fx_dest;
211 OSG::Pnt3b pnt3b_dest;
212 OSG::Pnt3s pnt3s_dest;
213 OSG::Pnt3f pnt3f_dest;
214 OSG::Pnt3d pnt3d_dest;
215 OSG::Pnt3fx pnt3fx_dest;
216 OSG::Pnt4b pnt4b_dest;
217 OSG::Pnt4s pnt4s_dest;
218 OSG::Pnt4f pnt4f_dest;
219 OSG::Pnt4d pnt4d_dest;
220 OSG::Pnt4fx pnt4fx_dest;
222 OSG::Color3ub col3ub_dest;
223 OSG::Color3f col3f_dest;
224 OSG::Color3fx col3fx_dest;
225 OSG::Color4ub col4ub_dest;
226 OSG::Color4f col4f_dest;
227 OSG::Color4fx col4fx_dest;
230 // variable names and their meaning
232 // SBase, DBase: source, destination variable base part: vec, pnt, col
233 // SDim, DDim: source, destination variable size part: 1, 2, 3, 4
234 // SType, DType: source, destination variable type part: b, ub, u, f, d
236 // TDim: number of elements to test: 1, 2, 3, 4
237 // Dir: conversion direction: In, Out
239 // Macros to compare conversion results - it makes only sense to compare
240 // as many elements as min(SourceDimension, DestinationDimension).
241 #define OSG_CONVERT_CHECK_1(DBase, DDim, DType) \
242 CHECK(DBase##DDim##DType##_dest[0] == vec4##DType##_ref[0]);
244 #define OSG_CONVERT_CHECK_2(DBase, DDim, DType) \
245 CHECK(DBase##DDim##DType##_dest[0] == vec4##DType##_ref[0]); \
246 CHECK(DBase##DDim##DType##_dest[1] == vec4##DType##_ref[1]);
248 #define OSG_CONVERT_CHECK_3(DBase, DDim, DType) \
249 CHECK(DBase##DDim##DType##_dest[0] == vec4##DType##_ref[0]); \
250 CHECK(DBase##DDim##DType##_dest[1] == vec4##DType##_ref[1]); \
251 CHECK(DBase##DDim##DType##_dest[2] == vec4##DType##_ref[2]);
253 #define OSG_CONVERT_CHECK_4(DBase, DDim, DType) \
254 CHECK(DBase##DDim##DType##_dest[0] == vec4##DType##_ref[0]); \
255 CHECK(DBase##DDim##DType##_dest[1] == vec4##DType##_ref[1]); \
256 CHECK(DBase##DDim##DType##_dest[2] == vec4##DType##_ref[2]); \
257 CHECK(DBase##DDim##DType##_dest[3] == vec4##DType##_ref[3]);
259 #define OSG_CONVERT_CHECK(DBase, DDim, DType, TDim) \
260 OSG_CONVERT_CHECK_##TDim(DBase, DDim, DType)
262 // Conversion an results checking macros
263 #define OSG_CONVERT_TO_LARGER(Dir, DBase, DDim, DType, SBase, SDim, SType) \
264 OSG::GeoConvert::convert##Dir(DBase##DDim##DType##_dest, SBase##SDim##SType); \
265 OSG_CONVERT_CHECK(DBase, DDim, DType, SDim)
267 #define OSG_CONVERT_TO_SMALLER(Dir, DBase, DDim, DType, SBase, SDim, SType) \
268 OSG::GeoConvert::convert##Dir(DBase##DDim##DType##_dest, SBase##SDim##SType); \
269 OSG_CONVERT_CHECK(DBase, DDim, DType, DDim)
271 #define OSG_CONVERT_NORM_TO_LARGER(Dir, DBase, DDim, DType, SBase, SDim, SType) \
272 OSG::GeoConvert::convert##Dir(DBase##DDim##DType##_dest, SBase##SDim##SType); \
273 OSG_CONVERT_CHECK(DBase, DDim, DType, SDim)
275 #define OSG_CONVERT_NORM_TO_SMALLER(Dir, DBase, DDim, DType, SBase, SDim, SType) \
276 OSG::GeoConvertNormalize::convert##Dir(DBase##DDim##DType##_dest, SBase##SDim##SType); \
277 OSG_CONVERT_CHECK(DBase, DDim, DType, DDim)
279 TEST_FIXTURE(GeoConvertFixture, GeoConvert_In_Vec_To_Vecb)
281 // from vec b to vec b
282 OSG_CONVERT_TO_SMALLER(In, vec, 1, b, vec, 1, b);
283 OSG_CONVERT_TO_SMALLER(In, vec, 1, b, vec, 2, b);
284 OSG_CONVERT_TO_SMALLER(In, vec, 1, b, vec, 3, b);
285 OSG_CONVERT_TO_SMALLER(In, vec, 1, b, vec, 4, b);
287 OSG_CONVERT_TO_LARGER (In, vec, 2, b, vec, 1, b);
288 OSG_CONVERT_TO_SMALLER(In, vec, 2, b, vec, 2, b);
289 OSG_CONVERT_TO_SMALLER(In, vec, 2, b, vec, 3, b);
290 OSG_CONVERT_TO_SMALLER(In, vec, 2, b, vec, 4, b);
292 OSG_CONVERT_TO_LARGER (In, vec, 3, b, vec, 1, b);
293 OSG_CONVERT_TO_LARGER (In, vec, 3, b, vec, 2, b);
294 OSG_CONVERT_TO_SMALLER(In, vec, 3, b, vec, 3, b);
295 OSG_CONVERT_TO_SMALLER(In, vec, 3, b, vec, 4, b);
297 OSG_CONVERT_TO_LARGER (In, vec, 4, b, vec, 1, b);
298 OSG_CONVERT_TO_LARGER (In, vec, 4, b, vec, 2, b);
299 OSG_CONVERT_TO_LARGER (In, vec, 4, b, vec, 3, b);
300 OSG_CONVERT_TO_SMALLER(In, vec, 4, b, vec, 4, b);
302 // from vec s to vec b
303 OSG_CONVERT_TO_SMALLER(In, vec, 1, b, vec, 1, s);
304 OSG_CONVERT_TO_SMALLER(In, vec, 1, b, vec, 2, s);
305 OSG_CONVERT_TO_SMALLER(In, vec, 1, b, vec, 3, s);
306 OSG_CONVERT_TO_SMALLER(In, vec, 1, b, vec, 4, s);
308 OSG_CONVERT_TO_LARGER (In, vec, 2, b, vec, 1, s);
309 OSG_CONVERT_TO_SMALLER(In, vec, 2, b, vec, 2, s);
310 OSG_CONVERT_TO_SMALLER(In, vec, 2, b, vec, 3, s);
311 OSG_CONVERT_TO_SMALLER(In, vec, 2, b, vec, 4, s);
313 OSG_CONVERT_TO_LARGER (In, vec, 3, b, vec, 1, s);
314 OSG_CONVERT_TO_LARGER (In, vec, 3, b, vec, 2, s);
315 OSG_CONVERT_TO_SMALLER(In, vec, 3, b, vec, 3, s);
316 OSG_CONVERT_TO_SMALLER(In, vec, 3, b, vec, 4, s);
318 OSG_CONVERT_TO_LARGER (In, vec, 4, b, vec, 1, s);
319 OSG_CONVERT_TO_LARGER (In, vec, 4, b, vec, 2, s);
320 OSG_CONVERT_TO_LARGER (In, vec, 4, b, vec, 3, s);
321 OSG_CONVERT_TO_SMALLER(In, vec, 4, b, vec, 4, s);
323 // from vec f to vec b
324 OSG_CONVERT_TO_SMALLER(In, vec, 1, b, vec, 1, f);
325 OSG_CONVERT_TO_SMALLER(In, vec, 1, b, vec, 2, f);
326 OSG_CONVERT_TO_SMALLER(In, vec, 1, b, vec, 3, f);
327 OSG_CONVERT_TO_SMALLER(In, vec, 1, b, vec, 4, f);
329 OSG_CONVERT_TO_LARGER (In, vec, 2, b, vec, 1, f);
330 OSG_CONVERT_TO_SMALLER(In, vec, 2, b, vec, 2, f);
331 OSG_CONVERT_TO_SMALLER(In, vec, 2, b, vec, 3, f);
332 OSG_CONVERT_TO_SMALLER(In, vec, 2, b, vec, 4, f);
334 OSG_CONVERT_TO_LARGER (In, vec, 3, b, vec, 1, f);
335 OSG_CONVERT_TO_LARGER (In, vec, 3, b, vec, 2, f);
336 OSG_CONVERT_TO_SMALLER(In, vec, 3, b, vec, 3, f);
337 OSG_CONVERT_TO_SMALLER(In, vec, 3, b, vec, 4, f);
339 OSG_CONVERT_TO_LARGER (In, vec, 4, b, vec, 1, f);
340 OSG_CONVERT_TO_LARGER (In, vec, 4, b, vec, 2, f);
341 OSG_CONVERT_TO_LARGER (In, vec, 4, b, vec, 3, f);
342 OSG_CONVERT_TO_SMALLER(In, vec, 4, b, vec, 4, f);
344 // from vec d to vec b
345 OSG_CONVERT_TO_SMALLER(In, vec, 1, b, vec, 1, d);
346 OSG_CONVERT_TO_SMALLER(In, vec, 1, b, vec, 2, d);
347 OSG_CONVERT_TO_SMALLER(In, vec, 1, b, vec, 3, d);
348 OSG_CONVERT_TO_SMALLER(In, vec, 1, b, vec, 4, d);
350 OSG_CONVERT_TO_LARGER (In, vec, 2, b, vec, 1, d);
351 OSG_CONVERT_TO_SMALLER(In, vec, 2, b, vec, 2, d);
352 OSG_CONVERT_TO_SMALLER(In, vec, 2, b, vec, 3, d);
353 OSG_CONVERT_TO_SMALLER(In, vec, 2, b, vec, 4, d);
355 OSG_CONVERT_TO_LARGER (In, vec, 3, b, vec, 1, d);
356 OSG_CONVERT_TO_LARGER (In, vec, 3, b, vec, 2, d);
357 OSG_CONVERT_TO_SMALLER(In, vec, 3, b, vec, 3, d);
358 OSG_CONVERT_TO_SMALLER(In, vec, 3, b, vec, 4, d);
360 OSG_CONVERT_TO_LARGER (In, vec, 4, b, vec, 1, d);
361 OSG_CONVERT_TO_LARGER (In, vec, 4, b, vec, 2, d);
362 OSG_CONVERT_TO_LARGER (In, vec, 4, b, vec, 3, d);
363 OSG_CONVERT_TO_SMALLER(In, vec, 4, b, vec, 4, d);
365 // from vec fx to vec b
366 // OSG_CONVERT_TO_SMALLER(In, vec, 1, b, vec, 1, fx);
367 // OSG_CONVERT_TO_SMALLER(In, vec, 1, b, vec, 2, fx);
368 // OSG_CONVERT_TO_SMALLER(In, vec, 1, b, vec, 3, fx);
369 // OSG_CONVERT_TO_SMALLER(In, vec, 1, b, vec, 4, fx);
371 // OSG_CONVERT_TO_LARGER (In, vec, 2, b, vec, 1, fx);
372 // OSG_CONVERT_TO_SMALLER(In, vec, 2, b, vec, 2, fx);
373 // OSG_CONVERT_TO_SMALLER(In, vec, 2, b, vec, 3, fx);
374 // OSG_CONVERT_TO_SMALLER(In, vec, 2, b, vec, 4, fx);
376 // OSG_CONVERT_TO_LARGER (In, vec, 3, b, vec, 1, fx);
377 // OSG_CONVERT_TO_LARGER (In, vec, 3, b, vec, 2, fx);
378 // OSG_CONVERT_TO_SMALLER(In, vec, 3, b, vec, 3, fx);
379 // OSG_CONVERT_TO_SMALLER(In, vec, 3, b, vec, 4, fx);
381 // OSG_CONVERT_TO_LARGER (In, vec, 4, b, vec, 1, fx);
382 // OSG_CONVERT_TO_LARGER (In, vec, 4, b, vec, 2, fx);
383 // OSG_CONVERT_TO_LARGER (In, vec, 4, b, vec, 3, fx);
384 // OSG_CONVERT_TO_SMALLER(In, vec, 4, b, vec, 4, fx);
387 TEST_FIXTURE(GeoConvertFixture, GeoConvert_In_Vec_To_Vecs)
389 // from vec b to vec s
390 OSG_CONVERT_TO_SMALLER(In, vec, 1, s, vec, 1, b);
391 OSG_CONVERT_TO_SMALLER(In, vec, 1, s, vec, 2, b);
392 OSG_CONVERT_TO_SMALLER(In, vec, 1, s, vec, 3, b);
393 OSG_CONVERT_TO_SMALLER(In, vec, 1, s, vec, 4, b);
395 OSG_CONVERT_TO_LARGER (In, vec, 2, s, vec, 1, b);
396 OSG_CONVERT_TO_SMALLER(In, vec, 2, s, vec, 2, b);
397 OSG_CONVERT_TO_SMALLER(In, vec, 2, s, vec, 3, b);
398 OSG_CONVERT_TO_SMALLER(In, vec, 2, s, vec, 4, b);
400 OSG_CONVERT_TO_LARGER (In, vec, 3, s, vec, 1, b);
401 OSG_CONVERT_TO_LARGER (In, vec, 3, s, vec, 2, b);
402 OSG_CONVERT_TO_SMALLER(In, vec, 3, s, vec, 3, b);
403 OSG_CONVERT_TO_SMALLER(In, vec, 3, s, vec, 4, b);
405 OSG_CONVERT_TO_LARGER (In, vec, 4, s, vec, 1, b);
406 OSG_CONVERT_TO_LARGER (In, vec, 4, s, vec, 2, b);
407 OSG_CONVERT_TO_LARGER (In, vec, 4, s, vec, 3, b);
408 OSG_CONVERT_TO_SMALLER(In, vec, 4, s, vec, 4, b);
410 // from vec s to vec s
411 OSG_CONVERT_TO_SMALLER(In, vec, 1, s, vec, 1, s);
412 OSG_CONVERT_TO_SMALLER(In, vec, 1, s, vec, 2, s);
413 OSG_CONVERT_TO_SMALLER(In, vec, 1, s, vec, 3, s);
414 OSG_CONVERT_TO_SMALLER(In, vec, 1, s, vec, 4, s);
416 OSG_CONVERT_TO_LARGER (In, vec, 2, s, vec, 1, s);
417 OSG_CONVERT_TO_SMALLER(In, vec, 2, s, vec, 2, s);
418 OSG_CONVERT_TO_SMALLER(In, vec, 2, s, vec, 3, s);
419 OSG_CONVERT_TO_SMALLER(In, vec, 2, s, vec, 4, s);
421 OSG_CONVERT_TO_LARGER (In, vec, 3, s, vec, 1, s);
422 OSG_CONVERT_TO_LARGER (In, vec, 3, s, vec, 2, s);
423 OSG_CONVERT_TO_SMALLER(In, vec, 3, s, vec, 3, s);
424 OSG_CONVERT_TO_SMALLER(In, vec, 3, s, vec, 4, s);
426 OSG_CONVERT_TO_LARGER (In, vec, 4, s, vec, 1, s);
427 OSG_CONVERT_TO_LARGER (In, vec, 4, s, vec, 2, s);
428 OSG_CONVERT_TO_LARGER (In, vec, 4, s, vec, 3, s);
429 OSG_CONVERT_TO_SMALLER(In, vec, 4, s, vec, 4, s);
431 // from vec f to vec s
432 OSG_CONVERT_TO_SMALLER(In, vec, 1, s, vec, 1, f);
433 OSG_CONVERT_TO_SMALLER(In, vec, 1, s, vec, 2, f);
434 OSG_CONVERT_TO_SMALLER(In, vec, 1, s, vec, 3, f);
435 OSG_CONVERT_TO_SMALLER(In, vec, 1, s, vec, 4, f);
437 OSG_CONVERT_TO_LARGER (In, vec, 2, s, vec, 1, f);
438 OSG_CONVERT_TO_SMALLER(In, vec, 2, s, vec, 2, f);
439 OSG_CONVERT_TO_SMALLER(In, vec, 2, s, vec, 3, f);
440 OSG_CONVERT_TO_SMALLER(In, vec, 2, s, vec, 4, f);
442 OSG_CONVERT_TO_LARGER (In, vec, 3, s, vec, 1, f);
443 OSG_CONVERT_TO_LARGER (In, vec, 3, s, vec, 2, f);
444 OSG_CONVERT_TO_SMALLER(In, vec, 3, s, vec, 3, f);
445 OSG_CONVERT_TO_SMALLER(In, vec, 3, s, vec, 4, f);
447 OSG_CONVERT_TO_LARGER (In, vec, 4, s, vec, 1, f);
448 OSG_CONVERT_TO_LARGER (In, vec, 4, s, vec, 2, f);
449 OSG_CONVERT_TO_LARGER (In, vec, 4, s, vec, 3, f);
450 OSG_CONVERT_TO_SMALLER(In, vec, 4, s, vec, 4, f);
452 // from vec d to vec s
453 OSG_CONVERT_TO_SMALLER(In, vec, 1, s, vec, 1, d);
454 OSG_CONVERT_TO_SMALLER(In, vec, 1, s, vec, 2, d);
455 OSG_CONVERT_TO_SMALLER(In, vec, 1, s, vec, 3, d);
456 OSG_CONVERT_TO_SMALLER(In, vec, 1, s, vec, 4, d);
458 OSG_CONVERT_TO_LARGER (In, vec, 2, s, vec, 1, d);
459 OSG_CONVERT_TO_SMALLER(In, vec, 2, s, vec, 2, d);
460 OSG_CONVERT_TO_SMALLER(In, vec, 2, s, vec, 3, d);
461 OSG_CONVERT_TO_SMALLER(In, vec, 2, s, vec, 4, d);
463 OSG_CONVERT_TO_LARGER (In, vec, 3, s, vec, 1, d);
464 OSG_CONVERT_TO_LARGER (In, vec, 3, s, vec, 2, d);
465 OSG_CONVERT_TO_SMALLER(In, vec, 3, s, vec, 3, d);
466 OSG_CONVERT_TO_SMALLER(In, vec, 3, s, vec, 4, d);
468 OSG_CONVERT_TO_LARGER (In, vec, 4, s, vec, 1, d);
469 OSG_CONVERT_TO_LARGER (In, vec, 4, s, vec, 2, d);
470 OSG_CONVERT_TO_LARGER (In, vec, 4, s, vec, 3, d);
471 OSG_CONVERT_TO_SMALLER(In, vec, 4, s, vec, 4, d);
473 // from vec fx to vec s
474 // OSG_CONVERT_TO_SMALLER(In, vec, 1, s, vec, 1, fx);
475 // OSG_CONVERT_TO_SMALLER(In, vec, 1, s, vec, 2, fx);
476 // OSG_CONVERT_TO_SMALLER(In, vec, 1, s, vec, 3, fx);
477 // OSG_CONVERT_TO_SMALLER(In, vec, 1, s, vec, 4, fx);
479 // OSG_CONVERT_TO_LARGER (In, vec, 2, s, vec, 1, fx);
480 // OSG_CONVERT_TO_SMALLER(In, vec, 2, s, vec, 2, fx);
481 // OSG_CONVERT_TO_SMALLER(In, vec, 2, s, vec, 3, fx);
482 // OSG_CONVERT_TO_SMALLER(In, vec, 2, s, vec, 4, fx);
484 // OSG_CONVERT_TO_LARGER (In, vec, 3, s, vec, 1, fx);
485 // OSG_CONVERT_TO_LARGER (In, vec, 3, s, vec, 2, fx);
486 // OSG_CONVERT_TO_SMALLER(In, vec, 3, s, vec, 3, fx);
487 // OSG_CONVERT_TO_SMALLER(In, vec, 3, s, vec, 4, fx);
489 // OSG_CONVERT_TO_LARGER (In, vec, 4, s, vec, 1, fx);
490 // OSG_CONVERT_TO_LARGER (In, vec, 4, s, vec, 2, fx);
491 // OSG_CONVERT_TO_LARGER (In, vec, 4, s, vec, 3, fx);
492 // OSG_CONVERT_TO_SMALLER(In, vec, 4, s, vec, 4, fx);
495 TEST_FIXTURE(GeoConvertFixture, GeoConvert_In_Vec_To_Vecf)
497 // from vec b to vec f
498 OSG_CONVERT_TO_SMALLER(In, vec, 1, f, vec, 1, b);
499 OSG_CONVERT_TO_SMALLER(In, vec, 1, f, vec, 2, b);
500 OSG_CONVERT_TO_SMALLER(In, vec, 1, f, vec, 3, b);
501 OSG_CONVERT_TO_SMALLER(In, vec, 1, f, vec, 4, b);
503 OSG_CONVERT_TO_LARGER (In, vec, 2, f, vec, 1, b);
504 OSG_CONVERT_TO_SMALLER(In, vec, 2, f, vec, 2, b);
505 OSG_CONVERT_TO_SMALLER(In, vec, 2, f, vec, 3, b);
506 OSG_CONVERT_TO_SMALLER(In, vec, 2, f, vec, 4, b);
508 OSG_CONVERT_TO_LARGER (In, vec, 3, f, vec, 1, b);
509 OSG_CONVERT_TO_LARGER (In, vec, 3, f, vec, 2, b);
510 OSG_CONVERT_TO_SMALLER(In, vec, 3, f, vec, 3, b);
511 OSG_CONVERT_TO_SMALLER(In, vec, 3, f, vec, 4, b);
513 OSG_CONVERT_TO_LARGER (In, vec, 4, f, vec, 1, b);
514 OSG_CONVERT_TO_LARGER (In, vec, 4, f, vec, 2, b);
515 OSG_CONVERT_TO_LARGER (In, vec, 4, f, vec, 3, b);
516 OSG_CONVERT_TO_SMALLER(In, vec, 4, f, vec, 4, b);
518 // from vec s to vec f
519 OSG_CONVERT_TO_SMALLER(In, vec, 1, f, vec, 1, s);
520 OSG_CONVERT_TO_SMALLER(In, vec, 1, f, vec, 2, s);
521 OSG_CONVERT_TO_SMALLER(In, vec, 1, f, vec, 3, s);
522 OSG_CONVERT_TO_SMALLER(In, vec, 1, f, vec, 4, s);
524 OSG_CONVERT_TO_LARGER (In, vec, 2, f, vec, 1, s);
525 OSG_CONVERT_TO_SMALLER(In, vec, 2, f, vec, 2, s);
526 OSG_CONVERT_TO_SMALLER(In, vec, 2, f, vec, 3, s);
527 OSG_CONVERT_TO_SMALLER(In, vec, 2, f, vec, 4, s);
529 OSG_CONVERT_TO_LARGER (In, vec, 3, f, vec, 1, s);
530 OSG_CONVERT_TO_LARGER (In, vec, 3, f, vec, 2, s);
531 OSG_CONVERT_TO_SMALLER(In, vec, 3, f, vec, 3, s);
532 OSG_CONVERT_TO_SMALLER(In, vec, 3, f, vec, 4, s);
534 OSG_CONVERT_TO_LARGER (In, vec, 4, f, vec, 1, s);
535 OSG_CONVERT_TO_LARGER (In, vec, 4, f, vec, 2, s);
536 OSG_CONVERT_TO_LARGER (In, vec, 4, f, vec, 3, s);
537 OSG_CONVERT_TO_SMALLER(In, vec, 4, f, vec, 4, s);
539 // from vec f to vec f
540 OSG_CONVERT_TO_SMALLER(In, vec, 1, f, vec, 1, f);
541 OSG_CONVERT_TO_SMALLER(In, vec, 1, f, vec, 2, f);
542 OSG_CONVERT_TO_SMALLER(In, vec, 1, f, vec, 3, f);
543 OSG_CONVERT_TO_SMALLER(In, vec, 1, f, vec, 4, f);
545 OSG_CONVERT_TO_LARGER (In, vec, 2, f, vec, 1, f);
546 OSG_CONVERT_TO_SMALLER(In, vec, 2, f, vec, 2, f);
547 OSG_CONVERT_TO_SMALLER(In, vec, 2, f, vec, 3, f);
548 OSG_CONVERT_TO_SMALLER(In, vec, 2, f, vec, 4, f);
550 OSG_CONVERT_TO_LARGER (In, vec, 3, f, vec, 1, f);
551 OSG_CONVERT_TO_LARGER (In, vec, 3, f, vec, 2, f);
552 OSG_CONVERT_TO_SMALLER(In, vec, 3, f, vec, 3, f);
553 OSG_CONVERT_TO_SMALLER(In, vec, 3, f, vec, 4, f);
555 OSG_CONVERT_TO_LARGER (In, vec, 4, f, vec, 1, f);
556 OSG_CONVERT_TO_LARGER (In, vec, 4, f, vec, 2, f);
557 OSG_CONVERT_TO_LARGER (In, vec, 4, f, vec, 3, f);
558 OSG_CONVERT_TO_SMALLER(In, vec, 4, f, vec, 4, f);
560 // from vec d to vec f
561 OSG_CONVERT_TO_SMALLER(In, vec, 1, f, vec, 1, d);
562 OSG_CONVERT_TO_SMALLER(In, vec, 1, f, vec, 2, d);
563 OSG_CONVERT_TO_SMALLER(In, vec, 1, f, vec, 3, d);
564 OSG_CONVERT_TO_SMALLER(In, vec, 1, f, vec, 4, d);
566 OSG_CONVERT_TO_LARGER (In, vec, 2, f, vec, 1, d);
567 OSG_CONVERT_TO_SMALLER(In, vec, 2, f, vec, 2, d);
568 OSG_CONVERT_TO_SMALLER(In, vec, 2, f, vec, 3, d);
569 OSG_CONVERT_TO_SMALLER(In, vec, 2, f, vec, 4, d);
571 OSG_CONVERT_TO_LARGER (In, vec, 3, f, vec, 1, d);
572 OSG_CONVERT_TO_LARGER (In, vec, 3, f, vec, 2, d);
573 OSG_CONVERT_TO_SMALLER(In, vec, 3, f, vec, 3, d);
574 OSG_CONVERT_TO_SMALLER(In, vec, 3, f, vec, 4, d);
576 OSG_CONVERT_TO_LARGER (In, vec, 4, f, vec, 1, d);
577 OSG_CONVERT_TO_LARGER (In, vec, 4, f, vec, 2, d);
578 OSG_CONVERT_TO_LARGER (In, vec, 4, f, vec, 3, d);
579 OSG_CONVERT_TO_SMALLER(In, vec, 4, f, vec, 4, d);
581 // from vec fx to vec s
582 // OSG_CONVERT_TO_SMALLER(In, vec, 1, f, vec, 1, fx);
583 // OSG_CONVERT_TO_SMALLER(In, vec, 1, f, vec, 2, fx);
584 // OSG_CONVERT_TO_SMALLER(In, vec, 1, f, vec, 3, fx);
585 // OSG_CONVERT_TO_SMALLER(In, vec, 1, f, vec, 4, fx);
587 // OSG_CONVERT_TO_LARGER (In, vec, 2, f, vec, 1, fx);
588 // OSG_CONVERT_TO_SMALLER(In, vec, 2, f, vec, 2, fx);
589 // OSG_CONVERT_TO_SMALLER(In, vec, 2, f, vec, 3, fx);
590 // OSG_CONVERT_TO_SMALLER(In, vec, 2, f, vec, 4, fx);
592 // OSG_CONVERT_TO_LARGER (In, vec, 3, f, vec, 1, fx);
593 // OSG_CONVERT_TO_LARGER (In, vec, 3, f, vec, 2, fx);
594 // OSG_CONVERT_TO_SMALLER(In, vec, 3, f, vec, 3, fx);
595 // OSG_CONVERT_TO_SMALLER(In, vec, 3, f, vec, 4, fx);
597 // OSG_CONVERT_TO_LARGER (In, vec, 4, f, vec, 1, fx);
598 // OSG_CONVERT_TO_LARGER (In, vec, 4, f, vec, 2, fx);
599 // OSG_CONVERT_TO_LARGER (In, vec, 4, f, vec, 3, fx);
600 // OSG_CONVERT_TO_SMALLER(In, vec, 4, f, vec, 4, fx);
603 TEST_FIXTURE(GeoConvertFixture, GeoConvert_In_Vec_To_Vecd)
605 // from vec b to vec d
606 OSG_CONVERT_TO_SMALLER(In, vec, 1, d, vec, 1, b);
607 OSG_CONVERT_TO_SMALLER(In, vec, 1, d, vec, 2, b);
608 OSG_CONVERT_TO_SMALLER(In, vec, 1, d, vec, 3, b);
609 OSG_CONVERT_TO_SMALLER(In, vec, 1, d, vec, 4, b);
611 OSG_CONVERT_TO_LARGER (In, vec, 2, d, vec, 1, b);
612 OSG_CONVERT_TO_SMALLER(In, vec, 2, d, vec, 2, b);
613 OSG_CONVERT_TO_SMALLER(In, vec, 2, d, vec, 3, b);
614 OSG_CONVERT_TO_SMALLER(In, vec, 2, d, vec, 4, b);
616 OSG_CONVERT_TO_LARGER (In, vec, 3, d, vec, 1, b);
617 OSG_CONVERT_TO_LARGER (In, vec, 3, d, vec, 2, b);
618 OSG_CONVERT_TO_SMALLER(In, vec, 3, d, vec, 3, b);
619 OSG_CONVERT_TO_SMALLER(In, vec, 3, d, vec, 4, b);
621 OSG_CONVERT_TO_LARGER (In, vec, 4, d, vec, 1, b);
622 OSG_CONVERT_TO_LARGER (In, vec, 4, d, vec, 2, b);
623 OSG_CONVERT_TO_LARGER (In, vec, 4, d, vec, 3, b);
624 OSG_CONVERT_TO_SMALLER(In, vec, 4, d, vec, 4, b);
626 // from vec s to vec d
627 OSG_CONVERT_TO_SMALLER(In, vec, 1, d, vec, 1, s);
628 OSG_CONVERT_TO_SMALLER(In, vec, 1, d, vec, 2, s);
629 OSG_CONVERT_TO_SMALLER(In, vec, 1, d, vec, 3, s);
630 OSG_CONVERT_TO_SMALLER(In, vec, 1, d, vec, 4, s);
632 OSG_CONVERT_TO_LARGER (In, vec, 2, d, vec, 1, s);
633 OSG_CONVERT_TO_SMALLER(In, vec, 2, d, vec, 2, s);
634 OSG_CONVERT_TO_SMALLER(In, vec, 2, d, vec, 3, s);
635 OSG_CONVERT_TO_SMALLER(In, vec, 2, d, vec, 4, s);
637 OSG_CONVERT_TO_LARGER (In, vec, 3, d, vec, 1, s);
638 OSG_CONVERT_TO_LARGER (In, vec, 3, d, vec, 2, s);
639 OSG_CONVERT_TO_SMALLER(In, vec, 3, d, vec, 3, s);
640 OSG_CONVERT_TO_SMALLER(In, vec, 3, d, vec, 4, s);
642 OSG_CONVERT_TO_LARGER (In, vec, 4, d, vec, 1, s);
643 OSG_CONVERT_TO_LARGER (In, vec, 4, d, vec, 2, s);
644 OSG_CONVERT_TO_LARGER (In, vec, 4, d, vec, 3, s);
645 OSG_CONVERT_TO_SMALLER(In, vec, 4, d, vec, 4, s);
647 // from vec f to vec d
648 OSG_CONVERT_TO_SMALLER(In, vec, 1, d, vec, 1, f);
649 OSG_CONVERT_TO_SMALLER(In, vec, 1, d, vec, 2, f);
650 OSG_CONVERT_TO_SMALLER(In, vec, 1, d, vec, 3, f);
651 OSG_CONVERT_TO_SMALLER(In, vec, 1, d, vec, 4, f);
653 OSG_CONVERT_TO_LARGER (In, vec, 2, d, vec, 1, f);
654 OSG_CONVERT_TO_SMALLER(In, vec, 2, d, vec, 2, f);
655 OSG_CONVERT_TO_SMALLER(In, vec, 2, d, vec, 3, f);
656 OSG_CONVERT_TO_SMALLER(In, vec, 2, d, vec, 4, f);
658 OSG_CONVERT_TO_LARGER (In, vec, 3, d, vec, 1, f);
659 OSG_CONVERT_TO_LARGER (In, vec, 3, d, vec, 2, f);
660 OSG_CONVERT_TO_SMALLER(In, vec, 3, d, vec, 3, f);
661 OSG_CONVERT_TO_SMALLER(In, vec, 3, d, vec, 4, f);
663 OSG_CONVERT_TO_LARGER (In, vec, 4, d, vec, 1, f);
664 OSG_CONVERT_TO_LARGER (In, vec, 4, d, vec, 2, f);
665 OSG_CONVERT_TO_LARGER (In, vec, 4, d, vec, 3, f);
666 OSG_CONVERT_TO_SMALLER(In, vec, 4, d, vec, 4, f);
668 // from vec d to vec d
669 OSG_CONVERT_TO_SMALLER(In, vec, 1, d, vec, 1, d);
670 OSG_CONVERT_TO_SMALLER(In, vec, 1, d, vec, 2, d);
671 OSG_CONVERT_TO_SMALLER(In, vec, 1, d, vec, 3, d);
672 OSG_CONVERT_TO_SMALLER(In, vec, 1, d, vec, 4, d);
674 OSG_CONVERT_TO_LARGER (In, vec, 2, d, vec, 1, d);
675 OSG_CONVERT_TO_SMALLER(In, vec, 2, d, vec, 2, d);
676 OSG_CONVERT_TO_SMALLER(In, vec, 2, d, vec, 3, d);
677 OSG_CONVERT_TO_SMALLER(In, vec, 2, d, vec, 4, d);
679 OSG_CONVERT_TO_LARGER (In, vec, 3, d, vec, 1, d);
680 OSG_CONVERT_TO_LARGER (In, vec, 3, d, vec, 2, d);
681 OSG_CONVERT_TO_SMALLER(In, vec, 3, d, vec, 3, d);
682 OSG_CONVERT_TO_SMALLER(In, vec, 3, d, vec, 4, d);
684 OSG_CONVERT_TO_LARGER (In, vec, 4, d, vec, 1, d);
685 OSG_CONVERT_TO_LARGER (In, vec, 4, d, vec, 2, d);
686 OSG_CONVERT_TO_LARGER (In, vec, 4, d, vec, 3, d);
687 OSG_CONVERT_TO_SMALLER(In, vec, 4, d, vec, 4, d);
689 // from vec fx to vec d
690 // OSG_CONVERT_TO_SMALLER(In, vec, 1, d, vec, 1, fx);
691 // OSG_CONVERT_TO_SMALLER(In, vec, 1, d, vec, 2, fx);
692 // OSG_CONVERT_TO_SMALLER(In, vec, 1, d, vec, 3, fx);
693 // OSG_CONVERT_TO_SMALLER(In, vec, 1, d, vec, 4, fx);
695 // OSG_CONVERT_TO_LARGER (In, vec, 2, d, vec, 1, fx);
696 // OSG_CONVERT_TO_SMALLER(In, vec, 2, d, vec, 2, fx);
697 // OSG_CONVERT_TO_SMALLER(In, vec, 2, d, vec, 3, fx);
698 // OSG_CONVERT_TO_SMALLER(In, vec, 2, d, vec, 4, fx);
700 // OSG_CONVERT_TO_LARGER (In, vec, 3, d, vec, 1, fx);
701 // OSG_CONVERT_TO_LARGER (In, vec, 3, d, vec, 2, fx);
702 // OSG_CONVERT_TO_SMALLER(In, vec, 3, d, vec, 3, fx);
703 // OSG_CONVERT_TO_SMALLER(In, vec, 3, d, vec, 4, fx);
705 // OSG_CONVERT_TO_LARGER (In, vec, 4, d, vec, 1, fx);
706 // OSG_CONVERT_TO_LARGER (In, vec, 4, d, vec, 2, fx);
707 // OSG_CONVERT_TO_LARGER (In, vec, 4, d, vec, 3, fx);
708 // OSG_CONVERT_TO_SMALLER(In, vec, 4, d, vec, 4, fx);
711 TEST_FIXTURE(GeoConvertFixture, GeoConvert_In_Vec_To_Vecfx)
713 // from vec b to vec fx
714 // OSG_CONVERT_TO_SMALLER(In, vec, 1, fx, vec, 1, b);
715 // OSG_CONVERT_TO_SMALLER(In, vec, 1, fx, vec, 2, b);
716 // OSG_CONVERT_TO_SMALLER(In, vec, 1, fx, vec, 3, b);
717 // OSG_CONVERT_TO_SMALLER(In, vec, 1, fx, vec, 4, b);
719 // OSG_CONVERT_TO_LARGER (In, vec, 2, fx, vec, 1, b);
720 // OSG_CONVERT_TO_SMALLER(In, vec, 2, fx, vec, 2, b);
721 // OSG_CONVERT_TO_SMALLER(In, vec, 2, fx, vec, 3, b);
722 // OSG_CONVERT_TO_SMALLER(In, vec, 2, fx, vec, 4, b);
724 // OSG_CONVERT_TO_LARGER (In, vec, 3, fx, vec, 1, b);
725 // OSG_CONVERT_TO_LARGER (In, vec, 3, fx, vec, 2, b);
726 // OSG_CONVERT_TO_SMALLER(In, vec, 3, fx, vec, 3, b);
727 // OSG_CONVERT_TO_SMALLER(In, vec, 3, fx, vec, 4, b);
729 // OSG_CONVERT_TO_LARGER (In, vec, 4, fx, vec, 1, b);
730 // OSG_CONVERT_TO_LARGER (In, vec, 4, fx, vec, 2, b);
731 // OSG_CONVERT_TO_LARGER (In, vec, 4, fx, vec, 3, b);
732 // OSG_CONVERT_TO_SMALLER(In, vec, 4, fx, vec, 4, b);
734 // from vec s to vec fx
735 // OSG_CONVERT_TO_SMALLER(In, vec, 1, fx, vec, 1, s);
736 // OSG_CONVERT_TO_SMALLER(In, vec, 1, fx, vec, 2, s);
737 // OSG_CONVERT_TO_SMALLER(In, vec, 1, fx, vec, 3, s);
738 // OSG_CONVERT_TO_SMALLER(In, vec, 1, fx, vec, 4, s);
740 // OSG_CONVERT_TO_LARGER (In, vec, 2, fx, vec, 1, s);
741 // OSG_CONVERT_TO_SMALLER(In, vec, 2, fx, vec, 2, s);
742 // OSG_CONVERT_TO_SMALLER(In, vec, 2, fx, vec, 3, s);
743 // OSG_CONVERT_TO_SMALLER(In, vec, 2, fx, vec, 4, s);
745 // OSG_CONVERT_TO_LARGER (In, vec, 3, fx, vec, 1, s);
746 // OSG_CONVERT_TO_LARGER (In, vec, 3, fx, vec, 2, s);
747 // OSG_CONVERT_TO_SMALLER(In, vec, 3, fx, vec, 3, s);
748 // OSG_CONVERT_TO_SMALLER(In, vec, 3, fx, vec, 4, s);
750 // OSG_CONVERT_TO_LARGER (In, vec, 4, fx, vec, 1, s);
751 // OSG_CONVERT_TO_LARGER (In, vec, 4, fx, vec, 2, s);
752 // OSG_CONVERT_TO_LARGER (In, vec, 4, fx, vec, 3, s);
753 // OSG_CONVERT_TO_SMALLER(In, vec, 4, fx, vec, 4, s);
755 // from vec f to vec fx
756 OSG_CONVERT_TO_SMALLER(In, vec, 1, fx, vec, 1, f);
757 OSG_CONVERT_TO_SMALLER(In, vec, 1, fx, vec, 2, f);
758 OSG_CONVERT_TO_SMALLER(In, vec, 1, fx, vec, 3, f);
759 OSG_CONVERT_TO_SMALLER(In, vec, 1, fx, vec, 4, f);
761 OSG_CONVERT_TO_LARGER (In, vec, 2, fx, vec, 1, f);
762 OSG_CONVERT_TO_SMALLER(In, vec, 2, fx, vec, 2, f);
763 OSG_CONVERT_TO_SMALLER(In, vec, 2, fx, vec, 3, f);
764 OSG_CONVERT_TO_SMALLER(In, vec, 2, fx, vec, 4, f);
766 OSG_CONVERT_TO_LARGER (In, vec, 3, fx, vec, 1, f);
767 OSG_CONVERT_TO_LARGER (In, vec, 3, fx, vec, 2, f);
768 OSG_CONVERT_TO_SMALLER(In, vec, 3, fx, vec, 3, f);
769 OSG_CONVERT_TO_SMALLER(In, vec, 3, fx, vec, 4, f);
771 OSG_CONVERT_TO_LARGER (In, vec, 4, fx, vec, 1, f);
772 OSG_CONVERT_TO_LARGER (In, vec, 4, fx, vec, 2, f);
773 OSG_CONVERT_TO_LARGER (In, vec, 4, fx, vec, 3, f);
774 OSG_CONVERT_TO_SMALLER(In, vec, 4, fx, vec, 4, f);
776 // from vec d to vec fx
777 // OSG_CONVERT_TO_SMALLER(In, vec, 1, fx, vec, 1, d);
778 // OSG_CONVERT_TO_SMALLER(In, vec, 1, fx, vec, 2, d);
779 // OSG_CONVERT_TO_SMALLER(In, vec, 1, fx, vec, 3, d);
780 // OSG_CONVERT_TO_SMALLER(In, vec, 1, fx, vec, 4, d);
782 // OSG_CONVERT_TO_LARGER (In, vec, 2, fx, vec, 1, d);
783 // OSG_CONVERT_TO_SMALLER(In, vec, 2, fx, vec, 2, d);
784 // OSG_CONVERT_TO_SMALLER(In, vec, 2, fx, vec, 3, d);
785 // OSG_CONVERT_TO_SMALLER(In, vec, 2, fx, vec, 4, d);
787 // OSG_CONVERT_TO_LARGER (In, vec, 3, fx, vec, 1, d);
788 // OSG_CONVERT_TO_LARGER (In, vec, 3, fx, vec, 2, d);
789 // OSG_CONVERT_TO_SMALLER(In, vec, 3, fx, vec, 3, d);
790 // OSG_CONVERT_TO_SMALLER(In, vec, 3, fx, vec, 4, d);
792 // OSG_CONVERT_TO_LARGER (In, vec, 4, fx, vec, 1, d);
793 // OSG_CONVERT_TO_LARGER (In, vec, 4, fx, vec, 2, d);
794 // OSG_CONVERT_TO_LARGER (In, vec, 4, fx, vec, 3, d);
795 // OSG_CONVERT_TO_SMALLER(In, vec, 4, fx, vec, 4, d);
797 // from vec fx to vec fx
798 OSG_CONVERT_TO_SMALLER(In, vec, 1, fx, vec, 1, fx);
799 OSG_CONVERT_TO_SMALLER(In, vec, 1, fx, vec, 2, fx);
800 OSG_CONVERT_TO_SMALLER(In, vec, 1, fx, vec, 3, fx);
801 OSG_CONVERT_TO_SMALLER(In, vec, 1, fx, vec, 4, fx);
803 OSG_CONVERT_TO_LARGER (In, vec, 2, fx, vec, 1, fx);
804 OSG_CONVERT_TO_SMALLER(In, vec, 2, fx, vec, 2, fx);
805 OSG_CONVERT_TO_SMALLER(In, vec, 2, fx, vec, 3, fx);
806 OSG_CONVERT_TO_SMALLER(In, vec, 2, fx, vec, 4, fx);
808 OSG_CONVERT_TO_LARGER (In, vec, 3, fx, vec, 1, fx);
809 OSG_CONVERT_TO_LARGER (In, vec, 3, fx, vec, 2, fx);
810 OSG_CONVERT_TO_SMALLER(In, vec, 3, fx, vec, 3, fx);
811 OSG_CONVERT_TO_SMALLER(In, vec, 3, fx, vec, 4, fx);
813 OSG_CONVERT_TO_LARGER (In, vec, 4, fx, vec, 1, fx);
814 OSG_CONVERT_TO_LARGER (In, vec, 4, fx, vec, 2, fx);
815 OSG_CONVERT_TO_LARGER (In, vec, 4, fx, vec, 3, fx);
816 OSG_CONVERT_TO_SMALLER(In, vec, 4, fx, vec, 4, fx);
819 TEST_FIXTURE(GeoConvertFixture, GeoConvert_In_Vec_To_Pntb)
821 // from vec b to pnt b
822 OSG_CONVERT_TO_SMALLER(In, pnt, 1, b, vec, 1, b);
823 OSG_CONVERT_TO_SMALLER(In, pnt, 1, b, vec, 2, b);
824 OSG_CONVERT_TO_SMALLER(In, pnt, 1, b, vec, 3, b);
825 OSG_CONVERT_TO_SMALLER(In, pnt, 1, b, vec, 4, b);
827 OSG_CONVERT_TO_LARGER (In, pnt, 2, b, vec, 1, b);
828 OSG_CONVERT_TO_SMALLER(In, pnt, 2, b, vec, 2, b);
829 OSG_CONVERT_TO_SMALLER(In, pnt, 2, b, vec, 3, b);
830 OSG_CONVERT_TO_SMALLER(In, pnt, 2, b, vec, 4, b);
832 OSG_CONVERT_TO_LARGER (In, pnt, 3, b, vec, 1, b);
833 OSG_CONVERT_TO_LARGER (In, pnt, 3, b, vec, 2, b);
834 OSG_CONVERT_TO_SMALLER(In, pnt, 3, b, vec, 3, b);
835 OSG_CONVERT_TO_SMALLER(In, pnt, 3, b, vec, 4, b);
837 OSG_CONVERT_TO_LARGER (In, pnt, 4, b, vec, 1, b);
838 OSG_CONVERT_TO_LARGER (In, pnt, 4, b, vec, 2, b);
839 OSG_CONVERT_TO_LARGER (In, pnt, 4, b, vec, 3, b);
840 OSG_CONVERT_TO_SMALLER(In, pnt, 4, b, vec, 4, b);
842 // from vec s to pnt b
843 OSG_CONVERT_TO_SMALLER(In, pnt, 1, b, vec, 1, s);
844 OSG_CONVERT_TO_SMALLER(In, pnt, 1, b, vec, 2, s);
845 OSG_CONVERT_TO_SMALLER(In, pnt, 1, b, vec, 3, s);
846 OSG_CONVERT_TO_SMALLER(In, pnt, 1, b, vec, 4, s);
848 OSG_CONVERT_TO_LARGER (In, pnt, 2, b, vec, 1, s);
849 OSG_CONVERT_TO_SMALLER(In, pnt, 2, b, vec, 2, s);
850 OSG_CONVERT_TO_SMALLER(In, pnt, 2, b, vec, 3, s);
851 OSG_CONVERT_TO_SMALLER(In, pnt, 2, b, vec, 4, s);
853 OSG_CONVERT_TO_LARGER (In, pnt, 3, b, vec, 1, s);
854 OSG_CONVERT_TO_LARGER (In, pnt, 3, b, vec, 2, s);
855 OSG_CONVERT_TO_SMALLER(In, pnt, 3, b, vec, 3, s);
856 OSG_CONVERT_TO_SMALLER(In, pnt, 3, b, vec, 4, s);
858 OSG_CONVERT_TO_LARGER (In, pnt, 4, b, vec, 1, s);
859 OSG_CONVERT_TO_LARGER (In, pnt, 4, b, vec, 2, s);
860 OSG_CONVERT_TO_LARGER (In, pnt, 4, b, vec, 3, s);
861 OSG_CONVERT_TO_SMALLER(In, pnt, 4, b, vec, 4, s);
863 // from vec f to pnt b
864 OSG_CONVERT_TO_SMALLER(In, pnt, 1, b, vec, 1, f);
865 OSG_CONVERT_TO_SMALLER(In, pnt, 1, b, vec, 2, f);
866 OSG_CONVERT_TO_SMALLER(In, pnt, 1, b, vec, 3, f);
867 OSG_CONVERT_TO_SMALLER(In, pnt, 1, b, vec, 4, f);
869 OSG_CONVERT_TO_LARGER (In, pnt, 2, b, vec, 1, f);
870 OSG_CONVERT_TO_SMALLER(In, pnt, 2, b, vec, 2, f);
871 OSG_CONVERT_TO_SMALLER(In, pnt, 2, b, vec, 3, f);
872 OSG_CONVERT_TO_SMALLER(In, pnt, 2, b, vec, 4, f);
874 OSG_CONVERT_TO_LARGER (In, pnt, 3, b, vec, 1, f);
875 OSG_CONVERT_TO_LARGER (In, pnt, 3, b, vec, 2, f);
876 OSG_CONVERT_TO_SMALLER(In, pnt, 3, b, vec, 3, f);
877 OSG_CONVERT_TO_SMALLER(In, pnt, 3, b, vec, 4, f);
879 OSG_CONVERT_TO_LARGER (In, pnt, 4, b, vec, 1, f);
880 OSG_CONVERT_TO_LARGER (In, pnt, 4, b, vec, 2, f);
881 OSG_CONVERT_TO_LARGER (In, pnt, 4, b, vec, 3, f);
882 OSG_CONVERT_TO_SMALLER(In, pnt, 4, b, vec, 4, f);
884 // from vec d to pnt b
885 OSG_CONVERT_TO_SMALLER(In, pnt, 1, b, vec, 1, d);
886 OSG_CONVERT_TO_SMALLER(In, pnt, 1, b, vec, 2, d);
887 OSG_CONVERT_TO_SMALLER(In, pnt, 1, b, vec, 3, d);
888 OSG_CONVERT_TO_SMALLER(In, pnt, 1, b, vec, 4, d);
890 OSG_CONVERT_TO_LARGER (In, pnt, 2, b, vec, 1, d);
891 OSG_CONVERT_TO_SMALLER(In, pnt, 2, b, vec, 2, d);
892 OSG_CONVERT_TO_SMALLER(In, pnt, 2, b, vec, 3, d);
893 OSG_CONVERT_TO_SMALLER(In, pnt, 2, b, vec, 4, d);
895 OSG_CONVERT_TO_LARGER (In, pnt, 3, b, vec, 1, d);
896 OSG_CONVERT_TO_LARGER (In, pnt, 3, b, vec, 2, d);
897 OSG_CONVERT_TO_SMALLER(In, pnt, 3, b, vec, 3, d);
898 OSG_CONVERT_TO_SMALLER(In, pnt, 3, b, vec, 4, d);
900 OSG_CONVERT_TO_LARGER (In, pnt, 4, b, vec, 1, d);
901 OSG_CONVERT_TO_LARGER (In, pnt, 4, b, vec, 2, d);
902 OSG_CONVERT_TO_LARGER (In, pnt, 4, b, vec, 3, d);
903 OSG_CONVERT_TO_SMALLER(In, pnt, 4, b, vec, 4, d);
906 TEST_FIXTURE(GeoConvertFixture, GeoConvert_In_Vec_To_Pnts)
908 // from vec b to pnt s
909 OSG_CONVERT_TO_SMALLER(In, pnt, 1, s, vec, 1, b);
910 OSG_CONVERT_TO_SMALLER(In, pnt, 1, s, vec, 2, b);
911 OSG_CONVERT_TO_SMALLER(In, pnt, 1, s, vec, 3, b);
912 OSG_CONVERT_TO_SMALLER(In, pnt, 1, s, vec, 4, b);
914 OSG_CONVERT_TO_LARGER (In, pnt, 2, s, vec, 1, b);
915 OSG_CONVERT_TO_SMALLER(In, pnt, 2, s, vec, 2, b);
916 OSG_CONVERT_TO_SMALLER(In, pnt, 2, s, vec, 3, b);
917 OSG_CONVERT_TO_SMALLER(In, pnt, 2, s, vec, 4, b);
919 OSG_CONVERT_TO_LARGER (In, pnt, 3, s, vec, 1, b);
920 OSG_CONVERT_TO_LARGER (In, pnt, 3, s, vec, 2, b);
921 OSG_CONVERT_TO_SMALLER(In, pnt, 3, s, vec, 3, b);
922 OSG_CONVERT_TO_SMALLER(In, pnt, 3, s, vec, 4, b);
924 OSG_CONVERT_TO_LARGER (In, pnt, 4, s, vec, 1, b);
925 OSG_CONVERT_TO_LARGER (In, pnt, 4, s, vec, 2, b);
926 OSG_CONVERT_TO_LARGER (In, pnt, 4, s, vec, 3, b);
927 OSG_CONVERT_TO_SMALLER(In, pnt, 4, s, vec, 4, b);
929 // from vec s to pnt s
930 OSG_CONVERT_TO_SMALLER(In, pnt, 1, s, vec, 1, s);
931 OSG_CONVERT_TO_SMALLER(In, pnt, 1, s, vec, 2, s);
932 OSG_CONVERT_TO_SMALLER(In, pnt, 1, s, vec, 3, s);
933 OSG_CONVERT_TO_SMALLER(In, pnt, 1, s, vec, 4, s);
935 OSG_CONVERT_TO_LARGER (In, pnt, 2, s, vec, 1, s);
936 OSG_CONVERT_TO_SMALLER(In, pnt, 2, s, vec, 2, s);
937 OSG_CONVERT_TO_SMALLER(In, pnt, 2, s, vec, 3, s);
938 OSG_CONVERT_TO_SMALLER(In, pnt, 2, s, vec, 4, s);
940 OSG_CONVERT_TO_LARGER (In, pnt, 3, s, vec, 1, s);
941 OSG_CONVERT_TO_LARGER (In, pnt, 3, s, vec, 2, s);
942 OSG_CONVERT_TO_SMALLER(In, pnt, 3, s, vec, 3, s);
943 OSG_CONVERT_TO_SMALLER(In, pnt, 3, s, vec, 4, s);
945 OSG_CONVERT_TO_LARGER (In, pnt, 4, s, vec, 1, s);
946 OSG_CONVERT_TO_LARGER (In, pnt, 4, s, vec, 2, s);
947 OSG_CONVERT_TO_LARGER (In, pnt, 4, s, vec, 3, s);
948 OSG_CONVERT_TO_SMALLER(In, pnt, 4, s, vec, 4, s);
950 // from vec f to pnt s
951 OSG_CONVERT_TO_SMALLER(In, pnt, 1, s, vec, 1, f);
952 OSG_CONVERT_TO_SMALLER(In, pnt, 1, s, vec, 2, f);
953 OSG_CONVERT_TO_SMALLER(In, pnt, 1, s, vec, 3, f);
954 OSG_CONVERT_TO_SMALLER(In, pnt, 1, s, vec, 4, f);
956 OSG_CONVERT_TO_LARGER (In, pnt, 2, s, vec, 1, f);
957 OSG_CONVERT_TO_SMALLER(In, pnt, 2, s, vec, 2, f);
958 OSG_CONVERT_TO_SMALLER(In, pnt, 2, s, vec, 3, f);
959 OSG_CONVERT_TO_SMALLER(In, pnt, 2, s, vec, 4, f);
961 OSG_CONVERT_TO_LARGER (In, pnt, 3, s, vec, 1, f);
962 OSG_CONVERT_TO_LARGER (In, pnt, 3, s, vec, 2, f);
963 OSG_CONVERT_TO_SMALLER(In, pnt, 3, s, vec, 3, f);
964 OSG_CONVERT_TO_SMALLER(In, pnt, 3, s, vec, 4, f);
966 OSG_CONVERT_TO_LARGER (In, pnt, 4, s, vec, 1, f);
967 OSG_CONVERT_TO_LARGER (In, pnt, 4, s, vec, 2, f);
968 OSG_CONVERT_TO_LARGER (In, pnt, 4, s, vec, 3, f);
969 OSG_CONVERT_TO_SMALLER(In, pnt, 4, s, vec, 4, f);
971 // from vec d to pnt s
972 OSG_CONVERT_TO_SMALLER(In, pnt, 1, s, vec, 1, d);
973 OSG_CONVERT_TO_SMALLER(In, pnt, 1, s, vec, 2, d);
974 OSG_CONVERT_TO_SMALLER(In, pnt, 1, s, vec, 3, d);
975 OSG_CONVERT_TO_SMALLER(In, pnt, 1, s, vec, 4, d);
977 OSG_CONVERT_TO_LARGER (In, pnt, 2, s, vec, 1, d);
978 OSG_CONVERT_TO_SMALLER(In, pnt, 2, s, vec, 2, d);
979 OSG_CONVERT_TO_SMALLER(In, pnt, 2, s, vec, 3, d);
980 OSG_CONVERT_TO_SMALLER(In, pnt, 2, s, vec, 4, d);
982 OSG_CONVERT_TO_LARGER (In, pnt, 3, s, vec, 1, d);
983 OSG_CONVERT_TO_LARGER (In, pnt, 3, s, vec, 2, d);
984 OSG_CONVERT_TO_SMALLER(In, pnt, 3, s, vec, 3, d);
985 OSG_CONVERT_TO_SMALLER(In, pnt, 3, s, vec, 4, d);
987 OSG_CONVERT_TO_LARGER (In, pnt, 4, s, vec, 1, d);
988 OSG_CONVERT_TO_LARGER (In, pnt, 4, s, vec, 2, d);
989 OSG_CONVERT_TO_LARGER (In, pnt, 4, s, vec, 3, d);
990 OSG_CONVERT_TO_SMALLER(In, pnt, 4, s, vec, 4, d);
993 TEST_FIXTURE(GeoConvertFixture, GeoConvert_In_Vec_To_Pntf)
995 // from vec b to pnt f
996 OSG_CONVERT_TO_SMALLER(In, pnt, 1, f, vec, 1, b);
997 OSG_CONVERT_TO_SMALLER(In, pnt, 1, f, vec, 2, b);
998 OSG_CONVERT_TO_SMALLER(In, pnt, 1, f, vec, 3, b);
999 OSG_CONVERT_TO_SMALLER(In, pnt, 1, f, vec, 4, b);
1001 OSG_CONVERT_TO_LARGER (In, pnt, 2, f, vec, 1, b);
1002 OSG_CONVERT_TO_SMALLER(In, pnt, 2, f, vec, 2, b);
1003 OSG_CONVERT_TO_SMALLER(In, pnt, 2, f, vec, 3, b);
1004 OSG_CONVERT_TO_SMALLER(In, pnt, 2, f, vec, 4, b);
1006 OSG_CONVERT_TO_LARGER (In, pnt, 3, f, vec, 1, b);
1007 OSG_CONVERT_TO_LARGER (In, pnt, 3, f, vec, 2, b);
1008 OSG_CONVERT_TO_SMALLER(In, pnt, 3, f, vec, 3, b);
1009 OSG_CONVERT_TO_SMALLER(In, pnt, 3, f, vec, 4, b);
1011 OSG_CONVERT_TO_LARGER (In, pnt, 4, f, vec, 1, b);
1012 OSG_CONVERT_TO_LARGER (In, pnt, 4, f, vec, 2, b);
1013 OSG_CONVERT_TO_LARGER (In, pnt, 4, f, vec, 3, b);
1014 OSG_CONVERT_TO_SMALLER(In, pnt, 4, f, vec, 4, b);
1016 // from vec s to pnt f
1017 OSG_CONVERT_TO_SMALLER(In, pnt, 1, f, vec, 1, s);
1018 OSG_CONVERT_TO_SMALLER(In, pnt, 1, f, vec, 2, s);
1019 OSG_CONVERT_TO_SMALLER(In, pnt, 1, f, vec, 3, s);
1020 OSG_CONVERT_TO_SMALLER(In, pnt, 1, f, vec, 4, s);
1022 OSG_CONVERT_TO_LARGER (In, pnt, 2, f, vec, 1, s);
1023 OSG_CONVERT_TO_SMALLER(In, pnt, 2, f, vec, 2, s);
1024 OSG_CONVERT_TO_SMALLER(In, pnt, 2, f, vec, 3, s);
1025 OSG_CONVERT_TO_SMALLER(In, pnt, 2, f, vec, 4, s);
1027 OSG_CONVERT_TO_LARGER (In, pnt, 3, f, vec, 1, s);
1028 OSG_CONVERT_TO_LARGER (In, pnt, 3, f, vec, 2, s);
1029 OSG_CONVERT_TO_SMALLER(In, pnt, 3, f, vec, 3, s);
1030 OSG_CONVERT_TO_SMALLER(In, pnt, 3, f, vec, 4, s);
1032 OSG_CONVERT_TO_LARGER (In, pnt, 4, f, vec, 1, s);
1033 OSG_CONVERT_TO_LARGER (In, pnt, 4, f, vec, 2, s);
1034 OSG_CONVERT_TO_LARGER (In, pnt, 4, f, vec, 3, s);
1035 OSG_CONVERT_TO_SMALLER(In, pnt, 4, f, vec, 4, s);
1037 // from vec f to pnt f
1038 OSG_CONVERT_TO_SMALLER(In, pnt, 1, f, vec, 1, f);
1039 OSG_CONVERT_TO_SMALLER(In, pnt, 1, f, vec, 2, f);
1040 OSG_CONVERT_TO_SMALLER(In, pnt, 1, f, vec, 3, f);
1041 OSG_CONVERT_TO_SMALLER(In, pnt, 1, f, vec, 4, f);
1043 OSG_CONVERT_TO_LARGER (In, pnt, 2, f, vec, 1, f);
1044 OSG_CONVERT_TO_SMALLER(In, pnt, 2, f, vec, 2, f);
1045 OSG_CONVERT_TO_SMALLER(In, pnt, 2, f, vec, 3, f);
1046 OSG_CONVERT_TO_SMALLER(In, pnt, 2, f, vec, 4, f);
1048 OSG_CONVERT_TO_LARGER (In, pnt, 3, f, vec, 1, f);
1049 OSG_CONVERT_TO_LARGER (In, pnt, 3, f, vec, 2, f);
1050 OSG_CONVERT_TO_SMALLER(In, pnt, 3, f, vec, 3, f);
1051 OSG_CONVERT_TO_SMALLER(In, pnt, 3, f, vec, 4, f);
1053 OSG_CONVERT_TO_LARGER (In, pnt, 4, f, vec, 1, f);
1054 OSG_CONVERT_TO_LARGER (In, pnt, 4, f, vec, 2, f);
1055 OSG_CONVERT_TO_LARGER (In, pnt, 4, f, vec, 3, f);
1056 OSG_CONVERT_TO_SMALLER(In, pnt, 4, f, vec, 4, f);
1058 // from vec d to pnt f
1059 OSG_CONVERT_TO_SMALLER(In, pnt, 1, f, vec, 1, d);
1060 OSG_CONVERT_TO_SMALLER(In, pnt, 1, f, vec, 2, d);
1061 OSG_CONVERT_TO_SMALLER(In, pnt, 1, f, vec, 3, d);
1062 OSG_CONVERT_TO_SMALLER(In, pnt, 1, f, vec, 4, d);
1064 OSG_CONVERT_TO_LARGER (In, pnt, 2, f, vec, 1, d);
1065 OSG_CONVERT_TO_SMALLER(In, pnt, 2, f, vec, 2, d);
1066 OSG_CONVERT_TO_SMALLER(In, pnt, 2, f, vec, 3, d);
1067 OSG_CONVERT_TO_SMALLER(In, pnt, 2, f, vec, 4, d);
1069 OSG_CONVERT_TO_LARGER (In, pnt, 3, f, vec, 1, d);
1070 OSG_CONVERT_TO_LARGER (In, pnt, 3, f, vec, 2, d);
1071 OSG_CONVERT_TO_SMALLER(In, pnt, 3, f, vec, 3, d);
1072 OSG_CONVERT_TO_SMALLER(In, pnt, 3, f, vec, 4, d);
1074 OSG_CONVERT_TO_LARGER (In, pnt, 4, f, vec, 1, d);
1075 OSG_CONVERT_TO_LARGER (In, pnt, 4, f, vec, 2, d);
1076 OSG_CONVERT_TO_LARGER (In, pnt, 4, f, vec, 3, d);
1077 OSG_CONVERT_TO_SMALLER(In, pnt, 4, f, vec, 4, d);
1080 TEST_FIXTURE(GeoConvertFixture, GeoConvert_In_Vec_To_Pntd)
1082 // from vec b to pnt d
1083 OSG_CONVERT_TO_SMALLER(In, pnt, 1, d, vec, 1, b);
1084 OSG_CONVERT_TO_SMALLER(In, pnt, 1, d, vec, 2, b);
1085 OSG_CONVERT_TO_SMALLER(In, pnt, 1, d, vec, 3, b);
1086 OSG_CONVERT_TO_SMALLER(In, pnt, 1, d, vec, 4, b);
1088 OSG_CONVERT_TO_LARGER (In, pnt, 2, d, vec, 1, b);
1089 OSG_CONVERT_TO_SMALLER(In, pnt, 2, d, vec, 2, b);
1090 OSG_CONVERT_TO_SMALLER(In, pnt, 2, d, vec, 3, b);
1091 OSG_CONVERT_TO_SMALLER(In, pnt, 2, d, vec, 4, b);
1093 OSG_CONVERT_TO_LARGER (In, pnt, 3, d, vec, 1, b);
1094 OSG_CONVERT_TO_LARGER (In, pnt, 3, d, vec, 2, b);
1095 OSG_CONVERT_TO_SMALLER(In, pnt, 3, d, vec, 3, b);
1096 OSG_CONVERT_TO_SMALLER(In, pnt, 3, d, vec, 4, b);
1098 OSG_CONVERT_TO_LARGER (In, pnt, 4, d, vec, 1, b);
1099 OSG_CONVERT_TO_LARGER (In, pnt, 4, d, vec, 2, b);
1100 OSG_CONVERT_TO_LARGER (In, pnt, 4, d, vec, 3, b);
1101 OSG_CONVERT_TO_SMALLER(In, pnt, 4, d, vec, 4, b);
1103 // from vec s to pnt d
1104 OSG_CONVERT_TO_SMALLER(In, pnt, 1, d, vec, 1, s);
1105 OSG_CONVERT_TO_SMALLER(In, pnt, 1, d, vec, 2, s);
1106 OSG_CONVERT_TO_SMALLER(In, pnt, 1, d, vec, 3, s);
1107 OSG_CONVERT_TO_SMALLER(In, pnt, 1, d, vec, 4, s);
1109 OSG_CONVERT_TO_LARGER (In, pnt, 2, d, vec, 1, s);
1110 OSG_CONVERT_TO_SMALLER(In, pnt, 2, d, vec, 2, s);
1111 OSG_CONVERT_TO_SMALLER(In, pnt, 2, d, vec, 3, s);
1112 OSG_CONVERT_TO_SMALLER(In, pnt, 2, d, vec, 4, s);
1114 OSG_CONVERT_TO_LARGER (In, pnt, 3, d, vec, 1, s);
1115 OSG_CONVERT_TO_LARGER (In, pnt, 3, d, vec, 2, s);
1116 OSG_CONVERT_TO_SMALLER(In, pnt, 3, d, vec, 3, s);
1117 OSG_CONVERT_TO_SMALLER(In, pnt, 3, d, vec, 4, s);
1119 OSG_CONVERT_TO_LARGER (In, pnt, 4, d, vec, 1, s);
1120 OSG_CONVERT_TO_LARGER (In, pnt, 4, d, vec, 2, s);
1121 OSG_CONVERT_TO_LARGER (In, pnt, 4, d, vec, 3, s);
1122 OSG_CONVERT_TO_SMALLER(In, pnt, 4, d, vec, 4, s);
1124 // from vec f to pnt d
1125 OSG_CONVERT_TO_SMALLER(In, pnt, 1, d, vec, 1, f);
1126 OSG_CONVERT_TO_SMALLER(In, pnt, 1, d, vec, 2, f);
1127 OSG_CONVERT_TO_SMALLER(In, pnt, 1, d, vec, 3, f);
1128 OSG_CONVERT_TO_SMALLER(In, pnt, 1, d, vec, 4, f);
1130 OSG_CONVERT_TO_LARGER (In, pnt, 2, d, vec, 1, f);
1131 OSG_CONVERT_TO_SMALLER(In, pnt, 2, d, vec, 2, f);
1132 OSG_CONVERT_TO_SMALLER(In, pnt, 2, d, vec, 3, f);
1133 OSG_CONVERT_TO_SMALLER(In, pnt, 2, d, vec, 4, f);
1135 OSG_CONVERT_TO_LARGER (In, pnt, 3, d, vec, 1, f);
1136 OSG_CONVERT_TO_LARGER (In, pnt, 3, d, vec, 2, f);
1137 OSG_CONVERT_TO_SMALLER(In, pnt, 3, d, vec, 3, f);
1138 OSG_CONVERT_TO_SMALLER(In, pnt, 3, d, vec, 4, f);
1140 OSG_CONVERT_TO_LARGER (In, pnt, 4, d, vec, 1, f);
1141 OSG_CONVERT_TO_LARGER (In, pnt, 4, d, vec, 2, f);
1142 OSG_CONVERT_TO_LARGER (In, pnt, 4, d, vec, 3, f);
1143 OSG_CONVERT_TO_SMALLER(In, pnt, 4, d, vec, 4, f);
1145 // from vec d to pnt d
1146 OSG_CONVERT_TO_SMALLER(In, pnt, 1, d, vec, 1, d);
1147 OSG_CONVERT_TO_SMALLER(In, pnt, 1, d, vec, 2, d);
1148 OSG_CONVERT_TO_SMALLER(In, pnt, 1, d, vec, 3, d);
1149 OSG_CONVERT_TO_SMALLER(In, pnt, 1, d, vec, 4, d);
1151 OSG_CONVERT_TO_LARGER (In, pnt, 2, d, vec, 1, d);
1152 OSG_CONVERT_TO_SMALLER(In, pnt, 2, d, vec, 2, d);
1153 OSG_CONVERT_TO_SMALLER(In, pnt, 2, d, vec, 3, d);
1154 OSG_CONVERT_TO_SMALLER(In, pnt, 2, d, vec, 4, d);
1156 OSG_CONVERT_TO_LARGER (In, pnt, 3, d, vec, 1, d);
1157 OSG_CONVERT_TO_LARGER (In, pnt, 3, d, vec, 2, d);
1158 OSG_CONVERT_TO_SMALLER(In, pnt, 3, d, vec, 3, d);
1159 OSG_CONVERT_TO_SMALLER(In, pnt, 3, d, vec, 4, d);
1161 OSG_CONVERT_TO_LARGER (In, pnt, 4, d, vec, 1, d);
1162 OSG_CONVERT_TO_LARGER (In, pnt, 4, d, vec, 2, d);
1163 OSG_CONVERT_TO_LARGER (In, pnt, 4, d, vec, 3, d);
1164 OSG_CONVERT_TO_SMALLER(In, pnt, 4, d, vec, 4, d);
1167 TEST_FIXTURE(GeoConvertFixture, GeoConvert_In_Vec_To_Col3ub)
1169 // vec to col3ub
1170 OSG_CONVERT_TO_LARGER (In, col, 3, ub, vec, 1, b);
1171 OSG_CONVERT_TO_LARGER (In, col, 3, ub, vec, 2, b);
1172 OSG_CONVERT_TO_SMALLER(In, col, 3, ub, vec, 3, b);
1173 OSG_CONVERT_TO_SMALLER(In, col, 3, ub, vec, 4, b);
1175 OSG_CONVERT_TO_LARGER (In, col, 3, ub, vec, 1, s);
1176 OSG_CONVERT_TO_LARGER (In, col, 3, ub, vec, 2, s);
1177 OSG_CONVERT_TO_SMALLER(In, col, 3, ub, vec, 3, s);
1178 OSG_CONVERT_TO_SMALLER(In, col, 3, ub, vec, 4, s);
1180 OSG_CONVERT_TO_LARGER (In, col, 3, ub, vec, 1, f);
1181 OSG_CONVERT_TO_LARGER (In, col, 3, ub, vec, 2, f);
1182 OSG_CONVERT_TO_SMALLER(In, col, 3, ub, vec, 3, f);
1183 OSG_CONVERT_TO_SMALLER(In, col, 3, ub, vec, 4, f);
1185 OSG_CONVERT_TO_LARGER (In, col, 3, ub, vec, 1, d);
1186 OSG_CONVERT_TO_LARGER (In, col, 3, ub, vec, 2, d);
1187 OSG_CONVERT_TO_SMALLER(In, col, 3, ub, vec, 3, d);
1188 OSG_CONVERT_TO_SMALLER(In, col, 3, ub, vec, 4, d);
1191 TEST_FIXTURE(GeoConvertFixture, GeoConvert_In_Vec_To_Col3f)
1193 // vec to col3f
1194 OSG_CONVERT_TO_LARGER (In, col, 3, f, vec, 1, b);
1195 OSG_CONVERT_TO_LARGER (In, col, 3, f, vec, 2, b);
1196 OSG_CONVERT_TO_SMALLER(In, col, 3, f, vec, 3, b);
1197 OSG_CONVERT_TO_SMALLER(In, col, 3, f, vec, 4, b);
1199 OSG_CONVERT_TO_LARGER (In, col, 3, f, vec, 1, s);
1200 OSG_CONVERT_TO_LARGER (In, col, 3, f, vec, 2, s);
1201 OSG_CONVERT_TO_SMALLER(In, col, 3, f, vec, 3, s);
1202 OSG_CONVERT_TO_SMALLER(In, col, 3, f, vec, 4, s);
1204 OSG_CONVERT_TO_LARGER (In, col, 3, f, vec, 1, f);
1205 OSG_CONVERT_TO_LARGER (In, col, 3, f, vec, 2, f);
1206 OSG_CONVERT_TO_SMALLER(In, col, 3, f, vec, 3, f);
1207 OSG_CONVERT_TO_SMALLER(In, col, 3, f, vec, 4, f);
1209 OSG_CONVERT_TO_LARGER (In, col, 3, f, vec, 1, d);
1210 OSG_CONVERT_TO_LARGER (In, col, 3, f, vec, 2, d);
1211 OSG_CONVERT_TO_SMALLER(In, col, 3, f, vec, 3, d);
1212 OSG_CONVERT_TO_SMALLER(In, col, 3, f, vec, 4, d);
1215 TEST_FIXTURE(GeoConvertFixture, GeoConvert_In_Vec_To_Col4ub)
1217 // vec to col4ub
1218 OSG_CONVERT_TO_LARGER (In, col, 4, ub, vec, 1, b);
1219 OSG_CONVERT_TO_LARGER (In, col, 4, ub, vec, 2, b);
1220 OSG_CONVERT_TO_LARGER (In, col, 4, ub, vec, 3, b);
1221 OSG_CONVERT_TO_SMALLER(In, col, 4, ub, vec, 4, b);
1223 OSG_CONVERT_TO_LARGER (In, col, 4, ub, vec, 1, s);
1224 OSG_CONVERT_TO_LARGER (In, col, 4, ub, vec, 2, s);
1225 OSG_CONVERT_TO_LARGER (In, col, 4, ub, vec, 3, s);
1226 OSG_CONVERT_TO_SMALLER(In, col, 4, ub, vec, 4, s);
1228 OSG_CONVERT_TO_LARGER (In, col, 4, ub, vec, 1, f);
1229 OSG_CONVERT_TO_LARGER (In, col, 4, ub, vec, 2, f);
1230 OSG_CONVERT_TO_LARGER (In, col, 4, ub, vec, 3, f);
1231 OSG_CONVERT_TO_SMALLER(In, col, 4, ub, vec, 4, f);
1233 OSG_CONVERT_TO_LARGER (In, col, 4, ub, vec, 1, d);
1234 OSG_CONVERT_TO_LARGER (In, col, 4, ub, vec, 2, d);
1235 OSG_CONVERT_TO_LARGER (In, col, 4, ub, vec, 3, d);
1236 OSG_CONVERT_TO_SMALLER(In, col, 4, ub, vec, 4, d);
1239 TEST_FIXTURE(GeoConvertFixture, GeoConvert_In_Vec_To_Col4f)
1241 // vec to col4f
1242 OSG_CONVERT_TO_LARGER (In, col, 4, f, vec, 1, b);
1243 OSG_CONVERT_TO_LARGER (In, col, 4, f, vec, 2, b);
1244 OSG_CONVERT_TO_LARGER (In, col, 4, f, vec, 3, b);
1245 OSG_CONVERT_TO_SMALLER(In, col, 4, f, vec, 4, b);
1247 OSG_CONVERT_TO_LARGER (In, col, 4, f, vec, 1, s);
1248 OSG_CONVERT_TO_LARGER (In, col, 4, f, vec, 2, s);
1249 OSG_CONVERT_TO_LARGER (In, col, 4, f, vec, 3, s);
1250 OSG_CONVERT_TO_SMALLER(In, col, 4, f, vec, 4, s);
1252 OSG_CONVERT_TO_LARGER (In, col, 4, f, vec, 1, f);
1253 OSG_CONVERT_TO_LARGER (In, col, 4, f, vec, 2, f);
1254 OSG_CONVERT_TO_LARGER (In, col, 4, f, vec, 3, f);
1255 OSG_CONVERT_TO_SMALLER(In, col, 4, f, vec, 4, f);
1257 OSG_CONVERT_TO_LARGER (In, col, 4, f, vec, 1, d);
1258 OSG_CONVERT_TO_LARGER (In, col, 4, f, vec, 2, d);
1259 OSG_CONVERT_TO_LARGER (In, col, 4, f, vec, 3, d);
1260 OSG_CONVERT_TO_SMALLER(In, col, 4, f, vec, 4, d);
1263 TEST_FIXTURE(GeoConvertFixture, GeoConvert_Out_Vec_To_Vecb)
1265 // from vec b to vec b
1266 OSG_CONVERT_TO_SMALLER(Out, vec, 1, b, vec, 1, b);
1267 OSG_CONVERT_TO_SMALLER(Out, vec, 1, b, vec, 2, b);
1268 OSG_CONVERT_TO_SMALLER(Out, vec, 1, b, vec, 3, b);
1269 OSG_CONVERT_TO_SMALLER(Out, vec, 1, b, vec, 4, b);
1271 OSG_CONVERT_TO_LARGER (Out, vec, 2, b, vec, 1, b);
1272 OSG_CONVERT_TO_SMALLER(Out, vec, 2, b, vec, 2, b);
1273 OSG_CONVERT_TO_SMALLER(Out, vec, 2, b, vec, 3, b);
1274 OSG_CONVERT_TO_SMALLER(Out, vec, 2, b, vec, 4, b);
1276 OSG_CONVERT_TO_LARGER (Out, vec, 3, b, vec, 1, b);
1277 OSG_CONVERT_TO_LARGER (Out, vec, 3, b, vec, 2, b);
1278 OSG_CONVERT_TO_SMALLER(Out, vec, 3, b, vec, 3, b);
1279 OSG_CONVERT_TO_SMALLER(Out, vec, 3, b, vec, 4, b);
1281 OSG_CONVERT_TO_LARGER (Out, vec, 4, b, vec, 1, b);
1282 OSG_CONVERT_TO_LARGER (Out, vec, 4, b, vec, 2, b);
1283 OSG_CONVERT_TO_LARGER (Out, vec, 4, b, vec, 3, b);
1284 OSG_CONVERT_TO_SMALLER(Out, vec, 4, b, vec, 4, b);
1286 // from vec s to vec b
1287 OSG_CONVERT_TO_SMALLER(Out, vec, 1, b, vec, 1, s);
1288 OSG_CONVERT_TO_SMALLER(Out, vec, 1, b, vec, 2, s);
1289 OSG_CONVERT_TO_SMALLER(Out, vec, 1, b, vec, 3, s);
1290 OSG_CONVERT_TO_SMALLER(Out, vec, 1, b, vec, 4, s);
1292 OSG_CONVERT_TO_LARGER (Out, vec, 2, b, vec, 1, s);
1293 OSG_CONVERT_TO_SMALLER(Out, vec, 2, b, vec, 2, s);
1294 OSG_CONVERT_TO_SMALLER(Out, vec, 2, b, vec, 3, s);
1295 OSG_CONVERT_TO_SMALLER(Out, vec, 2, b, vec, 4, s);
1297 OSG_CONVERT_TO_LARGER (Out, vec, 3, b, vec, 1, s);
1298 OSG_CONVERT_TO_LARGER (Out, vec, 3, b, vec, 2, s);
1299 OSG_CONVERT_TO_SMALLER(Out, vec, 3, b, vec, 3, s);
1300 OSG_CONVERT_TO_SMALLER(Out, vec, 3, b, vec, 4, s);
1302 OSG_CONVERT_TO_LARGER (Out, vec, 4, b, vec, 1, s);
1303 OSG_CONVERT_TO_LARGER (Out, vec, 4, b, vec, 2, s);
1304 OSG_CONVERT_TO_LARGER (Out, vec, 4, b, vec, 3, s);
1305 OSG_CONVERT_TO_SMALLER(Out, vec, 4, b, vec, 4, s);
1307 // from vec f to vec b
1308 OSG_CONVERT_TO_SMALLER(Out, vec, 1, b, vec, 1, f);
1309 OSG_CONVERT_TO_SMALLER(Out, vec, 1, b, vec, 2, f);
1310 OSG_CONVERT_TO_SMALLER(Out, vec, 1, b, vec, 3, f);
1311 OSG_CONVERT_TO_SMALLER(Out, vec, 1, b, vec, 4, f);
1313 OSG_CONVERT_TO_LARGER (Out, vec, 2, b, vec, 1, f);
1314 OSG_CONVERT_TO_SMALLER(Out, vec, 2, b, vec, 2, f);
1315 OSG_CONVERT_TO_SMALLER(Out, vec, 2, b, vec, 3, f);
1316 OSG_CONVERT_TO_SMALLER(Out, vec, 2, b, vec, 4, f);
1318 OSG_CONVERT_TO_LARGER (Out, vec, 3, b, vec, 1, f);
1319 OSG_CONVERT_TO_LARGER (Out, vec, 3, b, vec, 2, f);
1320 OSG_CONVERT_TO_SMALLER(Out, vec, 3, b, vec, 3, f);
1321 OSG_CONVERT_TO_SMALLER(Out, vec, 3, b, vec, 4, f);
1323 OSG_CONVERT_TO_LARGER (Out, vec, 4, b, vec, 1, f);
1324 OSG_CONVERT_TO_LARGER (Out, vec, 4, b, vec, 2, f);
1325 OSG_CONVERT_TO_LARGER (Out, vec, 4, b, vec, 3, f);
1326 OSG_CONVERT_TO_SMALLER(Out, vec, 4, b, vec, 4, f);
1328 // from vec d to vec b
1329 OSG_CONVERT_TO_SMALLER(Out, vec, 1, b, vec, 1, d);
1330 OSG_CONVERT_TO_SMALLER(Out, vec, 1, b, vec, 2, d);
1331 OSG_CONVERT_TO_SMALLER(Out, vec, 1, b, vec, 3, d);
1332 OSG_CONVERT_TO_SMALLER(Out, vec, 1, b, vec, 4, d);
1334 OSG_CONVERT_TO_LARGER (Out, vec, 2, b, vec, 1, d);
1335 OSG_CONVERT_TO_SMALLER(Out, vec, 2, b, vec, 2, d);
1336 OSG_CONVERT_TO_SMALLER(Out, vec, 2, b, vec, 3, d);
1337 OSG_CONVERT_TO_SMALLER(Out, vec, 2, b, vec, 4, d);
1339 OSG_CONVERT_TO_LARGER (Out, vec, 3, b, vec, 1, d);
1340 OSG_CONVERT_TO_LARGER (Out, vec, 3, b, vec, 2, d);
1341 OSG_CONVERT_TO_SMALLER(Out, vec, 3, b, vec, 3, d);
1342 OSG_CONVERT_TO_SMALLER(Out, vec, 3, b, vec, 4, d);
1344 OSG_CONVERT_TO_LARGER (Out, vec, 4, b, vec, 1, d);
1345 OSG_CONVERT_TO_LARGER (Out, vec, 4, b, vec, 2, d);
1346 OSG_CONVERT_TO_LARGER (Out, vec, 4, b, vec, 3, d);
1347 OSG_CONVERT_TO_SMALLER(Out, vec, 4, b, vec, 4, d);
1350 TEST_FIXTURE(GeoConvertFixture, GeoConvert_Out_Vec_To_Vecs)
1352 // from vec b to vec s
1353 OSG_CONVERT_TO_SMALLER(Out, vec, 1, s, vec, 1, b);
1354 OSG_CONVERT_TO_SMALLER(Out, vec, 1, s, vec, 2, b);
1355 OSG_CONVERT_TO_SMALLER(Out, vec, 1, s, vec, 3, b);
1356 OSG_CONVERT_TO_SMALLER(Out, vec, 1, s, vec, 4, b);
1358 OSG_CONVERT_TO_LARGER (Out, vec, 2, s, vec, 1, b);
1359 OSG_CONVERT_TO_SMALLER(Out, vec, 2, s, vec, 2, b);
1360 OSG_CONVERT_TO_SMALLER(Out, vec, 2, s, vec, 3, b);
1361 OSG_CONVERT_TO_SMALLER(Out, vec, 2, s, vec, 4, b);
1363 OSG_CONVERT_TO_LARGER (Out, vec, 3, s, vec, 1, b);
1364 OSG_CONVERT_TO_LARGER (Out, vec, 3, s, vec, 2, b);
1365 OSG_CONVERT_TO_SMALLER(Out, vec, 3, s, vec, 3, b);
1366 OSG_CONVERT_TO_SMALLER(Out, vec, 3, s, vec, 4, b);
1368 OSG_CONVERT_TO_LARGER (Out, vec, 4, s, vec, 1, b);
1369 OSG_CONVERT_TO_LARGER (Out, vec, 4, s, vec, 2, b);
1370 OSG_CONVERT_TO_LARGER (Out, vec, 4, s, vec, 3, b);
1371 OSG_CONVERT_TO_SMALLER(Out, vec, 4, s, vec, 4, b);
1373 // from vec s to vec s
1374 OSG_CONVERT_TO_SMALLER(Out, vec, 1, s, vec, 1, s);
1375 OSG_CONVERT_TO_SMALLER(Out, vec, 1, s, vec, 2, s);
1376 OSG_CONVERT_TO_SMALLER(Out, vec, 1, s, vec, 3, s);
1377 OSG_CONVERT_TO_SMALLER(Out, vec, 1, s, vec, 4, s);
1379 OSG_CONVERT_TO_LARGER (Out, vec, 2, s, vec, 1, s);
1380 OSG_CONVERT_TO_SMALLER(Out, vec, 2, s, vec, 2, s);
1381 OSG_CONVERT_TO_SMALLER(Out, vec, 2, s, vec, 3, s);
1382 OSG_CONVERT_TO_SMALLER(Out, vec, 2, s, vec, 4, s);
1384 OSG_CONVERT_TO_LARGER (Out, vec, 3, s, vec, 1, s);
1385 OSG_CONVERT_TO_LARGER (Out, vec, 3, s, vec, 2, s);
1386 OSG_CONVERT_TO_SMALLER(Out, vec, 3, s, vec, 3, s);
1387 OSG_CONVERT_TO_SMALLER(Out, vec, 3, s, vec, 4, s);
1389 OSG_CONVERT_TO_LARGER (Out, vec, 4, s, vec, 1, s);
1390 OSG_CONVERT_TO_LARGER (Out, vec, 4, s, vec, 2, s);
1391 OSG_CONVERT_TO_LARGER (Out, vec, 4, s, vec, 3, s);
1392 OSG_CONVERT_TO_SMALLER(Out, vec, 4, s, vec, 4, s);
1394 // from vec f to vec s
1395 OSG_CONVERT_TO_SMALLER(Out, vec, 1, s, vec, 1, f);
1396 OSG_CONVERT_TO_SMALLER(Out, vec, 1, s, vec, 2, f);
1397 OSG_CONVERT_TO_SMALLER(Out, vec, 1, s, vec, 3, f);
1398 OSG_CONVERT_TO_SMALLER(Out, vec, 1, s, vec, 4, f);
1400 OSG_CONVERT_TO_LARGER (Out, vec, 2, s, vec, 1, f);
1401 OSG_CONVERT_TO_SMALLER(Out, vec, 2, s, vec, 2, f);
1402 OSG_CONVERT_TO_SMALLER(Out, vec, 2, s, vec, 3, f);
1403 OSG_CONVERT_TO_SMALLER(Out, vec, 2, s, vec, 4, f);
1405 OSG_CONVERT_TO_LARGER (Out, vec, 3, s, vec, 1, f);
1406 OSG_CONVERT_TO_LARGER (Out, vec, 3, s, vec, 2, f);
1407 OSG_CONVERT_TO_SMALLER(Out, vec, 3, s, vec, 3, f);
1408 OSG_CONVERT_TO_SMALLER(Out, vec, 3, s, vec, 4, f);
1410 OSG_CONVERT_TO_LARGER (Out, vec, 4, s, vec, 1, f);
1411 OSG_CONVERT_TO_LARGER (Out, vec, 4, s, vec, 2, f);
1412 OSG_CONVERT_TO_LARGER (Out, vec, 4, s, vec, 3, f);
1413 OSG_CONVERT_TO_SMALLER(Out, vec, 4, s, vec, 4, f);
1415 // from vec d to vec s
1416 OSG_CONVERT_TO_SMALLER(Out, vec, 1, s, vec, 1, d);
1417 OSG_CONVERT_TO_SMALLER(Out, vec, 1, s, vec, 2, d);
1418 OSG_CONVERT_TO_SMALLER(Out, vec, 1, s, vec, 3, d);
1419 OSG_CONVERT_TO_SMALLER(Out, vec, 1, s, vec, 4, d);
1421 OSG_CONVERT_TO_LARGER (Out, vec, 2, s, vec, 1, d);
1422 OSG_CONVERT_TO_SMALLER(Out, vec, 2, s, vec, 2, d);
1423 OSG_CONVERT_TO_SMALLER(Out, vec, 2, s, vec, 3, d);
1424 OSG_CONVERT_TO_SMALLER(Out, vec, 2, s, vec, 4, d);
1426 OSG_CONVERT_TO_LARGER (Out, vec, 3, s, vec, 1, d);
1427 OSG_CONVERT_TO_LARGER (Out, vec, 3, s, vec, 2, d);
1428 OSG_CONVERT_TO_SMALLER(Out, vec, 3, s, vec, 3, d);
1429 OSG_CONVERT_TO_SMALLER(Out, vec, 3, s, vec, 4, d);
1431 OSG_CONVERT_TO_LARGER (Out, vec, 4, s, vec, 1, d);
1432 OSG_CONVERT_TO_LARGER (Out, vec, 4, s, vec, 2, d);
1433 OSG_CONVERT_TO_LARGER (Out, vec, 4, s, vec, 3, d);
1434 OSG_CONVERT_TO_SMALLER(Out, vec, 4, s, vec, 4, d);
1437 TEST_FIXTURE(GeoConvertFixture, GeoConvert_Out_Vec_To_Vecf)
1439 // from vec b to vec f
1440 OSG_CONVERT_TO_SMALLER(Out, vec, 1, f, vec, 1, b);
1441 OSG_CONVERT_TO_SMALLER(Out, vec, 1, f, vec, 2, b);
1442 OSG_CONVERT_TO_SMALLER(Out, vec, 1, f, vec, 3, b);
1443 OSG_CONVERT_TO_SMALLER(Out, vec, 1, f, vec, 4, b);
1445 OSG_CONVERT_TO_LARGER (Out, vec, 2, f, vec, 1, b);
1446 OSG_CONVERT_TO_SMALLER(Out, vec, 2, f, vec, 2, b);
1447 OSG_CONVERT_TO_SMALLER(Out, vec, 2, f, vec, 3, b);
1448 OSG_CONVERT_TO_SMALLER(Out, vec, 2, f, vec, 4, b);
1450 OSG_CONVERT_TO_LARGER (Out, vec, 3, f, vec, 1, b);
1451 OSG_CONVERT_TO_LARGER (Out, vec, 3, f, vec, 2, b);
1452 OSG_CONVERT_TO_SMALLER(Out, vec, 3, f, vec, 3, b);
1453 OSG_CONVERT_TO_SMALLER(Out, vec, 3, f, vec, 4, b);
1455 OSG_CONVERT_TO_LARGER (Out, vec, 4, f, vec, 1, b);
1456 OSG_CONVERT_TO_LARGER (Out, vec, 4, f, vec, 2, b);
1457 OSG_CONVERT_TO_LARGER (Out, vec, 4, f, vec, 3, b);
1458 OSG_CONVERT_TO_SMALLER(Out, vec, 4, f, vec, 4, b);
1460 // from vec s to vec f
1461 OSG_CONVERT_TO_SMALLER(Out, vec, 1, f, vec, 1, s);
1462 OSG_CONVERT_TO_SMALLER(Out, vec, 1, f, vec, 2, s);
1463 OSG_CONVERT_TO_SMALLER(Out, vec, 1, f, vec, 3, s);
1464 OSG_CONVERT_TO_SMALLER(Out, vec, 1, f, vec, 4, s);
1466 OSG_CONVERT_TO_LARGER (Out, vec, 2, f, vec, 1, s);
1467 OSG_CONVERT_TO_SMALLER(Out, vec, 2, f, vec, 2, s);
1468 OSG_CONVERT_TO_SMALLER(Out, vec, 2, f, vec, 3, s);
1469 OSG_CONVERT_TO_SMALLER(Out, vec, 2, f, vec, 4, s);
1471 OSG_CONVERT_TO_LARGER (Out, vec, 3, f, vec, 1, s);
1472 OSG_CONVERT_TO_LARGER (Out, vec, 3, f, vec, 2, s);
1473 OSG_CONVERT_TO_SMALLER(Out, vec, 3, f, vec, 3, s);
1474 OSG_CONVERT_TO_SMALLER(Out, vec, 3, f, vec, 4, s);
1476 OSG_CONVERT_TO_LARGER (Out, vec, 4, f, vec, 1, s);
1477 OSG_CONVERT_TO_LARGER (Out, vec, 4, f, vec, 2, s);
1478 OSG_CONVERT_TO_LARGER (Out, vec, 4, f, vec, 3, s);
1479 OSG_CONVERT_TO_SMALLER(Out, vec, 4, f, vec, 4, s);
1481 // from vec f to vec f
1482 OSG_CONVERT_TO_SMALLER(Out, vec, 1, f, vec, 1, f);
1483 OSG_CONVERT_TO_SMALLER(Out, vec, 1, f, vec, 2, f);
1484 OSG_CONVERT_TO_SMALLER(Out, vec, 1, f, vec, 3, f);
1485 OSG_CONVERT_TO_SMALLER(Out, vec, 1, f, vec, 4, f);
1487 OSG_CONVERT_TO_LARGER (Out, vec, 2, f, vec, 1, f);
1488 OSG_CONVERT_TO_SMALLER(Out, vec, 2, f, vec, 2, f);
1489 OSG_CONVERT_TO_SMALLER(Out, vec, 2, f, vec, 3, f);
1490 OSG_CONVERT_TO_SMALLER(Out, vec, 2, f, vec, 4, f);
1492 OSG_CONVERT_TO_LARGER (Out, vec, 3, f, vec, 1, f);
1493 OSG_CONVERT_TO_LARGER (Out, vec, 3, f, vec, 2, f);
1494 OSG_CONVERT_TO_SMALLER(Out, vec, 3, f, vec, 3, f);
1495 OSG_CONVERT_TO_SMALLER(Out, vec, 3, f, vec, 4, f);
1497 OSG_CONVERT_TO_LARGER (Out, vec, 4, f, vec, 1, f);
1498 OSG_CONVERT_TO_LARGER (Out, vec, 4, f, vec, 2, f);
1499 OSG_CONVERT_TO_LARGER (Out, vec, 4, f, vec, 3, f);
1500 OSG_CONVERT_TO_SMALLER(Out, vec, 4, f, vec, 4, f);
1502 // from vec d to vec f
1503 OSG_CONVERT_TO_SMALLER(Out, vec, 1, f, vec, 1, d);
1504 OSG_CONVERT_TO_SMALLER(Out, vec, 1, f, vec, 2, d);
1505 OSG_CONVERT_TO_SMALLER(Out, vec, 1, f, vec, 3, d);
1506 OSG_CONVERT_TO_SMALLER(Out, vec, 1, f, vec, 4, d);
1508 OSG_CONVERT_TO_LARGER (Out, vec, 2, f, vec, 1, d);
1509 OSG_CONVERT_TO_SMALLER(Out, vec, 2, f, vec, 2, d);
1510 OSG_CONVERT_TO_SMALLER(Out, vec, 2, f, vec, 3, d);
1511 OSG_CONVERT_TO_SMALLER(Out, vec, 2, f, vec, 4, d);
1513 OSG_CONVERT_TO_LARGER (Out, vec, 3, f, vec, 1, d);
1514 OSG_CONVERT_TO_LARGER (Out, vec, 3, f, vec, 2, d);
1515 OSG_CONVERT_TO_SMALLER(Out, vec, 3, f, vec, 3, d);
1516 OSG_CONVERT_TO_SMALLER(Out, vec, 3, f, vec, 4, d);
1518 OSG_CONVERT_TO_LARGER (Out, vec, 4, f, vec, 1, d);
1519 OSG_CONVERT_TO_LARGER (Out, vec, 4, f, vec, 2, d);
1520 OSG_CONVERT_TO_LARGER (Out, vec, 4, f, vec, 3, d);
1521 OSG_CONVERT_TO_SMALLER(Out, vec, 4, f, vec, 4, d);
1524 TEST_FIXTURE(GeoConvertFixture, GeoConvert_Out_Vec_To_Vecd)
1526 // from vec b to vec d
1527 OSG_CONVERT_TO_SMALLER(Out, vec, 1, d, vec, 1, b);
1528 OSG_CONVERT_TO_SMALLER(Out, vec, 1, d, vec, 2, b);
1529 OSG_CONVERT_TO_SMALLER(Out, vec, 1, d, vec, 3, b);
1530 OSG_CONVERT_TO_SMALLER(Out, vec, 1, d, vec, 4, b);
1532 OSG_CONVERT_TO_LARGER (Out, vec, 2, d, vec, 1, b);
1533 OSG_CONVERT_TO_SMALLER(Out, vec, 2, d, vec, 2, b);
1534 OSG_CONVERT_TO_SMALLER(Out, vec, 2, d, vec, 3, b);
1535 OSG_CONVERT_TO_SMALLER(Out, vec, 2, d, vec, 4, b);
1537 OSG_CONVERT_TO_LARGER (Out, vec, 3, d, vec, 1, b);
1538 OSG_CONVERT_TO_LARGER (Out, vec, 3, d, vec, 2, b);
1539 OSG_CONVERT_TO_SMALLER(Out, vec, 3, d, vec, 3, b);
1540 OSG_CONVERT_TO_SMALLER(Out, vec, 3, d, vec, 4, b);
1542 OSG_CONVERT_TO_LARGER (Out, vec, 4, d, vec, 1, b);
1543 OSG_CONVERT_TO_LARGER (Out, vec, 4, d, vec, 2, b);
1544 OSG_CONVERT_TO_LARGER (Out, vec, 4, d, vec, 3, b);
1545 OSG_CONVERT_TO_SMALLER(Out, vec, 4, d, vec, 4, b);
1547 // from vec s to vec d
1548 OSG_CONVERT_TO_SMALLER(Out, vec, 1, d, vec, 1, s);
1549 OSG_CONVERT_TO_SMALLER(Out, vec, 1, d, vec, 2, s);
1550 OSG_CONVERT_TO_SMALLER(Out, vec, 1, d, vec, 3, s);
1551 OSG_CONVERT_TO_SMALLER(Out, vec, 1, d, vec, 4, s);
1553 OSG_CONVERT_TO_LARGER (Out, vec, 2, d, vec, 1, s);
1554 OSG_CONVERT_TO_SMALLER(Out, vec, 2, d, vec, 2, s);
1555 OSG_CONVERT_TO_SMALLER(Out, vec, 2, d, vec, 3, s);
1556 OSG_CONVERT_TO_SMALLER(Out, vec, 2, d, vec, 4, s);
1558 OSG_CONVERT_TO_LARGER (Out, vec, 3, d, vec, 1, s);
1559 OSG_CONVERT_TO_LARGER (Out, vec, 3, d, vec, 2, s);
1560 OSG_CONVERT_TO_SMALLER(Out, vec, 3, d, vec, 3, s);
1561 OSG_CONVERT_TO_SMALLER(Out, vec, 3, d, vec, 4, s);
1563 OSG_CONVERT_TO_LARGER (Out, vec, 4, d, vec, 1, s);
1564 OSG_CONVERT_TO_LARGER (Out, vec, 4, d, vec, 2, s);
1565 OSG_CONVERT_TO_LARGER (Out, vec, 4, d, vec, 3, s);
1566 OSG_CONVERT_TO_SMALLER(Out, vec, 4, d, vec, 4, s);
1568 // from vec f to vec d
1569 OSG_CONVERT_TO_SMALLER(Out, vec, 1, d, vec, 1, f);
1570 OSG_CONVERT_TO_SMALLER(Out, vec, 1, d, vec, 2, f);
1571 OSG_CONVERT_TO_SMALLER(Out, vec, 1, d, vec, 3, f);
1572 OSG_CONVERT_TO_SMALLER(Out, vec, 1, d, vec, 4, f);
1574 OSG_CONVERT_TO_LARGER (Out, vec, 2, d, vec, 1, f);
1575 OSG_CONVERT_TO_SMALLER(Out, vec, 2, d, vec, 2, f);
1576 OSG_CONVERT_TO_SMALLER(Out, vec, 2, d, vec, 3, f);
1577 OSG_CONVERT_TO_SMALLER(Out, vec, 2, d, vec, 4, f);
1579 OSG_CONVERT_TO_LARGER (Out, vec, 3, d, vec, 1, f);
1580 OSG_CONVERT_TO_LARGER (Out, vec, 3, d, vec, 2, f);
1581 OSG_CONVERT_TO_SMALLER(Out, vec, 3, d, vec, 3, f);
1582 OSG_CONVERT_TO_SMALLER(Out, vec, 3, d, vec, 4, f);
1584 OSG_CONVERT_TO_LARGER (Out, vec, 4, d, vec, 1, f);
1585 OSG_CONVERT_TO_LARGER (Out, vec, 4, d, vec, 2, f);
1586 OSG_CONVERT_TO_LARGER (Out, vec, 4, d, vec, 3, f);
1587 OSG_CONVERT_TO_SMALLER(Out, vec, 4, d, vec, 4, f);
1589 // from vec d to vec d
1590 OSG_CONVERT_TO_SMALLER(Out, vec, 1, d, vec, 1, d);
1591 OSG_CONVERT_TO_SMALLER(Out, vec, 1, d, vec, 2, d);
1592 OSG_CONVERT_TO_SMALLER(Out, vec, 1, d, vec, 3, d);
1593 OSG_CONVERT_TO_SMALLER(Out, vec, 1, d, vec, 4, d);
1595 OSG_CONVERT_TO_LARGER (Out, vec, 2, d, vec, 1, d);
1596 OSG_CONVERT_TO_SMALLER(Out, vec, 2, d, vec, 2, d);
1597 OSG_CONVERT_TO_SMALLER(Out, vec, 2, d, vec, 3, d);
1598 OSG_CONVERT_TO_SMALLER(Out, vec, 2, d, vec, 4, d);
1600 OSG_CONVERT_TO_LARGER (Out, vec, 3, d, vec, 1, d);
1601 OSG_CONVERT_TO_LARGER (Out, vec, 3, d, vec, 2, d);
1602 OSG_CONVERT_TO_SMALLER(Out, vec, 3, d, vec, 3, d);
1603 OSG_CONVERT_TO_SMALLER(Out, vec, 3, d, vec, 4, d);
1605 OSG_CONVERT_TO_LARGER (Out, vec, 4, d, vec, 1, d);
1606 OSG_CONVERT_TO_LARGER (Out, vec, 4, d, vec, 2, d);
1607 OSG_CONVERT_TO_LARGER (Out, vec, 4, d, vec, 3, d);
1608 OSG_CONVERT_TO_SMALLER(Out, vec, 4, d, vec, 4, d);
1611 TEST_FIXTURE(GeoConvertFixture, GeoConvert_Out_Vec_To_Pntb)
1613 // from vec b to pnt b
1614 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, b, vec, 1, b);
1615 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, b, vec, 2, b);
1616 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, b, vec, 3, b);
1617 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, b, vec, 4, b);
1619 OSG_CONVERT_TO_LARGER (Out, pnt, 2, b, vec, 1, b);
1620 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, b, vec, 2, b);
1621 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, b, vec, 3, b);
1622 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, b, vec, 4, b);
1624 OSG_CONVERT_TO_LARGER (Out, pnt, 3, b, vec, 1, b);
1625 OSG_CONVERT_TO_LARGER (Out, pnt, 3, b, vec, 2, b);
1626 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, b, vec, 3, b);
1627 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, b, vec, 4, b);
1629 OSG_CONVERT_TO_LARGER (Out, pnt, 4, b, vec, 1, b);
1630 OSG_CONVERT_TO_LARGER (Out, pnt, 4, b, vec, 2, b);
1631 OSG_CONVERT_TO_LARGER (Out, pnt, 4, b, vec, 3, b);
1632 OSG_CONVERT_TO_SMALLER(Out, pnt, 4, b, vec, 4, b);
1634 // from vec s to pnt b
1635 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, b, vec, 1, s);
1636 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, b, vec, 2, s);
1637 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, b, vec, 3, s);
1638 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, b, vec, 4, s);
1640 OSG_CONVERT_TO_LARGER (Out, pnt, 2, b, vec, 1, s);
1641 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, b, vec, 2, s);
1642 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, b, vec, 3, s);
1643 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, b, vec, 4, s);
1645 OSG_CONVERT_TO_LARGER (Out, pnt, 3, b, vec, 1, s);
1646 OSG_CONVERT_TO_LARGER (Out, pnt, 3, b, vec, 2, s);
1647 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, b, vec, 3, s);
1648 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, b, vec, 4, s);
1650 OSG_CONVERT_TO_LARGER (Out, pnt, 4, b, vec, 1, s);
1651 OSG_CONVERT_TO_LARGER (Out, pnt, 4, b, vec, 2, s);
1652 OSG_CONVERT_TO_LARGER (Out, pnt, 4, b, vec, 3, s);
1653 OSG_CONVERT_TO_SMALLER(Out, pnt, 4, b, vec, 4, s);
1655 // from vec f to pnt b
1656 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, b, vec, 1, f);
1657 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, b, vec, 2, f);
1658 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, b, vec, 3, f);
1659 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, b, vec, 4, f);
1661 OSG_CONVERT_TO_LARGER (Out, pnt, 2, b, vec, 1, f);
1662 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, b, vec, 2, f);
1663 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, b, vec, 3, f);
1664 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, b, vec, 4, f);
1666 OSG_CONVERT_TO_LARGER (Out, pnt, 3, b, vec, 1, f);
1667 OSG_CONVERT_TO_LARGER (Out, pnt, 3, b, vec, 2, f);
1668 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, b, vec, 3, f);
1669 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, b, vec, 4, f);
1671 OSG_CONVERT_TO_LARGER (Out, pnt, 4, b, vec, 1, f);
1672 OSG_CONVERT_TO_LARGER (Out, pnt, 4, b, vec, 2, f);
1673 OSG_CONVERT_TO_LARGER (Out, pnt, 4, b, vec, 3, f);
1674 OSG_CONVERT_TO_SMALLER(Out, pnt, 4, b, vec, 4, f);
1676 // from vec d to pnt b
1677 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, b, vec, 1, d);
1678 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, b, vec, 2, d);
1679 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, b, vec, 3, d);
1680 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, b, vec, 4, d);
1682 OSG_CONVERT_TO_LARGER (Out, pnt, 2, b, vec, 1, d);
1683 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, b, vec, 2, d);
1684 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, b, vec, 3, d);
1685 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, b, vec, 4, d);
1687 OSG_CONVERT_TO_LARGER (Out, pnt, 3, b, vec, 1, d);
1688 OSG_CONVERT_TO_LARGER (Out, pnt, 3, b, vec, 2, d);
1689 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, b, vec, 3, d);
1690 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, b, vec, 4, d);
1692 OSG_CONVERT_TO_LARGER (Out, pnt, 4, b, vec, 1, d);
1693 OSG_CONVERT_TO_LARGER (Out, pnt, 4, b, vec, 2, d);
1694 OSG_CONVERT_TO_LARGER (Out, pnt, 4, b, vec, 3, d);
1695 OSG_CONVERT_TO_SMALLER(Out, pnt, 4, b, vec, 4, d);
1698 TEST_FIXTURE(GeoConvertFixture, GeoConvert_Out_Vec_To_Pnts)
1700 // from vec b to pnt s
1701 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, s, vec, 1, b);
1702 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, s, vec, 2, b);
1703 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, s, vec, 3, b);
1704 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, s, vec, 4, b);
1706 OSG_CONVERT_TO_LARGER (Out, pnt, 2, s, vec, 1, b);
1707 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, s, vec, 2, b);
1708 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, s, vec, 3, b);
1709 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, s, vec, 4, b);
1711 OSG_CONVERT_TO_LARGER (Out, pnt, 3, s, vec, 1, b);
1712 OSG_CONVERT_TO_LARGER (Out, pnt, 3, s, vec, 2, b);
1713 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, s, vec, 3, b);
1714 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, s, vec, 4, b);
1716 OSG_CONVERT_TO_LARGER (Out, pnt, 4, s, vec, 1, b);
1717 OSG_CONVERT_TO_LARGER (Out, pnt, 4, s, vec, 2, b);
1718 OSG_CONVERT_TO_LARGER (Out, pnt, 4, s, vec, 3, b);
1719 OSG_CONVERT_TO_SMALLER(Out, pnt, 4, s, vec, 4, b);
1721 // from vec s to pnt s
1722 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, s, vec, 1, s);
1723 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, s, vec, 2, s);
1724 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, s, vec, 3, s);
1725 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, s, vec, 4, s);
1727 OSG_CONVERT_TO_LARGER (Out, pnt, 2, s, vec, 1, s);
1728 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, s, vec, 2, s);
1729 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, s, vec, 3, s);
1730 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, s, vec, 4, s);
1732 OSG_CONVERT_TO_LARGER (Out, pnt, 3, s, vec, 1, s);
1733 OSG_CONVERT_TO_LARGER (Out, pnt, 3, s, vec, 2, s);
1734 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, s, vec, 3, s);
1735 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, s, vec, 4, s);
1737 OSG_CONVERT_TO_LARGER (Out, pnt, 4, s, vec, 1, s);
1738 OSG_CONVERT_TO_LARGER (Out, pnt, 4, s, vec, 2, s);
1739 OSG_CONVERT_TO_LARGER (Out, pnt, 4, s, vec, 3, s);
1740 OSG_CONVERT_TO_SMALLER(Out, pnt, 4, s, vec, 4, s);
1742 // from vec f to pnt s
1743 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, s, vec, 1, f);
1744 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, s, vec, 2, f);
1745 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, s, vec, 3, f);
1746 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, s, vec, 4, f);
1748 OSG_CONVERT_TO_LARGER (Out, pnt, 2, s, vec, 1, f);
1749 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, s, vec, 2, f);
1750 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, s, vec, 3, f);
1751 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, s, vec, 4, f);
1753 OSG_CONVERT_TO_LARGER (Out, pnt, 3, s, vec, 1, f);
1754 OSG_CONVERT_TO_LARGER (Out, pnt, 3, s, vec, 2, f);
1755 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, s, vec, 3, f);
1756 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, s, vec, 4, f);
1758 OSG_CONVERT_TO_LARGER (Out, pnt, 4, s, vec, 1, f);
1759 OSG_CONVERT_TO_LARGER (Out, pnt, 4, s, vec, 2, f);
1760 OSG_CONVERT_TO_LARGER (Out, pnt, 4, s, vec, 3, f);
1761 OSG_CONVERT_TO_SMALLER(Out, pnt, 4, s, vec, 4, f);
1763 // from vec d to pnt s
1764 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, s, vec, 1, d);
1765 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, s, vec, 2, d);
1766 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, s, vec, 3, d);
1767 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, s, vec, 4, d);
1769 OSG_CONVERT_TO_LARGER (Out, pnt, 2, s, vec, 1, d);
1770 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, s, vec, 2, d);
1771 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, s, vec, 3, d);
1772 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, s, vec, 4, d);
1774 OSG_CONVERT_TO_LARGER (Out, pnt, 3, s, vec, 1, d);
1775 OSG_CONVERT_TO_LARGER (Out, pnt, 3, s, vec, 2, d);
1776 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, s, vec, 3, d);
1777 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, s, vec, 4, d);
1779 OSG_CONVERT_TO_LARGER (Out, pnt, 4, s, vec, 1, d);
1780 OSG_CONVERT_TO_LARGER (Out, pnt, 4, s, vec, 2, d);
1781 OSG_CONVERT_TO_LARGER (Out, pnt, 4, s, vec, 3, d);
1782 OSG_CONVERT_TO_SMALLER(Out, pnt, 4, s, vec, 4, d);
1785 TEST_FIXTURE(GeoConvertFixture, GeoConvert_Out_Vec_To_Pntf)
1787 // from vec b to pnt f
1788 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, f, vec, 1, b);
1789 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, f, vec, 2, b);
1790 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, f, vec, 3, b);
1791 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, f, vec, 4, b);
1793 OSG_CONVERT_TO_LARGER (Out, pnt, 2, f, vec, 1, b);
1794 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, f, vec, 2, b);
1795 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, f, vec, 3, b);
1796 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, f, vec, 4, b);
1798 OSG_CONVERT_TO_LARGER (Out, pnt, 3, f, vec, 1, b);
1799 OSG_CONVERT_TO_LARGER (Out, pnt, 3, f, vec, 2, b);
1800 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, f, vec, 3, b);
1801 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, f, vec, 4, b);
1803 OSG_CONVERT_TO_LARGER (Out, pnt, 4, f, vec, 1, b);
1804 OSG_CONVERT_TO_LARGER (Out, pnt, 4, f, vec, 2, b);
1805 OSG_CONVERT_TO_LARGER (Out, pnt, 4, f, vec, 3, b);
1806 OSG_CONVERT_TO_SMALLER(Out, pnt, 4, f, vec, 4, b);
1808 // from vec s to pnt f
1809 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, f, vec, 1, s);
1810 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, f, vec, 2, s);
1811 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, f, vec, 3, s);
1812 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, f, vec, 4, s);
1814 OSG_CONVERT_TO_LARGER (Out, pnt, 2, f, vec, 1, s);
1815 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, f, vec, 2, s);
1816 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, f, vec, 3, s);
1817 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, f, vec, 4, s);
1819 OSG_CONVERT_TO_LARGER (Out, pnt, 3, f, vec, 1, s);
1820 OSG_CONVERT_TO_LARGER (Out, pnt, 3, f, vec, 2, s);
1821 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, f, vec, 3, s);
1822 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, f, vec, 4, s);
1824 OSG_CONVERT_TO_LARGER (Out, pnt, 4, f, vec, 1, s);
1825 OSG_CONVERT_TO_LARGER (Out, pnt, 4, f, vec, 2, s);
1826 OSG_CONVERT_TO_LARGER (Out, pnt, 4, f, vec, 3, s);
1827 OSG_CONVERT_TO_SMALLER(Out, pnt, 4, f, vec, 4, s);
1829 // from vec f to pnt f
1830 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, f, vec, 1, f);
1831 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, f, vec, 2, f);
1832 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, f, vec, 3, f);
1833 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, f, vec, 4, f);
1835 OSG_CONVERT_TO_LARGER (Out, pnt, 2, f, vec, 1, f);
1836 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, f, vec, 2, f);
1837 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, f, vec, 3, f);
1838 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, f, vec, 4, f);
1840 OSG_CONVERT_TO_LARGER (Out, pnt, 3, f, vec, 1, f);
1841 OSG_CONVERT_TO_LARGER (Out, pnt, 3, f, vec, 2, f);
1842 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, f, vec, 3, f);
1843 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, f, vec, 4, f);
1845 OSG_CONVERT_TO_LARGER (Out, pnt, 4, f, vec, 1, f);
1846 OSG_CONVERT_TO_LARGER (Out, pnt, 4, f, vec, 2, f);
1847 OSG_CONVERT_TO_LARGER (Out, pnt, 4, f, vec, 3, f);
1848 OSG_CONVERT_TO_SMALLER(Out, pnt, 4, f, vec, 4, f);
1850 // from vec d to pnt f
1851 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, f, vec, 1, d);
1852 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, f, vec, 2, d);
1853 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, f, vec, 3, d);
1854 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, f, vec, 4, d);
1856 OSG_CONVERT_TO_LARGER (Out, pnt, 2, f, vec, 1, d);
1857 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, f, vec, 2, d);
1858 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, f, vec, 3, d);
1859 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, f, vec, 4, d);
1861 OSG_CONVERT_TO_LARGER (Out, pnt, 3, f, vec, 1, d);
1862 OSG_CONVERT_TO_LARGER (Out, pnt, 3, f, vec, 2, d);
1863 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, f, vec, 3, d);
1864 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, f, vec, 4, d);
1866 OSG_CONVERT_TO_LARGER (Out, pnt, 4, f, vec, 1, d);
1867 OSG_CONVERT_TO_LARGER (Out, pnt, 4, f, vec, 2, d);
1868 OSG_CONVERT_TO_LARGER (Out, pnt, 4, f, vec, 3, d);
1869 OSG_CONVERT_TO_SMALLER(Out, pnt, 4, f, vec, 4, d);
1872 TEST_FIXTURE(GeoConvertFixture, GeoConvert_Out_Vec_To_Pntd)
1874 // from vec b to pnt d
1875 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, d, vec, 1, b);
1876 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, d, vec, 2, b);
1877 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, d, vec, 3, b);
1878 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, d, vec, 4, b);
1880 OSG_CONVERT_TO_LARGER (Out, pnt, 2, d, vec, 1, b);
1881 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, d, vec, 2, b);
1882 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, d, vec, 3, b);
1883 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, d, vec, 4, b);
1885 OSG_CONVERT_TO_LARGER (Out, pnt, 3, d, vec, 1, b);
1886 OSG_CONVERT_TO_LARGER (Out, pnt, 3, d, vec, 2, b);
1887 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, d, vec, 3, b);
1888 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, d, vec, 4, b);
1890 OSG_CONVERT_TO_LARGER (Out, pnt, 4, d, vec, 1, b);
1891 OSG_CONVERT_TO_LARGER (Out, pnt, 4, d, vec, 2, b);
1892 OSG_CONVERT_TO_LARGER (Out, pnt, 4, d, vec, 3, b);
1893 OSG_CONVERT_TO_SMALLER(Out, pnt, 4, d, vec, 4, b);
1895 // from vec s to pnt d
1896 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, d, vec, 1, s);
1897 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, d, vec, 2, s);
1898 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, d, vec, 3, s);
1899 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, d, vec, 4, s);
1901 OSG_CONVERT_TO_LARGER (Out, pnt, 2, d, vec, 1, s);
1902 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, d, vec, 2, s);
1903 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, d, vec, 3, s);
1904 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, d, vec, 4, s);
1906 OSG_CONVERT_TO_LARGER (Out, pnt, 3, d, vec, 1, s);
1907 OSG_CONVERT_TO_LARGER (Out, pnt, 3, d, vec, 2, s);
1908 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, d, vec, 3, s);
1909 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, d, vec, 4, s);
1911 OSG_CONVERT_TO_LARGER (Out, pnt, 4, d, vec, 1, s);
1912 OSG_CONVERT_TO_LARGER (Out, pnt, 4, d, vec, 2, s);
1913 OSG_CONVERT_TO_LARGER (Out, pnt, 4, d, vec, 3, s);
1914 OSG_CONVERT_TO_SMALLER(Out, pnt, 4, d, vec, 4, s);
1916 // from vec f to pnt d
1917 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, d, vec, 1, f);
1918 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, d, vec, 2, f);
1919 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, d, vec, 3, f);
1920 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, d, vec, 4, f);
1922 OSG_CONVERT_TO_LARGER (Out, pnt, 2, d, vec, 1, f);
1923 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, d, vec, 2, f);
1924 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, d, vec, 3, f);
1925 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, d, vec, 4, f);
1927 OSG_CONVERT_TO_LARGER (Out, pnt, 3, d, vec, 1, f);
1928 OSG_CONVERT_TO_LARGER (Out, pnt, 3, d, vec, 2, f);
1929 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, d, vec, 3, f);
1930 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, d, vec, 4, f);
1932 OSG_CONVERT_TO_LARGER (Out, pnt, 4, d, vec, 1, f);
1933 OSG_CONVERT_TO_LARGER (Out, pnt, 4, d, vec, 2, f);
1934 OSG_CONVERT_TO_LARGER (Out, pnt, 4, d, vec, 3, f);
1935 OSG_CONVERT_TO_SMALLER(Out, pnt, 4, d, vec, 4, f);
1937 // from vec d to pnt d
1938 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, d, vec, 1, d);
1939 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, d, vec, 2, d);
1940 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, d, vec, 3, d);
1941 OSG_CONVERT_TO_SMALLER(Out, pnt, 1, d, vec, 4, d);
1943 OSG_CONVERT_TO_LARGER (Out, pnt, 2, d, vec, 1, d);
1944 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, d, vec, 2, d);
1945 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, d, vec, 3, d);
1946 OSG_CONVERT_TO_SMALLER(Out, pnt, 2, d, vec, 4, d);
1948 OSG_CONVERT_TO_LARGER (Out, pnt, 3, d, vec, 1, d);
1949 OSG_CONVERT_TO_LARGER (Out, pnt, 3, d, vec, 2, d);
1950 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, d, vec, 3, d);
1951 OSG_CONVERT_TO_SMALLER(Out, pnt, 3, d, vec, 4, d);
1953 OSG_CONVERT_TO_LARGER (Out, pnt, 4, d, vec, 1, d);
1954 OSG_CONVERT_TO_LARGER (Out, pnt, 4, d, vec, 2, d);
1955 OSG_CONVERT_TO_LARGER (Out, pnt, 4, d, vec, 3, d);
1956 OSG_CONVERT_TO_SMALLER(Out, pnt, 4, d, vec, 4, d);
1959 TEST_FIXTURE(GeoConvertFixture, GeoConvert_Out_Vec_To_Col3ub)
1961 // vec to col3ub
1962 OSG_CONVERT_TO_LARGER (Out, col, 3, ub, vec, 1, b);
1963 OSG_CONVERT_TO_LARGER (Out, col, 3, ub, vec, 2, b);
1964 OSG_CONVERT_TO_SMALLER(Out, col, 3, ub, vec, 3, b);
1965 OSG_CONVERT_TO_SMALLER(Out, col, 3, ub, vec, 4, b);
1967 OSG_CONVERT_TO_LARGER (Out, col, 3, ub, vec, 1, s);
1968 OSG_CONVERT_TO_LARGER (Out, col, 3, ub, vec, 2, s);
1969 OSG_CONVERT_TO_SMALLER(Out, col, 3, ub, vec, 3, s);
1970 OSG_CONVERT_TO_SMALLER(Out, col, 3, ub, vec, 4, s);
1972 OSG_CONVERT_TO_LARGER (Out, col, 3, ub, vec, 1, f);
1973 OSG_CONVERT_TO_LARGER (Out, col, 3, ub, vec, 2, f);
1974 OSG_CONVERT_TO_SMALLER(Out, col, 3, ub, vec, 3, f);
1975 OSG_CONVERT_TO_SMALLER(Out, col, 3, ub, vec, 4, f);
1977 OSG_CONVERT_TO_LARGER (Out, col, 3, ub, vec, 1, d);
1978 OSG_CONVERT_TO_LARGER (Out, col, 3, ub, vec, 2, d);
1979 OSG_CONVERT_TO_SMALLER(Out, col, 3, ub, vec, 3, d);
1980 OSG_CONVERT_TO_SMALLER(Out, col, 3, ub, vec, 4, d);
1983 TEST_FIXTURE(GeoConvertFixture, GeoConvert_Out_Vec_To_Col3f)
1985 // vec to col3f
1986 OSG_CONVERT_TO_LARGER (Out, col, 3, f, vec, 1, b);
1987 OSG_CONVERT_TO_LARGER (Out, col, 3, f, vec, 2, b);
1988 OSG_CONVERT_TO_SMALLER(Out, col, 3, f, vec, 3, b);
1989 OSG_CONVERT_TO_SMALLER(Out, col, 3, f, vec, 4, b);
1991 OSG_CONVERT_TO_LARGER (Out, col, 3, f, vec, 1, s);
1992 OSG_CONVERT_TO_LARGER (Out, col, 3, f, vec, 2, s);
1993 OSG_CONVERT_TO_SMALLER(Out, col, 3, f, vec, 3, s);
1994 OSG_CONVERT_TO_SMALLER(Out, col, 3, f, vec, 4, s);
1996 OSG_CONVERT_TO_LARGER (Out, col, 3, f, vec, 1, f);
1997 OSG_CONVERT_TO_LARGER (Out, col, 3, f, vec, 2, f);
1998 OSG_CONVERT_TO_SMALLER(Out, col, 3, f, vec, 3, f);
1999 OSG_CONVERT_TO_SMALLER(Out, col, 3, f, vec, 4, f);
2001 OSG_CONVERT_TO_LARGER (Out, col, 3, f, vec, 1, d);
2002 OSG_CONVERT_TO_LARGER (Out, col, 3, f, vec, 2, d);
2003 OSG_CONVERT_TO_SMALLER(Out, col, 3, f, vec, 3, d);
2004 OSG_CONVERT_TO_SMALLER(Out, col, 3, f, vec, 4, d);
2007 TEST_FIXTURE(GeoConvertFixture, GeoConvert_Out_Vec_To_Col4ub)
2009 // vec to col4ub
2010 OSG_CONVERT_TO_LARGER (Out, col, 4, ub, vec, 1, b);
2011 OSG_CONVERT_TO_LARGER (Out, col, 4, ub, vec, 2, b);
2012 OSG_CONVERT_TO_LARGER (Out, col, 4, ub, vec, 3, b);
2013 OSG_CONVERT_TO_SMALLER(Out, col, 4, ub, vec, 4, b);
2015 OSG_CONVERT_TO_LARGER (Out, col, 4, ub, vec, 1, s);
2016 OSG_CONVERT_TO_LARGER (Out, col, 4, ub, vec, 2, s);
2017 OSG_CONVERT_TO_LARGER (Out, col, 4, ub, vec, 3, s);
2018 OSG_CONVERT_TO_SMALLER(Out, col, 4, ub, vec, 4, s);
2020 OSG_CONVERT_TO_LARGER (Out, col, 4, ub, vec, 1, f);
2021 OSG_CONVERT_TO_LARGER (Out, col, 4, ub, vec, 2, f);
2022 OSG_CONVERT_TO_LARGER (Out, col, 4, ub, vec, 3, f);
2023 OSG_CONVERT_TO_SMALLER(Out, col, 4, ub, vec, 4, f);
2025 OSG_CONVERT_TO_LARGER (Out, col, 4, ub, vec, 1, d);
2026 OSG_CONVERT_TO_LARGER (Out, col, 4, ub, vec, 2, d);
2027 OSG_CONVERT_TO_LARGER (Out, col, 4, ub, vec, 3, d);
2028 OSG_CONVERT_TO_SMALLER(Out, col, 4, ub, vec, 4, d);
2031 TEST_FIXTURE(GeoConvertFixture, GeoConvert_Out_Vec_To_Col4f)
2033 // vec to col4f
2034 OSG_CONVERT_TO_LARGER (Out, col, 4, f, vec, 1, b);
2035 OSG_CONVERT_TO_LARGER (Out, col, 4, f, vec, 2, b);
2036 OSG_CONVERT_TO_LARGER (Out, col, 4, f, vec, 3, b);
2037 OSG_CONVERT_TO_SMALLER(Out, col, 4, f, vec, 4, b);
2039 OSG_CONVERT_TO_LARGER (Out, col, 4, f, vec, 1, s);
2040 OSG_CONVERT_TO_LARGER (Out, col, 4, f, vec, 2, s);
2041 OSG_CONVERT_TO_LARGER (Out, col, 4, f, vec, 3, s);
2042 OSG_CONVERT_TO_SMALLER(Out, col, 4, f, vec, 4, s);
2044 OSG_CONVERT_TO_LARGER (Out, col, 4, f, vec, 1, f);
2045 OSG_CONVERT_TO_LARGER (Out, col, 4, f, vec, 2, f);
2046 OSG_CONVERT_TO_LARGER (Out, col, 4, f, vec, 3, f);
2047 OSG_CONVERT_TO_SMALLER(Out, col, 4, f, vec, 4, f);
2049 OSG_CONVERT_TO_LARGER (Out, col, 4, f, vec, 1, d);
2050 OSG_CONVERT_TO_LARGER (Out, col, 4, f, vec, 2, d);
2051 OSG_CONVERT_TO_LARGER (Out, col, 4, f, vec, 3, d);
2052 OSG_CONVERT_TO_SMALLER(Out, col, 4, f, vec, 4, d);
2055 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_In_Vec_To_Vecb)
2057 // from vec b to vec b
2058 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, b, vec, 1, b);
2059 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, b, vec, 2, b);
2060 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, b, vec, 3, b);
2061 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, b, vec, 4, b);
2063 OSG_CONVERT_NORM_TO_LARGER (In, vec, 2, b, vec, 1, b);
2064 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, b, vec, 2, b);
2065 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, b, vec, 3, b);
2066 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, b, vec, 4, b);
2068 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, b, vec, 1, b);
2069 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, b, vec, 2, b);
2070 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, b, vec, 3, b);
2071 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, b, vec, 4, b);
2073 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, b, vec, 1, b);
2074 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, b, vec, 2, b);
2075 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, b, vec, 3, b);
2076 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 4, b, vec, 4, b);
2078 // from vec s to vec b
2079 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, b, vec, 1, s);
2080 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, b, vec, 2, s);
2081 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, b, vec, 3, s);
2082 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, b, vec, 4, s);
2084 OSG_CONVERT_NORM_TO_LARGER (In, vec, 2, b, vec, 1, s);
2085 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, b, vec, 2, s);
2086 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, b, vec, 3, s);
2087 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, b, vec, 4, s);
2089 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, b, vec, 1, s);
2090 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, b, vec, 2, s);
2091 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, b, vec, 3, s);
2092 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, b, vec, 4, s);
2094 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, b, vec, 1, s);
2095 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, b, vec, 2, s);
2096 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, b, vec, 3, s);
2097 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 4, b, vec, 4, s);
2099 // from vec f to vec b
2100 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, b, vec, 1, f);
2101 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, b, vec, 2, f);
2102 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, b, vec, 3, f);
2103 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, b, vec, 4, f);
2105 OSG_CONVERT_NORM_TO_LARGER (In, vec, 2, b, vec, 1, f);
2106 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, b, vec, 2, f);
2107 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, b, vec, 3, f);
2108 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, b, vec, 4, f);
2110 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, b, vec, 1, f);
2111 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, b, vec, 2, f);
2112 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, b, vec, 3, f);
2113 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, b, vec, 4, f);
2115 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, b, vec, 1, f);
2116 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, b, vec, 2, f);
2117 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, b, vec, 3, f);
2118 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 4, b, vec, 4, f);
2120 // from vec d to vec b
2121 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, b, vec, 1, d);
2122 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, b, vec, 2, d);
2123 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, b, vec, 3, d);
2124 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, b, vec, 4, d);
2126 OSG_CONVERT_NORM_TO_LARGER (In, vec, 2, b, vec, 1, d);
2127 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, b, vec, 2, d);
2128 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, b, vec, 3, d);
2129 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, b, vec, 4, d);
2131 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, b, vec, 1, d);
2132 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, b, vec, 2, d);
2133 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, b, vec, 3, d);
2134 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, b, vec, 4, d);
2136 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, b, vec, 1, d);
2137 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, b, vec, 2, d);
2138 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, b, vec, 3, d);
2139 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 4, b, vec, 4, d);
2142 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_In_Vec_To_Vecs)
2144 // from vec b to vec s
2145 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, s, vec, 1, b);
2146 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, s, vec, 2, b);
2147 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, s, vec, 3, b);
2148 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, s, vec, 4, b);
2150 OSG_CONVERT_NORM_TO_LARGER (In, vec, 2, s, vec, 1, b);
2151 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, s, vec, 2, b);
2152 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, s, vec, 3, b);
2153 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, s, vec, 4, b);
2155 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, s, vec, 1, b);
2156 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, s, vec, 2, b);
2157 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, s, vec, 3, b);
2158 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, s, vec, 4, b);
2160 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, s, vec, 1, b);
2161 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, s, vec, 2, b);
2162 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, s, vec, 3, b);
2163 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 4, s, vec, 4, b);
2165 // from vec s to vec s
2166 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, s, vec, 1, s);
2167 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, s, vec, 2, s);
2168 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, s, vec, 3, s);
2169 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, s, vec, 4, s);
2171 OSG_CONVERT_NORM_TO_LARGER (In, vec, 2, s, vec, 1, s);
2172 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, s, vec, 2, s);
2173 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, s, vec, 3, s);
2174 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, s, vec, 4, s);
2176 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, s, vec, 1, s);
2177 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, s, vec, 2, s);
2178 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, s, vec, 3, s);
2179 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, s, vec, 4, s);
2181 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, s, vec, 1, s);
2182 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, s, vec, 2, s);
2183 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, s, vec, 3, s);
2184 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 4, s, vec, 4, s);
2186 // from vec f to vec s
2187 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, s, vec, 1, f);
2188 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, s, vec, 2, f);
2189 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, s, vec, 3, f);
2190 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, s, vec, 4, f);
2192 OSG_CONVERT_NORM_TO_LARGER (In, vec, 2, s, vec, 1, f);
2193 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, s, vec, 2, f);
2194 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, s, vec, 3, f);
2195 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, s, vec, 4, f);
2197 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, s, vec, 1, f);
2198 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, s, vec, 2, f);
2199 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, s, vec, 3, f);
2200 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, s, vec, 4, f);
2202 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, s, vec, 1, f);
2203 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, s, vec, 2, f);
2204 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, s, vec, 3, f);
2205 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 4, s, vec, 4, f);
2207 // from vec d to vec s
2208 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, s, vec, 1, d);
2209 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, s, vec, 2, d);
2210 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, s, vec, 3, d);
2211 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, s, vec, 4, d);
2213 OSG_CONVERT_NORM_TO_LARGER (In, vec, 2, s, vec, 1, d);
2214 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, s, vec, 2, d);
2215 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, s, vec, 3, d);
2216 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, s, vec, 4, d);
2218 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, s, vec, 1, d);
2219 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, s, vec, 2, d);
2220 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, s, vec, 3, d);
2221 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, s, vec, 4, d);
2223 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, s, vec, 1, d);
2224 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, s, vec, 2, d);
2225 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, s, vec, 3, d);
2226 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 4, s, vec, 4, d);
2229 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_In_Vec_To_Vecf)
2231 // from vec b to vec f
2232 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, f, vec, 1, b);
2233 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, f, vec, 2, b);
2234 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, f, vec, 3, b);
2235 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, f, vec, 4, b);
2237 OSG_CONVERT_NORM_TO_LARGER (In, vec, 2, f, vec, 1, b);
2238 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, f, vec, 2, b);
2239 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, f, vec, 3, b);
2240 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, f, vec, 4, b);
2242 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, f, vec, 1, b);
2243 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, f, vec, 2, b);
2244 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, f, vec, 3, b);
2245 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, f, vec, 4, b);
2247 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, f, vec, 1, b);
2248 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, f, vec, 2, b);
2249 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, f, vec, 3, b);
2250 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 4, f, vec, 4, b);
2252 // from vec s to vec f
2253 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, f, vec, 1, s);
2254 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, f, vec, 2, s);
2255 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, f, vec, 3, s);
2256 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, f, vec, 4, s);
2258 OSG_CONVERT_NORM_TO_LARGER (In, vec, 2, f, vec, 1, s);
2259 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, f, vec, 2, s);
2260 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, f, vec, 3, s);
2261 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, f, vec, 4, s);
2263 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, f, vec, 1, s);
2264 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, f, vec, 2, s);
2265 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, f, vec, 3, s);
2266 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, f, vec, 4, s);
2268 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, f, vec, 1, s);
2269 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, f, vec, 2, s);
2270 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, f, vec, 3, s);
2271 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 4, f, vec, 4, s);
2273 // from vec f to vec f
2274 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, f, vec, 1, f);
2275 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, f, vec, 2, f);
2276 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, f, vec, 3, f);
2277 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, f, vec, 4, f);
2279 OSG_CONVERT_NORM_TO_LARGER (In, vec, 2, f, vec, 1, f);
2280 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, f, vec, 2, f);
2281 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, f, vec, 3, f);
2282 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, f, vec, 4, f);
2284 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, f, vec, 1, f);
2285 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, f, vec, 2, f);
2286 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, f, vec, 3, f);
2287 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, f, vec, 4, f);
2289 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, f, vec, 1, f);
2290 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, f, vec, 2, f);
2291 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, f, vec, 3, f);
2292 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 4, f, vec, 4, f);
2294 // from vec d to vec f
2295 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, f, vec, 1, d);
2296 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, f, vec, 2, d);
2297 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, f, vec, 3, d);
2298 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, f, vec, 4, d);
2300 OSG_CONVERT_NORM_TO_LARGER (In, vec, 2, f, vec, 1, d);
2301 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, f, vec, 2, d);
2302 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, f, vec, 3, d);
2303 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, f, vec, 4, d);
2305 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, f, vec, 1, d);
2306 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, f, vec, 2, d);
2307 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, f, vec, 3, d);
2308 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, f, vec, 4, d);
2310 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, f, vec, 1, d);
2311 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, f, vec, 2, d);
2312 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, f, vec, 3, d);
2313 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 4, f, vec, 4, d);
2316 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_In_Vec_To_Vecd)
2318 // from vec b to vec d
2319 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, d, vec, 1, b);
2320 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, d, vec, 2, b);
2321 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, d, vec, 3, b);
2322 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, d, vec, 4, b);
2324 OSG_CONVERT_NORM_TO_LARGER (In, vec, 2, d, vec, 1, b);
2325 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, d, vec, 2, b);
2326 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, d, vec, 3, b);
2327 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, d, vec, 4, b);
2329 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, d, vec, 1, b);
2330 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, d, vec, 2, b);
2331 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, d, vec, 3, b);
2332 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, d, vec, 4, b);
2334 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, d, vec, 1, b);
2335 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, d, vec, 2, b);
2336 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, d, vec, 3, b);
2337 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 4, d, vec, 4, b);
2339 // from vec s to vec d
2340 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, d, vec, 1, s);
2341 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, d, vec, 2, s);
2342 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, d, vec, 3, s);
2343 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, d, vec, 4, s);
2345 OSG_CONVERT_NORM_TO_LARGER (In, vec, 2, d, vec, 1, s);
2346 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, d, vec, 2, s);
2347 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, d, vec, 3, s);
2348 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, d, vec, 4, s);
2350 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, d, vec, 1, s);
2351 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, d, vec, 2, s);
2352 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, d, vec, 3, s);
2353 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, d, vec, 4, s);
2355 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, d, vec, 1, s);
2356 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, d, vec, 2, s);
2357 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, d, vec, 3, s);
2358 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 4, d, vec, 4, s);
2360 // from vec f to vec d
2361 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, d, vec, 1, f);
2362 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, d, vec, 2, f);
2363 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, d, vec, 3, f);
2364 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, d, vec, 4, f);
2366 OSG_CONVERT_NORM_TO_LARGER (In, vec, 2, d, vec, 1, f);
2367 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, d, vec, 2, f);
2368 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, d, vec, 3, f);
2369 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, d, vec, 4, f);
2371 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, d, vec, 1, f);
2372 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, d, vec, 2, f);
2373 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, d, vec, 3, f);
2374 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, d, vec, 4, f);
2376 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, d, vec, 1, f);
2377 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, d, vec, 2, f);
2378 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, d, vec, 3, f);
2379 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 4, d, vec, 4, f);
2381 // from vec d to vec d
2382 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, d, vec, 1, d);
2383 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, d, vec, 2, d);
2384 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, d, vec, 3, d);
2385 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 1, d, vec, 4, d);
2387 OSG_CONVERT_NORM_TO_LARGER (In, vec, 2, d, vec, 1, d);
2388 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, d, vec, 2, d);
2389 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, d, vec, 3, d);
2390 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 2, d, vec, 4, d);
2392 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, d, vec, 1, d);
2393 OSG_CONVERT_NORM_TO_LARGER (In, vec, 3, d, vec, 2, d);
2394 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, d, vec, 3, d);
2395 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 3, d, vec, 4, d);
2397 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, d, vec, 1, d);
2398 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, d, vec, 2, d);
2399 OSG_CONVERT_NORM_TO_LARGER (In, vec, 4, d, vec, 3, d);
2400 OSG_CONVERT_NORM_TO_SMALLER(In, vec, 4, d, vec, 4, d);
2403 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_In_Vec_To_Pntb)
2405 // from vec b to pnt b
2406 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, b, vec, 1, b);
2407 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, b, vec, 2, b);
2408 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, b, vec, 3, b);
2409 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, b, vec, 4, b);
2411 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 2, b, vec, 1, b);
2412 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, b, vec, 2, b);
2413 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, b, vec, 3, b);
2414 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, b, vec, 4, b);
2416 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, b, vec, 1, b);
2417 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, b, vec, 2, b);
2418 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, b, vec, 3, b);
2419 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, b, vec, 4, b);
2421 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, b, vec, 1, b);
2422 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, b, vec, 2, b);
2423 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, b, vec, 3, b);
2424 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 4, b, vec, 4, b);
2426 // from vec s to pnt b
2427 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, b, vec, 1, s);
2428 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, b, vec, 2, s);
2429 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, b, vec, 3, s);
2430 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, b, vec, 4, s);
2432 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 2, b, vec, 1, s);
2433 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, b, vec, 2, s);
2434 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, b, vec, 3, s);
2435 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, b, vec, 4, s);
2437 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, b, vec, 1, s);
2438 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, b, vec, 2, s);
2439 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, b, vec, 3, s);
2440 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, b, vec, 4, s);
2442 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, b, vec, 1, s);
2443 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, b, vec, 2, s);
2444 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, b, vec, 3, s);
2445 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 4, b, vec, 4, s);
2447 // from vec f to pnt b
2448 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, b, vec, 1, f);
2449 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, b, vec, 2, f);
2450 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, b, vec, 3, f);
2451 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, b, vec, 4, f);
2453 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 2, b, vec, 1, f);
2454 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, b, vec, 2, f);
2455 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, b, vec, 3, f);
2456 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, b, vec, 4, f);
2458 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, b, vec, 1, f);
2459 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, b, vec, 2, f);
2460 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, b, vec, 3, f);
2461 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, b, vec, 4, f);
2463 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, b, vec, 1, f);
2464 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, b, vec, 2, f);
2465 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, b, vec, 3, f);
2466 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 4, b, vec, 4, f);
2468 // from vec d to pnt b
2469 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, b, vec, 1, d);
2470 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, b, vec, 2, d);
2471 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, b, vec, 3, d);
2472 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, b, vec, 4, d);
2474 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 2, b, vec, 1, d);
2475 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, b, vec, 2, d);
2476 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, b, vec, 3, d);
2477 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, b, vec, 4, d);
2479 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, b, vec, 1, d);
2480 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, b, vec, 2, d);
2481 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, b, vec, 3, d);
2482 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, b, vec, 4, d);
2484 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, b, vec, 1, d);
2485 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, b, vec, 2, d);
2486 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, b, vec, 3, d);
2487 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 4, b, vec, 4, d);
2490 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_In_Vec_To_Pnts)
2492 // from vec b to pnt s
2493 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, s, vec, 1, b);
2494 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, s, vec, 2, b);
2495 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, s, vec, 3, b);
2496 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, s, vec, 4, b);
2498 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 2, s, vec, 1, b);
2499 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, s, vec, 2, b);
2500 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, s, vec, 3, b);
2501 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, s, vec, 4, b);
2503 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, s, vec, 1, b);
2504 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, s, vec, 2, b);
2505 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, s, vec, 3, b);
2506 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, s, vec, 4, b);
2508 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, s, vec, 1, b);
2509 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, s, vec, 2, b);
2510 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, s, vec, 3, b);
2511 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 4, s, vec, 4, b);
2513 // from vec s to pnt s
2514 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, s, vec, 1, s);
2515 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, s, vec, 2, s);
2516 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, s, vec, 3, s);
2517 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, s, vec, 4, s);
2519 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 2, s, vec, 1, s);
2520 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, s, vec, 2, s);
2521 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, s, vec, 3, s);
2522 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, s, vec, 4, s);
2524 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, s, vec, 1, s);
2525 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, s, vec, 2, s);
2526 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, s, vec, 3, s);
2527 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, s, vec, 4, s);
2529 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, s, vec, 1, s);
2530 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, s, vec, 2, s);
2531 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, s, vec, 3, s);
2532 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 4, s, vec, 4, s);
2534 // from vec f to pnt s
2535 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, s, vec, 1, f);
2536 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, s, vec, 2, f);
2537 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, s, vec, 3, f);
2538 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, s, vec, 4, f);
2540 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 2, s, vec, 1, f);
2541 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, s, vec, 2, f);
2542 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, s, vec, 3, f);
2543 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, s, vec, 4, f);
2545 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, s, vec, 1, f);
2546 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, s, vec, 2, f);
2547 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, s, vec, 3, f);
2548 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, s, vec, 4, f);
2550 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, s, vec, 1, f);
2551 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, s, vec, 2, f);
2552 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, s, vec, 3, f);
2553 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 4, s, vec, 4, f);
2555 // from vec d to pnt s
2556 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, s, vec, 1, d);
2557 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, s, vec, 2, d);
2558 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, s, vec, 3, d);
2559 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, s, vec, 4, d);
2561 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 2, s, vec, 1, d);
2562 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, s, vec, 2, d);
2563 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, s, vec, 3, d);
2564 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, s, vec, 4, d);
2566 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, s, vec, 1, d);
2567 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, s, vec, 2, d);
2568 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, s, vec, 3, d);
2569 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, s, vec, 4, d);
2571 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, s, vec, 1, d);
2572 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, s, vec, 2, d);
2573 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, s, vec, 3, d);
2574 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 4, s, vec, 4, d);
2577 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_In_Vec_To_Pntf)
2579 // from vec b to pnt f
2580 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, f, vec, 1, b);
2581 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, f, vec, 2, b);
2582 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, f, vec, 3, b);
2583 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, f, vec, 4, b);
2585 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 2, f, vec, 1, b);
2586 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, f, vec, 2, b);
2587 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, f, vec, 3, b);
2588 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, f, vec, 4, b);
2590 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, f, vec, 1, b);
2591 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, f, vec, 2, b);
2592 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, f, vec, 3, b);
2593 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, f, vec, 4, b);
2595 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, f, vec, 1, b);
2596 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, f, vec, 2, b);
2597 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, f, vec, 3, b);
2598 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 4, f, vec, 4, b);
2600 // from vec s to pnt f
2601 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, f, vec, 1, s);
2602 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, f, vec, 2, s);
2603 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, f, vec, 3, s);
2604 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, f, vec, 4, s);
2606 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 2, f, vec, 1, s);
2607 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, f, vec, 2, s);
2608 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, f, vec, 3, s);
2609 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, f, vec, 4, s);
2611 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, f, vec, 1, s);
2612 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, f, vec, 2, s);
2613 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, f, vec, 3, s);
2614 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, f, vec, 4, s);
2616 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, f, vec, 1, s);
2617 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, f, vec, 2, s);
2618 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, f, vec, 3, s);
2619 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 4, f, vec, 4, s);
2621 // from vec f to pnt f
2622 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, f, vec, 1, f);
2623 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, f, vec, 2, f);
2624 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, f, vec, 3, f);
2625 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, f, vec, 4, f);
2627 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 2, f, vec, 1, f);
2628 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, f, vec, 2, f);
2629 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, f, vec, 3, f);
2630 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, f, vec, 4, f);
2632 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, f, vec, 1, f);
2633 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, f, vec, 2, f);
2634 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, f, vec, 3, f);
2635 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, f, vec, 4, f);
2637 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, f, vec, 1, f);
2638 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, f, vec, 2, f);
2639 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, f, vec, 3, f);
2640 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 4, f, vec, 4, f);
2642 // from vec d to pnt f
2643 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, f, vec, 1, d);
2644 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, f, vec, 2, d);
2645 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, f, vec, 3, d);
2646 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, f, vec, 4, d);
2648 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 2, f, vec, 1, d);
2649 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, f, vec, 2, d);
2650 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, f, vec, 3, d);
2651 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, f, vec, 4, d);
2653 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, f, vec, 1, d);
2654 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, f, vec, 2, d);
2655 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, f, vec, 3, d);
2656 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, f, vec, 4, d);
2658 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, f, vec, 1, d);
2659 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, f, vec, 2, d);
2660 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, f, vec, 3, d);
2661 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 4, f, vec, 4, d);
2664 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_In_Vec_To_Pntd)
2666 // from vec b to pnt d
2667 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, d, vec, 1, b);
2668 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, d, vec, 2, b);
2669 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, d, vec, 3, b);
2670 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, d, vec, 4, b);
2672 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 2, d, vec, 1, b);
2673 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, d, vec, 2, b);
2674 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, d, vec, 3, b);
2675 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, d, vec, 4, b);
2677 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, d, vec, 1, b);
2678 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, d, vec, 2, b);
2679 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, d, vec, 3, b);
2680 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, d, vec, 4, b);
2682 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, d, vec, 1, b);
2683 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, d, vec, 2, b);
2684 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, d, vec, 3, b);
2685 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 4, d, vec, 4, b);
2687 // from vec s to pnt d
2688 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, d, vec, 1, s);
2689 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, d, vec, 2, s);
2690 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, d, vec, 3, s);
2691 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, d, vec, 4, s);
2693 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 2, d, vec, 1, s);
2694 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, d, vec, 2, s);
2695 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, d, vec, 3, s);
2696 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, d, vec, 4, s);
2698 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, d, vec, 1, s);
2699 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, d, vec, 2, s);
2700 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, d, vec, 3, s);
2701 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, d, vec, 4, s);
2703 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, d, vec, 1, s);
2704 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, d, vec, 2, s);
2705 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, d, vec, 3, s);
2706 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 4, d, vec, 4, s);
2708 // from vec f to pnt d
2709 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, d, vec, 1, f);
2710 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, d, vec, 2, f);
2711 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, d, vec, 3, f);
2712 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, d, vec, 4, f);
2714 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 2, d, vec, 1, f);
2715 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, d, vec, 2, f);
2716 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, d, vec, 3, f);
2717 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, d, vec, 4, f);
2719 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, d, vec, 1, f);
2720 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, d, vec, 2, f);
2721 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, d, vec, 3, f);
2722 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, d, vec, 4, f);
2724 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, d, vec, 1, f);
2725 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, d, vec, 2, f);
2726 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, d, vec, 3, f);
2727 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 4, d, vec, 4, f);
2729 // from vec d to pnt d
2730 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, d, vec, 1, d);
2731 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, d, vec, 2, d);
2732 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, d, vec, 3, d);
2733 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 1, d, vec, 4, d);
2735 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 2, d, vec, 1, d);
2736 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, d, vec, 2, d);
2737 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, d, vec, 3, d);
2738 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 2, d, vec, 4, d);
2740 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, d, vec, 1, d);
2741 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 3, d, vec, 2, d);
2742 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, d, vec, 3, d);
2743 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 3, d, vec, 4, d);
2745 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, d, vec, 1, d);
2746 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, d, vec, 2, d);
2747 OSG_CONVERT_NORM_TO_LARGER (In, pnt, 4, d, vec, 3, d);
2748 OSG_CONVERT_NORM_TO_SMALLER(In, pnt, 4, d, vec, 4, d);
2751 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_In_Vec_To_Col3ub)
2753 // vec to col3ub
2754 OSG_CONVERT_NORM_TO_LARGER (In, col, 3, ub, vec, 1, b);
2755 OSG_CONVERT_NORM_TO_LARGER (In, col, 3, ub, vec, 2, b);
2756 OSG_CONVERT_NORM_TO_SMALLER(In, col, 3, ub, vec, 3, b);
2757 OSG_CONVERT_NORM_TO_SMALLER(In, col, 3, ub, vec, 4, b);
2759 OSG_CONVERT_NORM_TO_LARGER (In, col, 3, ub, vec, 1, s);
2760 OSG_CONVERT_NORM_TO_LARGER (In, col, 3, ub, vec, 2, s);
2761 OSG_CONVERT_NORM_TO_SMALLER(In, col, 3, ub, vec, 3, s);
2762 OSG_CONVERT_NORM_TO_SMALLER(In, col, 3, ub, vec, 4, s);
2764 OSG_CONVERT_NORM_TO_LARGER (In, col, 3, ub, vec, 1, f);
2765 OSG_CONVERT_NORM_TO_LARGER (In, col, 3, ub, vec, 2, f);
2766 OSG_CONVERT_NORM_TO_SMALLER(In, col, 3, ub, vec, 3, f);
2767 OSG_CONVERT_NORM_TO_SMALLER(In, col, 3, ub, vec, 4, f);
2769 OSG_CONVERT_NORM_TO_LARGER (In, col, 3, ub, vec, 1, d);
2770 OSG_CONVERT_NORM_TO_LARGER (In, col, 3, ub, vec, 2, d);
2771 OSG_CONVERT_NORM_TO_SMALLER(In, col, 3, ub, vec, 3, d);
2772 OSG_CONVERT_NORM_TO_SMALLER(In, col, 3, ub, vec, 4, d);
2775 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_In_Vec_To_Col3f)
2777 // vec to col3f
2778 OSG_CONVERT_NORM_TO_LARGER (In, col, 3, f, vec, 1, b);
2779 OSG_CONVERT_NORM_TO_LARGER (In, col, 3, f, vec, 2, b);
2780 OSG_CONVERT_NORM_TO_SMALLER(In, col, 3, f, vec, 3, b);
2781 OSG_CONVERT_NORM_TO_SMALLER(In, col, 3, f, vec, 4, b);
2783 OSG_CONVERT_NORM_TO_LARGER (In, col, 3, f, vec, 1, s);
2784 OSG_CONVERT_NORM_TO_LARGER (In, col, 3, f, vec, 2, s);
2785 OSG_CONVERT_NORM_TO_SMALLER(In, col, 3, f, vec, 3, s);
2786 OSG_CONVERT_NORM_TO_SMALLER(In, col, 3, f, vec, 4, s);
2788 OSG_CONVERT_NORM_TO_LARGER (In, col, 3, f, vec, 1, f);
2789 OSG_CONVERT_NORM_TO_LARGER (In, col, 3, f, vec, 2, f);
2790 OSG_CONVERT_NORM_TO_SMALLER(In, col, 3, f, vec, 3, f);
2791 OSG_CONVERT_NORM_TO_SMALLER(In, col, 3, f, vec, 4, f);
2793 OSG_CONVERT_NORM_TO_LARGER (In, col, 3, f, vec, 1, d);
2794 OSG_CONVERT_NORM_TO_LARGER (In, col, 3, f, vec, 2, d);
2795 OSG_CONVERT_NORM_TO_SMALLER(In, col, 3, f, vec, 3, d);
2796 OSG_CONVERT_NORM_TO_SMALLER(In, col, 3, f, vec, 4, d);
2799 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_In_Vec_To_Col4ub)
2801 // vec to col4ub
2802 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, ub, vec, 1, b);
2803 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, ub, vec, 2, b);
2804 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, ub, vec, 3, b);
2805 OSG_CONVERT_NORM_TO_SMALLER(In, col, 4, ub, vec, 4, b);
2807 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, ub, vec, 1, s);
2808 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, ub, vec, 2, s);
2809 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, ub, vec, 3, s);
2810 OSG_CONVERT_NORM_TO_SMALLER(In, col, 4, ub, vec, 4, s);
2812 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, ub, vec, 1, f);
2813 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, ub, vec, 2, f);
2814 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, ub, vec, 3, f);
2815 OSG_CONVERT_NORM_TO_SMALLER(In, col, 4, ub, vec, 4, f);
2817 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, ub, vec, 1, d);
2818 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, ub, vec, 2, d);
2819 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, ub, vec, 3, d);
2820 OSG_CONVERT_NORM_TO_SMALLER(In, col, 4, ub, vec, 4, d);
2823 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_In_Vec_To_Col4f)
2825 // vec to col4f
2826 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, f, vec, 1, b);
2827 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, f, vec, 2, b);
2828 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, f, vec, 3, b);
2829 OSG_CONVERT_NORM_TO_SMALLER(In, col, 4, f, vec, 4, b);
2831 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, f, vec, 1, s);
2832 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, f, vec, 2, s);
2833 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, f, vec, 3, s);
2834 OSG_CONVERT_NORM_TO_SMALLER(In, col, 4, f, vec, 4, s);
2836 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, f, vec, 1, f);
2837 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, f, vec, 2, f);
2838 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, f, vec, 3, f);
2839 OSG_CONVERT_NORM_TO_SMALLER(In, col, 4, f, vec, 4, f);
2841 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, f, vec, 1, d);
2842 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, f, vec, 2, d);
2843 OSG_CONVERT_NORM_TO_LARGER (In, col, 4, f, vec, 3, d);
2844 OSG_CONVERT_NORM_TO_SMALLER(In, col, 4, f, vec, 4, d);
2847 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_Out_Vec_To_Vecb)
2849 // from vec b to vec b
2850 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, b, vec, 1, b);
2851 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, b, vec, 2, b);
2852 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, b, vec, 3, b);
2853 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, b, vec, 4, b);
2855 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 2, b, vec, 1, b);
2856 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, b, vec, 2, b);
2857 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, b, vec, 3, b);
2858 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, b, vec, 4, b);
2860 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, b, vec, 1, b);
2861 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, b, vec, 2, b);
2862 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, b, vec, 3, b);
2863 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, b, vec, 4, b);
2865 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, b, vec, 1, b);
2866 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, b, vec, 2, b);
2867 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, b, vec, 3, b);
2868 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 4, b, vec, 4, b);
2870 // from vec s to vec b
2871 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, b, vec, 1, s);
2872 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, b, vec, 2, s);
2873 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, b, vec, 3, s);
2874 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, b, vec, 4, s);
2876 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 2, b, vec, 1, s);
2877 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, b, vec, 2, s);
2878 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, b, vec, 3, s);
2879 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, b, vec, 4, s);
2881 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, b, vec, 1, s);
2882 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, b, vec, 2, s);
2883 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, b, vec, 3, s);
2884 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, b, vec, 4, s);
2886 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, b, vec, 1, s);
2887 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, b, vec, 2, s);
2888 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, b, vec, 3, s);
2889 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 4, b, vec, 4, s);
2891 // from vec f to vec b
2892 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, b, vec, 1, f);
2893 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, b, vec, 2, f);
2894 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, b, vec, 3, f);
2895 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, b, vec, 4, f);
2897 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 2, b, vec, 1, f);
2898 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, b, vec, 2, f);
2899 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, b, vec, 3, f);
2900 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, b, vec, 4, f);
2902 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, b, vec, 1, f);
2903 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, b, vec, 2, f);
2904 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, b, vec, 3, f);
2905 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, b, vec, 4, f);
2907 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, b, vec, 1, f);
2908 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, b, vec, 2, f);
2909 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, b, vec, 3, f);
2910 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 4, b, vec, 4, f);
2912 // from vec d to vec b
2913 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, b, vec, 1, d);
2914 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, b, vec, 2, d);
2915 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, b, vec, 3, d);
2916 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, b, vec, 4, d);
2918 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 2, b, vec, 1, d);
2919 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, b, vec, 2, d);
2920 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, b, vec, 3, d);
2921 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, b, vec, 4, d);
2923 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, b, vec, 1, d);
2924 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, b, vec, 2, d);
2925 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, b, vec, 3, d);
2926 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, b, vec, 4, d);
2928 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, b, vec, 1, d);
2929 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, b, vec, 2, d);
2930 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, b, vec, 3, d);
2931 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 4, b, vec, 4, d);
2934 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_Out_Vec_To_Vecs)
2936 // from vec b to vec s
2937 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, s, vec, 1, b);
2938 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, s, vec, 2, b);
2939 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, s, vec, 3, b);
2940 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, s, vec, 4, b);
2942 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 2, s, vec, 1, b);
2943 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, s, vec, 2, b);
2944 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, s, vec, 3, b);
2945 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, s, vec, 4, b);
2947 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, s, vec, 1, b);
2948 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, s, vec, 2, b);
2949 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, s, vec, 3, b);
2950 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, s, vec, 4, b);
2952 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, s, vec, 1, b);
2953 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, s, vec, 2, b);
2954 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, s, vec, 3, b);
2955 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 4, s, vec, 4, b);
2957 // from vec s to vec s
2958 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, s, vec, 1, s);
2959 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, s, vec, 2, s);
2960 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, s, vec, 3, s);
2961 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, s, vec, 4, s);
2963 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 2, s, vec, 1, s);
2964 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, s, vec, 2, s);
2965 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, s, vec, 3, s);
2966 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, s, vec, 4, s);
2968 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, s, vec, 1, s);
2969 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, s, vec, 2, s);
2970 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, s, vec, 3, s);
2971 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, s, vec, 4, s);
2973 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, s, vec, 1, s);
2974 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, s, vec, 2, s);
2975 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, s, vec, 3, s);
2976 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 4, s, vec, 4, s);
2978 // from vec f to vec s
2979 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, s, vec, 1, f);
2980 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, s, vec, 2, f);
2981 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, s, vec, 3, f);
2982 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, s, vec, 4, f);
2984 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 2, s, vec, 1, f);
2985 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, s, vec, 2, f);
2986 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, s, vec, 3, f);
2987 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, s, vec, 4, f);
2989 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, s, vec, 1, f);
2990 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, s, vec, 2, f);
2991 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, s, vec, 3, f);
2992 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, s, vec, 4, f);
2994 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, s, vec, 1, f);
2995 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, s, vec, 2, f);
2996 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, s, vec, 3, f);
2997 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 4, s, vec, 4, f);
2999 // from vec d to vec s
3000 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, s, vec, 1, d);
3001 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, s, vec, 2, d);
3002 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, s, vec, 3, d);
3003 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, s, vec, 4, d);
3005 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 2, s, vec, 1, d);
3006 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, s, vec, 2, d);
3007 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, s, vec, 3, d);
3008 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, s, vec, 4, d);
3010 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, s, vec, 1, d);
3011 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, s, vec, 2, d);
3012 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, s, vec, 3, d);
3013 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, s, vec, 4, d);
3015 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, s, vec, 1, d);
3016 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, s, vec, 2, d);
3017 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, s, vec, 3, d);
3018 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 4, s, vec, 4, d);
3021 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_Out_Vec_To_Vecf)
3023 // from vec b to vec f
3024 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, f, vec, 1, b);
3025 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, f, vec, 2, b);
3026 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, f, vec, 3, b);
3027 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, f, vec, 4, b);
3029 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 2, f, vec, 1, b);
3030 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, f, vec, 2, b);
3031 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, f, vec, 3, b);
3032 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, f, vec, 4, b);
3034 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, f, vec, 1, b);
3035 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, f, vec, 2, b);
3036 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, f, vec, 3, b);
3037 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, f, vec, 4, b);
3039 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, f, vec, 1, b);
3040 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, f, vec, 2, b);
3041 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, f, vec, 3, b);
3042 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 4, f, vec, 4, b);
3044 // from vec s to vec f
3045 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, f, vec, 1, s);
3046 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, f, vec, 2, s);
3047 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, f, vec, 3, s);
3048 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, f, vec, 4, s);
3050 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 2, f, vec, 1, s);
3051 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, f, vec, 2, s);
3052 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, f, vec, 3, s);
3053 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, f, vec, 4, s);
3055 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, f, vec, 1, s);
3056 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, f, vec, 2, s);
3057 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, f, vec, 3, s);
3058 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, f, vec, 4, s);
3060 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, f, vec, 1, s);
3061 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, f, vec, 2, s);
3062 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, f, vec, 3, s);
3063 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 4, f, vec, 4, s);
3065 // from vec f to vec f
3066 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, f, vec, 1, f);
3067 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, f, vec, 2, f);
3068 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, f, vec, 3, f);
3069 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, f, vec, 4, f);
3071 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 2, f, vec, 1, f);
3072 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, f, vec, 2, f);
3073 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, f, vec, 3, f);
3074 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, f, vec, 4, f);
3076 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, f, vec, 1, f);
3077 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, f, vec, 2, f);
3078 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, f, vec, 3, f);
3079 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, f, vec, 4, f);
3081 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, f, vec, 1, f);
3082 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, f, vec, 2, f);
3083 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, f, vec, 3, f);
3084 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 4, f, vec, 4, f);
3086 // from vec d to vec f
3087 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, f, vec, 1, d);
3088 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, f, vec, 2, d);
3089 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, f, vec, 3, d);
3090 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, f, vec, 4, d);
3092 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 2, f, vec, 1, d);
3093 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, f, vec, 2, d);
3094 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, f, vec, 3, d);
3095 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, f, vec, 4, d);
3097 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, f, vec, 1, d);
3098 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, f, vec, 2, d);
3099 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, f, vec, 3, d);
3100 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, f, vec, 4, d);
3102 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, f, vec, 1, d);
3103 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, f, vec, 2, d);
3104 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, f, vec, 3, d);
3105 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 4, f, vec, 4, d);
3108 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_Out_Vec_To_Vecd)
3110 // from vec b to vec d
3111 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, d, vec, 1, b);
3112 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, d, vec, 2, b);
3113 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, d, vec, 3, b);
3114 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, d, vec, 4, b);
3116 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 2, d, vec, 1, b);
3117 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, d, vec, 2, b);
3118 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, d, vec, 3, b);
3119 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, d, vec, 4, b);
3121 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, d, vec, 1, b);
3122 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, d, vec, 2, b);
3123 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, d, vec, 3, b);
3124 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, d, vec, 4, b);
3126 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, d, vec, 1, b);
3127 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, d, vec, 2, b);
3128 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, d, vec, 3, b);
3129 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 4, d, vec, 4, b);
3131 // from vec s to vec d
3132 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, d, vec, 1, s);
3133 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, d, vec, 2, s);
3134 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, d, vec, 3, s);
3135 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, d, vec, 4, s);
3137 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 2, d, vec, 1, s);
3138 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, d, vec, 2, s);
3139 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, d, vec, 3, s);
3140 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, d, vec, 4, s);
3142 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, d, vec, 1, s);
3143 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, d, vec, 2, s);
3144 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, d, vec, 3, s);
3145 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, d, vec, 4, s);
3147 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, d, vec, 1, s);
3148 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, d, vec, 2, s);
3149 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, d, vec, 3, s);
3150 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 4, d, vec, 4, s);
3152 // from vec f to vec d
3153 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, d, vec, 1, f);
3154 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, d, vec, 2, f);
3155 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, d, vec, 3, f);
3156 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, d, vec, 4, f);
3158 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 2, d, vec, 1, f);
3159 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, d, vec, 2, f);
3160 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, d, vec, 3, f);
3161 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, d, vec, 4, f);
3163 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, d, vec, 1, f);
3164 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, d, vec, 2, f);
3165 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, d, vec, 3, f);
3166 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, d, vec, 4, f);
3168 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, d, vec, 1, f);
3169 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, d, vec, 2, f);
3170 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, d, vec, 3, f);
3171 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 4, d, vec, 4, f);
3173 // from vec d to vec d
3174 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, d, vec, 1, d);
3175 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, d, vec, 2, d);
3176 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, d, vec, 3, d);
3177 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 1, d, vec, 4, d);
3179 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 2, d, vec, 1, d);
3180 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, d, vec, 2, d);
3181 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, d, vec, 3, d);
3182 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 2, d, vec, 4, d);
3184 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, d, vec, 1, d);
3185 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 3, d, vec, 2, d);
3186 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, d, vec, 3, d);
3187 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 3, d, vec, 4, d);
3189 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, d, vec, 1, d);
3190 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, d, vec, 2, d);
3191 OSG_CONVERT_NORM_TO_LARGER (Out, vec, 4, d, vec, 3, d);
3192 OSG_CONVERT_NORM_TO_SMALLER(Out, vec, 4, d, vec, 4, d);
3195 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_Out_Vec_To_Pntb)
3197 // from vec b to pnt b
3198 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, b, vec, 1, b);
3199 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, b, vec, 2, b);
3200 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, b, vec, 3, b);
3201 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, b, vec, 4, b);
3203 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 2, b, vec, 1, b);
3204 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, b, vec, 2, b);
3205 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, b, vec, 3, b);
3206 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, b, vec, 4, b);
3208 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, b, vec, 1, b);
3209 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, b, vec, 2, b);
3210 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, b, vec, 3, b);
3211 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, b, vec, 4, b);
3213 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, b, vec, 1, b);
3214 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, b, vec, 2, b);
3215 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, b, vec, 3, b);
3216 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 4, b, vec, 4, b);
3218 // from vec s to pnt b
3219 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, b, vec, 1, s);
3220 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, b, vec, 2, s);
3221 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, b, vec, 3, s);
3222 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, b, vec, 4, s);
3224 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 2, b, vec, 1, s);
3225 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, b, vec, 2, s);
3226 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, b, vec, 3, s);
3227 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, b, vec, 4, s);
3229 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, b, vec, 1, s);
3230 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, b, vec, 2, s);
3231 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, b, vec, 3, s);
3232 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, b, vec, 4, s);
3234 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, b, vec, 1, s);
3235 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, b, vec, 2, s);
3236 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, b, vec, 3, s);
3237 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 4, b, vec, 4, s);
3239 // from vec f to pnt b
3240 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, b, vec, 1, f);
3241 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, b, vec, 2, f);
3242 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, b, vec, 3, f);
3243 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, b, vec, 4, f);
3245 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 2, b, vec, 1, f);
3246 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, b, vec, 2, f);
3247 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, b, vec, 3, f);
3248 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, b, vec, 4, f);
3250 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, b, vec, 1, f);
3251 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, b, vec, 2, f);
3252 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, b, vec, 3, f);
3253 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, b, vec, 4, f);
3255 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, b, vec, 1, f);
3256 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, b, vec, 2, f);
3257 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, b, vec, 3, f);
3258 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 4, b, vec, 4, f);
3260 // from vec d to pnt b
3261 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, b, vec, 1, d);
3262 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, b, vec, 2, d);
3263 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, b, vec, 3, d);
3264 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, b, vec, 4, d);
3266 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 2, b, vec, 1, d);
3267 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, b, vec, 2, d);
3268 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, b, vec, 3, d);
3269 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, b, vec, 4, d);
3271 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, b, vec, 1, d);
3272 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, b, vec, 2, d);
3273 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, b, vec, 3, d);
3274 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, b, vec, 4, d);
3276 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, b, vec, 1, d);
3277 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, b, vec, 2, d);
3278 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, b, vec, 3, d);
3279 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 4, b, vec, 4, d);
3282 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_Out_Vec_To_Pnts)
3284 // from vec b to pnt s
3285 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, s, vec, 1, b);
3286 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, s, vec, 2, b);
3287 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, s, vec, 3, b);
3288 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, s, vec, 4, b);
3290 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 2, s, vec, 1, b);
3291 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, s, vec, 2, b);
3292 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, s, vec, 3, b);
3293 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, s, vec, 4, b);
3295 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, s, vec, 1, b);
3296 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, s, vec, 2, b);
3297 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, s, vec, 3, b);
3298 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, s, vec, 4, b);
3300 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, s, vec, 1, b);
3301 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, s, vec, 2, b);
3302 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, s, vec, 3, b);
3303 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 4, s, vec, 4, b);
3305 // from vec s to pnt s
3306 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, s, vec, 1, s);
3307 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, s, vec, 2, s);
3308 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, s, vec, 3, s);
3309 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, s, vec, 4, s);
3311 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 2, s, vec, 1, s);
3312 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, s, vec, 2, s);
3313 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, s, vec, 3, s);
3314 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, s, vec, 4, s);
3316 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, s, vec, 1, s);
3317 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, s, vec, 2, s);
3318 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, s, vec, 3, s);
3319 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, s, vec, 4, s);
3321 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, s, vec, 1, s);
3322 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, s, vec, 2, s);
3323 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, s, vec, 3, s);
3324 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 4, s, vec, 4, s);
3326 // from vec f to pnt s
3327 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, s, vec, 1, f);
3328 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, s, vec, 2, f);
3329 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, s, vec, 3, f);
3330 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, s, vec, 4, f);
3332 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 2, s, vec, 1, f);
3333 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, s, vec, 2, f);
3334 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, s, vec, 3, f);
3335 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, s, vec, 4, f);
3337 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, s, vec, 1, f);
3338 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, s, vec, 2, f);
3339 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, s, vec, 3, f);
3340 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, s, vec, 4, f);
3342 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, s, vec, 1, f);
3343 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, s, vec, 2, f);
3344 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, s, vec, 3, f);
3345 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 4, s, vec, 4, f);
3347 // from vec d to pnt s
3348 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, s, vec, 1, d);
3349 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, s, vec, 2, d);
3350 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, s, vec, 3, d);
3351 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, s, vec, 4, d);
3353 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 2, s, vec, 1, d);
3354 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, s, vec, 2, d);
3355 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, s, vec, 3, d);
3356 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, s, vec, 4, d);
3358 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, s, vec, 1, d);
3359 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, s, vec, 2, d);
3360 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, s, vec, 3, d);
3361 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, s, vec, 4, d);
3363 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, s, vec, 1, d);
3364 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, s, vec, 2, d);
3365 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, s, vec, 3, d);
3366 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 4, s, vec, 4, d);
3369 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_Out_Vec_To_Pntf)
3371 // from vec b to pnt f
3372 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, f, vec, 1, b);
3373 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, f, vec, 2, b);
3374 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, f, vec, 3, b);
3375 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, f, vec, 4, b);
3377 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 2, f, vec, 1, b);
3378 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, f, vec, 2, b);
3379 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, f, vec, 3, b);
3380 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, f, vec, 4, b);
3382 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, f, vec, 1, b);
3383 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, f, vec, 2, b);
3384 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, f, vec, 3, b);
3385 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, f, vec, 4, b);
3387 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, f, vec, 1, b);
3388 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, f, vec, 2, b);
3389 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, f, vec, 3, b);
3390 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 4, f, vec, 4, b);
3392 // from vec s to pnt f
3393 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, f, vec, 1, s);
3394 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, f, vec, 2, s);
3395 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, f, vec, 3, s);
3396 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, f, vec, 4, s);
3398 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 2, f, vec, 1, s);
3399 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, f, vec, 2, s);
3400 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, f, vec, 3, s);
3401 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, f, vec, 4, s);
3403 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, f, vec, 1, s);
3404 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, f, vec, 2, s);
3405 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, f, vec, 3, s);
3406 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, f, vec, 4, s);
3408 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, f, vec, 1, s);
3409 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, f, vec, 2, s);
3410 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, f, vec, 3, s);
3411 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 4, f, vec, 4, s);
3413 // from vec f to pnt f
3414 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, f, vec, 1, f);
3415 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, f, vec, 2, f);
3416 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, f, vec, 3, f);
3417 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, f, vec, 4, f);
3419 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 2, f, vec, 1, f);
3420 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, f, vec, 2, f);
3421 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, f, vec, 3, f);
3422 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, f, vec, 4, f);
3424 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, f, vec, 1, f);
3425 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, f, vec, 2, f);
3426 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, f, vec, 3, f);
3427 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, f, vec, 4, f);
3429 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, f, vec, 1, f);
3430 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, f, vec, 2, f);
3431 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, f, vec, 3, f);
3432 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 4, f, vec, 4, f);
3434 // from vec d to pnt f
3435 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, f, vec, 1, d);
3436 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, f, vec, 2, d);
3437 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, f, vec, 3, d);
3438 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, f, vec, 4, d);
3440 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 2, f, vec, 1, d);
3441 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, f, vec, 2, d);
3442 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, f, vec, 3, d);
3443 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, f, vec, 4, d);
3445 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, f, vec, 1, d);
3446 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, f, vec, 2, d);
3447 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, f, vec, 3, d);
3448 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, f, vec, 4, d);
3450 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, f, vec, 1, d);
3451 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, f, vec, 2, d);
3452 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, f, vec, 3, d);
3453 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 4, f, vec, 4, d);
3456 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_Out_Vec_To_Pntd)
3458 // from vec b to pnt d
3459 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, d, vec, 1, b);
3460 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, d, vec, 2, b);
3461 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, d, vec, 3, b);
3462 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, d, vec, 4, b);
3464 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 2, d, vec, 1, b);
3465 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, d, vec, 2, b);
3466 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, d, vec, 3, b);
3467 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, d, vec, 4, b);
3469 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, d, vec, 1, b);
3470 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, d, vec, 2, b);
3471 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, d, vec, 3, b);
3472 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, d, vec, 4, b);
3474 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, d, vec, 1, b);
3475 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, d, vec, 2, b);
3476 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, d, vec, 3, b);
3477 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 4, d, vec, 4, b);
3479 // from vec s to pnt d
3480 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, d, vec, 1, s);
3481 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, d, vec, 2, s);
3482 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, d, vec, 3, s);
3483 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, d, vec, 4, s);
3485 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 2, d, vec, 1, s);
3486 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, d, vec, 2, s);
3487 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, d, vec, 3, s);
3488 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, d, vec, 4, s);
3490 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, d, vec, 1, s);
3491 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, d, vec, 2, s);
3492 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, d, vec, 3, s);
3493 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, d, vec, 4, s);
3495 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, d, vec, 1, s);
3496 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, d, vec, 2, s);
3497 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, d, vec, 3, s);
3498 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 4, d, vec, 4, s);
3500 // from vec f to pnt d
3501 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, d, vec, 1, f);
3502 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, d, vec, 2, f);
3503 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, d, vec, 3, f);
3504 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, d, vec, 4, f);
3506 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 2, d, vec, 1, f);
3507 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, d, vec, 2, f);
3508 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, d, vec, 3, f);
3509 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, d, vec, 4, f);
3511 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, d, vec, 1, f);
3512 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, d, vec, 2, f);
3513 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, d, vec, 3, f);
3514 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, d, vec, 4, f);
3516 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, d, vec, 1, f);
3517 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, d, vec, 2, f);
3518 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, d, vec, 3, f);
3519 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 4, d, vec, 4, f);
3521 // from vec d to pnt d
3522 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, d, vec, 1, d);
3523 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, d, vec, 2, d);
3524 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, d, vec, 3, d);
3525 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 1, d, vec, 4, d);
3527 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 2, d, vec, 1, d);
3528 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, d, vec, 2, d);
3529 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, d, vec, 3, d);
3530 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 2, d, vec, 4, d);
3532 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, d, vec, 1, d);
3533 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 3, d, vec, 2, d);
3534 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, d, vec, 3, d);
3535 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 3, d, vec, 4, d);
3537 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, d, vec, 1, d);
3538 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, d, vec, 2, d);
3539 OSG_CONVERT_NORM_TO_LARGER (Out, pnt, 4, d, vec, 3, d);
3540 OSG_CONVERT_NORM_TO_SMALLER(Out, pnt, 4, d, vec, 4, d);
3543 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_Out_Vec_To_Col3ub)
3545 // vec to col3ub
3546 OSG_CONVERT_NORM_TO_LARGER (Out, col, 3, ub, vec, 1, b);
3547 OSG_CONVERT_NORM_TO_LARGER (Out, col, 3, ub, vec, 2, b);
3548 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 3, ub, vec, 3, b);
3549 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 3, ub, vec, 4, b);
3551 OSG_CONVERT_NORM_TO_LARGER (Out, col, 3, ub, vec, 1, s);
3552 OSG_CONVERT_NORM_TO_LARGER (Out, col, 3, ub, vec, 2, s);
3553 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 3, ub, vec, 3, s);
3554 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 3, ub, vec, 4, s);
3556 OSG_CONVERT_NORM_TO_LARGER (Out, col, 3, ub, vec, 1, f);
3557 OSG_CONVERT_NORM_TO_LARGER (Out, col, 3, ub, vec, 2, f);
3558 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 3, ub, vec, 3, f);
3559 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 3, ub, vec, 4, f);
3561 OSG_CONVERT_NORM_TO_LARGER (Out, col, 3, ub, vec, 1, d);
3562 OSG_CONVERT_NORM_TO_LARGER (Out, col, 3, ub, vec, 2, d);
3563 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 3, ub, vec, 3, d);
3564 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 3, ub, vec, 4, d);
3567 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_Out_Vec_To_Col3f)
3569 // vec to col3f
3570 OSG_CONVERT_NORM_TO_LARGER (Out, col, 3, f, vec, 1, b);
3571 OSG_CONVERT_NORM_TO_LARGER (Out, col, 3, f, vec, 2, b);
3572 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 3, f, vec, 3, b);
3573 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 3, f, vec, 4, b);
3575 OSG_CONVERT_NORM_TO_LARGER (Out, col, 3, f, vec, 1, s);
3576 OSG_CONVERT_NORM_TO_LARGER (Out, col, 3, f, vec, 2, s);
3577 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 3, f, vec, 3, s);
3578 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 3, f, vec, 4, s);
3580 OSG_CONVERT_NORM_TO_LARGER (Out, col, 3, f, vec, 1, f);
3581 OSG_CONVERT_NORM_TO_LARGER (Out, col, 3, f, vec, 2, f);
3582 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 3, f, vec, 3, f);
3583 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 3, f, vec, 4, f);
3585 OSG_CONVERT_NORM_TO_LARGER (Out, col, 3, f, vec, 1, d);
3586 OSG_CONVERT_NORM_TO_LARGER (Out, col, 3, f, vec, 2, d);
3587 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 3, f, vec, 3, d);
3588 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 3, f, vec, 4, d);
3591 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_Out_Vec_To_Col4ub)
3593 // vec to col4ub
3594 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, ub, vec, 1, b);
3595 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, ub, vec, 2, b);
3596 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, ub, vec, 3, b);
3597 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 4, ub, vec, 4, b);
3599 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, ub, vec, 1, s);
3600 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, ub, vec, 2, s);
3601 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, ub, vec, 3, s);
3602 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 4, ub, vec, 4, s);
3604 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, ub, vec, 1, f);
3605 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, ub, vec, 2, f);
3606 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, ub, vec, 3, f);
3607 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 4, ub, vec, 4, f);
3609 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, ub, vec, 1, d);
3610 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, ub, vec, 2, d);
3611 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, ub, vec, 3, d);
3612 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 4, ub, vec, 4, d);
3615 TEST_FIXTURE(GeoConvertFixture, GeoConvertNormalize_Out_Vec_To_Col4f)
3617 // vec to col4f
3618 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, f, vec, 1, b);
3619 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, f, vec, 2, b);
3620 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, f, vec, 3, b);
3621 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 4, f, vec, 4, b);
3623 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, f, vec, 1, s);
3624 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, f, vec, 2, s);
3625 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, f, vec, 3, s);
3626 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 4, f, vec, 4, s);
3628 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, f, vec, 1, f);
3629 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, f, vec, 2, f);
3630 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, f, vec, 3, f);
3631 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 4, f, vec, 4, f);
3633 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, f, vec, 1, d);
3634 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, f, vec, 2, d);
3635 OSG_CONVERT_NORM_TO_LARGER (Out, col, 4, f, vec, 3, d);
3636 OSG_CONVERT_NORM_TO_SMALLER(Out, col, 4, f, vec, 4, d);
3639 #undef OSG_CONVERT_CHECK_1
3640 #undef OSG_CONVERT_CHECK_2
3641 #undef OSG_CONVERT_CHECK_3
3642 #undef OSG_CONVERT_CHECK_4
3643 #undef OSG_CONVERT_CHECK
3644 #undef OSG_CONVERT_TO_LARGER
3645 #undef OSG_CONVERT_TO_SMALLER
3646 #undef OSG_CONVERT_NORM_TO_LARGER
3647 #undef OSG_CONVERT_NORM_TO_SMALLER