Sur cette page

QVector4D Class

La classe QVector4D représente un vecteur ou un sommet dans l'espace 4D. Plus d'informations...

En-tête : #include <QVector4D>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui

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

Description détaillée

Les vecteurs sont l'un des principaux éléments constitutifs des représentations affines 4D de l'espace 3D. Ils se composent de quatre coordonnées finies en virgule flottante, traditionnellement appelées x, y, z et w.

La classe QVector4D peut également être utilisée pour représenter les sommets dans l'espace 4D. Il n'est donc pas nécessaire de fournir une classe de vertex distincte.

Voir également QQuaternion, QVector2D, et QVector3D.

Documentation des fonctions membres

[constexpr noexcept] QVector4D::QVector4D()

Construit un vecteur nul, c'est-à-dire dont les coordonnées sont (0, 0, 0, 0).

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

Construit un vecteur dont les coordonnées x et y proviennent d'un site 2D point, et dont les coordonnées z et w sont égales à 0.

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

Construit un vecteur dont les coordonnées x et y proviennent d'un site 2D point, et dont les coordonnées z et w sont égales à 0.

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

Construit un vecteur 4D à partir du vecteur 2D spécifié vector. Les coordonnées z et w sont mises à zéro.

Voir également toVector2D().

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

Construit un vecteur 4D à partir du vecteur 3D spécifié vector. La coordonnée w est mise à zéro.

Voir également toVector3D().

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

Construit un vecteur 4D à partir du vecteur 3D spécifié vector. La coordonnée w est fixée à wpos, qui doit être finie.

Voir également toVector3D().

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

Construit un vecteur 4D à partir du vecteur 2D spécifié vector. Les coordonnées z et w sont définies respectivement à zpos et wpos, chacune d'entre elles devant être finie.

Voir aussi toVector2D().

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

Construit un vecteur avec des coordonnées (xpos, ypos, zpos, wpos). Tous les paramètres doivent être finis.

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

Renvoie le produit point de v1 et v2.

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

Renvoie true si les coordonnées x, y, z et w sont fixées à 0,0, sinon renvoie false.

[noexcept] float QVector4D::length() const

Renvoie la longueur du vecteur à partir de l'origine.

Voir aussi lengthSquared() et normalized().

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

Renvoie le carré de la longueur du vecteur à partir de l'origine. Ceci est équivalent au produit du point du vecteur avec lui-même.

Voir aussi length() et dotProduct().

[noexcept] void QVector4D::normalize()

Normalise le vecteur courant en place. Rien ne se passe si ce vecteur est un vecteur nul ou si la longueur du vecteur est très proche de 1.

Voir aussi length() et normalized().

[noexcept] QVector4D QVector4D::normalized() const

Renvoie la forme vectorielle unitaire normalisée de ce vecteur.

Si ce vecteur est nul, un vecteur nul est renvoyé. Si la longueur du vecteur est très proche de 1, le vecteur sera retourné tel quel. Sinon, la forme normalisée du vecteur de longueur 1 sera renvoyée.

Voir aussi length() et normalize().

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

Fixe la coordonnée w de ce point à la coordonnée finie w donnée.

Voir aussi w(), setX(), setY() et setZ().

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

Fixe la coordonnée x de ce point à la coordonnée finie x donnée.

Voir aussi x(), setY(), setZ() et setW().

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

Fixe la coordonnée y de ce point à la coordonnée finie y donnée.

Voir aussi y(), setX(), setZ() et setW().

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

Définit la coordonnée z de ce point à la coordonnée finie z donnée.

Voir aussi 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 supprimées.

Voir aussi toPoint() et toVector2D().

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

Renvoie la forme vectorielle 2D de ce vecteur 4D, sans les coordonnées z et w.

Voir aussi 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 aussi 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 aussi 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 aussi toVector3D(), toVector2DAffine() et toPoint().

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

Renvoie la coordonnée w de ce point.

Voir aussi setW(), x(), y() et z().

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

Renvoie la coordonnée x de ce point.

Voir aussi setX(), y(), z() et w().

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

Renvoie la coordonnée y de ce point.

Voir aussi setY(), x(), z() et w().

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

Renvoie la coordonnée z de ce point.

Voir aussi setZ(), x(), y() et w().

QVector4D::operator QVariant() const

Renvoie le vecteur 4D sous forme de 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 aussi operator/=() et operator*().

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

Multiplie les coordonnées de ce vecteur par la valeur finie donnée factor, et renvoie une référence à ce vecteur.

Voir aussi operator/=() et operator*().

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

Ajoute l'adresse vector à ce vecteur et renvoie une référence à ce vecteur.

Voir aussi operator-=().

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

Soustrait la valeur vector 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.

Le vecteur vector ne doit pas avoir de composante nulle ou NaN.

Voir aussi operator*=() et operator/().

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

Divise les coordonnées de ce vecteur par divisor, et renvoie une référence à ce vecteur. L'adresse divisor ne doit pas être zéro ou NaN.

Voir aussi operator*=().

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

Renvoie la composante du vecteur à la position d'index i sous forme de référence modifiable.

i doit être une position d'index valide dans le vecteur (c'est-à-dire 0 <= i < 4).

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

Renvoie la composante du vecteur à la position d'index i.

i doit être une position d'index valide dans le vecteur (c'est-à-dire 0 <= i < 4).

Non-membres apparentés

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

Renvoie true si v1 et v2 sont égaux, en tenant compte d'un petit facteur de flou pour les comparaisons en virgule flottante ; faux dans le cas contraire.

[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 formé en multipliant chaque composant de v1 par le composant correspondant de v2.

Remarque : il ne s'agit en aucun cas d'un produit croisé entre v1 et v2. (La somme de ses composantes correspond au produit en points de v1 et v2).

Voir aussi QVector4D::operator*=().

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

Renvoie une copie de l'adresse vector, multipliée par l'adresse factor.

Voir aussi QVector4D::operator*=().

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

Renvoie une copie de l'adresse vector, multipliée par l'adresse factor.

Voir aussi QVector4D::operator*=().

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

Renvoie un objet QVector4D qui est la somme des vecteurs donnés, v1 et v2; chaque composante est ajoutée séparément.

Voir aussi QVector4D::operator+=().

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

Renvoie un objet QVector4D formé en soustrayant v2 de v1; chaque composant est soustrait séparément.

Voir aussi QVector4D::operator-=().

[constexpr noexcept] QVector4D operator-(QVector4D vector)

Renvoie un objet QVector4D formé en changeant le signe des trois composantes de l'objet vector.

É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 formé en divisant chaque composante de vector donnée par la composante correspondante de divisor donnée.

L'objet divisor ne doit pas avoir de composante nulle ou NaN.

Voir aussi QVector4D::operator/=().

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

Renvoie l'objet QVector4D formé par la division de chaque composante de l'objet vector par l'objet divisor.

L'adresse divisor ne doit pas être zéro ou NaN.

Voir aussi QVector4D::operator/=().

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

Écrit la donnée vector dans la donnée stream et renvoie une référence au flux.

Voir aussi Serializing Qt Data Types (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 de l'adresse stream dans l'adresse vector et renvoie une référence au flux.

Voir aussi Serializing Qt Data Types (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.