QJoint Class

class Qt3DCore::QJoint

Verwendet, um Teile von gehäuteten 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
Vererbt: Qt3DCore::QNode
Status: Veraltet

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)

Detaillierte Beschreibung

Der QJoint-Knoten wird verwendet, um Skelette als Teil der Skinned-Mesh-Unterstützung in Qt 3D zu erstellen. Ein Gelenk kann mit Hilfe seiner Skalierungs-, Rotations- und Translationseigenschaften transformiert werden. Bei allen Mesh-Eckpunkten, die an das Gelenk gebunden sind, werden die Transformationen entsprechend aktualisiert.

Dokumentation der Eigenschaften

inverseBindMatrix : QMatrix4x4

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

Zugriffsfunktionen:

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

Melder-Signal:

void inverseBindMatrixChanged(const QMatrix4x4 &inverseBindMatrix)

rotation : QQuaternion

Hält die Drehung des Gelenks als QQuaternion fest.

Zugriffsfunktionen:

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

Anzeigesignal:

void rotationChanged(const QQuaternion &rotation)

rotationX : float

Enthält die x-Drehung des Gelenks als Euler-Winkel.

Zugriffsfunktionen:

float rotationX() const
void setRotationX(float rotationX)

Melder-Signal:

void rotationXChanged(float rotationX)

rotationY : float

Enthält die y-Drehung des Gelenks in Form eines Euler-Winkels.

Zugriffsfunktionen:

float rotationY() const
void setRotationY(float rotationY)

Melder-Signal:

void rotationYChanged(float rotationY)

rotationZ : float

Enthält die z-Drehung des Gelenks als Euler-Winkel.

Zugriffsfunktionen:

float rotationZ() const
void setRotationZ(float rotationZ)

Melder-Signal:

void rotationZChanged(float rotationZ)

scale : QVector3D

Enthält den Maßstab der Verbindung.

Zugriffsfunktionen:

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

Melder-Signal:

void scaleChanged(const QVector3D &scale)

translation : QVector3D

Hält die Übersetzung des Gelenks als QVector3D fest.

Zugriffsfunktionen:

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

Melder-Signal:

void translationChanged(const QVector3D &translation)

Member Function Dokumentation

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

Konstruiert einen neuen QJoint mit parent.

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

Fügt joint als Kind dieser Verbindung hinzu. Wenn joint kein übergeordnetes Gelenk hat, übernimmt dieses Gelenk das Eigentum daran. Untergeordnete Verbindungen befinden sich im Koordinatensystem ihrer übergeordneten Verbindung.

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

Der Vektor der Gelenke, die dieses Gelenk als Kinder hat.

QString QJoint::name() const

Gibt den Namen der Verbindung 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 Kinder dieser Verbindung. Das untergeordnete Gelenk wird nicht zerstört.

[slot] void QJoint::setToIdentity()

Setzt die Transformationsmatrix für dieses Gelenk auf die Identitätsmatrix.

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