1 #ifndef COIN_SBTYPEINFO_H
2 #define COIN_SBTYPEINFO_H
62 #include <Inventor/system/inttypes.h>
213 template <
typename T>
216 typedef const T & ParamType;
220 struct SbTypeInfo<float> {
222 typedef Type ParamType;
240 struct SbTypeInfo<double> {
242 typedef Type ParamType;
253 typedef SbDPPlane PlaneType;
254 typedef SbDPLine LineType;
256 typedef SbDPRotation RotationType;
260 struct SbTypeInfo<int8_t> {
262 typedef Type ParamType;
270 struct SbTypeInfo<uint8_t> {
271 typedef uint8_t Type;
272 typedef Type ParamType;
280 struct SbTypeInfo<short> {
282 typedef Type ParamType;
295 struct SbTypeInfo<unsigned short> {
296 typedef unsigned short Type;
297 typedef Type ParamType;
308 struct SbTypeInfo<int32_t> {
309 typedef int32_t Type;
310 typedef Type ParamType;
323 struct SbTypeInfo<uint32_t> {
324 typedef uint32_t Type;
325 typedef Type ParamType;
339 typedef const Type & ParamType;
341 typedef float PrimitiveType;
342 enum { Dimensions = 2 };
353 typedef const Type & ParamType;
355 typedef double PrimitiveType;
356 enum { Dimensions = 2 };
367 typedef Type ParamType;
369 typedef int8_t PrimitiveType;
370 enum { Dimensions = 2 };
379 typedef Type ParamType;
381 typedef uint8_t PrimitiveType;
382 enum { Dimensions = 2 };
388 typedef Type ParamType;
390 typedef short PrimitiveType;
391 enum { Dimensions = 2 };
402 typedef Type ParamType;
404 typedef unsigned short PrimitiveType;
405 enum { Dimensions = 2 };
411 typedef const Type & ParamType;
413 typedef int32_t PrimitiveType;
414 enum { Dimensions = 2 };
425 typedef const Type & ParamType;
427 typedef uint32_t PrimitiveType;
428 enum { Dimensions = 2 };
434 typedef const Type & ParamType;
436 typedef float PrimitiveType;
437 enum { Dimensions = 3 };
448 typedef const Type & ParamType;
450 typedef double PrimitiveType;
451 enum { Dimensions = 3 };
462 typedef Type ParamType;
464 typedef int8_t PrimitiveType;
465 enum { Dimensions = 3 };
474 typedef Type ParamType;
476 typedef uint8_t PrimitiveType;
477 enum { Dimensions = 3 };
483 typedef const Type & ParamType;
485 typedef short PrimitiveType;
486 enum { Dimensions = 3 };
497 typedef const Type & ParamType;
499 typedef unsigned short PrimitiveType;
500 enum { Dimensions = 3 };
506 typedef const Type & ParamType;
508 typedef int32_t PrimitiveType;
509 enum { Dimensions = 3 };
520 typedef const Type & ParamType;
522 typedef uint32_t PrimitiveType;
523 enum { Dimensions = 3 };
529 typedef const Type & ParamType;
531 typedef float PrimitiveType;
532 enum { Dimensions = 4 };
541 typedef const Type & ParamType;
543 typedef double PrimitiveType;
544 enum { Dimensions = 4 };
553 typedef Type ParamType;
555 typedef int8_t PrimitiveType;
556 enum { Dimensions = 4 };
565 typedef Type ParamType;
567 typedef uint8_t PrimitiveType;
568 enum { Dimensions = 4 };
577 typedef const Type & ParamType;
579 typedef short PrimitiveType;
580 enum { Dimensions = 4 };
589 typedef const Type & ParamType;
591 typedef unsigned short PrimitiveType;
592 enum { Dimensions = 4 };
601 typedef const Type & ParamType;
603 typedef int32_t PrimitiveType;
604 enum { Dimensions = 4 };
613 typedef const Type & ParamType;
615 typedef uint32_t PrimitiveType;
616 enum { Dimensions = 4 };
625 typedef const Type & ParamType;
627 typedef float PrimitiveType;
628 enum { Dimensions = 2 };
638 typedef const Type & ParamType;
640 typedef double PrimitiveType;
641 enum { Dimensions = 2 };
651 typedef const Type & ParamType;
653 typedef short PrimitiveType;
654 enum { Dimensions = 2 };
664 typedef const Type & ParamType;
666 typedef int32_t PrimitiveType;
667 enum { Dimensions = 2 };
677 typedef const Type & ParamType;
679 typedef float PrimitiveType;
680 enum { Dimensions = 3 };
690 typedef const Type & ParamType;
692 typedef double PrimitiveType;
693 enum { Dimensions = 3 };
703 typedef const Type & ParamType;
705 typedef short PrimitiveType;
706 enum { Dimensions = 3 };
716 typedef const Type & ParamType;
718 typedef int32_t PrimitiveType;
719 enum { Dimensions = 3 };
729 typedef const Type & ParamType;
731 typedef float PrimitiveType;
732 enum { Dimensions = 3 };
739 struct SbTypeInfo<SbDPPlane> {
740 typedef SbDPPlane Type;
741 typedef const Type & ParamType;
743 typedef double PrimitiveType;
744 enum { Dimensions = 3 };
748 struct SbTypeInfo<
SbLine> {
750 typedef const Type & ParamType;
752 typedef float PrimitiveType;
753 enum { Dimensions = 3 };
757 struct SbTypeInfo<SbDPLine> {
758 typedef SbDPLine Type;
759 typedef const Type & ParamType;
761 typedef double PrimitiveType;
762 enum { Dimensions = 3 };
768 typedef const Type & ParamType;
770 typedef float PrimitiveType;
777 struct SbTypeInfo<SbDPRotation> {
778 typedef SbDPRotation Type;
779 typedef const Type & ParamType;
781 typedef double PrimitiveType;
787 typedef const Type & ParamType;
789 typedef float PrimitiveType;
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