QMatrix4x4 Class

Die Klasse QMatrix4x4 stellt eine 4x4-Transformationsmatrix im 3D-Raum dar. Mehr...

Kopfzeile: #include <QMatrix4x4>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

Öffentliche Typen

flags Flags

Öffentliche Funktionen

QMatrix4x4()
QMatrix4x4(const QGenericMatrix<N, M, float> &matrix)
QMatrix4x4(const QTransform &transform)
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)
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 QRect &rect)
void ortho(const QRectF &rect)
void perspective(float verticalAngle, float aspectRatio, float nearPlane, float farPlane)
void rotate(const QQuaternion &quaternion)
void rotate(float angle, const QVector3D &vector)
void rotate(float angle, float x, float y, float z = 0.0f)
QVector4D row(int index) const
void scale(const QVector3D &vector)
void scale(float factor)
void scale(float x, float y)
void scale(float x, float y, float z)
void setColumn(int index, const QVector4D &value)
void setRow(int index, const QVector4D &value)
void setToIdentity()
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
float &operator()(int row, int column)
const float &operator()(int row, int column) const
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
QMatrix4x4 operator*(const QMatrix4x4 &m1, const QMatrix4x4 &m2)
QVector4D operator*(const QMatrix4x4 &matrix, const QVector4D &vector)
QMatrix4x4 operator*(const QMatrix4x4 &matrix, float factor)
QPoint operator*(const QPoint &point, const QMatrix4x4 &matrix)
QPointF operator*(const QPointF &point, const QMatrix4x4 &matrix)
QVector4D operator*(const QVector4D &vector, const QMatrix4x4 &matrix)
QMatrix4x4 operator*(float factor, const QMatrix4x4 &matrix)
QMatrix4x4 operator+(const QMatrix4x4 &m1, const QMatrix4x4 &m2)
QMatrix4x4 operator-(const QMatrix4x4 &matrix)
QMatrix4x4 operator-(const QMatrix4x4 &m1, const QMatrix4x4 &m2)
QMatrix4x4 operator/(const QMatrix4x4 &matrix, float divisor)
QDataStream &operator<<(QDataStream &stream, const QMatrix4x4 &matrix)
QDataStream &operator>>(QDataStream &stream, QMatrix4x4 &matrix)

Detaillierte Beschreibung

Die Klasse QMatrix4x4 wird im Allgemeinen wie eine Zeilen-Matrix behandelt, d.h. die Konstruktoren und die Funktionen operator() nehmen Daten im Zeilenformat entgegen, wie es in der C-Welt üblich ist.

Intern werden die Daten im Spaltenformat gespeichert, um optimal für die Übergabe an OpenGL-Funktionen zu sein, die Daten im Spaltenformat erwarten.

Bei der Verwendung dieser Funktionen ist zu beachten, dass sie Daten im Spalten-Dur-Format zurückgeben:

Siehe auch QVector3D und QGenericMatrix.

Dokumentation der Mitgliedsfunktionen

QMatrix4x4::QMatrix4x4()

Konstruiert eine Identitätsmatrix.

[explicit] template <int N, int M> QMatrix4x4::QMatrix4x4(const QGenericMatrix<N, M, float> &matrix)

Konstruiert eine 4x4-Matrix aus den äußersten linken 4 Spalten und den obersten 4 Zeilen von matrix. Wenn matrix weniger als 4 Spalten oder Zeilen hat, werden die verbleibenden Elemente mit Elementen aus der Identitätsmatrix gefüllt.

Siehe auch toGenericMatrix().

QMatrix4x4::QMatrix4x4(const QTransform &transform)

Konstruiert eine 4x4 Matrix aus der konventionellen Qt 2D Transformationsmatrix transform.

Wenn transform einen speziellen Typ hat (Identität, Übersetzen, Skalieren usw.), sollte der Programmierer diesem Konstruktor einen Aufruf an optimize() folgen lassen, wenn er möchte, dass QMatrix4x4 weitere Aufrufe an translate(), scale() usw. optimiert.

