MeeGo 1.2 Harmattan Developer Documentation Develop for the Nokia N9

QGenericMatrix Class Reference

The QGenericMatrix class is a template class that represents a NxM transformation matrix with N columns and M rows. More...

 #include <QGenericMatrix>

This class was introduced in Qt 4.6.

Public Functions

QGenericMatrix ()
QGenericMatrix ( const QGenericMatrix<N, M, T> & other )
QGenericMatrix ( const T * values )
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 ) 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 )
QGenericMatrix<N, M, T> & operator-= ( const QGenericMatrix<N, M, T> & other )
QGenericMatrix<N, M, T> & operator/= ( T divisor )
bool operator== ( const QGenericMatrix<N, M, T> & other ) const

Related Non-Members

typedef QMatrix2x2
typedef QMatrix2x3
typedef QMatrix2x4
typedef QMatrix3x2
typedef QMatrix3x3
typedef QMatrix3x4
typedef QMatrix4x2
typedef QMatrix4x3
QGenericMatrix<M1, M2, T> operator* ( const QGenericMatrix<N, M2, T> & m1, const QGenericMatrix<M1, N, T> & m2 )
QGenericMatrix<N, M, T> operator* ( T factor, const QGenericMatrix<N, M, T> & matrix )
QGenericMatrix<N, M, T> operator* ( const QGenericMatrix<N, M, T> & matrix, T factor )
QGenericMatrix<N, M, T> operator+ ( const QGenericMatrix<N, M, T> & m1, const QGenericMatrix<N, M, T> & m2 )
QGenericMatrix<N, M, T> operator- ( const QGenericMatrix<N, M, T> & m1, const QGenericMatrix<N, M, T> & m2 )
QGenericMatrix<N, M, T> operator- ( const QGenericMatrix<N, M, T> & matrix )
QGenericMatrix<N, M, T> operator/ ( const QGenericMatrix<N, M, T> & matrix, T divisor )
QDataStream & operator<< ( QDataStream & stream, const QGenericMatrix<N, M, T> & matrix )
QDataStream & operator>> ( QDataStream & stream, QGenericMatrix<N, M, T> & matrix )

Detailed Description

The QGenericMatrix class is a template class that represents a NxM transformation matrix with N columns and M rows.

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 ()

Constructs a NxM identity matrix.

QGenericMatrix::QGenericMatrix ( const QGenericMatrix<N, M, T> & other )

Constructs a copy of other.

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().

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 ) 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 )

Adds the contents of other to this matrix.

QGenericMatrix<N, M, T> & QGenericMatrix::operator-= ( const QGenericMatrix<N, M, T> & other )

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 ) const

Returns true if this matrix is identical to other; false otherwise.

Related Non-Members

typedef QMatrix2x2

The QMatrix2x2 type defines a convenient instantiation of the QGenericMatrix template for 2 columns, 2 rows, and qreal as the element type.

typedef QMatrix2x3

The QMatrix2x3 type defines a convenient instantiation of the QGenericMatrix template for 2 columns, 3 rows, and qreal as the element type.

typedef QMatrix2x4

The QMatrix2x4 type defines a convenient instantiation of the QGenericMatrix template for 2 columns, 4 rows, and qreal as the element type.

typedef QMatrix3x2

The QMatrix3x2 type defines a convenient instantiation of the QGenericMatrix template for 3 columns, 2 rows, and qreal as the element type.

typedef QMatrix3x3

The QMatrix3x3 type defines a convenient instantiation of the QGenericMatrix template for 3 columns, 3 rows, and qreal as the element type.

typedef QMatrix3x4

The QMatrix3x4 type defines a convenient instantiation of the QGenericMatrix template for 3 columns, 4 rows, and qreal as the element type.

typedef QMatrix4x2

The QMatrix4x2 type defines a convenient instantiation of the QGenericMatrix template for 4 columns, 2 rows, and qreal as the element type.

typedef QMatrix4x3

The QMatrix4x3 type defines a convenient instantiation of the QGenericMatrix template for 4 columns, 3 rows, and qreal as the element type.

QGenericMatrix<M1, M2, T> operator* ( const QGenericMatrix<N, M2, T> & m1, const QGenericMatrix<M1, N, T> & m2 )

Returns the product of the NxM2 matrix m1 and the M1xN matrix m2 to produce a M1xM2 matrix result.

QGenericMatrix<N, M, T> operator* ( T factor, const QGenericMatrix<N, M, T> & matrix )

Returns the result of multiplying all elements of matrix by factor.

QGenericMatrix<N, M, T> operator* ( const QGenericMatrix<N, M, T> & matrix, T factor )

Returns the result of multiplying all elements of matrix by factor.

QGenericMatrix<N, M, T> operator+ ( const QGenericMatrix<N, M, T> & m1, const QGenericMatrix<N, M, T> & m2 )

Returns the sum of m1 and m2.

QGenericMatrix<N, M, T> operator- ( const QGenericMatrix<N, M, T> & m1, const QGenericMatrix<N, M, T> & m2 )

Returns the difference of m1 and m2.

QGenericMatrix<N, M, T> operator- ( const QGenericMatrix<N, M, T> & matrix )

This is an overloaded function.

Returns the negation of matrix.

QGenericMatrix<N, M, T> operator/ ( const QGenericMatrix<N, M, T> & matrix, T divisor )

Returns the result of dividing all elements of matrix by divisor.

QDataStream & operator<< ( QDataStream & stream, const QGenericMatrix<N, M, T> & matrix )

Writes the given matrix to the given stream and returns a reference to the stream.

See also Serializing Qt Data Types.

QDataStream & operator>> ( QDataStream & stream, QGenericMatrix<N, M, T> & matrix )

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.