summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2017-01-12 18:02:46 +0100
committerEdward Welbourne <edward.welbourne@qt.io>2017-06-14 08:21:29 +0000
commitaf03eef4ab3cc41a6148d1f73fef1193f4fc4dcb (patch)
treeccedb2a89986524e00a374f21ffb77b8b37dba38
parent53fcf914e278ed4395a4873af2b64272c5d7882c (diff)
Use qRadiansToDegrees() and qDegreesToRadians() more widely
These document what the arithmetic is actually doing; and save us an ad-hoc use of an approximate value for pi while we're about it. Task-number: QTBUG-58083 Change-Id: I82c5502af724b33ec598c5a9da76537f93a95eac Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
-rw-r--r--examples/datavisualization/bars/graphmodifier.cpp2
-rw-r--r--src/datavisualization/data/qbar3dseries.cpp2
-rw-r--r--src/datavisualization/engine/surface3drenderer.cpp2
-rw-r--r--tests/manual/directional/scatterdatamodifier.cpp13
-rw-r--r--tests/manual/galaxy/star.cpp4
5 files changed, 10 insertions, 13 deletions
diff --git a/examples/datavisualization/bars/graphmodifier.cpp b/examples/datavisualization/bars/graphmodifier.cpp
index 8ef1c536..a130b0ff 100644
--- a/examples/datavisualization/bars/graphmodifier.cpp
+++ b/examples/datavisualization/bars/graphmodifier.cpp
@@ -353,7 +353,7 @@ void GraphModifier::zoomToSelectedBar()
// Rotate the camera so that it always points approximately to the graph center
//! [15]
- qreal endAngleX = qAtan(qreal(endTarget.z() / endTarget.x())) / M_PI * -180.0 + 90.0;
+ qreal endAngleX = 90.0 - qRadiansToDegrees(qAtan(qreal(endTarget.z() / endTarget.x())));
if (endTarget.x() > 0.0f)
endAngleX -= 180.0f;
float barValue = m_graph->selectedSeries()->dataProxy()->itemAt(selectedBar.x(),
diff --git a/src/datavisualization/data/qbar3dseries.cpp b/src/datavisualization/data/qbar3dseries.cpp
index c338b859..e2be7cc9 100644
--- a/src/datavisualization/data/qbar3dseries.cpp
+++ b/src/datavisualization/data/qbar3dseries.cpp
@@ -246,7 +246,7 @@ QPoint QBar3DSeries::invalidSelectionPosition()
static inline float quaternionAngle(const QQuaternion &rotation)
{
- return qAcos(rotation.scalar()) * 360.0f / M_PI;
+ return qRadiansToDegrees(qAcos(rotation.scalar())) * 2.f;
}
/*!
diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp
index 9cfa0edc..fa8bae8e 100644
--- a/src/datavisualization/engine/surface3drenderer.cpp
+++ b/src/datavisualization/engine/surface3drenderer.cpp
@@ -1150,7 +1150,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle)
// Need to determine if camera is below graph top
float distanceToCenter = activeCamera->position().length()
/ activeCamera->zoomLevel() / m_autoScaleAdjustment * 100.0f;
- qreal cameraAngle = qreal(activeCamera->yRotation()) / 180.0 * M_PI;
+ qreal cameraAngle = qDegreesToRadians(qreal(activeCamera->yRotation()));
float cameraYPos = float(qSin(cameraAngle)) * distanceToCenter;
m_yFlippedForGrid = cameraYPos < (m_scaleYWithBackground - m_oldCameraTarget.y());
} else if (m_useOrthoProjection && activeCamera->yRotation() == 0.0f) {
diff --git a/tests/manual/directional/scatterdatamodifier.cpp b/tests/manual/directional/scatterdatamodifier.cpp
index a11278fa..2a98625d 100644
--- a/tests/manual/directional/scatterdatamodifier.cpp
+++ b/tests/manual/directional/scatterdatamodifier.cpp
@@ -42,7 +42,6 @@ using namespace QtDataVisualization;
const int numberOfCols = 8;
const int numberOfRows = 8;
const float limit = 8.0f;
-const float PI = 3.14159f;
#define HEDGEHOG
ScatterDataModifier::ScatterDataModifier(Q3DScatter *scatter)
@@ -97,18 +96,18 @@ void ScatterDataModifier::addData()
for (float i = 0; i < numberOfRows; i++) {
float latAngle = float(i) * latAngleStep + 40.0f;
- float radius = qSin(latAngle * PI / 180.0f) * limit;
- float y = qCos(latAngle * PI / 180.0f) * 1.0f;
+ float radius = qSin(qDegreesToRadians(latAngle)) * limit;
+ float y = qCos(qDegreesToRadians(latAngle)) * 1.0f;
#ifdef HEDGEHOG
- float angleZ = (qAtan((y * limit / 2.0f) / radius) * 180.0f / PI);
+ float angleZ = qRadiansToDegrees(qAtan((y * limit / 2.0f) / radius));
QQuaternion rotationZ = QQuaternion::fromAxisAndAngle(QVector3D(0.0f, 0.0f, 1.0f), angleZ - 90.0f);
#endif
for (float j = 0; j < numberOfCols; j++) {
float angle = float(j) * angleStep;
- float x = qCos(angle * PI / 180.0f) * radius;
- float z = qSin(angle * PI / 180.0f) * radius;
+ float x = qCos(qDegreesToRadians(angle)) * radius;
+ float z = qSin(qDegreesToRadians(angle)) * radius;
- float angleY = (qAtan(z / x) * 180.0f / PI);
+ float angleY = qRadiansToDegrees(qAtan(z / x));
if (x < 0)
angleY = 180.0f + angleY;
if (x > 0 && z < 0)
diff --git a/tests/manual/galaxy/star.cpp b/tests/manual/galaxy/star.cpp
index 1513c93b..ca6b66f0 100644
--- a/tests/manual/galaxy/star.cpp
+++ b/tests/manual/galaxy/star.cpp
@@ -31,8 +31,6 @@
#include <QtCore/qmath.h>
-static const double DEG_TO_RAD = M_PI / 180.0;
-
Star::Star()
: m_theta(0),
m_a(0),
@@ -49,7 +47,7 @@ const void Star::calcXY()
const QVector2D &p = m_center;
qreal beta = -m_angle;
- qreal alpha = theta * DEG_TO_RAD;
+ qreal alpha = qDegreesToRadians(theta);
// temporaries to save cpu time
qreal cosalpha = qCos(alpha);