diff options
author | Oz Linden <oz@lindenlab.com> | 2011-04-03 09:37:03 -0400 |
---|---|---|
committer | Oz Linden <oz@lindenlab.com> | 2011-04-03 09:37:03 -0400 |
commit | b8e97adced58f81a52e6b76a14309d275d55c8bc (patch) | |
tree | 9f2710cbb13093c509896f184a025ab7469c934c /indra/llmath | |
parent | abc259618f06f69ba8e7c72cb149bcddc1bb6ddf (diff) | |
parent | e58c809a5816383674d0f1957440fad728e88893 (diff) |
merge changes for OPEN-39
Diffstat (limited to 'indra/llmath')
-rw-r--r-- | indra/llmath/tests/m3math_test.cpp | 10 | ||||
-rw-r--r-- | indra/llmath/v3math.cpp | 15 | ||||
-rw-r--r-- | indra/llmath/v3math.h | 1 |
3 files changed, 21 insertions, 5 deletions
diff --git a/indra/llmath/tests/m3math_test.cpp b/indra/llmath/tests/m3math_test.cpp index baff5a2d45..1ca2b005d9 100644 --- a/indra/llmath/tests/m3math_test.cpp +++ b/indra/llmath/tests/m3math_test.cpp @@ -36,11 +36,11 @@ #include "../v3dmath.h" #include "../test/lltut.h" -
-#if LL_WINDOWS
-// disable unreachable code warnings caused by usage of skip.
-#pragma warning(disable: 4702)
-#endif
+ +#if LL_WINDOWS +// disable unreachable code warnings caused by usage of skip. +#pragma warning(disable: 4702) +#endif #if LL_WINDOWS // disable unreachable code warnings caused by usage of skip. diff --git a/indra/llmath/v3math.cpp b/indra/llmath/v3math.cpp index fd08df02d8..18b15e08c4 100644 --- a/indra/llmath/v3math.cpp +++ b/indra/llmath/v3math.cpp @@ -134,6 +134,21 @@ BOOL LLVector3::clampLength( F32 length_limit ) return changed; } +BOOL LLVector3::clamp(const LLVector3 &min_vec, const LLVector3 &max_vec) +{ + BOOL ret = FALSE; + + if (mV[0] < min_vec[0]) { mV[0] = min_vec[0]; ret = TRUE; } + if (mV[1] < min_vec[1]) { mV[1] = min_vec[1]; ret = TRUE; } + if (mV[2] < min_vec[2]) { mV[2] = min_vec[2]; ret = TRUE; } + + if (mV[0] > max_vec[0]) { mV[0] = max_vec[0]; ret = TRUE; } + if (mV[1] > max_vec[1]) { mV[1] = max_vec[1]; ret = TRUE; } + if (mV[2] > max_vec[2]) { mV[2] = max_vec[2]; ret = TRUE; } + + return ret; +} + // Sets all values to absolute value of their original values // Returns TRUE if data changed diff --git a/indra/llmath/v3math.h b/indra/llmath/v3math.h index ef002fe9f2..4b3efe7394 100644 --- a/indra/llmath/v3math.h +++ b/indra/llmath/v3math.h @@ -69,6 +69,7 @@ class LLVector3 inline BOOL isFinite() const; // checks to see if all values of LLVector3 are finite BOOL clamp(F32 min, F32 max); // Clamps all values to (min,max), returns TRUE if data changed + BOOL clamp(const LLVector3 &min_vec, const LLVector3 &max_vec); // Scales vector by another vector BOOL clampLength( F32 length_limit ); // Scales vector to limit length to a value void quantize16(F32 lowerxy, F32 upperxy, F32 lowerz, F32 upperz); // changes the vector to reflect quatization |