36#include <Inventor/C/errors/debugerror.h>
37#include <Inventor/C/basic.h>
39#include <Inventor/C/errors/debugerror.h>
47#error You are not compiling C++ - maybe your source file is named <file>.c
68template <
typename Type>
69inline Type SbAbs( Type Val ) {
70 return (Val < 0) ? 0 - Val : Val;
73template <
typename Type>
74inline Type SbMax(
const Type A,
const Type B ) {
75 return (A < B) ? B : A;
78template <
typename Type>
79inline Type SbMin(
const Type A,
const Type B ) {
80 return (A < B) ? A : B;
83template <
typename Type>
84inline Type SbClamp(
const Type Val,
const Type Min,
const Type Max ) {
85 return (Val < Min) ? Min : (Val > Max) ? Max : Val;
88template <
typename Type>
89inline void SbSwap( Type & A, Type & B ) {
90 Type T; T = A; A = B; B = T;
93template <
typename Type>
94inline Type SbSqr(
const Type val) {
105template <
typename Type>
106inline void SbDividerChk(
const char * funcname, Type divider) {
107 if (!(divider !=
static_cast<Type
>(0)))
108 cc_debugerror_post(funcname,
"divide by zero error.", divider);
111template <
typename Type>
112inline void SbDividerChk(
const char *, Type) {}
155#define SUN_CC_4_0_SOTYPE_INIT_BUG 0
157#if SUN_CC_4_0_SOTYPE_INIT_BUG
158#define STATIC_SOTYPE_INIT
160#define STATIC_SOTYPE_INIT = SoType::badType()
173 __pragma(warning(push)) \
174 __pragma(warning(disable:4127)) \
176 __pragma(warning(pop))
178#define WHILE_0 while (0)