QGenericMatrix Class
template <int N, int M, typename T> class QGenericMatrixThe QGenericMatrix class is a template class that represents a NxM transformation matrix with N columns and M rows. More...
Header: | #include <QGenericMatrix> |
CMake: | find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
Public Functions
QGenericMatrix(const T *values) | |
QGenericMatrix() | |
const T * | constData() const |
void | copyDataTo(T *values) const |
T * | data() |
const T * | data() const |
void | fill(T value) |
bool | isIdentity() const |
void | setToIdentity() |
QGenericMatrix<M, N, T> | transposed() const |
bool | operator!=(const QGenericMatrix<N, M, T> &other = N) const |
const T & | operator()(int row, int column) const |
T & | operator()(int row, int column) |
QGenericMatrix<N, M, T> & | operator*=(T factor) |
QGenericMatrix<N, M, T> & | operator+=(const QGenericMatrix<N, M, T> &other = N) |
QGenericMatrix<N, M, T> & | operator-=(const QGenericMatrix<N, M, T> &other = N) |
QGenericMatrix<N, M, T> & | operator/=(T divisor) |
bool | operator==(const QGenericMatrix<N, M, T> &other = N) const |
Related Non-Members
QMatrix2x2 | |
QMatrix2x3 | |
QMatrix2x4 | |
QMatrix3x2 | |
QMatrix3x3 | |
QMatrix3x4 | |
QMatrix4x2 | |
QMatrix4x3 | |
QGenericMatrix<M1, M2, TT> | operator*(const QGenericMatrix<NN, M2, TT> &m1 = NN, const QGenericMatrix<M1, NN, TT> &m2 = M1) |
QGenericMatrix<N, M, T> | operator*(T factor, const QGenericMatrix<N, M, T> &matrix = N) |
QGenericMatrix<N, M, T> | operator*(const QGenericMatrix<N, M, T> &matrix = N, T factor) |
QGenericMatrix<N, M, T> | operator+(const QGenericMatrix<N, M, T> &m1 = N, const QGenericMatrix<N, M, T> &m2 = N) |
QGenericMatrix<N, M, T> | operator-(const QGenericMatrix<N, M, T> &m1 = N, const QGenericMatrix<N, M, T> &m2 = N) |
QGenericMatrix<N, M, T> | operator-(const QGenericMatrix<N, M, T> &matrix = N) |
QGenericMatrix<N, M, T> | operator/(const QGenericMatrix<N, M, T> &matrix = N, T divisor) |
QDataStream & | operator<<(QDataStream &stream, const QGenericMatrix<N, M, T> &matrix = N) |
QDataStream & | operator>>(QDataStream &stream, QGenericMatrix<N, M, T> &matrix = N) |
Detailed Description
The QGenericMatrix template has three parameters:
N | Number of columns. |
M | Number of rows. |
T | Element type that is visible to users of the class. |
See also QMatrix4x4.
Member Function Documentation
QGenericMatrix::QGenericMatrix(const T *values)
Constructs a matrix from the given N * M floating-point values. The contents of the array values is assumed to be in row-major order.
See also copyDataTo().
QGenericMatrix::QGenericMatrix()
Constructs a NxM identity matrix.
const T *QGenericMatrix::constData() const
Returns a constant pointer to the raw data of this matrix.
See also data().
void QGenericMatrix::copyDataTo(T *values) const
Retrieves the N * M items in this matrix and copies them to values in row-major order.
T *QGenericMatrix::data()
Returns a pointer to the raw data of this matrix.
See also constData().
const T *QGenericMatrix::data() const
Returns a constant pointer to the raw data of this matrix.
See also constData().
void QGenericMatrix::fill(T value)
Fills all elements of this matrix with value.
bool QGenericMatrix::isIdentity() const
Returns true
if this matrix is the identity; false otherwise.
See also setToIdentity().
void QGenericMatrix::setToIdentity()
Sets this matrix to the identity.
See also isIdentity().
QGenericMatrix<M, N, T> QGenericMatrix::transposed() const
Returns this matrix, transposed about its diagonal.
bool QGenericMatrix::operator!=(const QGenericMatrix<N, M, T> &other = N) const
Returns true
if this matrix is not identical to other; false otherwise.
const T &QGenericMatrix::operator()(int row, int column) const
Returns a constant reference to the element at position (row, column) in this matrix.
T &QGenericMatrix::operator()(int row, int column)
Returns a reference to the element at position (row, column) in this matrix so that the element can be assigned to.
QGenericMatrix<N, M, T> &QGenericMatrix::operator*=(T factor)
Multiplies all elements of this matrix by factor.
QGenericMatrix<N, M, T> &QGenericMatrix::operator+=(const QGenericMatrix<N, M, T> &other = N)
Adds the contents of other to this matrix.
QGenericMatrix<N, M, T> &QGenericMatrix::operator-=(const QGenericMatrix<N, M, T> &other = N)
Subtracts the contents of other from this matrix.
QGenericMatrix<N, M, T> &QGenericMatrix::operator/=(T divisor)
Divides all elements of this matrix by divisor.
bool QGenericMatrix::operator==(const QGenericMatrix<N, M, T> &other = N) const
Returns true
if this matrix is identical to other; false otherwise.
Related Non-Members
QMatrix2x2
The QMatrix2x2 type defines a convenient instantiation of the QGenericMatrix template for 2 columns, 2 rows, and float as the element type.
QMatrix2x3
The QMatrix2x3 type defines a convenient instantiation of the QGenericMatrix template for 2 columns, 3 rows, and float as the element type.
QMatrix2x4
The QMatrix2x4 type defines a convenient instantiation of the QGenericMatrix template for 2 columns, 4 rows, and float as the element type.
QMatrix3x2
The QMatrix3x2 type defines a convenient instantiation of the QGenericMatrix template for 3 columns, 2 rows, and float as the element type.
QMatrix3x3
The QMatrix3x3 type defines a convenient instantiation of the QGenericMatrix template for 3 columns, 3 rows, and float as the element type.
QMatrix3x4
The QMatrix3x4 type defines a convenient instantiation of the QGenericMatrix template for 3 columns, 4 rows, and float as the element type.
QMatrix4x2
The QMatrix4x2 type defines a convenient instantiation of the QGenericMatrix template for 4 columns, 2 rows, and float as the element type.
QMatrix4x3
The QMatrix4x3 type defines a convenient instantiation of the QGenericMatrix template for 4 columns, 3 rows, and float as the element type.
template <int NN, int M1, int M2, typename TT> QGenericMatrix<M1, M2, TT> operator*(const QGenericMatrix<NN, M2, TT> &m1 = NN, const QGenericMatrix<M1, NN, TT> &m2 = M1)
Returns the product of the NNxM2 matrix m1 and the M1xNN matrix m2 to produce a M1xM2 matrix result.
template <int N, int M, typename T> QGenericMatrix<N, M, T> operator*(T factor, const QGenericMatrix<N, M, T> &matrix = N)
Returns the result of multiplying all elements of matrix by factor.
template <int N, int M, typename T> QGenericMatrix<N, M, T> operator*(const QGenericMatrix<N, M, T> &matrix = N, T factor)
Returns the result of multiplying all elements of matrix by factor.
template <int N, int M, typename T> QGenericMatrix<N, M, T> operator+(const QGenericMatrix<N, M, T> &m1 = N, const QGenericMatrix<N, M, T> &m2 = N)
Returns the sum of m1 and m2.
template <int N, int M, typename T> QGenericMatrix<N, M, T> operator-(const QGenericMatrix<N, M, T> &m1 = N, const QGenericMatrix<N, M, T> &m2 = N)
Returns the difference of m1 and m2.
template <int N, int M, typename T> QGenericMatrix<N, M, T> operator-(const QGenericMatrix<N, M, T> &matrix = N)
This is an overloaded function.
Returns the negation of matrix.
template <int N, int M, typename T> QGenericMatrix<N, M, T> operator/(const QGenericMatrix<N, M, T> &matrix = N, T divisor)
Returns the result of dividing all elements of matrix by divisor.
template <int N, int M, typename T> QDataStream &operator<<(QDataStream &stream, const QGenericMatrix<N, M, T> &matrix = N)
Writes the given matrix to the given stream and returns a reference to the stream.
See also Serializing Qt Data Types.
template <int N, int M, typename T> QDataStream &operator>>(QDataStream &stream, QGenericMatrix<N, M, T> &matrix = N)
Reads a NxM matrix from the given stream into the given matrix and returns a reference to the stream.
See also Serializing Qt Data Types.