Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QDoubleMatrix4x4 Class Reference

#include <qdoublematrix4x4_p.h>

+ Collaboration diagram for QDoubleMatrix4x4:

Public Member Functions

 QDoubleMatrix4x4 ()
 
 QDoubleMatrix4x4 (Qt::Initialization)
 
 QDoubleMatrix4x4 (const double *values)
 
 QDoubleMatrix4x4 (double m11, double m12, double m13, double m14, double m21, double m22, double m23, double m24, double m31, double m32, double m33, double m34, double m41, double m42, double m43, double m44)
 
 QDoubleMatrix4x4 (const double *values, int cols, int rows)
 
const double & operator() (int row, int column) const
 
double & operator() (int row, int column)
 
bool isAffine () const
 
bool isIdentity () const
 
void setToIdentity ()
 
void fill (double value)
 
double determinant () const
 
QDoubleMatrix4x4 inverted (bool *invertible=nullptr) const
 
QDoubleMatrix4x4 transposed () const
 
QDoubleMatrix4x4operator+= (const QDoubleMatrix4x4 &other)
 
QDoubleMatrix4x4operator-= (const QDoubleMatrix4x4 &other)
 
QDoubleMatrix4x4operator*= (const QDoubleMatrix4x4 &other)
 
QDoubleMatrix4x4operator*= (double factor)
 
QDoubleMatrix4x4operator/= (double divisor)
 
bool operator== (const QDoubleMatrix4x4 &other) const
 
bool operator!= (const QDoubleMatrix4x4 &other) const
 
void scale (const QDoubleVector3D &vector)
 
void translate (const QDoubleVector3D &vector)
 
void rotate (double angle, const QDoubleVector3D &vector)
 
void scale (double x, double y)
 
void scale (double x, double y, double z)
 
void scale (double factor)
 
void translate (double x, double y)
 
void translate (double x, double y, double z)
 
void rotate (double angle, double x, double y, double z=0.0f)
 
void ortho (const QRect &rect)
 
void ortho (const QRectF &rect)
 
void ortho (double left, double right, double bottom, double top, double nearPlane, double farPlane)
 
void frustum (double left, double right, double bottom, double top, double nearPlane, double farPlane)
 
void perspective (double verticalAngle, double aspectRatio, double nearPlane, double farPlane)
 
void lookAt (const QDoubleVector3D &eye, const QDoubleVector3D &center, const QDoubleVector3D &up)
 
void viewport (const QRectF &rect)
 
void viewport (double left, double bottom, double width, double height, double nearPlane=0.0f, double farPlane=1.0f)
 
void flipCoordinates ()
 
void copyDataTo (double *values) const
 
QPoint map (const QPoint &point) const
 
QPointF map (const QPointF &point) const
 
QDoubleVector3D map (const QDoubleVector3D &point) const
 
QDoubleVector3D mapVector (const QDoubleVector3D &vector) const
 
QRect mapRect (const QRect &rect) const
 
QRectF mapRect (const QRectF &rect) const
 
double * data ()
 
const double * data () const
 
const double * constData () const
 
void optimize ()
 

Friends

QDoubleMatrix4x4 operator+ (const QDoubleMatrix4x4 &m1, const QDoubleMatrix4x4 &m2)
 
QDoubleMatrix4x4 operator- (const QDoubleMatrix4x4 &m1, const QDoubleMatrix4x4 &m2)
 
QDoubleMatrix4x4 operator* (const QDoubleMatrix4x4 &m1, const QDoubleMatrix4x4 &m2)
 
QDoubleVector3D operator* (const QDoubleMatrix4x4 &matrix, const QDoubleVector3D &vector)
 
QDoubleVector3D operator* (const QDoubleVector3D &vector, const QDoubleMatrix4x4 &matrix)
 
QPoint operator* (const QPoint &point, const QDoubleMatrix4x4 &matrix)
 
QPointF operator* (const QPointF &point, const QDoubleMatrix4x4 &matrix)
 
