From 5f65292d114ce02fca6233420b4c3b347559c3c0 Mon Sep 17 00:00:00 2001 From: Craig Watson Date: Sat, 16 Sep 2017 19:01:00 -0400 Subject: [PATCH] Fix for qAcos occasionally returning nan for values of (not quite) -1 or +1 --- src/frameworks/UBGeometryUtils.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/frameworks/UBGeometryUtils.cpp b/src/frameworks/UBGeometryUtils.cpp index 7a9a4cbc..01c1fe1a 100644 --- a/src/frameworks/UBGeometryUtils.cpp +++ b/src/frameworks/UBGeometryUtils.cpp @@ -443,7 +443,8 @@ qreal UBGeometryUtils::angle(const QPointF& p1, const QPointF& p2, const QPointF if (a == 0 || c == 0) beta = 3.14159; else - beta = qAcos((a*a - b*b + c*c)/(2*a*c)); + beta = qAcos(std::max(-1.0, std::min(1.0, (a*a - b*b + c*c)/(2*a*c)))); + return 180.* beta/3.14159; }