En esta página

Qt3DCore::QTransform Class

class Qt3DCore::QTransform

Se utiliza para realizar transformaciones en mallas. Más...

Cabecera: #include <QTransform>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3DCore)
target_link_libraries(mytarget PRIVATE Qt6::3DCore)
qmake: QT += 3dcore
En QML: Transform
Hereda: Qt3DCore::QComponent
Status: Obsoleto

Propiedades

Funciones públicas

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

Ranuras públicas

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)

Señales

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)

Miembros públicos estáticos

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)

Descripción detallada

El componente QTransform no es compartible entre múltiples QEntity's. La transformación se mantiene como componentes de escala QVector3D, rotación QQuaternion y traslación QVector3D. Las transformaciones se aplican a la malla en ese orden. Cuando se establece la propiedad QTransform::matrix, se descompone en estos componentes de transformación y se emiten las señales correspondientes.

Se proporcionan varias funciones de ayuda para configurar la QTransform; fromAxisAndAngle y fromAxesAndAngles pueden utilizarse para establecer la rotación alrededor de ejes específicos, fromEulerAngles puede utilizarse para establecer la rotación basada en ángulos de Euler y rotateAround puede utilizarse para rotar el objeto alrededor de un punto específico relativo al origen local.

Documentación de propiedades

matrix : QMatrix4x4

Contiene la dirección QMatrix4x4 de la transformación.

Nota: Cuando se establece la propiedad matriz, se descompone en componentes de traslación, rotación y escala.

Funciones de acceso:

QMatrix4x4 matrix() const
void setMatrix(const QMatrix4x4 &matrix)

Señal del notificador:

void matrixChanged()

rotation : QQuaternion

Mantiene la rotación de la transformación como QQuaternion.

Funciones de acceso:

QQuaternion rotation() const
void setRotation(const QQuaternion &rotation)

Señal notificadora:

void rotationChanged(const QQuaternion &rotation)

rotationX : float

Mantiene la rotación x de la transformación como ángulo de Euler.

Funciones de acceso:

float rotationX() const
void setRotationX(float rotationX)

Señal notificadora:

void rotationXChanged(float rotationX)

rotationY : float

Mantiene la rotación y de la transformación como ángulo de Euler.

Funciones de acceso:

float rotationY() const
void setRotationY(float rotationY)

Señal notificadora:

void rotationYChanged(float rotationY)

rotationZ : float

Mantiene la rotación z de la transformación como ángulo de Euler.

Funciones de acceso:

float rotationZ() const
void setRotationZ(float rotationZ)

Señal notificadora:

void rotationZChanged(float rotationZ)

scale : float

Mantiene la escala uniforme de la transformación. Si la escala se ha establecido con setScale3D, mantiene sólo el valor x.

Funciones de acceso:

float scale() const
void setScale(float scale)

Señal del notificador:

void scaleChanged(float scale)

scale3D : QVector3D

Mantiene la escala de la transformación como QVector3D.

Funciones de acceso:

QVector3D scale3D() const
void setScale3D(const QVector3D &scale)

Señal notificadora:

void scale3DChanged(const QVector3D &scale)

translation : QVector3D

Mantiene la traslación de la transformación como QVector3D.

Funciones de acceso:

QVector3D translation() const
void setTranslation(const QVector3D &translation)

Señal notificadora:

void translationChanged(const QVector3D &translation)

[read-only] worldMatrix : QMatrix4x4

Contiene la matriz de transformación mundial de la transformación. Esto supone que el componente QTransform está siendo referenciado por un QEntity. Esto hace más conveniente identificar cuando una parte QEntity de un subárbol ha sido transformada en el mundo aunque su transformación local no haya cambiado.

Funciones de acceso:

QMatrix4x4 worldMatrix() const

Señal notificadora:

void worldMatrixChanged(const QMatrix4x4 &worldMatrix)

Documentación de la función miembro

[explicit] QTransform::QTransform(Qt3DCore::QNode *parent = nullptr)

Construye una nueva QTransform con parent.

[static invokable] QQuaternion QTransform::fromAxes(const QVector3D &xAxis, const QVector3D &yAxis, const QVector3D &zAxis)

Crea un QQuaterniom que define una rotación a partir de los ejes xAxis, yAxis y zAxis.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[static invokable] QQuaternion QTransform::fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2)

Crea un QQuaternion a partir de axis1, angle1, axis2, y angle2. Devuelve el QQuaternion resultante .

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[static invokable] QQuaternion QTransform::fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2, const QVector3D &axis3, float angle3)

Crea un QQuaternion a partir de axis1, angle1, axis2, angle2, axis3, y angle3. Devuelve el QQuaternion resultante .

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[static invokable] QQuaternion QTransform::fromAxisAndAngle(const QVector3D &axis, float angle)

Crea un QQuaternion a partir de axis y angle. Devuelve el QQuaternion resultante.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[static invokable] QQuaternion QTransform::fromAxisAndAngle(float x, float y, float z, float angle)

Crea un QQuaternion a partir de x, y, z, y angle. Devuelve el QQuaternion resultante .

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[static invokable] QQuaternion QTransform::fromEulerAngles(const QVector3D &eulerAngles)

Crea un QQuaternion a partir de eulerAngles. Devuelve el QQuaternion resultante .

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[static invokable] QQuaternion QTransform::fromEulerAngles(float pitch, float yaw, float roll)

Crea un QQuaternion a partir de pitch, yaw, y roll. Devuelve el QQuaternion resultante .

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[static invokable] QMatrix4x4 QTransform::rotateAround(const QVector3D &point, float angle, const QVector3D &axis)

Crea una matriz de rotación a partir de axis y angle alrededor de point. Devuelve la resultante QMatrix4x4.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[static invokable] QMatrix4x4 QTransform::rotateFromAxes(const QVector3D &xAxis, const QVector3D &yAxis, const QVector3D &zAxis)

Devuelve una matriz de rotación definida a partir de los ejes xAxis, yAxis, zAxis.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

QMatrix4x4 QTransform::worldMatrix() const

Devuelve la matriz de transformación global asociada a QTransform cuando está referenciada por un QEntity que puede formar parte de una jerarquía QEntity.

Nota: Función Getter para la propiedad 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.