Qt3DCore::QTransform Class
class Qt3DCore::QTransformPermet d'effectuer des transformations sur des maillages. En savoir plus...
| En-tête : | #include <QTransform> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS 3DCore) target_link_libraries(mytarget PRIVATE Qt6::3DCore) |
| qmake : | QT += 3dcore |
| En QML : | Transform |
| Hérite de : | Qt3DCore::QComponent |
| Statut : | Obsolète |
Cette classe est obsolète. Nous vous déconseillons fortement de l'utiliser dans du nouveau code.
Propriétés
|
Fonctions publiques
| QTransform(Qt3DCore::QNode *parent = nullptr) | |
| QMatrix4x4 | matrix() const |
| QQuaternion | rotation() const |
| float | rotationX() const |
| float | rotationY() const |
| float | rotationZ() const |
| float | scale() const |
| QVector3D | scale3D() const |
| QVector3D | translation() const |
| QMatrix4x4 | worldMatrix() const |
Emplacements publics
| void | setMatrix(const QMatrix4x4 &matrix) |
| void | setRotation(const QQuaternion &rotation) |
| void | setRotationX(float rotationX) |
| void | setRotationY(float rotationY) |
| void | setRotationZ(float rotationZ) |
| void | setScale(float scale) |
| void | setScale3D(const QVector3D &scale) |
| void | setTranslation(const QVector3D &translation) |
Signaux
| void | matrixChanged() |
| void | rotationChanged(const QQuaternion &rotation) |
| void | rotationXChanged(float rotationX) |
| void | rotationYChanged(float rotationY) |
| void | rotationZChanged(float rotationZ) |
| void | scale3DChanged(const QVector3D &scale) |
| void | scaleChanged(float scale) |
| void | translationChanged(const QVector3D &translation) |
| void | worldMatrixChanged(const QMatrix4x4 &worldMatrix) |
Membres publics statiques
| QQuaternion | fromAxes(const QVector3D &xAxis, const QVector3D &yAxis, const QVector3D &zAxis) |
| QQuaternion | fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2) |
| QQuaternion | fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2, const QVector3D &axis3, float angle3) |
| QQuaternion | fromAxisAndAngle(const QVector3D &axis, float angle) |
| QQuaternion | fromAxisAndAngle(float x, float y, float z, float angle) |
| QQuaternion | fromEulerAngles(const QVector3D &eulerAngles) |
| QQuaternion | fromEulerAngles(float pitch, float yaw, float roll) |
| QMatrix4x4 | rotateAround(const QVector3D &point, float angle, const QVector3D &axis) |
| QMatrix4x4 | rotateFromAxes(const QVector3D &xAxis, const QVector3D &yAxis, const QVector3D &zAxis) |
Description détaillée
Le composant QTransform ne peut pas être partagé entre plusieurs instances d'QEntity. La transformation est stockée sous forme de composantes d'QVector3D (échelle), d'QQuaternion (rotation) et d'QVector3D (translation). Les transformations sont appliquées au maillage dans cet ordre. Lorsque la propriété QTransform::matrix est définie, la transformation est décomposée en ces composantes et les signaux correspondants sont émis.
Plusieurs fonctions d’aide sont fournies pour configurer le QTransform ; fromAxisAndAngle et fromAxesAndAngles permettent de définir la rotation autour d’axes spécifiques, fromEulerAngles permet de définir la rotation à partir des angles d’Euler et rotateAround permet de faire pivoter l’objet autour d’un point spécifique par rapport à l’origine locale.
Documentation sur les propriétés
matrix : QMatrix4x4
Contient l'QMatrix4x4 e de la transformation.
Remarque : lorsque la propriété « matrix » est définie, elle est décomposée en composantes de translation, de rotation et d’échelle.
Fonctions d’accès :
| QMatrix4x4 | matrix() const |
| void | setMatrix(const QMatrix4x4 &matrix) |
Signal de notification :
| void | matrixChanged() |
rotation : QQuaternion
Stocke la rotation de la transformation sous la forme « QQuaternion ».
Fonctions d'accès :
| QQuaternion | rotation() const |
| void | setRotation(const QQuaternion &rotation) |
Signal de notification :
| void | rotationChanged(const QQuaternion &rotation) |
rotationX : float
Stocke la rotation autour de l'axe x de la transformation sous forme d'angle d'Euler.
Fonctions d'accès :
| float | rotationX() const |
| void | setRotationX(float rotationX) |
Signal de notification :
| void | rotationXChanged(float rotationX) |
rotationY : float
Stocke la rotation autour de l'axe y de la transformation sous forme d'angle d'Euler.
Fonctions d'accès :
| float | rotationY() const |
| void | setRotationY(float rotationY) |
Signal de notification :
| void | rotationYChanged(float rotationY) |
rotationZ : float
Stocke la rotation autour de l'axe z de la transformation sous forme d'angle d'Euler.
Fonctions d'accès :
| float | rotationZ() const |
| void | setRotationZ(float rotationZ) |
Signal de notification :
| void | rotationZChanged(float rotationZ) |
scale : float
Contient l'échelle uniforme de la transformation. Si l'échelle a été définie à l'aide de ` setScale3D`, ne contient que la valeur x.
Fonctions d’accès :
| float | scale() const |
| void | setScale(float scale) |
Signal de notification :
| void | scaleChanged(float scale) |
scale3D : QVector3D
Stocke l'échelle de la transformation sous la forme « QVector3D ».
Fonctions d'accès :
| QVector3D | scale3D() const |
| void | setScale3D(const QVector3D &scale) |
Signal de notification :
| void | scale3DChanged(const QVector3D &scale) |
translation : QVector3D
Contient la translation de la transformation sous la forme QVector3D.
Fonctions d'accès :
| QVector3D | translation() const |
| void | setTranslation(const QVector3D &translation) |
Signal de notification :
| void | translationChanged(const QVector3D &translation) |
[read-only] worldMatrix : QMatrix4x4
Contient la matrice de transformation dans l'espace mondial pour la transformation. Cela suppose que le composant ` QTransform ` soit référencé par une `QEntity`. Cela permet d'identifier plus facilement quand une `QEntity` appartenant à une sous-arborescence a été transformée dans l'espace mondial, même si sa transformation locale n'a pas nécessairement changé.
Fonctions d'accès :
| QMatrix4x4 | worldMatrix() const |
Signal de notification :
| void | worldMatrixChanged(const QMatrix4x4 &worldMatrix) |
Documentation des fonctions membres
[explicit] QTransform::QTransform(Qt3DCore::QNode *parent = nullptr)
Crée un nouvel objet QTransform à l'aide de ` parent`.
[static invokable] QQuaternion QTransform::fromAxes(const QVector3D &xAxis, const QVector3D &yAxis, const QVector3D &zAxis)
Crée un QQuaterniom définissant une rotation par rapport aux axes xAxis, yAxis et zAxis.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[static invokable] QQuaternion QTransform::fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2)
Crée un objet ` QQuaternion ` à partir de ` axis1`, ` angle1`, ` axis2` et ` angle2`. Renvoie l'objet ` QQuaternion` obtenu.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[static invokable] QQuaternion QTransform::fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2, const QVector3D &axis3, float angle3)
Crée un objet « QQuaternion » à partir de axis1, angle1, axis2, angle2, axis3 et angle3. Renvoie l'objet « QQuaternion » ainsi créé.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[static invokable] QQuaternion QTransform::fromAxisAndAngle(const QVector3D &axis, float angle)
Crée un objet « QQuaternion » à partir de « axis » et « angle ». Renvoie l'objet « QQuaternion » obtenu.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[static invokable] QQuaternion QTransform::fromAxisAndAngle(float x, float y, float z, float angle)
Crée un objet ` QQuaternion ` à partir de ` x`, ` y`, ` z` et ` angle`. Renvoie l'objet ` QQuaternion` obtenu.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[static invokable] QQuaternion QTransform::fromEulerAngles(const QVector3D &eulerAngles)
Crée un objet « QQuaternion » à partir de « eulerAngles ». Renvoie l'objet « QQuaternion » obtenu.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[static invokable] QQuaternion QTransform::fromEulerAngles(float pitch, float yaw, float roll)
Crée un objet ` QQuaternion ` à partir de ` pitch`, ` yaw` et ` roll`. Renvoie l'objet ` QQuaternion` obtenu.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[static invokable] QMatrix4x4 QTransform::rotateAround(const QVector3D &point, float angle, const QVector3D &axis)
Crée une matrice de rotation à partir de axis et angle autour de point. Renvoie la matrice résultante QMatrix4x4.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[static invokable] QMatrix4x4 QTransform::rotateFromAxes(const QVector3D &xAxis, const QVector3D &yAxis, const QVector3D &zAxis)
Renvoie une matrice de rotation définie à partir des axes xAxis, yAxis, zAxis.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
QMatrix4x4 QTransform::worldMatrix() const
Renvoie la matrice de transformation mondiale associée à l'QTransform e lorsqu'elle est référencée par une QEntity pouvant faire partie d'une hiérarchie de QEntity.
Remarque : Fonctiongetter pour la propriété worldMatrix.
© 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.