Sur cette page

Qt3DCore::QTransform Class

class Qt3DCore::QTransform

Utilisé 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.