QVector4D Class

Die Klasse QVector4D repräsentiert einen Vektor oder Vertex im 4D-Raum. Mehr...

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

Öffentliche Funktionen

QVector4D()
QVector4D(QPoint point)
QVector4D(QPointF point)
QVector4D(QVector2D vector)
QVector4D(QVector3D vector)
QVector4D(QVector3D vector, float wpos)
QVector4D(QVector2D vector, float zpos, float wpos)
QVector4D(float xpos, float ypos, float zpos, float wpos)
bool isNull() const
float length() const
float lengthSquared() const
void normalize()
QVector4D normalized() const
void setW(float w)
void setX(float x)
void setY(float y)
void setZ(float z)
QPoint toPoint() const
QPointF toPointF() const
QVector2D toVector2D() const
QVector2D toVector2DAffine() const
QVector3D toVector3D() const
QVector3D toVector3DAffine() const
float w() const
float x() const
float y() const
float z() const
QVariant operator QVariant() const
QVector4D &operator*=(QVector4D vector)
QVector4D &operator*=(float factor)
QVector4D &operator+=(QVector4D vector)
QVector4D &operator-=(QVector4D vector)
QVector4D &operator/=(QVector4D vector)
QVector4D &operator/=(float divisor)
float &operator[](int i)
float operator[](int i) const

Statische öffentliche Mitglieder

float dotProduct(QVector4D v1, QVector4D v2)
bool qFuzzyCompare(QVector4D v1, QVector4D v2)
bool operator!=(QVector4D v1, QVector4D v2)
QVector4D operator*(QVector4D v1, QVector4D v2)
QVector4D operator*(QVector4D vector, float factor)
QVector4D operator*(float factor, QVector4D vector)
QVector4D operator+(QVector4D v1, QVector4D v2)
QVector4D operator-(QVector4D v1, QVector4D v2)
QVector4D operator-(QVector4D vector)
QVector4D operator/(QVector4D vector, QVector4D divisor)
QVector4D operator/(QVector4D vector, float divisor)
QDataStream &operator<<(QDataStream &stream, QVector4D vector)
bool operator==(QVector4D v1, QVector4D v2)
QDataStream &operator>>(QDataStream &stream, QVector4D &vector)

Detaillierte Beschreibung

Vektoren sind einer der wichtigsten Bausteine der affinen 4D-Darstellungen des 3D-Raums. Sie bestehen aus vier endlichen Fließkomma-Koordinaten, die traditionell als x, y, z und w bezeichnet werden.

Die Klasse QVector4D kann auch zur Darstellung von Scheitelpunkten im 4D-Raum verwendet werden. Wir müssen daher keine separate Scheitelpunktklasse bereitstellen.

Siehe auch QQuaternion, QVector2D, und QVector3D.

Dokumentation der Mitgliedsfunktionen

[constexpr noexcept] QVector4D::QVector4D()

Konstruiert einen Nullvektor, d. h. mit den Koordinaten (0, 0, 0, 0).

[explicit constexpr noexcept] QVector4D::QVector4D(QPoint point)

Konstruiert einen Vektor mit x- und y-Koordinaten aus einem 2D point, sowie z- und w-Koordinaten von 0.

[explicit constexpr noexcept] QVector4D::QVector4D(QPointF point)

Konstruiert einen Vektor mit x- und y-Koordinaten aus einem 2D point, sowie z- und w-Koordinaten von 0.

[explicit constexpr noexcept] QVector4D::QVector4D(QVector2D vector)

Konstruiert einen 4D-Vektor aus dem angegebenen 2D vector. Die Koordinaten z und w werden auf Null gesetzt.

Siehe auch toVector2D().

[explicit constexpr noexcept] QVector4D::QVector4D(QVector3D vector)

Konstruiert einen 4D-Vektor aus dem angegebenen 3D vector. Die w-Koordinate wird auf Null gesetzt.

Siehe auch toVector3D().

