47#ifdef DOXYGEN_SKIP_THIS
48#ifndef USE_STATIC_CONSTS
55#define USE_STATIC_CONSTS
60#ifdef USE_STATIC_CONSTS
61static const SbBool FALSE = 0;
68#ifdef USE_STATIC_CONSTS
69static 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
190typedef uint64_t SbUniqueId;
192typedef uint32_t SbUniqueId;
213#define COIN_MAJOR_VERSION 4
214#define COIN_MINOR_VERSION 0
215#define COIN_MICRO_VERSION 0
216#define COIN_BETA_VERSION
217#define COIN_VERSION "4.0.0"
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__)
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)
332# error Define either COIN_DLL or COIN_NOT_DLL as appropriate for your linkage! See Inventor/C/basic.h for further instructions.