Added Vector3::Lerp (unit test omitted for now)
This commit is contained in:
parent
0f46f06ed5
commit
eb3c7805a3
@ -197,8 +197,6 @@ public:
|
|||||||
/// <returns>The cross product of the two vectors</returns>
|
/// <returns>The cross product of the two vectors</returns>
|
||||||
static Vector3 Cross(const Vector3& vector1, const Vector3& vector2);
|
static Vector3 Cross(const Vector3& vector1, const Vector3& vector2);
|
||||||
|
|
||||||
// Projects a vector onto another vector.
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Project a vector on another vector
|
/// Project a vector on another vector
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -233,4 +231,16 @@ public:
|
|||||||
/// <param name="axis">The axis to rotate around</param>
|
/// <param name="axis">The axis to rotate around</param>
|
||||||
/// <returns>The signed angle</returns>
|
/// <returns>The signed angle</returns>
|
||||||
static float SignedAngle(Vector3 from, Vector3 to, Vector3 axis);
|
static float SignedAngle(Vector3 from, Vector3 to, Vector3 axis);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Lerp between two vectors
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="from">The from vector</param>
|
||||||
|
/// <param name="to">The to vector</param>
|
||||||
|
/// <param name="f">The interpolation distance (0..1)</param>
|
||||||
|
/// <returns>The lerped vector</returns>
|
||||||
|
/// The factor f is unclamped. Value 0 matches the *from* vector, Value 1 matches the *to* vector
|
||||||
|
/// Value -1 is *from* vector minus the difference between *from* and *to* etc.
|
||||||
|
static Vector3 Lerp(Vector3 from, Vector3 to, float f);
|
||||||
};
|
};
|
||||||
|
@ -160,3 +160,8 @@ float Vector3::SignedAngle(Vector3 from, Vector3 to, Vector3 axis) {
|
|||||||
return signed_angle;
|
return signed_angle;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Vector3 Vector3::Lerp(Vector3 from, Vector3 to, float f) {
|
||||||
|
Vector3 v = from + (to - from) * f;
|
||||||
|
return v;
|
||||||
|
}
|
@ -523,4 +523,8 @@ TEST(Vector3, SignedAngle) {
|
|||||||
EXPECT_TRUE(r) << "SignedAngle(4 5 6, -INFINITY -INFINITY -INFINITY)";
|
EXPECT_TRUE(r) << "SignedAngle(4 5 6, -INFINITY -INFINITY -INFINITY)";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(Vector3, DISABLED_Lerp) {
|
||||||
|
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user