Auf dieser Seite

Qt3DCore::QTransform Class

class Qt3DCore::QTransform

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