Qt3DCore::QTransform Class
class Qt3DCore::QTransformUtilisé pour effectuer des transformations sur les maillages. 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 : | Qt3DCore::QComponent |
| Statut : | Déclassé |
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 n'est pas partageable entre plusieurs QEntity. La transformation se compose des éléments suivants : QVector3D scale (échelle), QQuaternion rotation (rotation) et QVector3D translation (translation). Les transformations sont appliquées au maillage dans cet ordre. Lorsque la propriété QTransform::matrix est définie, elle est décomposée en ces composantes de transformation et les signaux correspondants sont émis.
Plusieurs fonctions d'aide sont fournies pour configurer la QTransform ; fromAxisAndAngle et fromAxesAndAngles peuvent être utilisées pour définir la rotation autour d'axes spécifiques, fromEulerAngles peut être utilisé pour définir la rotation basée sur les angles d'Euler et rotateAround peut être utilisé pour 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'adresse QMatrix4x4 de la transformation.
Remarque : lorsque la propriété de matrice 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
Détient la rotation de la transformation comme QQuaternion.
Fonctions d'accès :
| QQuaternion | rotation() const |
| void | setRotation(const QQuaternion &rotation) |
Signal de notification :
| void | rotationChanged(const QQuaternion &rotation) |
rotationX : float
Détient la rotation x de la transformation en tant qu'angle d'Euler.
Fonctions d'accès :
| float | rotationX() const |
| void | setRotationX(float rotationX) |
Signal de notification :
| void | rotationXChanged(float rotationX) |
rotationY : float
Détient la rotation y de la transformation en tant qu'angle d'Euler.
Fonctions d'accès :
| float | rotationY() const |
| void | setRotationY(float rotationY) |
Signal de notification :
| void | rotationYChanged(float rotationY) |
rotationZ : float
Détient la rotation z de la transformation en tant qu'angle d'Euler.
Fonctions d'accès :
| float | rotationZ() const |
| void | setRotationZ(float rotationZ) |
Signal de notification :
| void | rotationZChanged(float rotationZ) |
scale : float
Détient l'échelle uniforme de la transformation. Si l'échelle a été définie avec setScale3D, conserve uniquement la valeur x.
Fonctions d'accès :
| float | scale() const |
| void | setScale(float scale) |
Signal de notification :
| void | scaleChanged(float scale) |
scale3D : QVector3D
Maintient l'échelle de la transformation à l'adresse QVector3D.
Fonctions d'accès :
| QVector3D | scale3D() const |
| void | setScale3D(const QVector3D &scale) |
Signal de notification :
| void | scale3DChanged(const QVector3D &scale) |
translation : QVector3D
Détient la translation de la transformation comme 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 mondiale pour la transformation. Cela suppose que le composant QTransform est référencé par un QEntity. Cela permet d'identifier plus facilement quand une partie QEntity d'un sous-arbre a été transformée dans le monde, même si sa transformation locale n'a pas changé.
Fonctions d'accès :
| QMatrix4x4 | worldMatrix() const |
Signal Notificateur :
| void | worldMatrixChanged(const QMatrix4x4 &worldMatrix) |
Fonction membre Documentation
[explicit] QTransform::QTransform(Qt3DCore::QNode *parent = nullptr)
Construit une nouvelle QTransform avec parent.
[static invokable] QQuaternion QTransform::fromAxes(const QVector3D &xAxis, const QVector3D &yAxis, const QVector3D &zAxis)
Crée un QQuaterniom définissant une rotation à partir des axes xAxis, yAxis et zAxis.
Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
[static invokable] QQuaternion QTransform::fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2)
Crée un QQuaternion à partir de axis1, angle1, axis2, et angle2. Renvoie le résultat QQuaternion.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de 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 QQuaternion à partir de axis1, angle1, axis2, angle2, axis3, et angle3. Renvoie le résultat QQuaternion.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
[static invokable] QQuaternion QTransform::fromAxisAndAngle(const QVector3D &axis, float angle)
Crée un QQuaternion à partir de axis et angle. Renvoie le résultat QQuaternion.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
[static invokable] QQuaternion QTransform::fromAxisAndAngle(float x, float y, float z, float angle)
Crée un QQuaternion à partir de x, y, z, et angle. Renvoie le résultat QQuaternion.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
[static invokable] QQuaternion QTransform::fromEulerAngles(const QVector3D &eulerAngles)
Crée un QQuaternion à partir de eulerAngles. Renvoie le résultat QQuaternion.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
[static invokable] QQuaternion QTransform::fromEulerAngles(float pitch, float yaw, float roll)
Crée un QQuaternion à partir de pitch, yaw, et roll. Renvoie le résultat QQuaternion.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de 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 le résultat QMatrix4x4.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de 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.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
QMatrix4x4 QTransform::worldMatrix() const
Renvoie la matrice de transformation du monde associée à QTransform lorsqu'elle est référencée par QEntity qui peut faire partie d'une hiérarchie QEntity.
Note : Fonction d'obtention 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.