QDoubleMatrix4x4 operator- (const QDoubleMatrix4x4 &matrix)
 
QPoint operator* (const QDoubleMatrix4x4 &matrix, const QPoint &point)
 
QPointF operator* (const QDoubleMatrix4x4 &matrix, const QPointF &point)
 
QDoubleMatrix4x4 operator* (double factor, const QDoubleMatrix4x4 &matrix)
 
QDoubleMatrix4x4 operator* (const QDoubleMatrix4x4 &matrix, double factor)
 
Q_POSITIONING_EXPORT QDoubleMatrix4x4 operator/ (const QDoubleMatrix4x4 &matrix, double divisor)
 
bool qFuzzyCompare (const QDoubleMatrix4x4 &m1, const QDoubleMatrix4x4 &m2)
 
Q_POSITIONING_EXPORT QDebug operator<< (QDebug dbg, const QDoubleMatrix4x4 &m)
 

Detailed Description

Definition at line 32 of file qdoublematrix4x4_p.h.

Constructor & Destructor Documentation

◆ QDoubleMatrix4x4() [1/5]

QDoubleMatrix4x4::QDoubleMatrix4x4 ( )
inline

Definition at line 35 of file qdoublematrix4x4_p.h.

Referenced by inverted().

+ Here is the caller graph for this function:

◆ QDoubleMatrix4x4() [2/5]

QDoubleMatrix4x4::QDoubleMatrix4x4 ( Qt::Initialization )
inlineexplicit

Definition at line 36 of file qdoublematrix4x4_p.h.

◆ QDoubleMatrix4x4() [3/5]

QT_BEGIN_NAMESPACE QDoubleMatrix4x4::QDoubleMatrix4x4 ( const double * values)
explicit

Definition at line 12 of file qdoublematrix4x4.cpp.

◆ QDoubleMatrix4x4() [4/5]

QDoubleMatrix4x4::QDoubleMatrix4x4 ( double m11,
double m12,
double m13,
double m14,
double m21,
double m22,
double m23,
double m24,
double m31,
double m32,
double m33,
double m34,
double m41,
double m42,
double m43,
double m44 )
inline

Definition at line 156 of file qdoublematrix4x4_p.h.

◆ QDoubleMatrix4x4() [5/5]

QDoubleMatrix4x4::QDoubleMatrix4x4 ( const double * values,
int cols,
int rows )

Definition at line 20 of file qdoublematrix4x4.cpp.

Member Function Documentation

◆ constData()

const double * QDoubleMatrix4x4::constData ( ) const
inline

Definition at line 122 of file qdoublematrix4x4_p.h.

◆ copyDataTo()

void QDoubleMatrix4x4::copyDataTo ( double * values) const

Definition at line 861 of file qdoublematrix4x4.cpp.

◆ data() [1/2]

double * QDoubleMatrix4x4::data ( )
inline

Definition at line 885 of file qdoublematrix4x4_p.h.

◆ data() [2/2]

const double * QDoubleMatrix4x4::data ( ) const
inline

Definition at line 121 of file qdoublematrix4x4_p.h.

◆ determinant()

double QDoubleMatrix4x4::determinant ( ) const

Definition at line 59 of file qdoublematrix4x4.cpp.

References matrixDet3(), and matrixDet4().

+ Here is the call graph for this function:

◆ fill()

void QDoubleMatrix4x4::fill ( double value)
inline

Definition at line 227 of file qdoublematrix4x4_p.h.

◆ flipCoordinates()

void QDoubleMatrix4x4::flipCoordinates ( )

Definition at line 839 of file qdoublematrix4x4.cpp.

◆ frustum()

void QDoubleMatrix4x4::frustum ( double left,
double right,
double bottom,
double top,
double nearPlane,
double farPlane )

Definition at line 710 of file qdoublematrix4x4.cpp.

◆ inverted()

QDoubleMatrix4x4 QDoubleMatrix4x4::inverted ( bool * invertible = nullptr) const

