+// clamp a value to lie between min and max
+template <class T>
+inline void SG_CLAMP_RANGE(T &x, const T min, const T max ) {
+ if ( x < min ) { x = min; }
+ if ( x > max ) { x = max; }
+}
+
+// normalize a value to lie between min and max
+template <class T>
+inline void SG_NORMALIZE_RANGE( T &val, const T min, const T max ) {
+ T step = max - min;
+ while( val >= max ) val -= step;
+ while( val < min ) val += step;
+};
+