[constexpr noexcept] QVector4D::QVector4D(QVector3D vector, float wpos)

Konstruiert einen 4D-Vektor aus dem angegebenen 3D vector. Die w-Koordinate wird auf wpos gesetzt, die endlich sein muss.

Siehe auch toVector3D().

[constexpr noexcept] QVector4D::QVector4D(QVector2D vector, float zpos, float wpos)

Konstruiert einen 4D-Vektor aus dem angegebenen 2D vector. Die z- und w-Koordinaten werden auf zpos bzw. wpos gesetzt, wobei jede dieser Koordinaten endlich sein muss.

Siehe auch toVector2D().

[constexpr noexcept] QVector4D::QVector4D(float xpos, float ypos, float zpos, float wpos)

Konstruiert einen Vektor mit den Koordinaten (xpos, ypos, zpos, wpos). Alle Parameter müssen endlich sein.

[static constexpr noexcept] float QVector4D::dotProduct(QVector4D v1, QVector4D v2)

Gibt das Punktprodukt von v1 und v2 zurück.

[constexpr noexcept] bool QVector4D::isNull() const

Gibt true zurück, wenn die x-, y-, z- und w-Koordinaten auf 0,0 gesetzt sind, andernfalls false.

[noexcept] float QVector4D::length() const

Gibt die Länge des Vektors vom Ursprung aus zurück.

Siehe auch lengthSquared() und normalized().

[constexpr noexcept] float QVector4D::lengthSquared() const

Gibt die quadrierte Länge des Vektors vom Ursprung aus zurück. Dies ist äquivalent zum Punktprodukt des Vektors mit sich selbst.

Siehe auch length() und dotProduct().

[noexcept] void QVector4D::normalize()

Normalisiert den aktuellen Vektor an Ort und Stelle. Es passiert nichts, wenn dieser Vektor ein Nullvektor ist oder die Länge des Vektors sehr nahe an 1 liegt.

Siehe auch length() und normalized().

[noexcept] QVector4D QVector4D::normalized() const

Gibt die normalisierte Einheitsvektorform dieses Vektors zurück.

Wenn dieser Vektor null ist, wird ein Nullvektor zurückgegeben. Wenn die Länge des Vektors sehr nahe bei 1 liegt, wird der Vektor so zurückgegeben, wie er ist. Andernfalls wird die normalisierte Form des Vektors der Länge 1 zurückgegeben.

Siehe auch length() und normalize().

[constexpr noexcept] void QVector4D::setW(float w)

Setzt die w-Koordinate dieses Punktes auf die angegebene endliche w -Koordinate.

Siehe auch w(), setX(), setY(), und setZ().

[constexpr noexcept] void QVector4D::setX(float x)

Setzt die x-Koordinate dieses Punktes auf die angegebene endliche x Koordinate.

Siehe auch x(), setY(), setZ(), und setW().

[constexpr noexcept] void QVector4D::setY(float y)

Setzt die y-Koordinate dieses Punktes auf die angegebene endliche y Koordinate.

Siehe auch y(), setX(), setZ(), und setW().

[constexpr noexcept] void QVector4D::setZ(float z)

Setzt die z-Koordinate dieses Punktes auf die angegebene endliche z Koordinate.

Siehe auch z(), setX(), setY(), und setW().

[constexpr noexcept] QPoint QVector4D::toPoint() const

Gibt die Form QPoint dieses 4D-Vektors zurück. Die z- und w-Koordinaten werden weggelassen. Die x- und y-Koordinaten werden auf die nächstliegende Ganzzahl gerundet.

Siehe auch toPointF() und toVector2D().

[constexpr noexcept] QPointF QVector4D::toPointF() const

Gibt die Form QPointF dieses 4D-Vektors zurück. Die Koordinaten z und w werden weggelassen.

Siehe auch toPoint() und toVector2D().

[constexpr noexcept] QVector2D QVector4D::toVector2D() const

Gibt die 2D-Vektorform dieses 4D-Vektors zurück, wobei die Koordinaten z und w weggelassen werden.

Siehe auch toVector2DAffine(), toVector3D(), und toPoint().

[constexpr noexcept] QVector2D QVector4D::toVector2DAffine() const

Gibt die 2D-Vektorform dieses 4D-Vektors zurück, wobei die x- und y-Koordinaten durch die w-Koordinate geteilt werden und die z-Koordinate entfällt. Gibt einen Nullvektor zurück, wenn w gleich Null ist.

Siehe auch toVector2D(), toVector3DAffine(), und toPoint().

[constexpr noexcept] QVector3D QVector4D::toVector3D() const

Gibt die 3D-Vektorform dieses 4D-Vektors zurück, wobei die w-Koordinate weggelassen wird.

Siehe auch toVector3DAffine(), toVector2D(), und toPoint().

[constexpr noexcept] QVector3D QVector4D::toVector3DAffine() const

Gibt die 3D-Vektorform dieses 4D-Vektors zurück, indem die x-, y- und z-Koordinaten durch die w-Koordinate geteilt werden. Gibt einen Nullvektor zurück, wenn w gleich Null ist.

Siehe auch toVector3D(), toVector2DAffine(), und toPoint().

[constexpr noexcept] float QVector4D::w() const

Gibt die w-Koordinate dieses Punktes zurück.

Siehe auch setW(), x(), y(), und z().

[constexpr noexcept] float QVector4D::x() const

Gibt die x-Koordinate dieses Punktes zurück.

Siehe auch setX(), y(), z(), und w().

[constexpr noexcept] float QVector4D::y() const

Gibt die y-Koordinate dieses Punktes zurück.

Siehe auch setY(), x(), z(), und w().

[constexpr noexcept] float QVector4D::z() const

Gibt die z-Koordinate dieses Punktes zurück.

Siehe auch setZ(), x(), y(), und w().

QVariant QVector4D::operator QVariant() const

Gibt den 4D-Vektor als QVariant zurück.

[constexpr noexcept] QVector4D &QVector4D::operator*=(QVector4D vector)

Multipliziert jede Komponente dieses Vektors mit der entsprechenden Komponente von vector und gibt einen Verweis auf diesen Vektor zurück.

Siehe auch operator/=() und operator*().

[constexpr noexcept] QVector4D &QVector4D::operator*=(float factor)

Multipliziert die Koordinaten dieses Vektors mit der angegebenen endlichen Zahl factor und gibt eine Referenz auf diesen Vektor zurück.

Siehe auch operator/=() und operator*().

[constexpr noexcept] QVector4D &QVector4D::operator+=(QVector4D vector)

Fügt den angegebenen vector zu diesem Vektor hinzu und gibt einen Verweis auf diesen Vektor zurück.

Siehe auch operator-=().

[constexpr noexcept] QVector4D &QVector4D::operator-=(QVector4D vector)

Subtrahiert den angegebenen vector von diesem Vektor und gibt einen Verweis auf diesen Vektor zurück.

Siehe auch operator+=().

[constexpr] QVector4D &QVector4D::operator/=(QVector4D vector)

Dividiert jede Komponente dieses Vektors durch die entsprechende Komponente von vector und gibt einen Verweis auf diesen Vektor zurück.

vector darf keine Komponente haben, die entweder Null oder NaN ist.

Siehe auch operator*=() und operator/().

[constexpr] QVector4D &QVector4D::operator/=(float divisor)

Teilt die Koordinaten dieses Vektors durch die angegebene divisor und gibt einen Verweis auf diesen Vektor zurück. Die divisor darf weder Null noch NaN sein.

Siehe auch operator*=().

[constexpr] float &QVector4D::operator[](int i)

Gibt die Komponente des Vektors an der Indexposition i als änderbare Referenz zurück.

i muss eine gültige Indexposition im Vektor sein (d. h. 0 <= i < 4).

[constexpr] float QVector4D::operator[](int i) const

Gibt die Komponente des Vektors an der Indexposition i zurück.

i muss eine gültige Indexposition im Vektor sein (d. h. 0 <= i < 4).

Verwandte Nicht-Mitglieder

[noexcept] bool qFuzzyCompare(QVector4D v1, QVector4D v2)

Gibt true zurück, wenn v1 und v2 gleich sind, wobei ein kleiner Unschärfefaktor für Fließkomma-Vergleiche berücksichtigt wird; andernfalls false.

[constexpr noexcept] bool operator!=(QVector4D v1, QVector4D v2)

Gibt true zurück, wenn v1 nicht gleich v2 ist; andernfalls wird false zurückgegeben. Dieser Operator verwendet einen exakten Gleitkomma-Vergleich.

[constexpr noexcept] QVector4D operator*(QVector4D v1, QVector4D v2)

Gibt das Objekt QVector4D zurück, das durch Multiplikation jeder Komponente von v1 mit der entsprechenden Komponente von v2 gebildet wird.

Hinweis: Dies ist in keiner Weise ein Kreuzprodukt von v1 und v2. (Seine Komponenten ergeben das Punktprodukt von v1 und v2.)

Siehe auch QVector4D::operator*=().

[constexpr noexcept] QVector4D operator*(QVector4D vector, float factor)

Liefert eine Kopie des angegebenen vector, multipliziert mit dem angegebenen factor.

Siehe auch QVector4D::operator*=().

[constexpr noexcept] QVector4D operator*(float factor, QVector4D vector)

Liefert eine Kopie des angegebenen vector, multipliziert mit dem angegebenen factor.

Siehe auch QVector4D::operator*=().

[constexpr noexcept] QVector4D operator+(QVector4D v1, QVector4D v2)

Gibt ein QVector4D Objekt zurück, das die Summe der gegebenen Vektoren v1 und v2 ist; jede Komponente wird separat addiert.

Siehe auch QVector4D::operator+=().

[constexpr noexcept] QVector4D operator-(QVector4D v1, QVector4D v2)

Gibt ein QVector4D Objekt zurück, das durch Subtraktion von v2 von v1 gebildet wird; jede Komponente wird separat subtrahiert.

Siehe auch QVector4D::operator-=().

[constexpr noexcept] QVector4D operator-(QVector4D vector)

Dies ist eine überladene Funktion.

Gibt ein QVector4D Objekt zurück, das durch Ändern des Vorzeichens aller drei Komponenten der angegebenen vector gebildet wird.

Äquivalent zu QVector4D(0,0,0,0) - vector.

[constexpr] QVector4D operator/(QVector4D vector, QVector4D divisor)

Gibt das Objekt QVector4D zurück, das durch Division jeder Komponente des angegebenen vector durch die entsprechende Komponente des angegebenen divisor gebildet wird.

Die divisor darf keine Komponente haben, die entweder Null oder NaN ist.

Siehe auch QVector4D::operator/=().

[constexpr] QVector4D operator/(QVector4D vector, float divisor)

Gibt das Objekt QVector4D zurück, das durch Division jeder Komponente des angegebenen vector durch das angegebene divisor gebildet wird.

Die divisor darf weder Null noch NaN sein.

Siehe auch QVector4D::operator/=().

QDataStream &operator<<(QDataStream &stream, QVector4D vector)

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

Siehe auch Serialisierung von Qt-Datentypen.

[constexpr noexcept] bool operator==(QVector4D v1, QVector4D v2)

Gibt true zurück, wenn v1 gleich v2 ist; andernfalls wird false zurückgegeben. Dieser Operator verwendet einen exakten Gleitkomma-Vergleich.

QDataStream &operator>>(QDataStream &stream, QVector4D &vector)

Liest einen 4D-Vektor aus dem angegebenen stream in den angegebenen vector 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.