Definition at line 71 of file qdoublematrix4x4.cpp.

References QDoubleMatrix4x4().

+ Here is the call graph for this function:

◆ isAffine()

bool QDoubleMatrix4x4::isAffine ( ) const
inline

Definition at line 184 of file qdoublematrix4x4_p.h.

◆ isIdentity()

bool QDoubleMatrix4x4::isIdentity ( ) const
inline

Definition at line 189 of file qdoublematrix4x4_p.h.

◆ lookAt()

void QDoubleMatrix4x4::lookAt ( const QDoubleVector3D & eye,
const QDoubleVector3D & center,
const QDoubleVector3D & up )

Definition at line 779 of file qdoublematrix4x4.cpp.

References QDoubleVector3D::crossProduct(), QDoubleVector3D::normalize(), qFuzzyIsNull(), translate(), QDoubleVector3D::x(), QDoubleVector3D::y(), and QDoubleVector3D::z().

+ Here is the call graph for this function:

◆ map() [1/3]

QDoubleVector3D QDoubleMatrix4x4::map ( const QDoubleVector3D & point) const
inline

Definition at line 857 of file qdoublematrix4x4_p.h.

◆ map() [2/3]

QPoint QDoubleMatrix4x4::map ( const QPoint & point) const
inline

Definition at line 847 of file qdoublematrix4x4_p.h.

◆ map() [3/3]

QPointF QDoubleMatrix4x4::map ( const QPointF & point) const
inline

Definition at line 852 of file qdoublematrix4x4_p.h.

◆ mapRect() [1/2]

QRect QDoubleMatrix4x4::mapRect ( const QRect & rect) const

Definition at line 868 of file qdoublematrix4x4.cpp.

References map, qMax(), qMin(), qRound(), rect, tr, QPoint::x(), and QPoint::y().

+ Here is the call graph for this function:

◆ mapRect() [2/2]

QRectF QDoubleMatrix4x4::mapRect ( const QRectF & rect) const

Definition at line 906 of file qdoublematrix4x4.cpp.

References map, qMax(), qMin(), rect, tr, QRect::translated(), QPointF::x(), and QPointF::y().

+ Here is the call graph for this function:

◆ mapVector()

QDoubleVector3D QDoubleMatrix4x4::mapVector ( const QDoubleVector3D & vector) const
inline

Definition at line 862 of file qdoublematrix4x4_p.h.

References vector.

◆ operator!=()

bool QDoubleMatrix4x4::operator!= ( const QDoubleMatrix4x4 & other) const
inline

Definition at line 432 of file qdoublematrix4x4_p.h.

References other().

+ Here is the call graph for this function:

◆ operator()() [1/2]

double & QDoubleMatrix4x4::operator() ( int row,
int column )
inline

Definition at line 175 of file qdoublematrix4x4_p.h.

References Q_ASSERT.

◆ operator()() [2/2]

const double & QDoubleMatrix4x4::operator() ( int row,
int column ) const
inline

Definition at line 169 of file qdoublematrix4x4_p.h.

References Q_ASSERT.

◆ operator*=() [1/2]

QDoubleMatrix4x4 & QDoubleMatrix4x4::operator*= ( const QDoubleMatrix4x4 & other)
inline

Definition at line 292 of file qdoublematrix4x4_p.h.

References other().

+ Here is the call graph for this function:

◆ operator*=() [2/2]

QDoubleMatrix4x4 & QDoubleMatrix4x4::operator*= ( double factor)
inline

Definition at line 390 of file qdoublematrix4x4_p.h.

◆ operator+=()

QDoubleMatrix4x4 & QDoubleMatrix4x4::operator+= ( const QDoubleMatrix4x4 & other)
inline

Definition at line 248 of file qdoublematrix4x4_p.h.

References other().

+ Here is the call graph for this function:

◆ operator-=()

QDoubleMatrix4x4 & QDoubleMatrix4x4::operator-= ( const QDoubleMatrix4x4 & other)
inline

