Auf dieser Seite

Qt3DCore::QJoint Class

class Qt3DCore::QJoint

Wird verwendet, um Teile von Skinned-Meshes zu transformieren. Mehr...

Kopfzeile: #include <QJoint>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3DCore)
target_link_libraries(mytarget PRIVATE Qt6::3DCore)
qmake: QT += 3dcore
In QML: Joint
Erbt von: Qt3DCore::QNode
Status: Veraltet

Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Eigenschaften

Öffentliche Funktionen

QJoint(Qt3DCore::QNode *parent = nullptr)
void addChildJoint(Qt3DCore::QJoint *joint)
QList<Qt3DCore::QJoint *> childJoints() const
QMatrix4x4 inverseBindMatrix() const
QString name() const
void removeChildJoint(Qt3DCore::QJoint *joint)
QQuaternion rotation() const
float rotationX() const
float rotationY() const
float rotationZ() const
QVector3D scale() const
QVector3D translation() const

Öffentliche Slots

void setInverseBindMatrix(const QMatrix4x4 &inverseBindMatrix)
void setName(const QString &name)
void setRotation(const QQuaternion &rotation)
void setRotationX(float rotationX)
void setRotationY(float rotationY)
void setRotationZ(float rotationZ)
void setScale(const QVector3D &scale)
void setToIdentity()
void setTranslation(const QVector3D &translation)

Signale

void inverseBindMatrixChanged(const QMatrix4x4 &inverseBindMatrix)
void nameChanged(const QString &name)
void rotationChanged(const QQuaternion &rotation)
void rotationXChanged(float rotationX)
void rotationYChanged(float rotationY)
void rotationZChanged(float rotationZ)
void scaleChanged(const QVector3D &scale)
void translationChanged(const QVector3D &translation)

Ausführliche Beschreibung

Der QJoint-Knoten wird verwendet, um Skelette als Teil der Unterstützung für Skinned Meshes in „ Qt 3D “ zu erstellen. Ein Gelenk kann über seine Eigenschaften für Skalierung, Rotation und Translation transformiert werden. Die Transformationen aller an das Gelenk gebundenen Mesh-Scheitelpunkte werden entsprechend aktualisiert.

Eigenschaftsdokumentation

inverseBindMatrix : QMatrix4x4

Enthält die inverse Bindungsmatrix des Gelenks. Diese wird verwendet, um Scheitelpunkte aus dem Modellraum in den Raum dieses Gelenks zu transformieren, damit sie anschließend mit der globalen Transformation des Gelenks multipliziert werden können, um den Skinning-Vorgang durchzuführen.

Zugriffsfunktionen:

QMatrix4x4 inverseBindMatrix() const
void setInverseBindMatrix(const QMatrix4x4 &inverseBindMatrix)

Benachrichtigungssignal:

void inverseBindMatrixChanged(const QMatrix4x4 &inverseBindMatrix)

name : QString

Diese Eigenschaft enthält den Namen des Gelenks.

Enthält den Namen des Gelenks, der zur Identifizierung des Gelenks innerhalb eines Skeletts verwendet werden kann.

Zugriffsfunktionen:

QString name() const
void setName(const QString &name)

Benachrichtigungssignal:

void nameChanged(const QString &name)

rotation : QQuaternion

Speichert die Drehung des Gelenks als „ QQuaternion “.

Zugriffsfunktionen:

QQuaternion rotation() const
void setRotation(const QQuaternion &rotation)

Benachrichtigungssignal:

void rotationChanged(const QQuaternion &rotation)

rotationX : float

Speichert die x-Rotation des Gelenks als Eulerwinkel.

Zugriffsfunktionen:

float rotationX() const
void setRotationX(float rotationX)

Benachrichtigungssignal:

void rotationXChanged(float rotationX)

rotationY : float

Speichert die y-Drehung des Gelenks als Eulerwinkel.

Zugriffsfunktionen:

float rotationY() const
void setRotationY(float rotationY)

Benachrichtigungssignal:

void rotationYChanged(float rotationY)

rotationZ : float

Speichert die Z-Rotation des Gelenks als Eulerwinkel.

Zugriffsfunktionen:

float rotationZ() const
void setRotationZ(float rotationZ)

Benachrichtigungssignal:

void rotationZChanged(float rotationZ)

scale : QVector3D

Hält die Skala des Gelenks fest.

Zugriffsfunktionen:

QVector3D scale() const
void setScale(const QVector3D &scale)

Benachrichtigungssignal:

void scaleChanged(const QVector3D &scale)

translation : QVector3D

Enthält die Verschiebung des Gelenks als „ QVector3D “.

Zugriffsfunktionen:

QVector3D translation() const
void setTranslation(const QVector3D &translation)

Benachrichtigungssignal:

void translationChanged(const QVector3D &translation)

Dokumentation der Member-Funktionen

[explicit] QJoint::QJoint(Qt3DCore::QNode *parent = nullptr)

Erstellt ein neues `QJoint` mit ` parent`.

void QJoint::addChildJoint(Qt3DCore::QJoint *joint)

Fügt „ joint “ als untergeordnetes Gelenk dieses Gelenks hinzu. Wenn „ joint “ kein übergeordnetes Gelenk hat, übernimmt dieses Gelenk die Verantwortung dafür. Untergeordnete Gelenke befinden sich im Koordinatensystem ihres übergeordneten Gelenks.

QList<Qt3DCore::QJoint *> QJoint::childJoints() const

Der Vektor der Gelenke, die dieses Gelenk als untergeordnete Elemente hat.

QString QJoint::name() const

Gibt den Namen des Gelenks zurück.

Hinweis: Getter -Funktion für die Eigenschaft „name“.

Siehe auch ` setName()`.

void QJoint::removeChildJoint(Qt3DCore::QJoint *joint)

Entfernt „ joint “ aus der Liste der untergeordneten Gelenke dieses Gelenks. Das untergeordnete Gelenk wird dabei nicht gelöscht.

[slot] void QJoint::setToIdentity()

Setzt die Transformationsmatrix für dieses Gelenk auf die Einheitsmatrix.

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