Qt3DCore::QJoint Class
class Qt3DCore::QJointWird 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.