1#ifndef COIN_SBTYPEINFO_H
2#define COIN_SBTYPEINFO_H
62#include <Inventor/system/inttypes.h>
216 typedef const T & ParamType;
220struct SbTypeInfo<float> {
222 typedef Type ParamType;
240struct SbTypeInfo<double> {
242 typedef Type ParamType;
244 typedef SbVec2d Vec2Type;
245 typedef SbVec3d Vec3Type;
246 typedef SbVec4d Vec4Type;
247 typedef SbBox2d Box2Type;
248 typedef SbBox3d Box3Type;
250 typedef SoSFDouble SFieldType;
251 typedef SoMFDouble MFieldType;
253 typedef SbDPPlane PlaneType;
254 typedef SbDPLine LineType;
255 typedef SbDPMatrix MatrixType;
256 typedef SbDPRotation RotationType;
260struct SbTypeInfo<int8_t> {
262 typedef Type ParamType;
264 typedef SbVec2b Vec2Type;
265 typedef SbVec3b Vec3Type;
266 typedef SbVec4b Vec4Type;
270struct SbTypeInfo<uint8_t> {
271 typedef uint8_t Type;
272 typedef Type ParamType;
274 typedef SbVec2ub Vec2Type;
275 typedef SbVec3ub Vec3Type;
276 typedef SbVec4ub Vec4Type;
280struct SbTypeInfo<short> {
282 typedef Type ParamType;
284 typedef SbVec2s Vec2Type;
285 typedef SbVec3s Vec3Type;
286 typedef SbVec4s Vec4Type;
287 typedef SbBox2s Box2Type;
288 typedef SbBox3s Box3Type;
290 typedef SoSFShort SFieldType;
291 typedef SoMFShort MFieldType;
295struct SbTypeInfo<unsigned short> {
296 typedef unsigned short Type;
297 typedef Type ParamType;
299 typedef SbVec2us Vec2Type;
300 typedef SbVec3us Vec3Type;
301 typedef SbVec4us Vec4Type;
303 typedef SoSFUShort SFieldType;
304 typedef SoMFUShort MFieldType;
308struct SbTypeInfo<int32_t> {
309 typedef int32_t Type;
310 typedef Type ParamType;
312 typedef SbVec2i32 Vec2Type;
313 typedef SbVec3i32 Vec3Type;
314 typedef SbVec4i32 Vec4Type;
315 typedef SbBox2i32 Box2Type;
316 typedef SbBox3i32 Box3Type;
318 typedef SoSFInt32 SFieldType;
319 typedef SoMFInt32 MFieldType;
323struct SbTypeInfo<uint32_t> {
324 typedef uint32_t Type;
325 typedef Type ParamType;
327 typedef SbVec2ui32 Vec2Type;
328 typedef SbVec3ui32 Vec3Type;
329 typedef SbVec4ui32 Vec4Type;
331 typedef SoSFUInt32 SFieldType;
332 typedef SoMFUInt32 MFieldType;
338 typedef SbVec2f Type;
339 typedef const Type & ParamType;
341 typedef float PrimitiveType;
342 enum { Dimensions = 2 };
344 typedef SbBox2f BoxType;
346 typedef SoSFVec2f SFieldType;
347 typedef SoMFVec2f MFieldType;
352 typedef SbVec2d Type;
353 typedef const Type & ParamType;
355 typedef double PrimitiveType;
356 enum { Dimensions = 2 };
358 typedef SbBox2d BoxType;
360 typedef SoSFVec2d SFieldType;
361 typedef SoMFVec2d MFieldType;
366 typedef SbVec2b Type;
367 typedef Type ParamType;
369 typedef int8_t PrimitiveType;
370 enum { Dimensions = 2 };
372 typedef SoSFVec2b SFieldType;
373 typedef SoMFVec2b MFieldType;
378 typedef SbVec2ub Type;
379 typedef Type ParamType;
381 typedef uint8_t PrimitiveType;
382 enum { Dimensions = 2 };
387 typedef SbVec2s Type;
388 typedef Type ParamType;
390 typedef short PrimitiveType;
391 enum { Dimensions = 2 };
393 typedef SbBox2s BoxType;
395 typedef SoSFVec2s SFieldType;
396 typedef SoMFVec2s MFieldType;
401 typedef SbVec2us Type;
402 typedef Type ParamType;
404 typedef unsigned short PrimitiveType;
405 enum { Dimensions = 2 };
410 typedef SbVec2i32 Type;
411 typedef const Type & ParamType;
413 typedef int32_t PrimitiveType;
414 enum { Dimensions = 2 };
416 typedef SbBox2i32 BoxType;
418 typedef SoSFVec2i32 SFieldType;
419 typedef SoMFVec2i32 MFieldType;
424 typedef SbVec2ui32 Type;
425 typedef const Type & ParamType;
427 typedef uint32_t PrimitiveType;
428 enum { Dimensions = 2 };
433 typedef SbVec3f Type;
434 typedef const Type & ParamType;
436 typedef float PrimitiveType;
437 enum { Dimensions = 3 };
439 typedef SbBox3f BoxType;
441 typedef SoSFVec3f SFieldType;
442 typedef SoMFVec3f MFieldType;
447 typedef SbVec3d Type;
448 typedef const Type & ParamType;
450 typedef double PrimitiveType;
451 enum { Dimensions = 3 };
453 typedef SbBox3d BoxType;
455 typedef SoSFVec3d SFieldType;
456 typedef SoMFVec3d MFieldType;
461 typedef SbVec3b Type;
462 typedef Type ParamType;
464 typedef int8_t PrimitiveType;
465 enum { Dimensions = 3 };
467 typedef SoSFVec3b SFieldType;
468 typedef SoMFVec3b MFieldType;
473 typedef SbVec3ub Type;
474 typedef Type ParamType;
476 typedef uint8_t PrimitiveType;
477 enum { Dimensions = 3 };
482 typedef SbVec3s Type;
483 typedef const Type & ParamType;
485 typedef short PrimitiveType;
486 enum { Dimensions = 3 };
488 typedef SbBox3s BoxType;
490 typedef SoSFVec3s SFieldType;
491 typedef SoMFVec3s MFieldType;
496 typedef SbVec3us Type;
497 typedef const Type & ParamType;
499 typedef unsigned short PrimitiveType;
500 enum { Dimensions = 3 };
505 typedef SbVec3i32 Type;
506 typedef const Type & ParamType;
508 typedef int32_t PrimitiveType;
509 enum { Dimensions = 3 };
511 typedef SbBox3i32 BoxType;
513 typedef SoSFVec3i32 SFieldType;
514 typedef SoMFVec3i32 MFieldType;
519 typedef SbVec3ui32 Type;
520 typedef const Type & ParamType;
522 typedef uint32_t PrimitiveType;
523 enum { Dimensions = 3 };
528 typedef SbVec4f Type;
529 typedef const Type & ParamType;
531 typedef float PrimitiveType;
532 enum { Dimensions = 4 };
534 typedef SoSFVec4f SFieldType;
535 typedef SoMFVec4f MFieldType;
540 typedef SbVec4d Type;
541 typedef const Type & ParamType;
543 typedef double PrimitiveType;
544 enum { Dimensions = 4 };
546 typedef SoSFVec4d SFieldType;
547 typedef SoMFVec4d MFieldType;
552 typedef SbVec4b Type;
553 typedef Type ParamType;
555 typedef int8_t PrimitiveType;
556 enum { Dimensions = 4 };
558 typedef SoSFVec4b SFieldType;
559 typedef SoMFVec4b MFieldType;
564 typedef SbVec4ub Type;
565 typedef Type ParamType;
567 typedef uint8_t PrimitiveType;
568 enum { Dimensions = 4 };
570 typedef SoSFVec4ub SFieldType;
571 typedef SoMFVec4ub MFieldType;
576 typedef SbVec4s Type;
577 typedef const Type & ParamType;
579 typedef short PrimitiveType;
580 enum { Dimensions = 4 };
582 typedef SoSFVec4s SFieldType;
583 typedef SoMFVec4s MFieldType;
588 typedef SbVec4us Type;
589 typedef const Type & ParamType;
591 typedef unsigned short PrimitiveType;
592 enum { Dimensions = 4 };
594 typedef SoSFVec4us SFieldType;
595 typedef SoMFVec4us MFieldType;
600 typedef SbVec4i32 Type;
601 typedef const Type & ParamType;
603 typedef int32_t PrimitiveType;
604 enum { Dimensions = 4 };
606 typedef SoSFVec4i32 SFieldType;
607 typedef SoMFVec4i32 MFieldType;
612 typedef SbVec4ui32 Type;
613 typedef const Type & ParamType;
615 typedef uint32_t PrimitiveType;
616 enum { Dimensions = 4 };
618 typedef SoSFVec4ui32 SFieldType;
619 typedef SoMFVec4ui32 MFieldType;
624 typedef SbBox2f Type;
625 typedef const Type & ParamType;
627 typedef float PrimitiveType;
628 enum { Dimensions = 2 };
630 typedef SbVec2f VecType;
632 typedef SoSFBox2f SFieldType;
637 typedef SbBox2d Type;
638 typedef const Type & ParamType;
640 typedef double PrimitiveType;
641 enum { Dimensions = 2 };
643 typedef SbVec2d VecType;
645 typedef SoSFBox2d SFieldType;
650 typedef SbBox2s Type;
651 typedef const Type & ParamType;
653 typedef short PrimitiveType;
654 enum { Dimensions = 2 };
656 typedef SbVec2s VecType;
658 typedef SoSFBox2s SFieldType;
663 typedef SbBox2i32 Type;
664 typedef const Type & ParamType;
666 typedef int32_t PrimitiveType;
667 enum { Dimensions = 2 };
669 typedef SbVec2i32 VecType;
671 typedef SoSFBox2i32 SFieldType;
676 typedef SbBox3f Type;
677 typedef const Type & ParamType;
679 typedef float PrimitiveType;
680 enum { Dimensions = 3 };
682 typedef SbVec3f VecType;
684 typedef SoSFBox3f SFieldType;
689 typedef SbBox3d Type;
690 typedef const Type & ParamType;
692 typedef double PrimitiveType;
693 enum { Dimensions = 3 };
695 typedef SbVec3d VecType;
697 typedef SoSFBox3d SFieldType;
702 typedef SbBox3s Type;
703 typedef const Type & ParamType;
705 typedef short PrimitiveType;
706 enum { Dimensions = 3 };
708 typedef SbVec3s VecType;
710 typedef SoSFBox3s SFieldType;
715 typedef SbBox3i32 Type;
716 typedef const Type & ParamType;
718 typedef int32_t PrimitiveType;
719 enum { Dimensions = 3 };
721 typedef SbVec3i32 VecType;
723 typedef SoSFBox3i32 SFieldType;
728 typedef SbPlane Type;
729 typedef const Type & ParamType;
731 typedef float PrimitiveType;
732 enum { Dimensions = 3 };
734 typedef SoSFPlane SFieldType;
735 typedef SoMFPlane MFieldType;
739struct SbTypeInfo<SbDPPlane> {
740 typedef SbDPPlane Type;
741 typedef const Type & ParamType;
743 typedef double PrimitiveType;
744 enum { Dimensions = 3 };
748struct SbTypeInfo<
SbLine> {
750 typedef const Type & ParamType;
752 typedef float PrimitiveType;
753 enum { Dimensions = 3 };
757struct SbTypeInfo<SbDPLine> {
758 typedef SbDPLine Type;
759 typedef const Type & ParamType;
761 typedef double PrimitiveType;
762 enum { Dimensions = 3 };
767 typedef SbRotation Type;
768 typedef const Type & ParamType;
770 typedef float PrimitiveType;
772 typedef SoSFRotation SFieldType;
773 typedef SoMFRotation MFieldType;
777struct SbTypeInfo<SbDPRotation> {
778 typedef SbDPRotation Type;
779 typedef const Type & ParamType;
781 typedef double PrimitiveType;
786 typedef SbMatrix Type;
787 typedef const Type & ParamType;
789 typedef float PrimitiveType;
791 typedef SoSFMatrix SFieldType;
792 typedef SoMFMatrix MFieldType;
797 typedef SbDPMatrix Type;
798 typedef const Type & ParamType;
800 typedef double PrimitiveType;
The SbBox2d class is a 2 dimensional box with double precision corner coordinates.
Definition SbBox2d.h:33
The SbBox2f class is a 2 dimensional box with floating point corner coordinates.
Definition SbBox2f.h:33
The SbBox2i32 class is a 2 dimensional box with int32_t coordinates.
Definition SbBox2i32.h:34
The SbBox2s class is a 2 dimensional box with short integer coordinates.
Definition SbBox2s.h:34
The SbBox3d class is an abstraction for an axis aligned 3 dimensional box.
Definition SbBox3d.h:37
The SbBox3f class is an abstraction for an axis aligned 3 dimensional box.
Definition SbBox3f.h:37
Definition SbBox3i32.h:35
The SbBox3s class is a 3 dimensional box with short integer coordinates.
Definition SbBox3s.h:34
The SbColor4f class contains the red, green, blue and alpha components which make up a color value.
Definition SbColor4f.h:32
The SbColor class contains the red, green and blue components which make up a color value.
Definition SbColor.h:30
The SbDPMatrix class is a 4x4 dimensional representation of a double-precision matrix.
Definition SbDPMatrix.h:38
The SbLine class represents a line in 3D space.
Definition SbLine.h:32
The SbMatrix class is a 4x4 dimensional representation of a matrix.
Definition SbMatrix.h:37
The SbName class stores strings by reference.
Definition SbName.h:31
The SbPlane class represents a plane in 3D space.
Definition SbPlane.h:34
The SbRotation class represents a rotation in 3D space.
Definition SbRotation.h:33
The SbString class is a string class with convenience functions for string operations.
Definition SbString.h:42
The SbTime class instances represents time values.
Definition SbTime.h:41
The SbVec2b class is a 2 dimensional vector with 8-bit integer coordinates.
Definition SbVec2b.h:37
The SbVec2d class is a 2 dimensional vector with double precision floating point coordinates.
Definition SbVec2d.h:36
The SbVec2f class is a 2 dimensional vector with floating point coordinates.
Definition SbVec2f.h:36
The SbVec2i32 class is a 2 dimensional vector with 32-bit integer coordinates.
Definition SbVec2i32.h:39
The SbVec2s class is a 2 dimensional vector with short integer coordinates.
Definition SbVec2s.h:37
The SbVec2ub class is a 2 dimensional vector with unsigned 8-bit integer coordinates.
Definition SbVec2ub.h:37
The SbVec2ub class is a 2 dimensional vector with unsigned 32-bit integer coordinates.
Definition SbVec2ui32.h:37
The SbVec2us class is a 2 dimensional vector with unsigned short integer coordinates.
Definition SbVec2us.h:37
The SbVec3b class is a 3 dimensional vector with 8-bit integer coordinates.
Definition SbVec3b.h:37
The SbVec3d class is a 3 dimensional vector with double precision floating point coordinates.
Definition SbVec3d.h:35
The SbVec3f class is a 3 dimensional vector with floating point coordinates.
Definition SbVec3f.h:37
The SbVec3i32 class is a 3 dimensional vector with 32-bit integer coordinates.
Definition SbVec3i32.h:39
The SbVec3s class is a 3 dimensional vector with short integer coordinates.
Definition SbVec3s.h:36
The SbVec3ub class is a 3 dimensional vector with unsigned 8-bit integer coordinates.
Definition SbVec3ub.h:37
The SbVec3ui32 class is a 3 dimensional vector with unsigned 33-bit integer coordinates.
Definition SbVec3ui32.h:37
The SbVec3us class is a 3 dimensional vector with unsigned short integer coordinates.
Definition SbVec3us.h:37
The SbVec4b class is a 4 dimensional vector with 8-bit integer coordinates.
Definition SbVec4b.h:37
The SbVec4d class is a 4 dimensional vector with double precision floating point coordinates.
Definition SbVec4d.h:34
The SbVec4f class is a 4 dimensional vector with floating point coordinates.
Definition SbVec4f.h:34
The SbVec4i32 class is a 4 dimensional vector with 32-bit integer coordinates.
Definition SbVec4i32.h:37
The SbVec4s class is a 4 dimensional vector with short integer coordinates.
Definition SbVec4s.h:37
The SbVec4ub class is a 4 dimensional vector with unsigned 8-bit integer coordinates.
Definition SbVec4ub.h:37
The SbVec4ui32 class is a 4 dimensional vector with unsigned 32-bit integer coordinates.
Definition SbVec4ui32.h:37
The SbVec4us class is a 4 dimensional vector with unsigned short integer coordinates.
Definition SbVec4us.h:37
The SoMFBitMask class is a container for a set of bitmasks.
Definition SoMFBitMask.h:29
The SoMFBool class is a container for SbBool values.
Definition SoMFBool.h:30
The SoMFColor class is a container for SbColor values.
Definition SoMFColor.h:31
The SoMFDouble class is a container for double float precision point values.
Definition SoMFDouble.h:30
The SoMFEngine class is a container for engines.
Definition SoMFEngine.h:32
The SoMFEnum class is a container for a set of enumerated values.
Definition SoMFEnum.h:30
The SoMFFloat class is a container for floating point values.
Definition SoMFFloat.h:30
The SoMFInt32 class is a container for 32-bit integer values.
Definition SoMFInt32.h:30
The SoMFMatrix class is a container for SbMatrix values.
Definition SoMFMatrix.h:31
The SoMFName class is a container for SbName values.
Definition SoMFName.h:31
The SoMFNode class is a container for nodes.
Definition SoMFNode.h:32
The SoMFPath class is a container for paths.
Definition SoMFPath.h:35
The SoMFPlane class is a container for SbPlane values.
Definition SoMFPlane.h:31
The SoMFRotation class is a container for SbRotation values.
Definition SoMFRotation.h:31
The SoMFShort class is a container for short integer values.
Definition SoMFShort.h:30
The SoMFString class is a container for SbString values.
Definition SoMFString.h:31
The SoMFTime class is a container for SbTime values.
Definition SoMFTime.h:31
The SoMFUInt32 class is a container for 32-bit unsigned integer values.
Definition SoMFUInt32.h:30
The SoMFUShort class is a container for unsigned short integer values.
Definition SoMFUShort.h:30
The SoMFVec2b class is a container for SbVec2b vectors.
Definition SoMFVec2b.h:31
The SoMFVec2d class is a container for SbVec2d vectors.
Definition SoMFVec2d.h:31
The SoMFVec2f class is a container for SbVec2f vectors.
Definition SoMFVec2f.h:31
The SoMFVec2i32 class is a container for SbVec2i32 vectors.
Definition SoMFVec2i32.h:31
The SoMFVec2s class is a container for SbVec2s vectors.
Definition SoMFVec2s.h:31
The SoMFVec3b class is a container for SbVec3b vectors.
Definition SoMFVec3b.h:31
The SoMFVec3d class is a container for SbVec3d vectors.
Definition SoMFVec3d.h:31
The SoMFVec3f class is a container for SbVec3f vectors.
Definition SoMFVec3f.h:31
The SoMFVec3i32 class is a container for SbVec3i32 vectors.
Definition SoMFVec3i32.h:31
The SoMFVec3s class is a container for SbVec3s vectors.
Definition SoMFVec3s.h:31
The SoMFVec4b class is a container for SbVec4b vectors.
Definition SoMFVec4b.h:31
The SoMFVec4d class is a container for SbVec4d vectors.
Definition SoMFVec4d.h:31
The SoMFVec4f class is a container for SbVec4f vectors.
Definition SoMFVec4f.h:31
The SoMFVec4i32 class is a container for SbVec4i32 vectors.
Definition SoMFVec4i32.h:31
The SoMFVec4s class is a container for SbVec4s vectors.
Definition SoMFVec4s.h:31
The SoMFVec4ub class is a container for SbVec4ub vectors.
Definition SoMFVec4ub.h:31
The SoMFVec4ui32 class is a container for SbVec4ui32 vectors.
Definition SoMFVec4ui32.h:31
The SoMFVec4us class is a container for SbVec4us vectors.
Definition SoMFVec4us.h:31
The SoSFBitMask class is a container for a set of bit flags.
Definition SoSFBitMask.h:29
The SoSFBool class is a container for an SbBool value.
Definition SoSFBool.h:30
The SoSFBox2d class is a container for an SbBox2d vector.
Definition SoSFBox2d.h:31
The SoSFBox2f class is a container for an SbBox2f vector.
Definition SoSFBox2f.h:31
The SoSFBox2i32 class is a container for an SbBox2i32 vector.
Definition SoSFBox2i32.h:31
The SoSFBox2s class is a container for an SbBox2s vector.
Definition SoSFBox2s.h:31
The SoSFBox3d class is a container for an SbBox3d vector.
Definition SoSFBox3d.h:31
The SoSFBox3f class is a container for an SbBox3f vector.
Definition SoSFBox3f.h:32
The SoSFBox3i32 class is a container for an SbBox3i32 vector.
Definition SoSFBox3i32.h:31
The SoSFBox3s class is a container for an SbBox3s vector.
Definition SoSFBox3s.h:32
The SoSFColor class is a container for an SbColor value.
Definition SoSFColor.h:31
The SoSFDouble class is a container for a double precision floating point value.
Definition SoSFDouble.h:30
The SoSFEngine class is a container for a single engine.
Definition SoSFEngine.h:38
The SoSFEnum class is a container for an enum value.
Definition SoSFEnum.h:31
The SoSFFloat class is a container for a floating point value.
Definition SoSFFloat.h:30
The SoSFImage3 class is used to store 3D (volume) images.
Definition SoSFImage3.h:31
The SoSFImage class is used to store pixel images.
Definition SoSFImage.h:32
The SoSFInt32 class is a container for a 32-bit integer value.
Definition SoSFInt32.h:30
The SoSFMatrix class is a container for an SbMatrix.
Definition SoSFMatrix.h:31
The SoSFName class is a container for an SbName.
Definition SoSFName.h:31
The SoSFNode class is a container for a single node.
Definition SoSFNode.h:38
The SoSFPath class is a container for a single path.
Definition SoSFPath.h:34
The SoSFPlane class is a container for an SbPlane value.
Definition SoSFPlane.h:31
The SoSFRotation class is a container for an SbRotation.
Definition SoSFRotation.h:31
The SoSFShort class is a container for a short integer value.
Definition SoSFShort.h:30
The SoSFString class is a container for an SbString.
Definition SoSFString.h:31
The SoSFTime class is a container for an SbTime value.
Definition SoSFTime.h:31
The SoSFTrigger class is the "void" class used for detecting field changes.
Definition SoSFTrigger.h:32
The SoSFUInt32 class is a container for a 32-bit unsigned integer value.
Definition SoSFUInt32.h:30
The SoSFUShort class is a container for a unsigned short integer value.
Definition SoSFUShort.h:30
The SoSFVec2b class is a container for an SbVec2b vector.
Definition SoSFVec2b.h:31
The SoSFVec2d class is a container for an SbVec2d vector.
Definition SoSFVec2d.h:31
The SoSFVec2f class is a container for an SbVec2f vector.
Definition SoSFVec2f.h:31
The SoSFVec2i32 class is a container for an SbVec2i32 vector.
Definition SoSFVec2i32.h:31
The SoSFVec2s class is a container for an SbVec2s vector.
Definition SoSFVec2s.h:31
The SoSFVec3b class is a container for an SbVec3b vector.
Definition SoSFVec3b.h:31
The SoSFVec3d class is a container for an SbVec3d vector.
Definition SoSFVec3d.h:31
The SoSFVec3f class is a container for an SbVec3f vector.
Definition SoSFVec3f.h:31
The SoSFVec3i32 class is a container for an SbVec3i32 vector.
Definition SoSFVec3i32.h:31
The SoSFVec3s class is a container for an SbVec3s vector.
Definition SoSFVec3s.h:31
The SoSFVec4b class is a container for an SbVec4b vector.
Definition SoSFVec4b.h:31
The SoSFVec4d class is a container for an SbVec4d vector.
Definition SoSFVec4d.h:31
The SoSFVec4f class is a container for an SbVec4f vector.
Definition SoSFVec4f.h:31
The SoSFVec4i32 class is a container for an SbVec4i32 vector.
Definition SoSFVec4i32.h:31
The SoSFVec4s class is a container for an SbVec4s vector.
Definition SoSFVec4s.h:31
The SoSFVec4ub class is a container for an SbVec4ub vector.
Definition SoSFVec4ub.h:31
The SoSFVec4ui32 class is a container for an SbVec4ui32 vector.
Definition SoSFVec4ui32.h:31
The SoSFVec4us class is a container for an SbVec4us vector.
Definition SoSFVec4us.h:31