Класс QTransform
(Qt3DCore::QTransform)Используется для выполнения преобразований над сетками Подробнее...
| Заголовок: | #include <QTransform> |
| qmake: | QT += 3dcore |
| С момента: | Qt 5.6 |
| Инициализируется: | Transform |
| Наследует: | Qt3DCore::QComponent |
Свойства
|
- 1 свойство унаследовано от Qt3DCore::QComponent
- 3 свойства унаследовано от Qt3DCore::QNode
- 1 свойство унаследовано от QObject
Открытые функции
| QTransform(QNode *parent = nullptr) | |
| QMatrix4x4 | matrix() const |
| QQuaternion | rotation() const |
| float | rotationX() const |
| float | rotationY() const |
| float | rotationZ() const |
| float | scale() const |
| QVector3D | scale3D() const |
| QVector3D | translation() const |
- 2 открытые функции унаследованы от Qt3DCore::QComponent
- 11 открытых функций унаследованы от Qt3DCore::QNode
- 32 открытых функции унаследованы от QObject
Открытые слоты
| void | setMatrix(const QMatrix4x4 &matrix) |
| void | setRotation(const QQuaternion &rotation) |
| void | setRotationX(float rotationX) |
| void | setRotationY(float rotationY) |
| void | setRotationZ(float rotationZ) |
| void | setScale(float scale) |
| void | setScale3D(const QVector3D &scale) |
| void | setTranslation(const QVector3D &translation) |
- 1 открытый слот унаследован от Qt3DCore::QComponent
- 3 открытых слота унаследовано от Qt3DCore::QNode
- 1 открытый слот унаследован от QObject
Сигналы
| void | matrixChanged() |
| void | rotationChanged(const QQuaternion &rotation) |
| void | rotationXChanged(float rotationX) |
| void | rotationYChanged(float rotationY) |
| void | rotationZChanged(float rotationZ) |
| void | scale3DChanged(const QVector3D &scale) |
| void | scaleChanged(float scale) |
| void | translationChanged(const QVector3D &translation) |
- 3 сигнала унаследованы от Qt3DCore::QComponent
- 4 сигнала унаследовано от Qt3DCore::QNode
- 2 сигнала унаследовано от QObject
Статические открытые члены
| QQuaternion | fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2) |
| QQuaternion | fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2, const QVector3D &axis3, float angle3) |
| QQuaternion | fromAxisAndAngle(const QVector3D &axis, float angle) |
| QQuaternion | fromAxisAndAngle(float x, float y, float z, float angle) |
| QQuaternion | fromEulerAngles(const QVector3D &eulerAngles) |
| QQuaternion | fromEulerAngles(float pitch, float yaw, float roll) |
| QMatrix4x4 | rotateAround(const QVector3D &point, float angle, const QVector3D &axis) |
- 11 статических открытых членов унаследованы от QObject
Дополнительные унаследованные члены
- 2 защищенные функции унаследованы от Qt3DCore::QNode
- 9 защищенные функции унаследованы от QObject
Подробное описание
Используется для выполнения преобразований над сетками
Компонент QTransform не может быть совместно использован несколькими компонентами QEntity. Преобразование хранится как компоненты масштаба QVector3D, вращения QQuaternion и перемещения QVector3D. Преобразования применяются к сетке в указанном порядке. При установке свойства QTransform::matrix, оно разлагается на эти компоненты преобразования, и испускаются соответствующие сигналы.
Для настройки QTransform предоставлены несколько вспомогательных функций; fromAxisAndAngle и fromAxesAndAngles могут использоваться для задания поворота вокруг определённых осей, fromEulerAngles — для задания поворота на основе углов Эйлера, а rotateAround — для поворота объекта вокруг определённой точки относительно локального начала координат.
Документация свойств
matrix : QMatrix4x4
Содержит QMatrix4x4 преобразования.
Примечание: При установке свойства matrix, оно разлагается на компоненты смещения, поворота и масштабирования.
Функции доступа:
| QMatrix4x4 | matrix() const |
| void | setMatrix(const QMatrix4x4 &matrix) |
Сигнал уведомления:
| void | matrixChanged() |
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 : float
Содержит равномерный масштаб преобразования. Если масштаб был задан с помощью setScale3D, хранит только значение по оси X.
Функции доступа:
| float | scale() const |
| void | setScale(float scale) |
Сигнал уведомления:
| void | scaleChanged(float scale) |
scale3D : QVector3D
Содержит масштаб преобразования в виде QVector3D.
Функции доступа:
| QVector3D | scale3D() const |
| void | setScale3D(const QVector3D &scale) |
Сигнал уведомления:
| void | scale3DChanged(const QVector3D &scale) |
translation : QVector3D
Содержит смещение преобразования в виде QVector3D.
Функции доступа:
| QVector3D | translation() const |
| void | setTranslation(const QVector3D &translation) |
Сигнал уведомления:
| void | translationChanged(const QVector3D &translation) |
Документация функций-членов
QTransform::QTransform(QNode *parent = nullptr)
Создаёт новый QTransform с parent.
QQuaternion QTransform::fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2)
Создаёт QQuaternion из axis1, angle1, axis2 и angle2. Возвращает результирующий QQuaternion.
QQuaternion QTransform::fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2, const QVector3D &axis3, float angle3)
Создаёт QQuaternion из axis1, angle1, axis2, angle2, axis3 и angle3. Возвращает результирующий QQuaternion.
QQuaternion QTransform::fromAxisAndAngle(const QVector3D &axis, float angle)
Создаёт QQuaternion из axis и angle. Возвращает результирующий QQuaternion.
QQuaternion QTransform::fromAxisAndAngle(float x, float y, float z, float angle)
Создаёт QQuaternion из x, y, z и angle. Возвращает результирующий QQuaternion.
QQuaternion QTransform::fromEulerAngles(const QVector3D &eulerAngles)
Создаёт QQuaternion из eulerAngles. Возвращает результирующий QQuaternion.
QQuaternion QTransform::fromEulerAngles(float pitch, float yaw, float roll)
Создаёт QQuaternion из pitch, yaw и roll. Возвращает результирующий QQuaternion.
QMatrix4x4 QTransform::rotateAround(const QVector3D &point, float angle, const QVector3D &axis)
Создаёт матрицу поворота по axis и angle вокруг point. Возвращает результирующую QMatrix4x4.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qt3dcore-qtransform.html