diff options
| author | Loren Shih <seraph@lindenlab.com> | 2011-03-16 14:54:56 -0400 | 
|---|---|---|
| committer | Loren Shih <seraph@lindenlab.com> | 2011-03-16 14:54:56 -0400 | 
| commit | 037a83cd47e016f70092bccfdb2c13e759c6ff0a (patch) | |
| tree | 2183c8ef1364d5f4e784cb91ea4d67b1861b2452 /indra/llmath | |
| parent | 15b0509c01dbeec6854f4a0a5965e900eda06de1 (diff) | |
| parent | 742dd75751f65224d80eb4f7d20daf5a21776c5f (diff) | |
Automated merge up from viewer-development into mesh-development
Diffstat (limited to 'indra/llmath')
| -rw-r--r-- | indra/llmath/v3math.h | 13 | 
1 files changed, 13 insertions, 0 deletions
| diff --git a/indra/llmath/v3math.h b/indra/llmath/v3math.h index b6425087b3..acb2240075 100644 --- a/indra/llmath/v3math.h +++ b/indra/llmath/v3math.h @@ -158,6 +158,8 @@ F32	dist_vec(const LLVector3 &a, const LLVector3 &b);		// Returns distance betwe  F32	dist_vec_squared(const LLVector3 &a, const LLVector3 &b);// Returns distance squared between a and b  F32	dist_vec_squared2D(const LLVector3 &a, const LLVector3 &b);// Returns distance squared between a and b ignoring Z component  LLVector3 projected_vec(const LLVector3 &a, const LLVector3 &b); // Returns vector a projected on vector b +LLVector3 parallel_component(const LLVector3 &a, const LLVector3 &b); // Returns vector a projected on vector b (same as projected_vec) +LLVector3 orthogonal_component(const LLVector3 &a, const LLVector3 &b); // Returns component of vector a not parallel to vector b (same as projected_vec)  LLVector3 lerp(const LLVector3 &a, const LLVector3 &b, F32 u); // Returns a vector that is a linear interpolation between a and b  inline LLVector3::LLVector3(void) @@ -492,6 +494,17 @@ inline LLVector3 projected_vec(const LLVector3 &a, const LLVector3 &b)  	return project_axis * (a * project_axis);  } +inline LLVector3 parallel_component(const LLVector3 &a, const LLVector3 &b) +{ +	return projected_vec(a, b); +} + +inline LLVector3 orthogonal_component(const LLVector3 &a, const LLVector3 &b) +{ +	return a - projected_vec(a, b); +} + +  inline LLVector3 lerp(const LLVector3 &a, const LLVector3 &b, F32 u)  {  	return LLVector3( | 
