Spec-Zone.ru › Qt 5.9

Класс QTransform

(Qt3DCore::QTransform)

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

Заголовок: #include <QTransform>
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
  • 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

Spec-Zone.ru

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