Siehe auch toTransform() und optimize().

[explicit] QMatrix4x4::QMatrix4x4(const float *values)

Konstruiert eine Matrix aus den angegebenen 16 Fließkommazahlen values. Es wird angenommen, dass der Inhalt des Arrays values in Zeilen-Dur-Reihenfolge vorliegt.

Wenn die Matrix einen speziellen Typ hat (Identität, Übersetzung, Skalierung usw.), sollte der Programmierer diesem Konstruktor einen Aufruf von optimize() folgen lassen, wenn QMatrix4x4 weitere Aufrufe von translate(), scale() usw. optimieren soll.

Siehe auch copyDataTo() und optimize().

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

Konstruiert eine Matrix aus den 16 Elementen m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, und m44. Die Elemente werden in Zeilen-Dur-Reihenfolge angegeben.

Wenn die Matrix einen speziellen Typ hat (Identität, Übersetzung, Skalierung usw.), sollte der Programmierer diesem Konstruktor einen Aufruf von optimize() folgen lassen, wenn QMatrix4x4 weitere Aufrufe von translate(), scale() usw. optimieren soll.

Siehe auch optimize().

QVector4D QMatrix4x4::column(int index) const

Gibt die Elemente der Spalte index als 4D-Vektor zurück.

Siehe auch setColumn() und row().

const float *QMatrix4x4::constData() const

Gibt einen konstanten Zeiger auf die Rohdaten dieser Matrix zurück. Diese Rohdaten werden im Spalten-Hauptformat gespeichert.

Siehe auch data().

void QMatrix4x4::copyDataTo(float *values) const

Ruft die 16 Elemente in dieser Matrix ab und kopiert sie in zeilenweiser Reihenfolge nach values.

float *QMatrix4x4::data()

Gibt einen Zeiger auf die Rohdaten dieser Matrix zurück.

Siehe auch constData() und optimize().

const float *QMatrix4x4::data() const

Gibt einen konstanten Zeiger auf die Rohdaten dieser Matrix zurück. Diese Rohdaten werden im Spalten-Hauptformat gespeichert.

Siehe auch constData().

double QMatrix4x4::determinant() const

Gibt die Determinante dieser Matrix zurück.

void QMatrix4x4::fill(float value)

Füllt alle Elemente dieser Matrx mit value.

void QMatrix4x4::frustum(float left, float right, float bottom, float top, float nearPlane, float farPlane)

Multipliziert diese Matrix mit einer anderen, die eine perspektivische Kegelstumpfprojektion für ein Fenster mit linker unterer Ecke (left, bottom), rechter oberer Ecke (right, top) und den angegebenen nearPlane und farPlane Clipping-Ebenen anwendet.

Siehe auch ortho() und perspective().

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

Gibt die Inverse dieser Matrix zurück. Gibt die Identität zurück, wenn diese Matrix nicht invertiert werden kann, d. h. determinant() ist Null. Wenn invertible nicht null ist, wird true an diese Stelle geschrieben, wenn die Matrix invertiert werden kann; andernfalls false.

Wenn die Matrix als Identitäts- oder Orthonormalmatrix erkannt wird, wird diese Funktion die Matrix mit Hilfe optimierter Routinen schnell invertieren.

Siehe auch determinant() und normalMatrix().

bool QMatrix4x4::isAffine() const

Gibt true zurück, wenn diese Matrix eine affine Matrix ist; andernfalls false.

Eine affine Matrix ist eine 4x4-Matrix mit Zeile 3 gleich (0, 0, 0, 1), d. h. keine projektiven Koeffizienten.

Siehe auch isIdentity().

bool QMatrix4x4::isIdentity() const

Gibt true zurück, wenn diese Matrix die Identität ist; andernfalls false.

Siehe auch setToIdentity().

void QMatrix4x4::lookAt(const QVector3D &eye, const QVector3D &center, const QVector3D &up)

Multipliziert diese Matrix mit einer aus einem Augenpunkt abgeleiteten Sichtmatrix. Der Wert center gibt den Mittelpunkt der Ansicht an, auf die der eye schaut. Der Wert up gibt an, welche Richtung in Bezug auf eye als aufwärts betrachtet werden sollte.

