diff options
Diffstat (limited to 'src/gui/math3d')
-rw-r--r-- | src/gui/math3d/qmatrix4x4.h | 2 | ||||
-rw-r--r-- | src/gui/math3d/qquaternion.h | 28 | ||||
-rw-r--r-- | src/gui/math3d/qvector2d.h | 2 | ||||
-rw-r--r-- | src/gui/math3d/qvector3d.h | 2 | ||||
-rw-r--r-- | src/gui/math3d/qvector4d.h | 2 |
5 files changed, 18 insertions, 18 deletions
diff --git a/src/gui/math3d/qmatrix4x4.h b/src/gui/math3d/qmatrix4x4.h index 6f6ff235cf..cd5686be94 100644 --- a/src/gui/math3d/qmatrix4x4.h +++ b/src/gui/math3d/qmatrix4x4.h @@ -86,7 +86,7 @@ public: inline void fill(float value); double determinant() const; - QMatrix4x4 inverted(bool *invertible = 0) const; + QMatrix4x4 inverted(bool *invertible = Q_NULLPTR) const; QMatrix4x4 transposed() const; QMatrix3x3 normalMatrix() const; diff --git a/src/gui/math3d/qquaternion.h b/src/gui/math3d/qquaternion.h index 5b0006ac56..3716220a60 100644 --- a/src/gui/math3d/qquaternion.h +++ b/src/gui/math3d/qquaternion.h @@ -164,12 +164,12 @@ inline QQuaternion::QQuaternion(float aScalar, float xpos, float ypos, float zpo inline bool QQuaternion::isNull() const { - return xp == 0.0f && yp == 0.0f && zp == 0.0f && wp == 0.0f; + return wp == 0.0f && xp == 0.0f && yp == 0.0f && zp == 0.0f; } inline bool QQuaternion::isIdentity() const { - return xp == 0.0f && yp == 0.0f && zp == 0.0f && wp == 1.0f; + return wp == 1.0f && xp == 0.0f && yp == 0.0f && zp == 0.0f; } inline float QQuaternion::x() const { return xp; } @@ -184,16 +184,16 @@ inline void QQuaternion::setScalar(float aScalar) { wp = aScalar; } Q_DECL_CONSTEXPR inline float QQuaternion::dotProduct(const QQuaternion &q1, const QQuaternion &q2) { - return q1.xp * q2.xp + q1.yp * q2.yp + q1.zp * q2.zp + q1.wp * q2.wp; + return q1.wp * q2.wp + q1.xp * q2.xp + q1.yp * q2.yp + q1.zp * q2.zp; } inline QQuaternion QQuaternion::inverted() const { // Need some extra precision if the length is very small. - double len = double(xp) * double(xp) + + double len = double(wp) * double(wp) + + double(xp) * double(xp) + double(yp) * double(yp) + - double(zp) * double(zp) + - double(wp) * double(wp); + double(zp) * double(zp); if (!qFuzzyIsNull(len)) return QQuaternion(wp / len, -xp / len, -yp / len, -zp / len); return QQuaternion(0.0f, 0.0f, 0.0f, 0.0f); @@ -213,28 +213,28 @@ inline QQuaternion QQuaternion::conjugate() const inline QQuaternion &QQuaternion::operator+=(const QQuaternion &quaternion) { + wp += quaternion.wp; xp += quaternion.xp; yp += quaternion.yp; zp += quaternion.zp; - wp += quaternion.wp; return *this; } inline QQuaternion &QQuaternion::operator-=(const QQuaternion &quaternion) { + wp -= quaternion.wp; xp -= quaternion.xp; yp -= quaternion.yp; zp -= quaternion.zp; - wp -= quaternion.wp; return *this; } inline QQuaternion &QQuaternion::operator*=(float factor) { + wp *= factor; xp *= factor; yp *= factor; zp *= factor; - wp *= factor; return *this; } @@ -262,16 +262,16 @@ inline QQuaternion &QQuaternion::operator*=(const QQuaternion &quaternion) inline QQuaternion &QQuaternion::operator/=(float divisor) { + wp /= divisor; xp /= divisor; yp /= divisor; zp /= divisor; - wp /= divisor; return *this; } inline bool operator==(const QQuaternion &q1, const QQuaternion &q2) { - return q1.xp == q2.xp && q1.yp == q2.yp && q1.zp == q2.zp && q1.wp == q2.wp; + return q1.wp == q2.wp && q1.xp == q2.xp && q1.yp == q2.yp && q1.zp == q2.zp; } inline bool operator!=(const QQuaternion &q1, const QQuaternion &q2) @@ -311,10 +311,10 @@ inline const QQuaternion operator/(const QQuaternion &quaternion, float divisor) inline bool qFuzzyCompare(const QQuaternion& q1, const QQuaternion& q2) { - return qFuzzyCompare(q1.xp, q2.xp) && + return qFuzzyCompare(q1.wp, q2.wp) && + qFuzzyCompare(q1.xp, q2.xp) && qFuzzyCompare(q1.yp, q2.yp) && - qFuzzyCompare(q1.zp, q2.zp) && - qFuzzyCompare(q1.wp, q2.wp); + qFuzzyCompare(q1.zp, q2.zp); } #ifndef QT_NO_VECTOR3D diff --git a/src/gui/math3d/qvector2d.h b/src/gui/math3d/qvector2d.h index 137142f381..c4e62710d9 100644 --- a/src/gui/math3d/qvector2d.h +++ b/src/gui/math3d/qvector2d.h @@ -122,7 +122,7 @@ private: friend class QVector4D; }; -Q_DECLARE_TYPEINFO(QVector2D, Q_MOVABLE_TYPE); +Q_DECLARE_TYPEINFO(QVector2D, Q_PRIMITIVE_TYPE); Q_DECL_CONSTEXPR inline QVector2D::QVector2D() : xp(0.0f), yp(0.0f) {} diff --git a/src/gui/math3d/qvector3d.h b/src/gui/math3d/qvector3d.h index 5be637e0c5..b62d33da71 100644 --- a/src/gui/math3d/qvector3d.h +++ b/src/gui/math3d/qvector3d.h @@ -141,7 +141,7 @@ private: #endif }; -Q_DECLARE_TYPEINFO(QVector3D, Q_MOVABLE_TYPE); +Q_DECLARE_TYPEINFO(QVector3D, Q_PRIMITIVE_TYPE); Q_DECL_CONSTEXPR inline QVector3D::QVector3D() : xp(0.0f), yp(0.0f), zp(0.0f) {} diff --git a/src/gui/math3d/qvector4d.h b/src/gui/math3d/qvector4d.h index 72db8ac754..0543f0fbe3 100644 --- a/src/gui/math3d/qvector4d.h +++ b/src/gui/math3d/qvector4d.h @@ -131,7 +131,7 @@ private: #endif }; -Q_DECLARE_TYPEINFO(QVector4D, Q_MOVABLE_TYPE); +Q_DECLARE_TYPEINFO(QVector4D, Q_PRIMITIVE_TYPE); Q_DECL_CONSTEXPR inline QVector4D::QVector4D() : xp(0.0f), yp(0.0f), zp(0.0f), wp(0.0f) {} |