diff options
author | Konstantin Ritt <ritt.ks@gmail.com> | 2015-02-19 14:26:57 +0400 |
---|---|---|
committer | Konstantin Ritt <ritt.ks@gmail.com> | 2015-02-26 11:02:47 +0000 |
commit | e628c80dc38f00efd5a7821a8be61eadcf838b62 (patch) | |
tree | 1585f680ead83818a99727ab2c307d1684aaa9b4 /src/gui/math3d/qquaternion.h | |
parent | 1872857ca72658cd58c0c39b31da493f794be6ca (diff) |
[QQuaternion] Add operator* that rotates a vector with a quaternion
Same as quaternion.rotatedVector(vec).
Expression like `vec = quat * vec` quite common in the 3D world.
Change-Id: I0edd5a5f80537bd149f03f682b3de15c54463e23
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/gui/math3d/qquaternion.h')
-rw-r--r-- | src/gui/math3d/qquaternion.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gui/math3d/qquaternion.h b/src/gui/math3d/qquaternion.h index d5300f96df..a02c37ce1d 100644 --- a/src/gui/math3d/qquaternion.h +++ b/src/gui/math3d/qquaternion.h @@ -308,6 +308,11 @@ inline QVector3D QQuaternion::vector() const return QVector3D(xp, yp, zp); } +inline QVector3D operator*(const QQuaternion &quaternion, const QVector3D &vec) +{ + return quaternion.rotatedVector(vec); +} + inline void QQuaternion::getAxisAndAngle(QVector3D *axis, float *angle) const { float aX, aY, aZ; |