Sur cette page

Qt3DCore::QTransform Class

class Qt3DCore::QTransform

Permet 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.