Qt3DCore::QTransform Class
class Qt3DCore::QTransformSe 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.