00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051 #ifndef _SB_BASE_
00052 #define _SB_BASE_
00053
00054 #ifndef HIDDEN_FROM_DOC
00055
00056 #if defined(_WIN32)
00057 #pragma warning(disable:4251)
00058 #endif
00059
00060 #include <SoVersion.h>
00061 #include <SoDeprecationRules.h>
00062
00063 #include <SbTypes.h>
00064 #include <stdlib.h>
00065 #include <sys/types.h>
00066
00067 #include <stdio.h>
00068
00069 #include <Inventor/non_winsys.h>
00070
00071 #endif //HIDDEN_FROM_DOC
00072
00073 #ifndef FALSE
00074
00075 # define FALSE 0
00076
00077 # define TRUE 1
00078 #endif
00079
00087 typedef int SbBool;
00088
00089 typedef void *SbHandle;
00090
00091 #ifndef HIDDEN_FROM_DOC
00092 #define _SBHANDLE_ 1
00093
00094 #include <Inventor/sys/port.h>
00095 #include <Inventor/SoInventorBaseLibName.h>
00096
00097 #ifdef _WIN32
00098 typedef unsigned int SbThreadId_t;
00099 #else
00100 #include <pthread.h>
00101 typedef pthread_t SbThreadId_t;
00102 #endif
00103
00114 #define SoEXTENDER
00115
00126 #define SoEXTENDER_Documented
00127
00138 #define SoINTERNAL
00139
00143 #if defined(__STDC__) || defined(__ANSI_CPP__) || defined(_WIN32)
00144
00145 # define SO__QUOTE(str) #str
00146 #else
00147
00148 # define SO__QUOTE(str) "str"
00149 #endif
00150
00154 #if defined(__STDC__) || defined(__ANSI_CPP__) || defined(_WIN32)
00155
00156 # define SO__CONCAT(str1, str2) str1##str2
00157 #else
00158
00159 # define SO__CONCAT(str1, str2) str1str2
00160 #endif
00161
00163
00164
00165
00166
00168 #if defined(__x86_64__)
00169 # define OIV_PTR_SIZE 64
00170 # define OIV_LONG_SIZE 64
00171 #else
00172 # define OIV_PTR_SIZE 32
00173 # define OIV_LONG_SIZE 32
00174 #endif
00175
00176 #if defined(_WIN32) && (_MSC_VER >=1300)
00177
00178
00179 #ifdef OIV_UNICODE_CHECK
00180 # define SoNONUNICODE \
00181 __declspec(deprecated( "!!! This function is not unicode! IT SHOULD NOT BE USED !!!" ) )
00182 #else
00183 # define SoNONUNICODE
00184 #endif // OIV_UNICODE_CHECK
00185
00186 #else // defined(_WIN32) && (_MSC_VER >=1300)
00187
00188 # define SoNONUNICODE
00189
00190 #endif // defined(_WIN32) && (_MSC_VER >=1300)
00191
00192 #if (defined(__GNUC__) && (__GNUC__ >= 4))
00193 #define SoPRINTFPREFIX(stringIndex, firstToCheck) __attribute__((format(printf, stringIndex, firstToCheck)))
00194 #define SoPRINTF __attribute__((format(printf, 1, 2)))
00195 #else
00196 #define SoPRINTFPREFIX(stringIndex, firstToCheck)
00197 #define SoPRINTF
00198 #endif
00199
00200
00201 #if (defined(_WIN32) && (_MSC_VER < 1400))
00202
00203 #ifdef DEBUG_PRINTF
00204 static inline void SODEBUGPRINTF(const char *format, ...){
00205 va_list ap;
00206 va_start(ap, format);
00207 vfprintf(stderr,format,ap);
00208 va_end(ap);
00209 }
00210 #else
00211 static inline void SODEBUGPRINTF(...) {}
00212 #endif
00213
00214 #else
00215
00216
00217 #ifdef DEBUG_PRINTF
00218 #define SODEBUGPRINTF(format, ...) fprintf (stderr, format, __VA_ARGS__)
00219 #else
00220 #ifdef _WIN32
00221 #pragma managed(push, off)
00222 #endif
00223 inline static void SODEBUGPRINTF(const char *, ...) {}
00224 #ifdef _WIN32
00225 #pragma managed(pop)
00226 #endif
00227 #endif
00228
00229 #endif // VA_ARGS support
00230
00231 #ifdef _WIN32
00232
00233 #if !defined(InventorBase_EXPORTS)
00234 #ifndef OIV_DISABLE_AUTOLINK
00235 # pragma comment(lib,__INVENTORBASELIB)
00236 #endif
00237 #endif
00238
00239 #endif // _WIN32
00240
00245 #define SO_UNUSED_PARAM(P)
00246
00247 #endif //HIDDEN_FROM_DOC
00248
00249 #endif // _SB_BASE_
00250
00251
00252