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