Hinweis: Der Vektor up darf nicht parallel zur Sichtlinie von eye nach center verlaufen.

QPoint QMatrix4x4::map(const QPoint &point) const

Karten point durch Multiplikation dieser Matrix mit point. Die Matrix wird vor dem Punkt angewendet.

Siehe auch mapRect().

QPointF QMatrix4x4::map(const QPointF &point) const

Karten point durch Post-Multiplikation dieser Matrix mit point. Die Matrix wird vor dem Punkt angewendet.

Siehe auch mapRect().

QVector3D QMatrix4x4::map(const QVector3D &point) const

Karten point durch Multiplikation dieser Matrix mit point zu einem 4D-Vektor erweitert, indem für die w-Koordinate 1,0 angenommen wird. Die Matrix wird vor dem Punkt angewendet.

Hinweis: Diese Funktion ist nicht dasselbe wie mapVector(). Für Punkte sollten Sie immer map() verwenden. mapVector() ist nur für Vektoren (Richtungen) geeignet.

Siehe auch mapRect() und mapVector().

QVector4D QMatrix4x4::map(const QVector4D &point) const

Karten point durch Multiplikation dieser Matrix mit point. Die Matrix wird vor dem Punkt angewendet.

Siehe auch mapRect().

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

Karten rect durch Multiplikation dieser Matrix mit den Ecken von rect und anschließende Bildung eines neuen Rechtecks aus den Ergebnissen. Das zurückgegebene Rechteck ist ein gewöhnliches 2D-Rechteck mit Seiten, die parallel zu den horizontalen und vertikalen Achsen verlaufen.

Siehe auch map().

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

Karten rect durch Multiplikation dieser Matrix mit den Ecken von rect und anschließende Bildung eines neuen Rechtecks aus den Ergebnissen. Das zurückgegebene Rechteck ist ein gewöhnliches 2D-Rechteck mit Seiten, die parallel zu den horizontalen und vertikalen Achsen verlaufen.

Siehe auch map().

QVector3D QMatrix4x4::mapVector(const QVector3D &vector) const

Karten vector durch Multiplikation des oberen 3x3-Anteils dieser Matrix mit vector. Die Translations- und Projektionskomponenten dieser Matrix werden ignoriert. Die Matrix wird als Vorvektor angewendet.

Siehe auch map().

QMatrix3x3 QMatrix4x4::normalMatrix() const

Gibt die normale Matrix zurück, die dieser 4x4-Transformation entspricht. Die normale Matrix ist die Transponierte der Inversen des oberen linken 3x3-Teils dieser 4x4-Matrix. Wenn die 3x3-Untermatrix nicht invertierbar ist, gibt diese Funktion die Identität zurück.

Siehe auch inverted().

void QMatrix4x4::optimize()

Optimieren Sie die Verwendung dieser Matrix anhand ihrer aktuellen Elemente.

Einige Operationen wie translate(), scale() und rotate() können effizienter durchgeführt werden, wenn die zu ändernde Matrix bereits als Identität, eine frühere translate(), eine frühere scale(), usw. bekannt ist.

Normalerweise behält die Klasse QMatrix4x4 diesen speziellen Typ intern im Auge, wenn Operationen durchgeführt werden. Wenn die Matrix jedoch direkt mit operator()(int, int) oder data() verändert wird, verliert QMatrix4x4 den Überblick über den speziellen Typ und greift auf die sichersten, aber am wenigsten effizienten Operationen zurück.

Durch den Aufruf von optimize() nach der direkten Modifikation der Matrix kann der Programmierer QMatrix4x4 zwingen, den speziellen Typ wiederherzustellen, wenn die Elemente einem der bekannten optimierten Typen zu entsprechen scheinen.

Siehe auch operator()(int, int), data(), und translate().

void QMatrix4x4::ortho(float left, float right, float bottom, float top, float nearPlane, float farPlane)

