QTransform Class

class Qt3DCore::QTransform

Dient 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.