IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

QJoint Class

Used to transforms parts of skinned meshes.

This class was introduced in Qt 5.10.

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

QJoint Class

  • Header: QJoint

  • Since: Qt 5.10

  • CMake:

    find_package(Qt6 REQUIRED COMPONENTS 3dcore)

    target_link_libraries(mytarget PRIVATE Qt6::3dcore)

  • qmake: QT += 3dcore

  • Inherited By:

  • Instantiated By: qml-qt3d-core-joint.xml

  • Inherits: Qt3DCore::QNode

Detailed Description

The QJoint node is used to build skeletons as part of the skinned mesh support in Qt 3D. A joint can be transformed by way of its scale, rotation and translation properties. Any mesh vertices that are bound to the joint will have their transformations updated accordingly.

Property Documentation

 

inverseBindMatrix : QMatrix4x4

Holds the inverse bind matrix of the joint. This is used to transform vertices from model space into the space of this joint so they can subsequently be multiplied by the joint's global transform to perform the skinning operation.

Access functions:

  • inverseBindMatrix() const

  • void setInverseBindMatrix(const &inverseBindMatrix)

Notifier signal:

  • void inverseBindMatrixChanged(const &inverseBindMatrix)

rotation : QQuaternion

Holds the rotation of the joint as QQuaternion.

Access functions:

  • rotation() const

  • void setRotation(const &rotation)

Notifier signal:

  • void rotationChanged(const &rotation)

rotationX : float

Holds the x rotation of the joint as an Euler angle.

Access functions:

  • float rotationX() const

  • void setRotationX(float rotationX)

Notifier signal:

  • void rotationXChanged(float rotationX)

rotationY : float

Holds the y rotation of the joint as an Euler angle.

Access functions:

  • float rotationY() const

  • void setRotationY(float rotationY)

Notifier signal:

  • void rotationYChanged(float rotationY)

rotationZ : float

Holds the z rotation of the joint as an Euler angle.

Access functions:

  • float rotationZ() const

  • void setRotationZ(float rotationZ)

Notifier signal:

  • void rotationZChanged(float rotationZ)

scale : QVector3D

Holds the scale of the joint.

Access functions:

  • scale() const

  • void setScale(const &scale)

Notifier signal:

  • void scaleChanged(const &scale)

translation : QVector3D

Holds the translation of the joint as QVector3D.

Access functions:

  • translation() const

  • void setTranslation(const &translation)

Notifier signal:

  • void translationChanged(const &translation)

Member Function Documentation

 

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

Constructs a new QJoint with parent.

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

Adds joint as a child of this joint. If joint has no parent, then this joint takes ownership of it. Child joints are in the coordinate system of their parent joint.

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

The vector of joints this joint has as children.

QString QJoint::name() const

Returns the name of the joint.

Getter function for property name.

See Also

See also setName()

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

Removes joint from this joint's list of children. The child joint is not destroyed.

void QJoint::setToIdentity()

Sets the transform matrix for this joint to the identity matrix.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+