14 #ifndef OSG_BOUNDSCHECKING
15 #define OSG_BOUNDSCHECKING 1
26 inline void clampGEQUAL(T& value,
const T minValue,
const char* valueName)
30 notify(
WARN) <<
"Warning: "<<valueName<<
" of "<<value<<
" is below permitted minimum, clamping to "<<minValue<<
"."<< std::endl;
39 inline void clampLEQUAL(T& value,
const T maxValue,
const char* valueName)
43 notify(
WARN) <<
"Warning: "<<valueName<<
" of "<<value<<
" is above permitted maximum, clamping to "<<maxValue<<
"."<< std::endl;
54 inline void clampBetweenRange(T& value,
const T minValue,
const T maxValue,
const char* valueName)
58 notify(
WARN) <<
"Warning: "<<valueName<<
" of "<<value<<
" is below permitted minimum, clamping to "<<minValue<<
"."<< std::endl;
64 notify(
WARN) <<
"Warning: "<<valueName<<
" of "<<value<<
" is above permitted maximum, clamping to "<<maxValue<<
"."<< std::endl;
73 template <
typename A,
typename T>
76 if (value[i]<minValue)
78 notify(
WARN) <<
"Warning: "<<valueName<<
"["<<i<<
"] of "<<value[i]<<
" is below permitted minimum, clamping to "<<minValue<<
"."<< std::endl;
86 template <
typename A,
typename T>
89 if (value[i]>maxValue)
91 notify(
WARN) <<
"Warning: "<<valueName<<
"["<<i<<
"] of "<<value[i]<<
" is above permitted maximum, clamping to "<<maxValue<<
"."<< std::endl;
101 template <
typename A,
typename T>
104 if (value[i]<minValue)
106 notify(
WARN) <<
"Warning: "<<valueName<<
"["<<i<<
"] of "<<value[i]<<
" is below permitted minimum, clamping to "<<minValue<<
"."<< std::endl;
110 if (value[i]>maxValue)
112 notify(
WARN) <<
"Warning: "<<valueName<<
"["<<i<<
"] of "<<value[i]<<
" is above permitted maximum, clamping to "<<maxValue<<
"."<< std::endl;
121 template <
typename A,
typename T>
124 for(
unsigned int i=first;i<=last;++i)
131 template <
typename A,
typename T>
134 for(
unsigned int i=first;i<=last;++i)
144 template <
typename A,
typename T>
147 for(
unsigned int i=first;i<=last;++i)
155 template <
typename A,
typename T>
164 template <
typename A,
typename T>
176 template <
typename A,
typename T>
187 template <
typename A,
typename T>
196 template <
typename A,
typename T>
208 template <
typename A,
typename T>
void clampArrayElementsLEQUAL(A &value, unsigned int first, unsigned int last, const T maxValue, const char *valueName)
void clampArray3GEQUAL(A &value, const T minValue, const char *valueName)
void clampArray3LEQUAL(A &value, const T maxValue, const char *valueName)
void clampArray4LEQUAL(A &value, const T maxValue, const char *valueName)
void clampArray3BetweenRange(A &value, const T minValue, const T maxValue, const char *valueName)
void clampBetweenRange(T &value, const T minValue, const T maxValue, const char *valueName)
void clampArray4GEQUAL(A &value, const T minValue, const char *valueName)
void clampArrayElementGEQUAL(A &value, unsigned int i, const T minValue, const char *valueName)
void clampArray4BetweenRange(A &value, const T minValue, const T maxValue, const char *valueName)
void clampLEQUAL(T &value, const T maxValue, const char *valueName)
void clampGEQUAL(T &value, const T minValue, const char *valueName)
void clampArrayElementLEQUAL(A &value, unsigned int i, const T maxValue, const char *valueName)
OSG_EXPORT std::ostream & notify(const NotifySeverity severity)
void clampArrayElementBetweenRange(A &value, unsigned int i, const T minValue, const T maxValue, const char *valueName)
void clampArrayElementsGEQUAL(A &value, unsigned int first, unsigned int last, const T minValue, const char *valueName)
void clampArrayElementsBetweenRange(A &value, unsigned int first, unsigned int last, const T minValue, const T maxValue, const char *valueName)