summaryrefslogtreecommitdiff
path: root/indra/llmath/v2math.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llmath/v2math.cpp')
-rw-r--r--indra/llmath/v2math.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/indra/llmath/v2math.cpp b/indra/llmath/v2math.cpp
index ecbfe7378c..78d349f2f0 100644
--- a/indra/llmath/v2math.cpp
+++ b/indra/llmath/v2math.cpp
@@ -67,7 +67,14 @@ F32 angle_between(const LLVector2& a, const LLVector2& b)
return angle;
}
-BOOL are_parallel(const LLVector2 &a, const LLVector2 &b, float epsilon)
+F32 signed_angle_between(const LLVector2& a, const LLVector2& b)
+{
+ F32 angle = angle_between(a, b);
+ F32 rhombus_square = a[VX] * b[VY] - b[VX] * a[VY];
+ return rhombus_square < 0 ? -angle : angle;
+}
+
+BOOL are_parallel(const LLVector2 &a, const LLVector2 &b, F32 epsilon)
{
LLVector2 an = a;
LLVector2 bn = b;