diff options
Diffstat (limited to 'examples/widgets/graphicsview/boxes/trackball.cpp')
-rw-r--r-- | examples/widgets/graphicsview/boxes/trackball.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/examples/widgets/graphicsview/boxes/trackball.cpp b/examples/widgets/graphicsview/boxes/trackball.cpp index 2267636fa4..b1159b4989 100644 --- a/examples/widgets/graphicsview/boxes/trackball.cpp +++ b/examples/widgets/graphicsview/boxes/trackball.cpp @@ -33,6 +33,7 @@ #include "trackball.h" #include "scene.h" +#include <cmath> //============================================================================// // TrackBall // @@ -94,19 +95,19 @@ void TrackBall::move(const QPointF& p, const QQuaternion &transformation) QVector3D lastPos3D = QVector3D(m_lastPos.x(), m_lastPos.y(), 0.0f); float sqrZ = 1 - QVector3D::dotProduct(lastPos3D, lastPos3D); if (sqrZ > 0) - lastPos3D.setZ(sqrt(sqrZ)); + lastPos3D.setZ(std::sqrt(sqrZ)); else lastPos3D.normalize(); QVector3D currentPos3D = QVector3D(p.x(), p.y(), 0.0f); sqrZ = 1 - QVector3D::dotProduct(currentPos3D, currentPos3D); if (sqrZ > 0) - currentPos3D.setZ(sqrt(sqrZ)); + currentPos3D.setZ(std::sqrt(sqrZ)); else currentPos3D.normalize(); m_axis = QVector3D::crossProduct(lastPos3D, currentPos3D); - float angle = 180 / PI * asin(sqrt(QVector3D::dotProduct(m_axis, m_axis))); + float angle = 180 / PI * std::asin(std::sqrt(QVector3D::dotProduct(m_axis, m_axis))); m_angularVelocity = angle / msecs; m_axis.normalize(); |