Multipliziert diese Matrix mit einer anderen, die eine orthografische Projektion für ein Fenster mit linker unterer Ecke (left, bottom), rechter oberer Ecke (right, top) und den angegebenen nearPlane und farPlane Clipping-Ebenen anwendet.

Siehe auch frustum() und perspective().

void QMatrix4x4::ortho(const QRect &rect)

Dies ist eine überladene Funktion.

Multipliziert diese Matrix mit einer anderen, die eine orthographische Projektion für ein Fenster mit den durch rect festgelegten Grenzen anwendet. Die nahe und die ferne Clipping-Ebene sind -1 bzw. 1.

Siehe auch frustum() und perspective().

void QMatrix4x4::ortho(const QRectF &rect)

Dies ist eine überladene Funktion.

Multipliziert diese Matrix mit einer anderen, die eine orthographische Projektion für ein Fenster mit den durch rect festgelegten Grenzen anwendet. Die nahe und die ferne Clipping-Ebene sind -1 bzw. 1.

Siehe auch frustum() und perspective().

void QMatrix4x4::perspective(float verticalAngle, float aspectRatio, float nearPlane, float farPlane)

Multipliziert diese Matrix mit einer anderen, die eine perspektivische Projektion anwendet. Das vertikale Sichtfeld beträgt verticalAngle Grad innerhalb eines Fensters mit einem bestimmten aspectRatio, das das horizontale Sichtfeld bestimmt. Die Projektion hat die angegebenen nearPlane und farPlane Beschneidungsebenen, die die Abstände vom Betrachter zu den entsprechenden Ebenen darstellen.

Siehe auch ortho() und frustum().

void QMatrix4x4::rotate(const QQuaternion &quaternion)

Multipliziert diese Matrix mit einer anderen, die die Koordinaten entsprechend einer angegebenen quaternion dreht. Es wird davon ausgegangen, dass die quaternion normalisiert wurde.

Siehe auch scale(), translate(), und QQuaternion.

void QMatrix4x4::rotate(float angle, const QVector3D &vector)

Multipliziert diese Matrix mit einer anderen, die die Koordinaten um angle Grad um vector dreht.

Siehe auch scale() und translate().

void QMatrix4x4::rotate(float angle, float x, float y, float z = 0.0f)

Dies ist eine überladene Funktion.

Multipliziert diese Matrix mit einer anderen, die die Koordinaten um angle Grad um den Vektor (x, y, z) rotiert.

Siehe auch scale() und translate().

QVector4D QMatrix4x4::row(int index) const

Gibt die Elemente der Zeile index als 4D-Vektor zurück.

Siehe auch setRow() und column().

void QMatrix4x4::scale(const QVector3D &vector)

Multipliziert diese Matrix mit einer anderen, die die Koordinaten um die Komponenten von vector skaliert.

Siehe auch translate() und rotate().

void QMatrix4x4::scale(float factor)

Dies ist eine überladene Funktion.

Multipliziert diese Matrix mit einer anderen, die die Koordinaten um die angegebene factor skaliert.

Siehe auch translate() und rotate().

void QMatrix4x4::scale(float x, float y)

Dies ist eine überladene Funktion.

Multipliziert diese Matrix mit einer anderen, die die Koordinaten um die Komponenten x, und y skaliert.

Siehe auch translate() und rotate().

void QMatrix4x4::scale(float x, float y, float z)

Dies ist eine überladene Funktion.

Multipliziert diese Matrix mit einer anderen, die die Koordinaten um die Komponenten x, y und z skaliert.

Siehe auch translate() und rotate().

void QMatrix4x4::setColumn(int index, const QVector4D &value)

Setzt die Elemente der Spalte index auf die Komponenten von value.

Siehe auch column() und setRow().

void QMatrix4x4::setRow(int index, const QVector4D &value)

Setzt die Elemente der Zeile index auf die Komponenten von value.

Siehe auch row() und setColumn().

void QMatrix4x4::setToIdentity()

Setzt diese Matrix auf die Identität.

Siehe auch isIdentity().

