QJoint Class

class Qt3DCore::QJoint

スキニングされたメッシュの一部をトランスフォームするために使用します。詳細...

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

プロパティ

パブリック関数

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

パブリックスロット

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)

シグナル

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)

詳細説明

QJoint ノードは、Qt 3D のスキンドメッシュサポートの一部として、スケルトンを構築するために使用されます。ジョイントは、そのスケール、回転、平行移動プロパティによって変形することができます。ジョイントにバインドされているメッシュ頂点は、それに応じて変形が更新されます。

プロパティの説明

inverseBindMatrix : QMatrix4x4

ジョイントの逆バインド行列を保持します。これは頂点をモデル空間からこのジョイントの空間に変換するために使用され、その後スキニング操作を実行するためにジョイントのグローバル変換を乗算することができます。

アクセス関数です:

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

通知シグナル:

void inverseBindMatrixChanged(const QMatrix4x4 &inverseBindMatrix)

rotation : QQuaternion

QQuaternion としてジョイントの回転を保持します。

アクセス関数

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

通知シグナル:

void rotationChanged(const QQuaternion &rotation)

rotationX : float

アクセス関数:Notifier signal: ジョイントの x 回転をオイラー角として保持します。

アクセス関数:

float rotationX() const
void setRotationX(float rotationX)

ノーティファイアシグナル:

void rotationXChanged(float rotationX)

rotationY : float

Notifierシグナル:関節のy回転をオイラー角として保持します。

アクセス関数

float rotationY() const
void setRotationY(float rotationY)

通知シグナル

void rotationYChanged(float rotationY)

rotationZ : float

Notifierシグナル:関節のz回転をオイラー角として保持します。

アクセス関数

float rotationZ() const
void setRotationZ(float rotationZ)

通知シグナル

void rotationZChanged(float rotationZ)

scale : QVector3D

Notifierシグナル:ジョイントのスケールを保持します。

アクセス関数

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

ノーティファイア シグナル:

void scaleChanged(const QVector3D &scale)

translation : QVector3D

関節の平行移動量をQVector3D として保持します。

アクセス関数

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

ノーティファイアシグナル:

void translationChanged(const QVector3D &translation)

メンバ関数 ドキュメント

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

parent を持つ新しい QJoint を構築します。

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

joint をこのジョイントの子として追加します。joint に親がない場合は、このジョイントがその所有権を持ちます。子ジョイントは親ジョイントの座標系になります。

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

このジョイントが子として持つジョイントのベクトル。

QString QJoint::name() const

ジョイントの名前を返します。

メモ: プロパティ名のゲッター関数です。

setName()も参照してください

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

このジョイントの子ジョイントリストからjoint を削除します。子ジョイントは破棄されません。

[slot] void QJoint::setToIdentity()

このジョイントの変換行列を同一行列に設定します。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します このドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。