fixed: auto_ptr -> unique_ptr
[opensg.git] / Source / Base / Field / OSGVecSFields.h
blobf02199c36214c6046e6d3d31299ae3d11e277cba
1 /*---------------------------------------------------------------------------*\
2 * OpenSG *
3 * *
4 * *
5 * Copyright (C) 2003 by the OpenSG Forum *
6 * *
7 * www.opensg.org *
8 * *
9 * contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de *
10 * *
11 \*---------------------------------------------------------------------------*/
12 /*---------------------------------------------------------------------------*\
13 * License *
14 * *
15 * This library is free software; you can redistribute it and/or modify it *
16 * under the terms of the GNU Library General Public License as published *
17 * by the Free Software Foundation, version 2. *
18 * *
19 * This library is distributed in the hope that it will be useful, but *
20 * WITHOUT ANY WARRANTY; without even the implied warranty of *
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
22 * Library General Public License for more details. *
23 * *
24 * You should have received a copy of the GNU Library General Public *
25 * License along with this library; if not, write to the Free Software *
26 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
27 * *
28 \*---------------------------------------------------------------------------*/
29 /*---------------------------------------------------------------------------*\
30 * Changes *
31 * *
32 * *
33 * *
34 * *
35 * *
36 * *
37 \*---------------------------------------------------------------------------*/
39 #ifndef _OSGVECSFIELDS_H_
40 #define _OSGVECSFIELDS_H_
41 #ifdef __sgi
42 #pragma once
43 #endif
45 #include "OSGSField.h"
46 #include "OSGVecFieldTraits.h"
48 OSG_BEGIN_NAMESPACE
50 #ifndef DOXYGEN_SHOULD_SKIP_THIS
52 /*! \ingroup GrpBaseFieldSingle */
53 typedef SField<Vec2ub> SFVec2ub;
56 #ifndef OSG_NO_INT8_PNT
57 /*! \ingroup GrpBaseFieldSingle */
58 typedef SField<Vec2b> SFVec2b;
59 #endif
62 /*! \ingroup GrpBaseFieldSingle */
63 typedef SField<Vec2us> SFVec2us;
66 /*! \ingroup GrpBaseFieldSingle */
67 typedef SField<Vec2s> SFVec2s;
70 /*! \ingroup GrpBaseFieldSingle */
71 typedef SField<Vec2u> SFVec2u;
74 /*! \ingroup GrpBaseFieldSingle */
75 typedef SField<Vec2i> SFVec2i;
78 /*! \ingroup GrpBaseFieldSingle */
79 typedef SField<Vec2f> SFVec2f;
82 /*! \ingroup GrpBaseFieldSingle */
83 typedef SField<Vec2fx> SFVec2fx;
86 /*! \ingroup GrpBaseFieldSingle */
87 typedef SField<Vec2d> SFVec2d;
90 /*! \ingroup GrpBaseFieldSingle */
91 typedef SField<Vec2ld> SFVec2ld;
97 /*! \ingroup GrpBaseFieldSingle */
98 typedef SField<Vec3ub> SFVec3ub;
101 #ifndef OSG_NO_INT8_PNT
102 /*! \ingroup GrpBaseFieldSingle */
103 typedef SField<Vec3b> SFVec3b;
104 #endif
107 /*! \ingroup GrpBaseFieldSingle */
108 typedef SField<Vec3us> SFVec3us;
111 /*! \ingroup GrpBaseFieldSingle */
112 typedef SField<Vec3s> SFVec3s;
115 /*! \ingroup GrpBaseFieldSingle */
116 typedef SField<Vec3u> SFVec3u;
119 /*! \ingroup GrpBaseFieldSingle */
120 typedef SField<Vec3i> SFVec3i;
123 /*! \ingroup GrpBaseFieldSingle */
124 typedef SField<Vec3f> SFVec3f;
127 /*! \ingroup GrpBaseFieldSingle */
128 typedef SField<Vec3fx> SFVec3fx;
131 /*! \ingroup GrpBaseFieldSingle */
132 typedef SField<Vec3d> SFVec3d;
135 /*! \ingroup GrpBaseFieldSingle */
136 typedef SField<Vec3ld> SFVec3ld;
142 /*! \ingroup GrpBaseFieldSingle */
143 typedef SField<Vec4ub> SFVec4ub;
146 #ifndef OSG_NO_INT8_PNT
147 /*! \ingroup GrpBaseFieldSingle */
148 typedef SField<Vec4b> SFVec4b;
149 #endif
152 /*! \ingroup GrpBaseFieldSingle */
153 typedef SField<Vec4us> SFVec4us;
156 /*! \ingroup GrpBaseFieldSingle */
157 typedef SField<Vec4s> SFVec4s;
160 /*! \ingroup GrpBaseFieldSingle */
161 typedef SField<Vec4u> SFVec4u;
164 /*! \ingroup GrpBaseFieldSingle */
165 typedef SField<Vec4i> SFVec4i;
168 /*! \ingroup GrpBaseFieldSingle */
169 typedef SField<Vec4f> SFVec4f;
172 /*! \ingroup GrpBaseFieldSingle */
173 typedef SField<Vec4fx> SFVec4fx;
176 /*! \ingroup GrpBaseFieldSingle */
177 typedef SField<Vec4d> SFVec4d;
180 /*! \ingroup GrpBaseFieldSingle */
181 typedef SField<Vec4ld> SFVec4ld;
186 /*! \ingroup GrpBaseFieldSingle */
187 typedef SField<Pnt2ub> SFPnt2ub;
190 #ifndef OSG_NO_INT8_PNT
191 /*! \ingroup GrpBaseFieldSingle */
192 typedef SField<Pnt2b> SFPnt2b;
193 #endif
196 /*! \ingroup GrpBaseFieldSingle */
197 typedef SField<Pnt2us> SFPnt2us;
200 /*! \ingroup GrpBaseFieldSingle */
201 typedef SField<Pnt2s> SFPnt2s;
204 /*! \ingroup GrpBaseFieldSingle */
205 typedef SField<Pnt2f> SFPnt2f;
208 /*! \ingroup GrpBaseFieldSingle */
209 typedef SField<Pnt2fx> SFPnt2fx;
212 /*! \ingroup GrpBaseFieldSingle */
213 typedef SField<Pnt2d> SFPnt2d;
216 /*! \ingroup GrpBaseFieldSingle */
217 typedef SField<Pnt2ld> SFPnt2ld;
223 /*! \ingroup GrpBaseFieldSingle */
224 typedef SField<Pnt3ub> SFPnt3ub;
227 #ifndef OSG_NO_INT8_PNT
228 /*! \ingroup GrpBaseFieldSingle */
229 typedef SField<Pnt3b> SFPnt3b;
230 #endif
233 /*! \ingroup GrpBaseFieldSingle */
234 typedef SField<Pnt3us> SFPnt3us;
237 /*! \ingroup GrpBaseFieldSingle */
238 typedef SField<Pnt3s> SFPnt3s;
241 /*! \ingroup GrpBaseFieldSingle */
242 typedef SField<Pnt3f> SFPnt3f;
245 /*! \ingroup GrpBaseFieldSingle */
246 typedef SField<Pnt3fx> SFPnt3fx;
249 /*! \ingroup GrpBaseFieldSingle */
250 typedef SField<Pnt3d> SFPnt3d;
253 /*! \ingroup GrpBaseFieldSingle */
254 typedef SField<Pnt3ld> SFPnt3ld;
260 /*! \ingroup GrpBaseFieldSingle */
261 typedef SField<Pnt4ub> SFPnt4ub;
264 #ifndef OSG_NO_INT8_PNT
265 /*! \ingroup GrpBaseFieldSingle */
266 typedef SField<Pnt4b> SFPnt4b;
267 #endif
270 /*! \ingroup GrpBaseFieldSingle */
271 typedef SField<Pnt4us> SFPnt4us;
274 /*! \ingroup GrpBaseFieldSingle */
275 typedef SField<Pnt4s> SFPnt4s;
278 /*! \ingroup GrpBaseFieldSingle */
279 typedef SField<Pnt4f> SFPnt4f;
282 /*! \ingroup GrpBaseFieldSingle */
283 typedef SField<Pnt4fx> SFPnt4fx;
286 /*! \ingroup GrpBaseFieldSingle */
287 typedef SField<Pnt4d> SFPnt4d;
290 /*! \ingroup GrpBaseFieldSingle */
291 typedef SField<Pnt4ld> SFPnt4ld;
293 #else // these are the doxygen hacks
295 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
296 struct SFVec2ub : public SField<Vec2ub> {};
297 #ifndef OSG_NO_INT8_PNT
298 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
299 struct SFVec2b : public SField<Vec2b> {};
300 #endif
301 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
302 struct SFVec2us : public SField<Vec2us> {};
303 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
304 struct SFVec2s : public SField<Vec2s> {};
305 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
306 struct SFVec2u : public SField<Vec2u> {};
307 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
308 struct SFVec2i : public SField<Vec2i> {};
309 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
310 struct SFVec2f : public SField<Vec2f> {};
311 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
312 struct SFVec2fx : public SField<Vec2fx> {};
313 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
314 struct SFVec2d : public SField<Vec2d> {};
315 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
316 struct SFVec2ld : public SField<Vec2ld> {};
318 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
319 struct SFVec3ub : public SField<Vec3ub> {};
320 #ifndef OSG_NO_INT8_PNT
321 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
322 struct SFVec3b : public SField<Vec3b> {};
323 #endif
324 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
325 struct SFVec3us : public SField<Vec3us> {};
326 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
327 struct SFVec3s : public SField<Vec3s> {};
328 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
329 struct SFVec3u : public SField<Vec3u> {};
330 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
331 struct SFVec3i : public SField<Vec3i> {};
332 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
333 struct SFVec3f : public SField<Vec3f> {};
334 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
335 struct SFVec3fx : public SField<Vec3fx> {};
336 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
337 struct SFVec3d : public SField<Vec3d> {};
338 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
339 struct SFVec3ld : public SField<Vec3ld> {};
341 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
342 struct SFVec4ub : public SField<Vec4ub> {};
343 #ifndef OSG_NO_INT8_PNT
344 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
345 struct SFVec4b : public SField<Vec4b> {};
346 #endif
347 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
348 struct SFVec4us : public SField<Vec4us> {};
349 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
350 struct SFVec4s : public SField<Vec4s> {};
351 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
352 struct SFVec4u : public SField<Vec4u> {};
353 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
354 struct SFVec4i : public SField<Vec4i> {};
355 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
356 struct SFVec4f : public SField<Vec4f> {};
357 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
358 struct SFVec4fx : public SField<Vec4fx> {};
359 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
360 struct SFVec4d : public SField<Vec4d> {};
361 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
362 struct SFVec4ld : public SField<Vec4ld> {};
365 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
366 struct SFPnt2ub : public SField<Pnt2ub> {};
367 #ifndef OSG_NO_INT8_PNT
368 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
369 struct SFPnt2b : public SField<Pnt2b> {};
370 #endif
371 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
372 struct SFPnt2us : public SField<Pnt2us> {};
373 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
374 struct SFPnt2s : public SField<Pnt2s> {};
375 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
376 struct SFPnt2f : public SField<Pnt2f> {};
377 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
378 struct SFPnt2fx : public SField<Pnt2fx> {};
379 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
380 struct SFPnt2d : public SField<Pnt2d> {};
381 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
382 struct SFPnt2ld : public SField<Pnt2ld> {};
384 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
385 struct SFPnt3ub : public SField<Pnt3ub> {};
386 #ifndef OSG_NO_INT8_PNT
387 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
388 struct SFPnt3b : public SField<Pnt3b> {};
389 #endif
390 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
391 struct SFPnt3us : public SField<Pnt3us> {};
392 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
393 struct SFPnt3s : public SField<Pnt3s> {};
394 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
395 struct SFPnt3f : public SField<Pnt3f> {};
396 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
397 struct SFPnt3fx : public SField<Pnt3fx> {};
398 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
399 struct SFPnt3d : public SField<Pnt3d> {};
400 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
401 struct SFPnt3ld : public SField<Pnt3ld> {};
403 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
404 struct SFPnt4ub : public SField<Pnt4ub> {};
405 #ifndef OSG_NO_INT8_PNT
406 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
407 struct SFPnt4b : public SField<Pnt4b> {};
408 #endif
409 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
410 struct SFPnt4us : public SField<Pnt4us> {};
411 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
412 struct SFPnt4s : public SField<Pnt4s> {};
413 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
414 struct SFPnt4f : public SField<Pnt4f> {};
415 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
416 struct SFPnt4fx : public SField<Pnt4fx> {};
417 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
418 struct SFPnt4d : public SField<Pnt4d> {};
419 /*! \ingroup GrpBaseFieldSingle \ingroup GrpLibOSGBase */
420 struct SFPnt4ld : public SField<Pnt4ld> {};
422 #endif // these are the doxygen hacks
424 OSG_END_NAMESPACE
426 #endif /* _OSGVECSFIELDS_H_ */