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>bb10
parent
14419b0a2b
commit
6ef40175e5
|
|
@ -289,6 +289,18 @@ QMatrix4x4::QMatrix4x4(const QTransform& transform)
|
|||
\sa row(), setColumn()
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn bool QMatrix4x4::isAffine() const
|
||||
\since 5.5
|
||||
|
||||
Returns \c true if this matrix is affine matrix; false otherwise.
|
||||
|
||||
An affine matrix is a 4x4 matrix with row 3 equal to (0, 0, 0, 1),
|
||||
e.g. no projective coefficients.
|
||||
|
||||
\sa isIdentity()
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn bool QMatrix4x4::isIdentity() const
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue