summaryrefslogtreecommitdiffstats
path: root/src/gui/math3d/qmatrix4x4.h
diff options
context:
space:
mode:
authorKonstantin Ritt <ritt.ks@gmail.com>2015-01-26 11:37:45 +0400
committerSean Harmer <sean.harmer@kdab.com>2015-01-28 12:37:52 +0000
commit6ef40175e50599a9c19d25cd1e2d3a658a61b494 (patch)
tree175a01ba84fa9cfec5051ac37c640ddfeb16ed92 /src/gui/math3d/qmatrix4x4.h
parent14419b0a2b63c774e11dec10967495b19540bbb3 (diff)
Introduce QMatrix4x4::isAffine()
- a convenience method thats checks if the matrix has no projective coefficients. Change-Id: Ieea8ac2e4237b471a683ad5010672b1e89a0c953 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/gui/math3d/qmatrix4x4.h')
-rw-r--r--src/gui/math3d/qmatrix4x4.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gui/math3d/qmatrix4x4.h b/src/gui/math3d/qmatrix4x4.h
index 31a4dbf1ca..74329b7cdd 100644
--- a/src/gui/math3d/qmatrix4x4.h
+++ b/src/gui/math3d/qmatrix4x4.h
@@ -77,6 +77,8 @@ public:
inline void setRow(int index, const QVector4D& value);
#endif
+ inline bool isAffine() const;
+
inline bool isIdentity() const;
inline void setToIdentity();
@@ -302,6 +304,11 @@ inline void QMatrix4x4::setRow(int index, const QVector4D& value)
Q_GUI_EXPORT QMatrix4x4 operator/(const QMatrix4x4& matrix, float divisor);
+inline bool QMatrix4x4::isAffine() const
+{
+ return m[0][3] == 0.0f && m[1][3] == 0.0f && m[2][3] == 0.0f && m[3][3] == 1.0f;
+}
+
inline bool QMatrix4x4::isIdentity() const
{
if (flagBits == Identity)