Open Inventor
Release 2024.1.0
Loading...
Searching...
No Matches
SbDataTypeMacros.h
Go to the documentation of this file.
1
/*=======================================================================
2
*** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
3
*** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
4
*** ***
5
*** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
6
*** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
7
*** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
8
*** ***
9
*** RESTRICTED RIGHTS LEGEND ***
10
*** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
11
*** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
12
*** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
13
*** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
14
*** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
15
*** ***
16
*** COPYRIGHT (C) 1996-2014 BY FEI S.A.S, ***
17
*** BORDEAUX, FRANCE ***
18
*** ALL RIGHTS RESERVED ***
19
**=======================================================================*/
20
/*=======================================================================
21
** Author : VSG (MMM YYYY)
22
**=======================================================================*/
23
#ifndef SB_DATATYPE_MACROS_H
24
#define SB_DATATYPE_MACROS_H
25
26
#include <
Inventor/SbDataType.h
>
27
28
#include <Inventor/STL/cassert>
29
56
#define SB_DATATYPE_CALL(Function, Params, Type) \
57
if(SbDataType::m_true) \
58
{ \
59
switch((Type)) \
60
{ \
61
case SbDataType::UNSIGNED_SHORT : \
62
Function<unsigned short>Params; \
63
break; \
64
case SbDataType::UNSIGNED_INT32 : \
65
Function<uint32_t>Params; \
66
break; \
67
case SbDataType::SIGNED_BYTE : \
68
Function<signed char>Params; \
69
break; \
70
case SbDataType::SIGNED_SHORT : \
71
Function<signed short>Params; \
72
break; \
73
case SbDataType::SIGNED_INT32 : \
74
Function<int32_t>Params; \
75
break; \
76
case SbDataType::FLOAT : \
77
Function<float>Params; \
78
break; \
79
case SbDataType::UNSIGNED_BYTE : \
80
Function<unsigned char>Params; \
81
break; \
82
case SbDataType::DOUBLE: \
83
Function<double>Params; \
84
break; \
85
default: \
86
assert(0); \
87
break; \
88
} \
89
} \
90
else \
91
(void)0
92
104
#define SB_DATATYPE_CALL_ASSIGN(Function, Params, Dest, Type) \
105
if(SbDataType::m_true) \
106
{ \
107
switch((Type)) \
108
{ \
109
case SbDataType::UNSIGNED_SHORT : \
110
Dest = Function<unsigned short>Params; \
111
break; \
112
case SbDataType::UNSIGNED_INT32 : \
113
Dest = Function<uint32_t>Params; \
114
break; \
115
case SbDataType::SIGNED_BYTE : \
116
Dest = Function<signed char>Params; \
117
break; \
118
case SbDataType::SIGNED_SHORT : \
119
Dest = Function<signed short>Params; \
120
break; \
121
case SbDataType::SIGNED_INT32 : \
122
Dest = Function<int32_t>Params; \
123
break; \
124
case SbDataType::FLOAT : \
125
Dest = Function<float>Params; \
126
break; \
127
case SbDataType::UNSIGNED_BYTE : \
128
Dest = Function<unsigned char>Params; \
129
break; \
130
case SbDataType::DOUBLE: \
131
Dest = Function<double>Params; \
132
break; \
133
default: \
134
assert(0); \
135
break; \
136
} \
137
} \
138
else \
139
(void)0
140
141
#endif
//SB_DATATYPE_MACROS_H
142
143
SbDataType.h
Inventor
helpers
SbDataTypeMacros.h
Generated by
1.9.8