Definition at line 270 of file qdoublematrix4x4_p.h.

References other().

+ Here is the call graph for this function:

◆ operator/=()

QDoubleMatrix4x4 & QDoubleMatrix4x4::operator/= ( double divisor)

Definition at line 190 of file qdoublematrix4x4.cpp.

◆ operator==()

bool QDoubleMatrix4x4::operator== ( const QDoubleMatrix4x4 & other) const
inline

Definition at line 412 of file qdoublematrix4x4_p.h.

References other().

+ Here is the call graph for this function:

◆ optimize()

void QDoubleMatrix4x4::optimize ( )

Definition at line 969 of file qdoublematrix4x4.cpp.

References matrixDet2(), matrixDet3(), and qFuzzyCompare.

+ Here is the call graph for this function:

◆ ortho() [1/3]

void QDoubleMatrix4x4::ortho ( const QRect & rect)

Definition at line 663 of file qdoublematrix4x4.cpp.

References ortho(), and rect.

Referenced by ortho(), and ortho().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ortho() [2/3]

void QDoubleMatrix4x4::ortho ( const QRectF & rect)

Definition at line 672 of file qdoublematrix4x4.cpp.

References ortho(), and rect.

+ Here is the call graph for this function:

◆ ortho() [3/3]

void QDoubleMatrix4x4::ortho ( double left,
double right,
double bottom,
double top,
double nearPlane,
double farPlane )

Definition at line 677 of file qdoublematrix4x4.cpp.

◆ perspective()

void QDoubleMatrix4x4::perspective ( double verticalAngle,
double aspectRatio,
double nearPlane,
double farPlane )

Definition at line 743 of file qdoublematrix4x4.cpp.

References qDegreesToRadians().

+ Here is the call graph for this function:

◆ rotate() [1/2]

void QDoubleMatrix4x4::rotate ( double angle,
const QDoubleVector3D & vector )

Definition at line 454 of file qdoublematrix4x4.cpp.

References rotate(), and vector.

Referenced by rotate(), and QGeoTiledMapScenePrivate::setupCamera().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rotate() [2/2]

void QDoubleMatrix4x4::rotate ( double angle,
double x,
double y,
double z = 0.0f )

Definition at line 459 of file qdoublematrix4x4.cpp.

References qDegreesToRadians(), qFuzzyCompare, and qFuzzyIsNull().

+ Here is the call graph for this function:

◆ scale() [1/4]

void QDoubleMatrix4x4::scale ( const QDoubleVector3D & vector)

Definition at line 235 of file qdoublematrix4x4.cpp.

References vector.

◆ scale() [2/4]

void QDoubleMatrix4x4::scale ( double factor)

Definition at line 330 of file qdoublematrix4x4.cpp.

◆ scale() [3/4]

void QDoubleMatrix4x4::scale ( double x,
double y )

Definition at line 271 of file qdoublematrix4x4.cpp.

◆ scale() [4/4]

void QDoubleMatrix4x4::scale ( double x,
double y,
double z )

Definition at line 297 of file qdoublematrix4x4.cpp.

◆ setToIdentity()

void QDoubleMatrix4x4::setToIdentity ( )
inline

Definition at line 206 of file qdoublematrix4x4_p.h.

◆ translate() [1/3]

void QDoubleMatrix4x4::translate ( const QDoubleVector3D & vector)

Definition at line 363 of file qdoublematrix4x4.cpp.

References vector.

Referenced by lookAt(), and QGeoProjectionWebMercator::quickItemTransformation().

+ Here is the caller graph for this function:

◆ translate() [2/3]

void QDoubleMatrix4x4::translate ( double x,
double y )

Definition at line 397 of file qdoublematrix4x4.cpp.

◆ translate() [3/3]

void QDoubleMatrix4x4::translate ( double x,
double y,
double z )

Definition at line 423 of file qdoublematrix4x4.cpp.

◆ transposed()

QDoubleMatrix4x4 QDoubleMatrix4x4::transposed ( ) const

