Spec-Zone.ru › Qt

Класс QJoint

класс Qt3DCore::QJoint

Используется для преобразования частей скелетных мешей. Подробнее...

Заголовок: #include <QJoint>
CMake: find_package(Qt6 COMPONENTS 3dcore REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3dcore)
qmake: QT += 3dcore
С момента: Qt 5.10
Инициализируется: Joint
Наследует: Qt3DCore::QNode
  • Список всех членов, включая унаследованные

Свойства

  • inverseBindMatrix : QMatrix4x4
  • rotation : QQuaternion
  • rotationX : float
  • rotationY : float
  • rotationZ : float
  • scale : QVector3D
  • translation : QVector3D

Открытые функции

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

Содержит вращение сустава по оси X в виде Эйлерового угла.

Функции доступа:

float rotationX() const
void setRotationX(float rotationX)

Сигнал уведомления:

void rotationXChanged(float rotationX)

rotationY : float

Содержит вращение сустава по оси Y в виде Эйлерового угла.

Функции доступа:

float rotationY() const
void setRotationY(float rotationY)

Сигнал уведомления:

void rotationYChanged(float rotationY)

rotationZ : float

Содержит вращение сустава по оси Z в виде Эйлерового угла.

Функции доступа:

float rotationZ() const
void setRotationZ(float rotationZ)

Сигнал уведомления:

void rotationZChanged(float rotationZ)

scale : QVector3D

Содержит масштаб сустава.

Функции доступа:

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)

Документация по членам-функциям

QJoint::QJoint(Qt3DCore::QNode *parent = nullptr)

Создает новый QJoint с parent.

[slot] void QJoint::setToIdentity()

Устанавливает матрицу преобразования для данного сустава в единичную матрицу.

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

Добавляет joint как дочерний элемент этого сустава. Если у joint нет родителя, то этот сустав берет на себя ответственность за него. Дочерние суставы находятся в системе координат родительского сустава.

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

Вектор суставов, являющихся дочерними для этого сустава.

QString QJoint::name() const

Возвращает имя сустава.

Примечание: Функция-геттер для свойства name.

См. также setName().

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

Удаляет joint из списка дочерних элементов этого сустава. Дочерний сустав не уничтожается.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qt3dcore-qjoint.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API