QVector4D Class
La classe QVector4D représente un vecteur ou un sommet dans un espace à 4 dimensions. En savoir plus...
| En-tête : | #include <QVector4D> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake : | QT += gui |
- Liste de tous les membres, y compris les membres hérités
- QVector4D fait partie du module « Rendu 3D ».
Fonctions publiques
| 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 |
| 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 |
Membres publics statiques
| float | dotProduct(QVector4D v1, QVector4D v2) |
Éléments non membres associés
| bool | qFuzzyCompare(QVector4D v1, QVector4D v2) |
(since 6.12) size_t | qHash(QVector4D key, size_t seed = 0) |
| 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) |
Description détaillée
Les vecteurs constituent l'un des principaux éléments constitutifs des représentations affines en 4D de l'espace 3D. Ils se composent de quatre coordonnées à virgule flottante finies, traditionnellement appelées x, y, z et w.
La classe QVector4D peut également être utilisée pour représenter des sommets dans l’espace 4D. Il n’est donc pas nécessaire de fournir une classe de sommets distincte.
Voir également QQuaternion, QVector2D et QVector3D.
Documentation des fonctions membres
[constexpr noexcept] QVector4D::QVector4D()
Crée un vecteur nul, c'est-à-dire dont les coordonnées sont (0, 0, 0, 0).
[explicit constexpr noexcept] QVector4D::QVector4D(QPoint point)
Crée un vecteur dont les coordonnées x et y proviennent d'une point en 2D, et dont les coordonnées z et w sont égales à 0.
[explicit constexpr noexcept] QVector4D::QVector4D(QPointF point)
Crée un vecteur dont les coordonnées x et y proviennent d'une point en 2D, et dont les coordonnées z et w sont égales à 0.
[explicit constexpr noexcept] QVector4D::QVector4D(QVector2D vector)
Crée un vecteur 4D à partir de l'vector 2D spécifiée. Les coordonnées z et w sont mises à zéro.
Voir également toVector2D().
[explicit constexpr noexcept] QVector4D::QVector4D(QVector3D vector)
Crée un vecteur 4D à partir de l'vector 3D spécifiée. La coordonnée w est définie sur zéro.
Voir également toVector3D().
[constexpr noexcept] QVector4D::QVector4D(QVector3D vector, float wpos)
Construit un vecteur 4D à partir de l'vector 3D spécifiée. La coordonnée w est définie sur wpos, qui doit être une valeur finie.
Voir également toVector3D().
[constexpr noexcept] QVector4D::QVector4D(QVector2D vector, float zpos, float wpos)
Construit un vecteur 4D à partir de l'vector 2D spécifiée. Les coordonnées z et w sont définies respectivement sur zpos et wpos, qui doivent toutes deux être des valeurs finies.
Voir également toVector2D().
[constexpr noexcept] QVector4D::QVector4D(float xpos, float ypos, float zpos, float wpos)
Crée un vecteur dont les coordonnées sont (xpos, ypos, zpos, wpos). Tous les paramètres doivent être finis.
[static constexpr noexcept] float QVector4D::dotProduct(QVector4D v1, QVector4D v2)
Renvoie le produit scalaire de v1 et v2.
[constexpr noexcept] bool QVector4D::isNull() const
Renvoie « true » si les coordonnées x, y, z et w sont définies sur 0,0 ; sinon, renvoie « false ».
[noexcept] float QVector4D::length() const
Renvoie la distance du vecteur par rapport à l'origine.
Voir également lengthSquared() et normalized().
[constexpr noexcept] float QVector4D::lengthSquared() const
Renvoie la longueur au carré du vecteur par rapport à l'origine. Cela équivaut au produit scalaire du vecteur avec lui-même.
Voir également length() et dotProduct().
[noexcept] void QVector4D::normalize()
Normalise le vecteur courant sur place. Aucune opération n'est effectuée si ce vecteur est un vecteur nul ou si sa longueur est très proche de 1.
Voir également length() et normalized().
[noexcept] QVector4D QVector4D::normalized() const
Renvoie la forme normalisée de ce vecteur sous forme de vecteur unitaire.
Si ce vecteur est nul, un vecteur nul est renvoyé. Si la longueur du vecteur est très proche de 1, le vecteur est renvoyé tel quel. Sinon, la forme normalisée du vecteur de longueur 1 est renvoyée.
Voir également length() et normalize().
[constexpr noexcept] void QVector4D::setW(float w)
Définit la coordonnée w de ce point sur la coordonnée finie w indiquée.
Voir également w(), setX(), setY() et setZ().
[constexpr noexcept] void QVector4D::setX(float x)
Définit la coordonnée x de ce point sur la coordonnée finie x indiquée.
Voir également x(), setY(), setZ() et setW().
[constexpr noexcept] void QVector4D::setY(float y)
Définit la coordonnée y de ce point sur la coordonnée finie donnée y.
Voir également y(), setX(), setZ() et setW().
[constexpr noexcept] void QVector4D::setZ(float z)
Définit la coordonnée z de ce point sur la coordonnée finie donnée z.
Voir également z(), setX(), setY() et setW().
[constexpr noexcept] QPoint QVector4D::toPoint() const
Renvoie la forme « QPoint » de ce vecteur 4D. Les coordonnées z et w sont supprimées. Les coordonnées x et y sont arrondies aux entiers les plus proches.
Voir aussi toPointF() et toVector2D().
[constexpr noexcept] QPointF QVector4D::toPointF() const
Renvoie la forme « QPointF » de ce vecteur 4D. Les coordonnées z et w sont ignorées.
Voir aussi toPoint() et toVector2D().
[constexpr noexcept] QVector2D QVector4D::toVector2D() const
Renvoie la forme vectorielle 2D de ce vecteur 4D, en supprimant les coordonnées z et w.
Voir également toVector2DAffine(), toVector3D() et toPoint().
[constexpr noexcept] QVector2D QVector4D::toVector2DAffine() const
Renvoie la forme vectorielle 2D de ce vecteur 4D, en divisant les coordonnées x et y par la coordonnée w et en supprimant la coordonnée z. Renvoie un vecteur nul si w est égal à zéro.
Voir également toVector2D(), toVector3DAffine() et toPoint().
[constexpr noexcept] QVector3D QVector4D::toVector3D() const
Renvoie la forme vectorielle 3D de ce vecteur 4D, en supprimant la coordonnée w.
Voir également toVector3DAffine(), toVector2D() et toPoint().
[constexpr noexcept] QVector3D QVector4D::toVector3DAffine() const
Renvoie la forme vectorielle 3D de ce vecteur 4D, en divisant les coordonnées x, y et z par la coordonnée w. Renvoie un vecteur nul si w est égal à zéro.
Voir également toVector3D(), toVector2DAffine() et toPoint().
[constexpr noexcept] float QVector4D::w() const
Renvoie la coordonnée w de ce point.
Voir également setW(), x(), y() et z().
[constexpr noexcept] float QVector4D::x() const
Renvoie la coordonnée x de ce point.
Voir également setX(), y(), z() et w().
[constexpr noexcept] float QVector4D::y() const
Renvoie la coordonnée y de ce point.
Voir également setY(), x(), z() et w().
[constexpr noexcept] float QVector4D::z() const
Renvoie la coordonnée z de ce point.
Voir également setZ(), x(), y() et w().
QVector4D::operator QVariant() const
Renvoie le vecteur 4D sous la forme d'une valeur de type « QVariant ».
[constexpr noexcept] QVector4D &QVector4D::operator*=(QVector4D vector)
Multiplie chaque composante de ce vecteur par la composante correspondante de vector et renvoie une référence à ce vecteur.
Voir également operator/=() et operator*().
[constexpr noexcept] QVector4D &QVector4D::operator*=(float factor)
Multiplie les coordonnées de ce vecteur par l'factor e fini donné et renvoie une référence à ce vecteur.
Voir également ` operator/=()` et ` operator*()`.
[constexpr noexcept] QVector4D &QVector4D::operator+=(QVector4D vector)
Ajoute l'vector on indiquée à ce vecteur et renvoie une référence à ce vecteur.
Voir aussi operator-=().
[constexpr noexcept] QVector4D &QVector4D::operator-=(QVector4D vector)
Soustrait l'vector on indiquée de ce vecteur et renvoie une référence à ce vecteur.
Voir aussi ` operator+=()`.
[constexpr] QVector4D &QVector4D::operator/=(QVector4D vector)
Divise chaque composante de ce vecteur par la composante correspondante de vector et renvoie une référence à ce vecteur.
vector ne doit comporter aucune composante égale à zéro ou à NaN.
Voir également ` operator*=()` et ` operator/()`.
[constexpr] QVector4D &QVector4D::operator/=(float divisor)
Divise les coordonnées de ce vecteur par l'divisor e fournie et renvoie une référence à ce vecteur. L'divisor e ne doit être ni égal à zéro ni NaN.
Voir également operator*=().
[constexpr] float &QVector4D::operator[](int i)
Renvoie la composante du vecteur à l'indice i sous forme de référence modifiable.
i i doit être une position d'index valide dans le vecteur (c'est-à-dire 0 <= < 4).
[constexpr] float QVector4D::operator[](int i) const
Renvoie la composante du vecteur à l'indice i.
i i doit être une position d'index valide dans le vecteur (c'est-à-dire 0 <= < 4).
Éléments non membres associés
[noexcept] bool qFuzzyCompare(QVector4D v1, QVector4D v2)
Renvoie « true » si « v1 » et « v2 » sont égaux, en tenant compte d'un léger degré d'imprécision pour les comparaisons en virgule flottante ; renvoie « false » dans le cas contraire.
[constexpr noexcept, since 6.12] size_t qHash(QVector4D key, size_t seed = 0)
Renvoie la valeur de hachage de key, en utilisant seed comme graine pour le calcul.
Cette fonction a été introduite dans Qt 6.12.
[constexpr noexcept] bool operator!=(QVector4D v1, QVector4D v2)
Renvoie « true » si « v1 » n'est pas égal à « v2 » ; sinon, renvoie « false ». Cet opérateur utilise une comparaison exacte en virgule flottante.
[constexpr noexcept] QVector4D operator*(QVector4D v1, QVector4D v2)
Renvoie l'objet « QVector4D » obtenu en multipliant chaque composante de v1 par la composante correspondante de v2.
Remarque : il ne s'agit en aucun cas d'un produit vectoriel entre v1 et v2. (La somme de ses composantes correspond au produit scalaire de v1 et v2.)
Voir également QVector4D::operator*=().
[constexpr noexcept] QVector4D operator*(QVector4D vector, float factor)
Renvoie une copie de l'vector donné, multipliée par l'factor donné.
Voir aussi QVector4D::operator*=().
[constexpr noexcept] QVector4D operator*(float factor, QVector4D vector)
Renvoie une copie de l'vector donné, multipliée par l'factor donné.
Voir aussi QVector4D::operator*=().
[constexpr noexcept] QVector4D operator+(QVector4D v1, QVector4D v2)
Renvoie un objet de type « QVector4D » correspondant à la somme des vecteurs fournis, v1 et v2; chaque composante est additionnée séparément.
Voir aussi QVector4D::operator+=().
[constexpr noexcept] QVector4D operator-(QVector4D v1, QVector4D v2)
Renvoie un objet ` QVector4D ` obtenu en soustrayant ` v2 ` de ` v1` ; chaque composante est soustraite séparément.
Voir également QVector4D::operator-=().
[constexpr noexcept] QVector4D operator-(QVector4D vector)
Renvoie un objet ` QVector4D ` obtenu en inversant le signe des trois composantes de l'vector donné.
Équivalent à ` QVector4D(0,0,0,0) - vector`.
Il s'agit d'une fonction surchargée.
[constexpr] QVector4D operator/(QVector4D vector, QVector4D divisor)
Renvoie l’objet ` QVector4D ` obtenu en divisant chaque composante de l’objet ` vector ` donné par la composante correspondante de l’objet ` divisor` donné.
L'divisor ne doit comporter aucune composante égale à zéro ou à NaN.
Voir également QVector4D::operator/=().
[constexpr] QVector4D operator/(QVector4D vector, float divisor)
Renvoie l'objet ` QVector4D ` obtenu en divisant chaque composante de l'vector on fournie par l'divisor on fournie.
L'divisor ne doit être ni égal à zéro ni NaN.
Voir également QVector4D::operator/=().
QDataStream &operator<<(QDataStream &stream, QVector4D vector)
Écrit l'vector on fournie dans le stream on indiquée et renvoie une référence au flux.
Voir aussi Sérialisation des types de données Qt.
[constexpr noexcept] bool operator==(QVector4D v1, QVector4D v2)
Renvoie « true » si « v1 » est égal à « v2 » ; sinon, renvoie « false ». Cet opérateur utilise une comparaison exacte en virgule flottante.
QDataStream &operator>>(QDataStream &stream, QVector4D &vector)
Lit un vecteur 4D à partir de l'stream spécifié dans l'vector spécifié et renvoie une référence au flux.
Voir également Sérialisation des types de données Qt.
© 2026 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.