Класс 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 |
Свойства
|
|
Публичные функции
| 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