Spec-Zone.ru › Qt 6.1

Класс 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.1/qt3dcore-qjoint.html

Spec-Zone.ru

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