diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2015-11-11 16:35:10 +0000 |
---|---|---|
committer | Andy Nichols <andy.nichols@theqtcompany.com> | 2015-11-16 16:11:12 +0000 |
commit | 77164ead9970263a65aac4689f14dcbbc10b3246 (patch) | |
tree | 553f3ae7b760b4361aad021bcb622dbe74ca54bf /src/core/transforms/qtransform.cpp | |
parent | 0b41fa923de9f3562845e0532d5ce2992a7856dc (diff) |
Add some more quaternion helpers to QTransform
Change-Id: I4601f3d7bbf4fbf85c1d68a9f2a840c1c84eccc8
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
Diffstat (limited to 'src/core/transforms/qtransform.cpp')
-rw-r--r-- | src/core/transforms/qtransform.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/core/transforms/qtransform.cpp b/src/core/transforms/qtransform.cpp index 7727bf9c7..aeb9a57f7 100644 --- a/src/core/transforms/qtransform.cpp +++ b/src/core/transforms/qtransform.cpp @@ -237,6 +237,34 @@ QQuaternion QTransform::fromAxisAndAngle(float x, float y, float z, float angle) return QQuaternion::fromAxisAndAngle(x, y, z, angle); } +QQuaternion QTransform::fromAxesAndAngles(const QVector3D &axis1, float angle1, + const QVector3D &axis2, float angle2) +{ + const QQuaternion q1 = QQuaternion::fromAxisAndAngle(axis1, angle1); + const QQuaternion q2 = QQuaternion::fromAxisAndAngle(axis2, angle2); + return q2 * q1; +} + +QQuaternion QTransform::fromAxesAndAngles(const QVector3D &axis1, float angle1, + const QVector3D &axis2, float angle2, + const QVector3D &axis3, float angle3) +{ + const QQuaternion q1 = QQuaternion::fromAxisAndAngle(axis1, angle1); + const QQuaternion q2 = QQuaternion::fromAxisAndAngle(axis2, angle2); + const QQuaternion q3 = QQuaternion::fromAxisAndAngle(axis3, angle3); + return q3 * q2 * q1; +} + +QQuaternion QTransform::fromEulerAngles(const QVector3D &eulerAngles) +{ + return QQuaternion::fromEulerAngles(eulerAngles); +} + +QQuaternion QTransform::fromEulerAngles(float pitch, float yaw, float roll) +{ + return QQuaternion::fromEulerAngles(pitch, yaw, roll); +} + } // namespace Qt3DCore QT_END_NAMESPACE |