template <int N, int M> QGenericMatrix<N, M, float> QMatrix4x4::toGenericMatrix() const

Konstruiert eine generische NxM-Matrix aus den am weitesten links liegenden N Spalten und den am weitesten oben liegenden M Zeilen dieser 4x4-Matrix. Wenn N oder M größer als 4 ist, werden die verbleibenden Elemente mit Elementen aus der Identitätsmatrix gefüllt.

QTransform QMatrix4x4::toTransform() const

Gibt die konventionelle Qt 2D-Transformationsmatrix zurück, die dieser Matrix entspricht.

Die zurückgegebene QTransform wird durch einfaches Weglassen der dritten Zeile und dritten Spalte der QMatrix4x4 gebildet. Dies eignet sich für die Implementierung orthografischer Projektionen, bei denen die z-Koordinate weggelassen und nicht projiziert werden soll.

QTransform QMatrix4x4::toTransform(float distanceToPlane) const

Gibt die konventionelle Qt 2D-Transformationsmatrix zurück, die dieser Matrix entspricht.

Wenn distanceToPlane ungleich Null ist, gibt es einen Projektionsfaktor an, der zur Anpassung an die z-Koordinate verwendet wird. Der Wert 1024 entspricht dem von QTransform::rotate() verwendeten Projektionsfaktor für die x- und y-Achse.

Wenn distanceToPlane gleich Null ist, wird die zurückgegebene QTransform durch einfaches Weglassen der dritten Zeile und der dritten Spalte von QMatrix4x4 gebildet. Dies eignet sich für die Implementierung orthografischer Projektionen, bei denen die z-Koordinate weggelassen und nicht projiziert werden soll.

void QMatrix4x4::translate(const QVector3D &vector)

Multipliziert diese Matrix mit einer anderen, die die Koordinaten mit den Komponenten von vector umrechnet.

Siehe auch scale() und rotate().

void QMatrix4x4::translate(float x, float y)

Dies ist eine überladene Funktion.

Multipliziert diese Matrix mit einer anderen, die die Koordinaten mit den Komponenten x und y übersetzt.

Siehe auch scale() und rotate().

void QMatrix4x4::translate(float x, float y, float z)

Dies ist eine überladene Funktion.

Multipliziert diese Matrix mit einer anderen, die die Koordinaten mit den Komponenten x, y und z übersetzt.

Siehe auch scale() und rotate().

QMatrix4x4 QMatrix4x4::transposed() const

Gibt diese Matrix zurück, transponiert um ihre Diagonale.

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

Multipliziert diese Matrix mit einer anderen, die die Skalierungs- und Verzerrungstransformation durchführt, die von OpenGL verwendet wird, um von normalisierten Gerätekoordinaten (NDC) zu Ansichtsfenster-Koordinaten (Fenster) zu transformieren. Das heißt, es werden Punkte aus dem Würfel, die sich über [-1, 1] in jeder Dimension erstrecken, auf das Ansichtsfenster abgebildet, wobei die linke untere Ecke bei (left, bottom, nearPlane) und die Größe bei (width, height, farPlane - nearPlane) liegt.

Dies entspricht der Transformation, die von der OpenGL-Viewport-Transformation mit fester Funktion verwendet wird, die von den Funktionen glViewport() und glDepthRange() gesteuert wird.

void QMatrix4x4::viewport(const QRectF &rect)

Dies ist eine überladene Funktion.

Richtet eine Ansichtsfenster-Transformation für ein durch rect begrenztes Ansichtsfenster ein, wobei near und far auf 0 bzw. 1 gesetzt sind.

QVariant QMatrix4x4::operator QVariant() const

Gibt die Matrix als QVariant zurück.

bool QMatrix4x4::operator!=(const QMatrix4x4 &other) const

Gibt true zurück, wenn diese Matrix nicht mit other identisch ist; andernfalls false. Dieser Operator verwendet einen exakten Gleitkomma-Vergleich.

float &QMatrix4x4::operator()(int row, int column)

