Qt3DCore::QTransform Class
class Qt3DCore::QTransformWird verwendet, um Transformationen an Meshes durchzuführen. Mehr...
| Kopfzeile: | #include <QTransform> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3DCore) target_link_libraries(mytarget PRIVATE Qt6::3DCore) |
| qmake: | QT += 3dcore |
| In QML: | Transform |
| Erbt von: | Qt3DCore::QComponent |
| Status: | Veraltet |
Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.
Eigenschaften
|
Öffentliche Funktionen
| 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 |
Öffentliche Slots
| 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) |
Signale
| 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) |
Statische öffentliche Mitglieder
| 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) |
Detaillierte Beschreibung
Die QTransform-Komponente kann nicht von mehreren „ QEntity “-Objekten gemeinsam genutzt werden. Die Transformation wird als die Komponenten „ QVector3D “ (Skalierung), „ QQuaternion “ (Rotation) und „ QVector3D “ (Translation) gespeichert. Die Transformationen werden in dieser Reihenfolge auf das Mesh angewendet. Wenn die Eigenschaft „ QTransform::matrix “ gesetzt ist, wird die Transformation in diese Transformationskomponenten zerlegt und entsprechende Signale werden ausgegeben.
Zur Einrichtung von „QTransform“ stehen mehrere Hilfsfunktionen zur Verfügung: Mit „ fromAxisAndAngle “ und „ fromAxesAndAngles “ kann die Drehung um bestimmte Achsen festgelegt werden, mit „ fromEulerAngles “ die Drehung anhand von Eulerwinkeln und mit „ rotateAround “ die Drehung des Objekts um einen bestimmten Punkt relativ zum lokalen Ursprung.
Dokumentation zu den Eigenschaften
matrix : QMatrix4x4
Enthält die Matrix „ QMatrix4x4 “ der Transformation.
Hinweis: Wenn die Matrix-Eigenschaft festgelegt ist, wird sie in Translations-, Rotations- und Skalierungskomponenten zerlegt.
Zugriffsfunktionen:
| QMatrix4x4 | matrix() const |
| void | setMatrix(const QMatrix4x4 &matrix) |
Benachrichtigungssignal:
| void | matrixChanged() |
rotation : QQuaternion
Speichert die Drehung der Transformation als „ QQuaternion “.
Zugriffsfunktionen:
| QQuaternion | rotation() const |
| void | setRotation(const QQuaternion &rotation) |
Benachrichtigungssignal:
| void | rotationChanged(const QQuaternion &rotation) |
rotationX : float
Speichert die x-Drehung der Transformation als Eulerwinkel.
Zugriffsfunktionen:
| float | rotationX() const |
| void | setRotationX(float rotationX) |
Benachrichtigungssignal:
| void | rotationXChanged(float rotationX) |
rotationY : float
Speichert die y-Rotation der Transformation als Eulerwinkel.
Zugriffsfunktionen:
| float | rotationY() const |
| void | setRotationY(float rotationY) |
Benachrichtigungssignal:
| void | rotationYChanged(float rotationY) |
rotationZ : float
Speichert die Z-Rotation der Transformation als Eulerwinkel.
Zugriffsfunktionen:
| float | rotationZ() const |
| void | setRotationZ(float rotationZ) |
Benachrichtigungssignal:
| void | rotationZChanged(float rotationZ) |
scale : float
Enthält den einheitlichen Skalierungsfaktor der Transformation. Wenn die Skalierung mit ` setScale3D` festgelegt wurde, enthält diese Funktion nur den x-Wert.
Zugriffsfunktionen:
| float | scale() const |
| void | setScale(float scale) |
Benachrichtigungssignal:
| void | scaleChanged(float scale) |
scale3D : QVector3D
Speichert den Skalierungsfaktor der Transformation als „ QVector3D “.
Zugriffsfunktionen:
| QVector3D | scale3D() const |
| void | setScale3D(const QVector3D &scale) |
Benachrichtigungssignal:
| void | scale3DChanged(const QVector3D &scale) |
translation : QVector3D
Enthält die Transformation als „ QVector3D “.
Zugriffsfunktionen:
| QVector3D | translation() const |
| void | setTranslation(const QVector3D &translation) |
Benachrichtigungssignal:
| void | translationChanged(const QVector3D &translation) |
[read-only] worldMatrix : QMatrix4x4
Enthält die Welt-Transformationsmatrix für die Transformation. Dabei wird davon ausgegangen, dass die Komponente „ QTransform “ von einer QEntity referenziert wird. Dies erleichtert es, festzustellen, wann ein QEntity-Teil eines Teilbaums in der Welt transformiert wurde, auch wenn sich seine lokale Transformation möglicherweise nicht geändert hat.
Zugriffsfunktionen:
| QMatrix4x4 | worldMatrix() const |
Notifier-Signal:
| void | worldMatrixChanged(const QMatrix4x4 &worldMatrix) |
Dokumentation der Mitgliedsfunktionen
[explicit] QTransform::QTransform(Qt3DCore::QNode *parent = nullptr)
Erstellt eine neue QTransform-Instanz mit der Eigenschaft „ parent “.
[static invokable] QQuaternion QTransform::fromAxes(const QVector3D &xAxis, const QVector3D &yAxis, const QVector3D &zAxis)
Erzeugt ein QQuaterniom, das eine Drehung um die Achsen xAxis, yAxis und zAxis definiert.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[static invokable] QQuaternion QTransform::fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2)
Erstellt einen „ QQuaternion “ aus „ axis1 “, „ angle1 “, „ axis2 “ und „ angle2 “. Gibt das resultierende „ QQuaternion “ zurück.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[static invokable] QQuaternion QTransform::fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2, const QVector3D &axis3, float angle3)
Erstellt ein „ QQuaternion “ aus „ axis1 “, „ angle1 “, „ axis2 “, „ angle2 “, „ axis3 “ und „ angle3 “. Gibt das resultierende „ QQuaternion “ zurück.
Hinweis: Diese Funktion kann über das Metaobjekt-System und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[static invokable] QQuaternion QTransform::fromAxisAndAngle(const QVector3D &axis, float angle)
Erstellt ein ` QQuaternion ` aus ` axis ` und ` angle`. Gibt das resultierende ` QQuaternion` zurück.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[static invokable] QQuaternion QTransform::fromAxisAndAngle(float x, float y, float z, float angle)
Erstellt ein ` QQuaternion ` aus ` x`, ` y`, ` z` und ` angle`. Gibt das resultierende ` QQuaternion` zurück.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[static invokable] QQuaternion QTransform::fromEulerAngles(const QVector3D &eulerAngles)
Erstellt ein „ QQuaternion “ aus „ eulerAngles “. Gibt das resultierende „ QQuaternion “ zurück.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[static invokable] QQuaternion QTransform::fromEulerAngles(float pitch, float yaw, float roll)
Erstellt ein „ QQuaternion “ aus „ pitch “, „ yaw “ und „ roll “. Gibt das resultierende „ QQuaternion “ zurück.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[static invokable] QMatrix4x4 QTransform::rotateAround(const QVector3D &point, float angle, const QVector3D &axis)
Erzeugt eine Rotationsmatrix aus axis und angle um point. Gibt das Ergebnis QMatrix4x4 zurück.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[static invokable] QMatrix4x4 QTransform::rotateFromAxes(const QVector3D &xAxis, const QVector3D &yAxis, const QVector3D &zAxis)
Gibt eine Rotationsmatrix zurück, die anhand der Achsen xAxis, yAxis und zAxis definiert ist.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
QMatrix4x4 QTransform::worldMatrix() const
Gibt die Welt-Transformationsmatrix zurück, die der „ QTransform “ zugeordnet ist, wenn diese von einer QEntity referenziert wird, die Teil einer QEntity-Hierarchie sein kann.
Hinweis: Getter -Funktion für die Eigenschaft „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.