Definition at line 177 of file qdoublematrix4x4.cpp.

◆ viewport() [1/2]

void QDoubleMatrix4x4::viewport ( const QRectF & rect)
inline

Definition at line 893 of file qdoublematrix4x4_p.h.

References rect, and viewport().

+ Here is the call graph for this function:

◆ viewport() [2/2]

void QDoubleMatrix4x4::viewport ( double left,
double bottom,
double width,
double height,
double nearPlane = 0.0f,
double farPlane = 1.0f )

Definition at line 812 of file qdoublematrix4x4.cpp.

Friends And Related Symbol Documentation

◆ operator* [1/9]

QDoubleMatrix4x4 operator* ( const QDoubleMatrix4x4 & m1,
const QDoubleMatrix4x4 & m2 )
friend

Definition at line 498 of file qdoublematrix4x4_p.h.

◆ operator* [2/9]

QDoubleVector3D operator* ( const QDoubleMatrix4x4 & matrix,
const QDoubleVector3D & vector )
friend

Definition at line 611 of file qdoublematrix4x4_p.h.

◆ operator* [3/9]

QPoint operator* ( const QDoubleMatrix4x4 & matrix,
const QPoint & point )
friend

Definition at line 693 of file qdoublematrix4x4_p.h.

◆ operator* [4/9]

QPointF operator* ( const QDoubleMatrix4x4 & matrix,
const QPointF & point )
friend

Definition at line 725 of file qdoublematrix4x4_p.h.

◆ operator* [5/9]

QDoubleMatrix4x4 operator* ( const QDoubleMatrix4x4 & matrix,
double factor )
friend

Definition at line 804 of file qdoublematrix4x4_p.h.

◆ operator* [6/9]

QDoubleVector3D operator* ( const QDoubleVector3D & vector,
const QDoubleMatrix4x4 & matrix )
friend

Definition at line 586 of file qdoublematrix4x4_p.h.

◆ operator* [7/9]

QPoint operator* ( const QPoint & point,
const QDoubleMatrix4x4 & matrix )
friend

Definition at line 650 of file qdoublematrix4x4_p.h.

◆ operator* [8/9]

QPointF operator* ( const QPointF & point,
const QDoubleMatrix4x4 & matrix )
friend

Definition at line 671 of file qdoublematrix4x4_p.h.

◆ operator* [9/9]

QDoubleMatrix4x4 operator* ( double factor,
const QDoubleMatrix4x4 & matrix )
friend

Definition at line 781 of file qdoublematrix4x4_p.h.

◆ operator+

QDoubleMatrix4x4 operator+ ( const QDoubleMatrix4x4 & m1,
const QDoubleMatrix4x4 & m2 )
friend

Definition at line 452 of file qdoublematrix4x4_p.h.

◆ operator- [1/2]

QDoubleMatrix4x4 operator- ( const QDoubleMatrix4x4 & m1,
const QDoubleMatrix4x4 & m2 )
friend

Definition at line 475 of file qdoublematrix4x4_p.h.

◆ operator- [2/2]

QDoubleMatrix4x4 operator- ( const QDoubleMatrix4x4 & matrix)
friend

Definition at line 758 of file qdoublematrix4x4_p.h.

◆ operator/

Q_POSITIONING_EXPORT QDoubleMatrix4x4 operator/ ( const QDoubleMatrix4x4 & matrix,
double divisor )
friend

Definition at line 212 of file qdoublematrix4x4.cpp.

◆ operator<<

Q_POSITIONING_EXPORT QDebug operator<< ( QDebug dbg,
const QDoubleMatrix4x4 & m )
friend

Definition at line 1019 of file qdoublematrix4x4.cpp.

◆ qFuzzyCompare

bool qFuzzyCompare ( const QDoubleMatrix4x4 & m1,
const QDoubleMatrix4x4 & m2 )
friend

Definition at line 827 of file qdoublematrix4x4_p.h.

Referenced by optimize(), and rotate().


The documentation for this class was generated from the following files: