QVector2D Class
Die Klasse QVector2D repräsentiert einen Vektor oder Scheitelpunkt im 2D-Raum. Mehr...
Kopfzeile: | #include <QVector2D> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QVector2D ist Teil von Painting Classes und Rendering in 3D.
Öffentliche Funktionen
QVector2D() | |
QVector2D(QPoint point) | |
QVector2D(QPointF point) | |
QVector2D(QVector3D vector) | |
QVector2D(QVector4D vector) | |
QVector2D(float xpos, float ypos) | |
float | distanceToLine(QVector2D point, QVector2D direction) const |
float | distanceToPoint(QVector2D point) const |
bool | isNull() const |
float | length() const |
float | lengthSquared() const |
void | normalize() |
QVector2D | normalized() const |
void | setX(float x) |
void | setY(float y) |
QPoint | toPoint() const |
QPointF | toPointF() const |
QVector3D | toVector3D() const |
QVector4D | toVector4D() const |
float | x() const |
float | y() const |
QVariant | operator QVariant() const |
QVector2D & | operator*=(QVector2D vector) |
QVector2D & | operator*=(float factor) |
QVector2D & | operator+=(QVector2D vector) |
QVector2D & | operator-=(QVector2D vector) |
QVector2D & | operator/=(QVector2D vector) |
QVector2D & | operator/=(float divisor) |
float & | operator[](int i) |
float | operator[](int i) const |
Statische öffentliche Mitglieder
float | dotProduct(QVector2D v1, QVector2D v2) |
Verwandte Nicht-Mitglieder
bool | qFuzzyCompare(QVector2D v1, QVector2D v2) |
bool | operator!=(QVector2D v1, QVector2D v2) |
QVector2D | operator*(QVector2D v1, QVector2D v2) |
QVector2D | operator*(QVector2D vector, float factor) |
QVector2D | operator*(float factor, QVector2D vector) |
QVector2D | operator+(QVector2D v1, QVector2D v2) |
QVector2D | operator-(QVector2D v1, QVector2D v2) |
QVector2D | operator-(QVector2D vector) |
QVector2D | operator/(QVector2D vector, QVector2D divisor) |
QVector2D | operator/(QVector2D vector, float divisor) |
QDataStream & | operator<<(QDataStream &stream, QVector2D vector) |
bool | operator==(QVector2D v1, QVector2D v2) |
QDataStream & | operator>>(QDataStream &stream, QVector2D &vector) |
Detaillierte Beschreibung
Vektoren sind einer der wichtigsten Bausteine der 2D-Darstellung und Zeichnung. Sie bestehen aus zwei endlichen Fließkomma-Koordinaten, traditionell x und y genannt.
Die Klasse QVector2D kann auch verwendet werden, um Eckpunkte im 2D-Raum darzustellen. Daher ist es nicht notwendig, eine separate Vertex-Klasse bereitzustellen.
Siehe auch QVector3D, QVector4D, und QQuaternion.
Dokumentation der Mitgliedsfunktionen
[constexpr noexcept]
QVector2D::QVector2D()
Konstruiert einen Nullvektor, d. h. mit den Koordinaten (0, 0).
[explicit constexpr noexcept]
QVector2D::QVector2D(QPoint point)
Konstruiert einen Vektor mit x- und y-Koordinaten aus einem 2D point.
[explicit constexpr noexcept]
QVector2D::QVector2D(QPointF point)
Konstruiert einen Vektor mit x- und y-Koordinaten aus einem 2D point.
[explicit constexpr noexcept]
QVector2D::QVector2D(QVector3D vector)
Konstruiert einen Vektor mit x- und y-Koordinaten aus einem 3D vector. Die z-Koordinate von vector wird weggelassen.
Siehe auch toVector3D().
[explicit constexpr noexcept]
QVector2D::QVector2D(QVector4D vector)
Konstruiert einen Vektor mit x- und y-Koordinaten aus einem 3D vector. Die z- und w-Koordinaten von vector werden weggelassen.
Siehe auch toVector4D().
[constexpr noexcept]
QVector2D::QVector2D(float xpos, float ypos)
Konstruiert einen Vektor mit den Koordinaten (xpos, ypos). Beide Koordinaten müssen endlich sein.
[noexcept]
float QVector2D::distanceToLine(QVector2D point, QVector2D direction) const
Gibt den Abstand dieses Scheitelpunkts von einer Linie zurück, die durch point und den Einheitsvektor direction definiert ist.
Wenn direction ein Nullvektor ist, dann definiert er keine Linie. In diesem Fall wird der Abstand von point zu diesem Scheitelpunkt zurückgegeben.
Siehe auch distanceToPoint().
[noexcept]
float QVector2D::distanceToPoint(QVector2D point) const
Gibt die Entfernung von diesem Scheitelpunkt zu einem Punkt zurück, der durch den Scheitelpunkt point definiert ist.
Siehe auch distanceToLine().
[static constexpr noexcept]
float QVector2D::dotProduct(QVector2D v1, QVector2D v2)
Gibt das Punktprodukt von v1 und v2 zurück.
[constexpr noexcept]
bool QVector2D::isNull() const
Gibt true
zurück, wenn die x- und y-Koordinaten auf 0,0 gesetzt sind, andernfalls false
.
[noexcept]
float QVector2D::length() const
Gibt die Länge des Vektors vom Ursprung aus zurück.
Siehe auch lengthSquared() und normalized().
[constexpr noexcept]
float QVector2D::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 QVector2D::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]
QVector2D QVector2D::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 QVector2D::setX(float x)
Setzt die x-Koordinate dieses Punktes auf die angegebene endliche x Koordinate.
[constexpr noexcept]
void QVector2D::setY(float y)
Setzt die y-Koordinate dieses Punktes auf die angegebene endliche y Koordinate.
[constexpr noexcept]
QPoint QVector2D::toPoint() const
Gibt die Form QPoint dieses 2D-Vektors zurück. Jede Koordinate wird auf die nächstliegende Ganzzahl gerundet.
Siehe auch toPointF() und toVector3D().
[constexpr noexcept]
QPointF QVector2D::toPointF() const
Gibt die Form QPointF dieses 2D-Vektors zurück.
Siehe auch toPoint() und toVector3D().
[constexpr noexcept]
QVector3D QVector2D::toVector3D() const
Gibt die 3D-Form dieses 2D-Vektors zurück, wobei die z-Koordinate auf Null gesetzt wird.
Siehe auch toVector4D() und toPoint().
[constexpr noexcept]
QVector4D QVector2D::toVector4D() const
Gibt die 4D-Form dieses 2D-Vektors zurück, wobei die Koordinaten z und w auf Null gesetzt werden.
Siehe auch toVector3D() und toPoint().
[constexpr noexcept]
float QVector2D::x() const
Gibt die x-Koordinate dieses Punktes zurück.
[constexpr noexcept]
float QVector2D::y() const
Gibt die y-Koordinate dieses Punktes zurück.
QVariant QVector2D::operator QVariant() const
Gibt den 2D-Vektor als QVariant zurück.
[constexpr noexcept]
QVector2D &QVector2D::operator*=(QVector2D vector)
Multipliziert jede Komponente dieses Vektors mit der entsprechenden Komponente von vector und gibt einen Verweis auf diesen Vektor zurück.
Hinweis: Dies ist kein Kreuzprodukt dieses Vektors mit vector(seine Komponenten ergeben das Punktprodukt aus diesem Vektor und vector).
Siehe auch operator/=() und operator*().
[constexpr noexcept]
QVector2D &QVector2D::operator*=(float factor)
Multipliziert die Koordinaten dieses Vektors mit der angegebenen endlichen factor und gibt eine Referenz auf diesen Vektor zurück.
Siehe auch operator/=() und operator*().
[constexpr noexcept]
QVector2D &QVector2D::operator+=(QVector2D vector)
Fügt den angegebenen vector zu diesem Vektor hinzu und gibt einen Verweis auf diesen Vektor zurück.
Siehe auch operator-=().
[constexpr noexcept]
QVector2D &QVector2D::operator-=(QVector2D vector)
Subtrahiert den angegebenen vector von diesem Vektor und gibt einen Verweis auf diesen Vektor zurück.
Siehe auch operator+=().
[constexpr]
QVector2D &QVector2D::operator/=(QVector2D 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]
QVector2D &QVector2D::operator/=(float divisor)
Teilt die Koordinaten dieses Vektors durch die angegebene divisor und gibt eine Referenz auf diesen Vektor zurück. Die divisor darf weder Null noch NaN sein.
Siehe auch operator*=().
[constexpr]
float &QVector2D::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 < 2).
[constexpr]
float QVector2D::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 < 2).
Verwandte Nicht-Mitglieder
[noexcept]
bool qFuzzyCompare(QVector2D v1, QVector2D 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!=(QVector2D v1, QVector2D v2)
Gibt true
zurück, wenn v1 nicht gleich v2 ist; andernfalls gibt er false
zurück. Dieser Operator verwendet einen exakten Gleitkomma-Vergleich.
[constexpr noexcept]
QVector2D operator*(QVector2D v1, QVector2D v2)
Gibt das Objekt QVector2D 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 QVector2D::operator*=().
[constexpr noexcept]
QVector2D operator*(QVector2D vector, float factor)
Liefert eine Kopie der angegebenen vector, multipliziert mit der angegebenen endlichen factor.
Siehe auch QVector2D::operator*=().
[constexpr noexcept]
QVector2D operator*(float factor, QVector2D vector)
Liefert eine Kopie der angegebenen vector, multipliziert mit der angegebenen endlichen factor.
Siehe auch QVector2D::operator*=().
[constexpr noexcept]
QVector2D operator+(QVector2D v1, QVector2D v2)
Gibt ein QVector2D Objekt zurück, das die Summe der gegebenen Vektoren v1 und v2 ist; jede Komponente wird separat addiert.
Siehe auch QVector2D::operator+=().
[constexpr noexcept]
QVector2D operator-(QVector2D v1, QVector2D v2)
Gibt ein QVector2D Objekt zurück, das durch Subtraktion von v2 von v1 gebildet wird; jede Komponente wird separat subtrahiert.
Siehe auch QVector2D::operator-=().
[constexpr noexcept]
QVector2D operator-(QVector2D vector)
Dies ist eine überladene Funktion.
Gibt ein QVector2D Objekt zurück, das durch Ändern des Vorzeichens jeder Komponente der angegebenen vector gebildet wird.
Äquivalent zu QVector2D(0,0) - vector
.
[constexpr]
QVector2D operator/(QVector2D vector, QVector2D divisor)
Gibt das Objekt QVector2D 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 QVector2D::operator/=().
[constexpr]
QVector2D operator/(QVector2D vector, float divisor)
Gibt das Objekt QVector2D 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 QVector2D::operator/=().
QDataStream &operator<<(QDataStream &stream, QVector2D 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==(QVector2D v1, QVector2D 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, QVector2D &vector)
Liest einen 2D-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.