QMatrix4x4

QMatrix4x4 

    #include <QMatrix4x4>

 

Public Functions

  QMatrix4x4()
  QMatrix4x4(const float *values)
  QMatrix4x4(float m11, float m12, float m13, float m14, float m21, float m22, float m23, float m24, float m31, float m32, float m33, float m34, float m41, float m42, float m43, float m44)
  QMatrix4x4(const QGenericMatrix<N, M, float> &matrix = ...)
  QMatrix4x4(const QTransform &transform)
  QMatrix4x4(const QMatrix &matrix)
QVector4D column(int index) const
const float * constData() const
void copyDataTo(float *values) const
float * data()
const float * data() const
double determinant() const
void fill(float value)
void frustum(float left, float right, float bottom, float top, float nearPlane, float farPlane)
QMatrix4x4 inverted(bool *invertible = nullptr) const
bool isAffine() const
bool isIdentity() const
void lookAt(const QVector3D &eye, const QVector3D &center, const QVector3D &up)
QPoint map(const QPoint &point) const
QPointF map(const QPointF &point) const
QVector3D map(const QVector3D &point) const
QVector4D map(const QVector4D &point) const
QRect mapRect(const QRect &rect) const
QRectF mapRect(const QRectF &rect) const
QVector3D mapVector(const QVector3D &vector) const
QMatrix3x3 normalMatrix() const
void optimize()
void ortho(float left, float right, float bottom, float top, float nearPlane, float farPlane)
void ortho(const QRectF &rect)
void ortho(const QRect &rect)
void perspective(float verticalAngle, float aspectRatio, float nearPlane, float farPlane)
void rotate(float angle, const QVector3D &vector)
void rotate(float angle, float x, float y, float z = 0.0f)
void rotate(const QQuaternion &quaternion)
QVector4D row(int index) const
void scale(const QVector3D &vector)
void scale(float x, float y)
void scale(float x, float y, float z)
void scale(float factor)
void setColumn(int index, const QVector4D &value)
void setRow(int index, const QVector4D &value)
void setToIdentity()
QMatrix toAffine() const
QGenericMatrix<N, M, float> toGenericMatrix() const
QTransform toTransform() const
QTransform toTransform(float distanceToPlane) const
void translate(const QVector3D &vector)
void translate(float x, float y)
void translate(float x, float y, float z)
QMatrix4x4 transposed() const
void viewport(float left, float bottom, float width, float height, float nearPlane = 0.0f, float farPlane = 1.0f)
void viewport(const QRectF &rect)
QVariant operator QVariant() const
bool operator!=(const QMatrix4x4 &other) const
const float & operator()(int row, int column) const
float & operator()(int row, int column)
QMatrix4x4 & operator*=(const QMatrix4x4 &other)
QMatrix4x4 & operator*=(float factor)
QMatrix4x4 & operator+=(const QMatrix4x4 &other)
QMatrix4x4 & operator-=(const QMatrix4x4 &other)
QMatrix4x4 & operator/=(float divisor)
bool operator==(const QMatrix4x4 &other) const

bool qFuzzyCompare(const QMatrix4x4 &m1, const QMatrix4x4 &m2)
QMatrix4x4 operator*(const QMatrix4x4 &m1, const QMatrix4x4 &m2)
QVector3D operator*(const QVector3D &vector, const QMatrix4x4 &matrix)
QVector3D operator*(const QMatrix4x4 &matrix, const QVector3D &vector)
QVector4D operator*(const QVector4D &vector, const QMatrix4x4 &matrix)
QVector4D operator*(const QMatrix4x4 &matrix, const QVector4D &vector)
QPoint operator*(const QPoint &point, const QMatrix4x4 &matrix)
QPointF operator*(const QPointF &point, const QMatrix4x4 &matrix)
QPoint operator*(const QMatrix4x4 &matrix, const QPoint &point)
QPointF operator*(const QMatrix4x4 &matrix, const QPointF &point)
QMatrix4x4 operator*(float factor, const QMatrix4x4 &matrix)
QMatrix4x4 operator*(const QMatrix4x4 &matrix, float factor)
QMatrix4x4 operator+(const QMatrix4x4 &m1, const QMatrix4x4 &m2)
QMatrix4x4 operator-(const QMatrix4x4 &m1, const QMatrix4x4 &m2)
QMatrix4x4 operator-(const QMatrix4x4 &matrix)
QMatrix4x4 operator/(const QMatrix4x4 &matrix, float divisor)
QDataStream & operator<<(QDataStream &stream, const QMatrix4x4 &matrix)
QDataStream & operator>>(QDataStream &stream, QMatrix4x4 &matrix)

 

 

 

 

 

 

 

QMatrix4x4类表示三维空间中的4x4变换矩阵。

 

QMatrix4x4类通常被视为行主矩阵,因为构造函数和操作符()函数以行主格式获取数据,这在C风格的用法中很常见。

 

在内部,数据存储为列主格式,以便最佳地传递给OpenGL函数,这些函数需要列主数据。

 

使用这些函数时,请注意它们以列主格式返回数据:

 

数据()

constData()

另请参见QVector3D和QGenericMatrix。

 

 

 

########################

posted @ 2022-06-09 12:50  西北逍遥  阅读(683)  评论(0编辑  收藏  举报