C
GenericMatrix 结构体
template <int M, int N, typename T> struct Qul::PlatformInterface::GenericMatrixGenericMatrix 类是一个模板类,代表一个矩阵。 更多信息...
头文件 | #include <platforminterface/genericmatrix.h> |
自 | Qt Quick Ultralite (平台) 1.7 |
继承自 |
公共类型
枚举 | 初始化 { 未初始化, 零初始化, 单位矩阵 } |
公共函数
GenericMatrix(const T *values) | |
GenericMatrix(Qul::PlatformInterface::GenericMatrix::Initialization initialization) | |
GenericMatrix() | |
const T * | data() const |
T * | data() |
bool | isIdentity() const |
void | setToIdentity() |
bool | operator!=(const GenericMatrix<M, N, T> &other = M) const |
const T & | operator()(int row, int column) const |
T & | operator()(int row, int column) |
GenericMatrix<M, N, T> & | operator*=(T factor) |
GenericMatrix<M, N, T> & | operator*=(const GenericMatrix<M, N, T> &other = M) |
GenericMatrix<M, N, T> & | operator+=(const GenericMatrix<M, N, T> &other = M) |
bool | operator==(const GenericMatrix<M, N, T> &other = M) const |
相关非成员
GenericMatrix<M, N, T2> | operator*(T1 factor, const GenericMatrix<M, N, T2> &matrix = M) |
GenericMatrix<M, N2, T> | operator*(const GenericMatrix<M, N1, T> &m1 = M, const GenericMatrix<N1, N2, T> &m2 = N1) |
GenericMatrix<M, N, T> | operator+(const GenericMatrix<M, N, T> &m1 = M, const GenericMatrix<M, N, T> &m2 = M) |
详细描述
GenericMatrix 类是一个模板类,表示一个矩阵。对于方阵,模板特化提供了少量额外的方法。
GenericMatrix 模板有三个参数
M | 列数。 |
N | 行数。 |
T | 供类用户可见的元素类型。 |
T 必须是
- 可简单复制的。
- 可默认构造的。
- 可整型构造的。
示例
using Qul::PlatformInterface::GenericMatrix; // Specializes a square matrix. using Matrix5x5 = GenericMatrix<5, 5, float>; Matrix5x5 m(Matrix5x5::Identity); m.isIdentity(); // Specializes a rectangular matrix. using Matrix2x3 = GenericMatrix<2, 3, float>; Matrix2x3 m2(Matrix2x3::Uninitialized);
成员类型文档
枚举 GenericMatrix::Initialization
此枚举类型用于矩阵初始化策略。
常量 | 值 | 描述 |
---|---|---|
Qul::PlatformInterface::GenericMatrix::Uninitialized | 0 | 构建矩阵而不初始化内容。 |
Qul::PlatformInterface::GenericMatrix::ZeroInitialized | 1 | 矩阵内容为零初始化。 |
Qul::PlatformInterface::GenericMatrix::Identity | 2 | 矩阵内容设置为单位矩阵。该枚举仅适用于方阵。 |
成员函数文档
GenericMatrix::GenericMatrix(const T *values)
从给定的 M * N values 构建矩阵。假设 values 数组的元素顺序为行主序。
GenericMatrix::GenericMatrix(Qul::PlatformInterface::GenericMatrix::Initialization initialization)
构建矩阵并根据 initialization 策略设置值。
GenericMatrix::GenericMatrix()
以零初始化的值构建矩阵。
const T *GenericMatrix::data() const
返回对此矩阵原始数据的恒定指针。
T *GenericMatrix::data()
返回对此矩阵原始数据的指针。
bool GenericMatrix::isIdentity() const
如果此矩阵是单位矩阵,则返回 true
,否则返回 false
。
注意:此方法仅适用于方阵。
另请参阅:setToIdentity。
void GenericMatrix::setToIdentity()
将此矩阵设置为单位矩阵。
注意:此方法仅适用于方阵。
另请参阅:isIdentity。
bool GenericMatrix::operator!=(const GenericMatrix<M, N, T> &other = M) const
如果此矩阵不与 other 相同,则返回 true
,否则返回 false
。
const T &GenericMatrix::operator()(int row, int column) const
返回对此矩阵中位置为 (row, column) 的元素的恒定引用。
T &GenericMatrix::operator()(int row, int column)
返回对此矩阵中索引位置(行,列)的元素的引用,以便可以将该元素赋值。
GenericMatrix<M, N, T> &GenericMatrix::operator*=(T factor)
将此矩阵的所有元素乘以标量factor。
GenericMatrix<M, N, T> &GenericMatrix::operator*=(const GenericMatrix<M, N, T> &other = M)
将此矩阵的所有元素与other矩阵相乘。
注意:此方法仅适用于方阵。
GenericMatrix<M, N, T> &GenericMatrix::operator+=(const GenericMatrix<M, N, T> &other = M)
将other的内容添加到此矩阵中。
bool GenericMatrix::operator==(const GenericMatrix<M, N, T> &other = M) const
如果此矩阵与other相同,则返回true
,否则返回false
。
相关非成员
template <int M, int N, typename T1, typename T2> GenericMatrix<M, N, T2> operator*(T1 factor, const GenericMatrix<M, N, T2> &matrix = M)
返回所有矩阵元素乘以标量factor的结果。
template <int M, int N1, int N2, typename T> GenericMatrix<M, N2, T> operator*(const GenericMatrix<M, N1, T> &m1 = M, const GenericMatrix<N1, N2, T> &m2 = N1)
返回m1和m2中所有元素相乘的结果。
template <int M, int N, typename T> GenericMatrix<M, N, T> operator+(const GenericMatrix<M, N, T> &m1 = M, const GenericMatrix<M, N, T> &m2 = M)
返回 m1 和 m2 的和。
在特定 Qt 许可下可用。
了解更多。