47 #ifdef DOXYGEN_SKIP_THIS
48 #ifndef USE_STATIC_CONSTS
55 #define USE_STATIC_CONSTS
60 #ifdef USE_STATIC_CONSTS
61 static const SbBool FALSE = 0;
68 #ifdef USE_STATIC_CONSTS
69 static const SbBool TRUE = 1;
79 #define cc_min(x, y) (((x) < (y)) ? (x) : (y))
80 #define cc_max(x, y) (((x) > (y)) ? (x) : (y))
95 #include <Inventor/system/inttypes.h>
111 #define M_E 2.7182818284590452354
114 #define M_LOG2E 1.4426950408889634074
117 #define M_LOG10E 0.43429448190325182765
120 #define M_LN2 0.69314718055994530942
123 #define M_LN10 2.30258509299404568402
126 #define M_PI 3.14159265358979323846
129 #define M_TWOPI (M_PI * 2.0)
132 #define M_PI_2 1.57079632679489661923
135 #define M_PI_4 0.78539816339744830962
138 #define M_3PI_4 2.3561944901923448370E0
141 #define M_SQRTPI 1.77245385090551602792981
144 #define M_1_PI 0.31830988618379067154
147 #define M_2_PI 0.63661977236758134308
150 #define M_2_SQRTPI 1.12837916709551257390
153 #define M_SQRT2 1.41421356237309504880
156 #define M_SQRT1_2 0.70710678118654752440
159 #define M_LN2LO 1.9082149292705877000E-10
162 #define M_LN2HI 6.9314718036912381649E-1
165 #define M_SQRT3 1.73205080756887719000
168 #define M_IVLN10 0.43429448190325182765
171 #define M_LOG2_E 0.693147180559945309417
174 #define M_INVLN2 1.4426950408889633870E0
189 #ifndef COIN_UNIQUE_ID_UINT32
190 typedef uint64_t SbUniqueId;
192 typedef uint32_t SbUniqueId;
213 #define COIN_MAJOR_VERSION 4
214 #define COIN_MINOR_VERSION 0
215 #define COIN_MICRO_VERSION 3
216 #define COIN_BETA_VERSION
217 #define COIN_VERSION "4.0.3"
225 #define HAVE_HASH_QUOTING 1
239 #ifdef HAVE_HASH_QUOTING
240 #define SO__QUOTE(str) #str
241 #define SO__CONCAT(str1, str2) str1##str2
242 #elif defined(HAVE_APOSTROPHES_QUOTING)
243 #define SO__QUOTE(str) "str"
244 #define SO__CONCAT(str1, str2) str1str2
246 #error No valid way to do macro quoting!
252 #if !defined(COIN_INTERNAL) && defined(_MSC_VER)
253 # if !defined(COIN_NOT_DLL) && !defined(COIN_DLL)
256 # define COIN_STRINGIFY(str) SO__QUOTE(str)
259 # pragma comment(lib, "Coin" COIN_STRINGIFY(COIN_MAJOR_VERSION) "d.lib")
261 # pragma comment(lib, "Coin" COIN_STRINGIFY(COIN_MAJOR_VERSION) ".lib")
265 # pragma comment(lib, "Coin" COIN_STRINGIFY(COIN_MAJOR_VERSION) "sd.lib")
267 # pragma comment(lib, "Coin" COIN_STRINGIFY(COIN_MAJOR_VERSION) "s.lib")
270 # undef COIN_STRINGIFY
277 # error Leave the internal COIN_DLL_API define alone.
281 # error The COIN_NOT_DLL define is not supposed to be used when building the library, only when building Win32 applications.
284 # error The COIN_DLL define is not supposed to be used when building the library, only when building Win32 applications.
319 #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)
320 # ifdef COIN_INTERNAL
321 # ifdef COIN_MAKE_DLL
322 # define COIN_DLL_API __declspec(dllexport)
327 # error Define _either_ COIN_DLL _or_ COIN_NOT_DLL as appropriate for your linkage -- not both at the same time! See Inventor/C/basic.h for further instructions.
329 # define COIN_DLL_API __declspec(dllimport)
331 # ifndef COIN_NOT_DLL
332 # error Define either COIN_DLL or COIN_NOT_DLL as appropriate for your linkage! See Inventor/C/basic.h for further instructions.
340 # define COIN_DLL_API