QTransform Class
class Qt3DCore::QTransformDient zur Durchführung von Transformationen auf Meshes. Mehr...
Kopfzeile: | #include <QTransform> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3DCore) target_link_libraries(mytarget PRIVATE Qt6::3DCore) |
qmake: | QT += 3dcore |
In QML: | Transform |
Vererbt: | Qt3DCore::QComponent |
Status: | Veraltet |
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 Komponente QTransform kann nicht von mehreren QEntity's gemeinsam genutzt werden. Die Transformation wird als QVector3D scale, QQuaternion rotation und QVector3D translation Komponenten gehalten. Die Transformationen werden in dieser Reihenfolge auf das Netz angewendet. Wenn die Eigenschaft QTransform::matrix gesetzt ist, wird sie in diese Transformationskomponenten zerlegt und entsprechende Signale werden ausgegeben.
Zur Einrichtung der QTransform stehen mehrere Hilfsfunktionen zur Verfügung; fromAxisAndAngle und fromAxesAndAngles können verwendet werden, um die Rotation um bestimmte Achsen festzulegen, fromEulerAngles kann verwendet werden, um die Rotation basierend auf Eulerwinkeln festzulegen und rotateAround kann verwendet werden, um das Objekt um einen bestimmten Punkt relativ zum lokalen Ursprung zu drehen.
Dokumentation der Eigenschaften
matrix : QMatrix4x4
Enthält die QMatrix4x4 der Transformation.
Hinweis: Wenn die Matrixeigenschaft gesetzt ist, wird sie in die Komponenten Translation, Rotation und Skalierung zerlegt.
Zugriffsfunktionen:
QMatrix4x4 | matrix() const |
void | setMatrix(const QMatrix4x4 &matrix) |
Benachrichtigungssignal:
void | matrixChanged() |
rotation : QQuaternion
Hält die Rotation der Transformation als QQuaternion fest.
Zugriffsfunktionen:
QQuaternion | rotation() const |
void | setRotation(const QQuaternion &rotation) |
Anmelder-Signal:
void | rotationChanged(const QQuaternion &rotation) |
rotationX : float
Enthält die x-Drehung der Transformation als Euler-Winkel.
Zugriffsfunktionen:
float | rotationX() const |
void | setRotationX(float rotationX) |
Melder-Signal:
void | rotationXChanged(float rotationX) |
rotationY : float
Enthält die y-Drehung der Transformation als Euler-Winkel.
Zugriffsfunktionen:
float | rotationY() const |
void | setRotationY(float rotationY) |
Melder-Signal:
void | rotationYChanged(float rotationY) |
rotationZ : float
Enthält die z-Drehung der Transformation als Euler-Winkel.
Zugriffsfunktionen:
float | rotationZ() const |
void | setRotationZ(float rotationZ) |
Melder-Signal:
void | rotationZChanged(float rotationZ) |
scale : float
Enthält den einheitlichen Maßstab der Transformation. Wenn die Skalierung mit setScale3D eingestellt wurde, wird nur der x-Wert gehalten.
Zugriffsfunktionen:
float | scale() const |
void | setScale(float scale) |
Anmelder-Signal:
void | scaleChanged(float scale) |
scale3D : QVector3D
Hält den Maßstab der Transformation als QVector3D fest.
Zugriffsfunktionen:
QVector3D | scale3D() const |
void | setScale3D(const QVector3D &scale) |
Anmelder-Signal:
void | scale3DChanged(const QVector3D &scale) |
translation : QVector3D
Hält die Übersetzung der Transformation als QVector3D fest.
Zugriffsfunktionen:
QVector3D | translation() const |
void | setTranslation(const QVector3D &translation) |
Anmelder-Signal:
void | translationChanged(const QVector3D &translation) |
[read-only]
worldMatrix : const QMatrix4x4
Enthält die Welttransformationsmatrix für die Transformation. Dabei wird davon ausgegangen, dass die Komponente QTransform von einer QEntity referenziert wird. Dadurch ist es einfacher zu erkennen, wenn ein QEntity Teil eines Teilbaums in der Welt transformiert wurde, obwohl sich seine lokale Transformation möglicherweise nicht geändert hat.
Zugriffsfunktionen:
QMatrix4x4 | worldMatrix() const |
Melder-Signal:
void | worldMatrixChanged(const QMatrix4x4 &worldMatrix) |
Member Function Dokumentation
[explicit]
QTransform::QTransform(Qt3DCore::QNode *parent = nullptr)
Konstruiert eine neue QTransform mit parent.
[static invokable]
QQuaternion QTransform::fromAxes(const QVector3D &xAxis, const QVector3D &yAxis, const QVector3D &zAxis)
Erzeugt ein QQuaterniom, das eine Drehung aus den Achsen xAxis, yAxis und zAxis definiert.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[static invokable]
QQuaternion QTransform::fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2)
Erzeugt ein QQuaternion aus axis1, angle1, axis2 und angle2. Gibt das resultierende QQuaternion zurück.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus 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)
Erzeugt ein QQuaternion aus axis1, angle1, axis2, angle2, axis3 und angle3. Gibt das resultierende QQuaternion zurück.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[static invokable]
QQuaternion QTransform::fromAxisAndAngle(const QVector3D &axis, float angle)
Erzeugt ein QQuaternion aus axis und angle. Gibt das resultierende QQuaternion zurück.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[static invokable]
QQuaternion QTransform::fromAxisAndAngle(float x, float y, float z, float angle)
Erzeugt ein QQuaternion aus x, y, z und angle. Gibt das resultierende QQuaternion zurück.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[static invokable]
QQuaternion QTransform::fromEulerAngles(const QVector3D &eulerAngles)
Erzeugt ein QQuaternion aus eulerAngles. Gibt das resultierende QQuaternion zurück.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[static invokable]
QQuaternion QTransform::fromEulerAngles(float pitch, float yaw, float roll)
Erzeugt ein QQuaternion aus pitch, yaw und roll. Gibt das resultierende QQuaternion zurück.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus 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 die resultierende QMatrix4x4 zurück.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus 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 durch die Achsen xAxis, yAxis, zAxis definiert ist.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
QMatrix4x4 QTransform::worldMatrix() const
Gibt die Welttransformationsmatrix zurück, die dem QTransform zugeordnet ist, wenn sie von einem QEntity referenziert wird, der Teil einer QEntity Hierarchie sein kann.
Hinweis: Getter-Funktion für die Eigenschaft worldMatrix.
© 2025 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.