Gibt einen Verweis auf das Element an der Position (row, column) in dieser Matrix zurück, so dass das Element zugewiesen werden kann.

Siehe auch optimize(), setColumn(), und setRow().

const float &QMatrix4x4::operator()(int row, int column) const

Gibt eine konstante Referenz auf das Element an der Position (row, column) in dieser Matrix zurück.

Siehe auch column() und row().

QMatrix4x4 &QMatrix4x4::operator*=(const QMatrix4x4 &other)

Multipliziert den Inhalt von other mit dieser Matrix.

QMatrix4x4 &QMatrix4x4::operator*=(float factor)

Dies ist eine überladene Funktion.

Multipliziert alle Elemente dieser Matrix mit factor.

QMatrix4x4 &QMatrix4x4::operator+=(const QMatrix4x4 &other)

Fügt den Inhalt von other zu dieser Matrix hinzu.

QMatrix4x4 &QMatrix4x4::operator-=(const QMatrix4x4 &other)

Subtrahiert den Inhalt von other von dieser Matrix.

QMatrix4x4 &QMatrix4x4::operator/=(float divisor)

Dies ist eine überladene Funktion.

Teilt alle Elemente dieser Matrix durch divisor.

bool QMatrix4x4::operator==(const QMatrix4x4 &other) const

Gibt true zurück, wenn diese Matrix mit other identisch ist; andernfalls false. Dieser Operator verwendet einen exakten Gleitkomma-Vergleich.

Verwandte Nicht-Mitglieder

QMatrix4x4 operator*(const QMatrix4x4 &m1, const QMatrix4x4 &m2)

Gibt das Produkt aus m1 und m2 zurück.

QVector4D operator*(const QMatrix4x4 &matrix, const QVector4D &vector)

Gibt das Ergebnis der Transformation von vector gemäß matrix zurück, wobei die Matrix als Vorvektor verwendet wird.

QMatrix4x4 operator*(const QMatrix4x4 &matrix, float factor)

Gibt das Ergebnis der Multiplikation aller Elemente von matrix mit factor zurück.

QPoint operator*(const QPoint &point, const QMatrix4x4 &matrix)

Gibt das Ergebnis der Transformation von point gemäß matrix zurück, wobei die Matrix nach dem Punkt angewendet wird.

QPointF operator*(const QPointF &point, const QMatrix4x4 &matrix)

Gibt das Ergebnis der Transformation von point gemäß matrix zurück, wobei die Matrix nach dem Punkt angewendet wird.

QVector4D operator*(const QVector4D &vector, const QMatrix4x4 &matrix)

Gibt das Ergebnis der Transformation von vector gemäß matrix zurück, wobei die Matrix nach dem Vektor angewendet wird.

QMatrix4x4 operator*(float factor, const QMatrix4x4 &matrix)

Gibt das Ergebnis der Multiplikation aller Elemente von matrix mit factor zurück.

QMatrix4x4 operator+(const QMatrix4x4 &m1, const QMatrix4x4 &m2)

Gibt die Summe von m1 und m2 zurück.

QMatrix4x4 operator-(const QMatrix4x4 &matrix)

Dies ist eine überladene Funktion.

Gibt die Negation von matrix zurück.

QMatrix4x4 operator-(const QMatrix4x4 &m1, const QMatrix4x4 &m2)

Gibt die Differenz von m1 und m2 zurück.

QMatrix4x4 operator/(const QMatrix4x4 &matrix, float divisor)

Gibt das Ergebnis der Division aller Elemente von matrix durch divisor zurück.

QDataStream &operator<<(QDataStream &stream, const QMatrix4x4 &matrix)

Schreibt den angegebenen matrix in den angegebenen stream und gibt eine Referenz auf den Stream zurück.

Siehe auch Serialisierung von Qt-Datentypen.

QDataStream &operator>>(QDataStream &stream, QMatrix4x4 &matrix)

Liest eine 4x4-Matrix aus der angegebenen stream in die angegebene matrix und gibt eine Referenz auf den Stream zurück.

Siehe auch Serialisierung von Qt-Datentypen.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.