Spec-Zone.ru › Qt

Класс QTransform

class Qt3DCore::QTransform

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

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

Свойства

  • matrix : QMatrix4x4
  • rotation : QQuaternion
  • rotationX : float
  • rotationY : float
  • rotationZ : float
  • scale : float
  • scale3D : QVector3D
  • translation : QVector3D
  • worldMatrix : const QMatrix4x4

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

QTransform(Qt3DCore::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
QMatrix4x4 worldMatrix() const

Открытые слоты

...

Сигналы

...

Статические открытые члены

...

Подробное описание

Компонент QTransform не может быть совместно использован несколькими объектами QEntity. Преобразование хранится как компоненты масштаба QVector3D, поворота QQuaternion и перемещения QVector3D. Преобразования применяются к сетке в указанном порядке. При установке свойства QTransform::matrix, оно разлагается на эти компоненты преобразования, и генерируются соответствующие сигналы.

Для настройки QTransform предоставляется несколько вспомогательных функций; fromAxisAndAngle и fromAxesAndAngles могут использоваться для задания поворота вокруг определенных осей, fromEulerAngles может использоваться для задания поворота на основе углов Эйлера, а rotateAround может использоваться для поворота объекта вокруг определенной точки относительно локального начала координат.

Документация свойств

matrix : QMatrix4x4

Содержит QMatrix4x4 преобразования.

Примечание: При установке свойства матрицы, оно разлагается на компоненты смещения, вращения и масштабирования.

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

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)

[read-only, since 5.14] worldMatrix : const QMatrix4x4

Содержит мировую матрицу преобразования для преобразования. Предполагается, что компонент QTransform ссылается на компонент QEntity. Это облегчает определение, когда часть QEntity поддерева преобразуется в мире, даже если его локальное преобразование не изменилось.

Это свойство было добавлено в Qt 5.14.

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

QMatrix4x4 worldMatrix() const

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

void worldMatrixChanged(const QMatrix4x4 &worldMatrix)

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

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

Создаёт новый QTransform с parent.

[static invokable, since 5.11] QQuaternion QTransform::fromAxes(const QVector3D &xAxis, const QVector3D &yAxis, const QVector3D &zAxis)

Создаёт QQuaterniom, определяющий вращение из осей xAxis, yAxis и zAxis.

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. Смотрите Q_INVOKABLE.

Эта функция была добавлена в Qt 5.11.

[static invokable] QQuaternion QTransform::fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2)

Создаёт QQuaternion из axis1, angle1, axis2 и angle2. Возвращает полученный QQuaternion.

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. Смотрите Q_INVOKABLE.

[static invokable] 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.

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. Смотрите Q_INVOKABLE.

[static invokable] QQuaternion QTransform::fromAxisAndAngle(const QVector3D &axis, float angle)

Создаёт QQuaternion из axis и angle. Возвращает полученный QQuaternion.

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. Смотрите Q_INVOKABLE.

END_OF_DOCUMENT_MARKER

[static invokable] QQuaternion QTransform::fromAxisAndAngle(float x, float y, float z, float angle)

Создаёт QQuaternion по значениям x, y, z и angle. Возвращает полученный QQuaternion.

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

[static invokable] QQuaternion QTransform::fromEulerAngles(const QVector3D &eulerAngles)

Создаёт QQuaternion по значениям eulerAngles. Возвращает полученный QQuaternion.

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

[static invokable] QQuaternion QTransform::fromEulerAngles(float pitch, float yaw, float roll)

Создаёт QQuaternion по значениям pitch, yaw и roll. Возвращает полученный QQuaternion.

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

[static invokable] QMatrix4x4 QTransform::rotateAround(const QVector3D &point, float angle, const QVector3D &axis)

Создаёт матрицу вращения по оси axis на угол angle вокруг точки point. Возвращает полученную матрицу QMatrix4x4.

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

[static invokable, since 5.11] QMatrix4x4 QTransform::rotateFromAxes(const QVector3D &xAxis, const QVector3D &yAxis, const QVector3D &zAxis)

Возвращает матрицу вращения, определённую осями xAxis, yAxis, zAxis.

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

Эта функция была добавлена в Qt 5.11.

[since 5.14] QMatrix4x4 QTransform::worldMatrix() const

Возвращает матрицу преобразования мира, связанную с QTransform, когда она ссылается на QEntity, который может входить в иерархию QEntity.

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

Эта функция была добавлена в Qt 5.14.

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

Spec-Zone.ru

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