diff options
author | Dave Parks <none@none> | 2010-06-08 23:13:05 -0500 |
---|---|---|
committer | Dave Parks <none@none> | 2010-06-08 23:13:05 -0500 |
commit | c2da9f5d2cc86af0af34199c53e872fbff22637b (patch) | |
tree | 326f7e77cf619eb81c5838791b2e4f0a60a032d4 /indra/llmath/v3math.h | |
parent | 2cfc9f57bb22ab732cdc55b5e48ff9a05040d05a (diff) | |
parent | 22102e41cbf4ce9e1c0d069f111849466e297520 (diff) |
Merge with viewer-experimental
Diffstat (limited to 'indra/llmath/v3math.h')
-rw-r--r-- | indra/llmath/v3math.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/indra/llmath/v3math.h b/indra/llmath/v3math.h index 73738cffd2..75c860a91e 100644 --- a/indra/llmath/v3math.h +++ b/indra/llmath/v3math.h @@ -40,6 +40,7 @@ class LLVector2; class LLVector4; class LLMatrix3; +class LLMatrix4; class LLVector3d; class LLQuaternion; @@ -115,6 +116,7 @@ class LLVector3 const LLVector3& rotVec(F32 angle, F32 x, F32 y, F32 z); // Rotates about x,y,z by angle radians const LLVector3& rotVec(const LLMatrix3 &mat); // Rotates by LLMatrix4 mat const LLVector3& rotVec(const LLQuaternion &q); // Rotates by LLQuaternion q + const LLVector3& transVec(const LLMatrix4& mat); // Transforms by LLMatrix4 mat (mat * v) const LLVector3& scaleVec(const LLVector3& vec); // scales per component by vec LLVector3 scaledVec(const LLVector3& vec) const; // get a copy of this vector scaled by vec @@ -529,6 +531,21 @@ inline void update_min_max(LLVector3& min, LLVector3& max, const LLVector3& pos) } } +inline void update_min_max(LLVector3& min, LLVector3& max, const F32* pos) +{ + for (U32 i = 0; i < 3; i++) + { + if (min.mV[i] > pos[i]) + { + min.mV[i] = pos[i]; + } + if (max.mV[i] < pos[i]) + { + max.mV[i] = pos[i]; + } + } +} + inline F32 angle_between(const LLVector3& a, const LLVector3& b) { LLVector3 an = a; |