QTransform Class
(Qt3DCore::QTransform)Used to perform transforms on meshes 更多...
头文件: | #include <QTransform> |
qmake: | QT += 3dcore |
开始支持版本: | Qt 5.6 |
Instantiated By: | 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) |
- 10 个静态公有成员继承自 QObject
其他继承的成员
- 1 个公有变量继承自 QObject
- 2 个受保护的函数继承自 Qt3DCore::QNode
- 9 个受保护的函数继承自 QObject
- 2 个受保护的变量继承自 QObject
详细描述
Used to perform transforms on meshes
The QTransform component is not shareable between multiple QEntity's. The transformation is held as QVector3D scale, QQuaternion rotation and QVector3D translation components. The transformations are applied to the mesh in that order. When QTransform::matrix property is set, it is decomposed to these transform components and corresponding signals are emitted.
Several helper functions are provided to set up the QTransform; fromAxisAndAngle and fromAxesAndAngles can be used to set the rotation around specific axes, fromEulerAngles can be used to set the rotation based on euler angles and rotateAround can be used to rotate the object around specific point relative to local origin.
属性
matrix : QMatrix4x4
Holds the QMatrix4x4 of the transform.
Note: When the matrix property is set, it is decomposed to translation, rotation and scale components.
访问函数:
QMatrix4x4 | matrix() const |
void | setMatrix(const QMatrix4x4 &matrix) |
Notifier signal:
void | matrixChanged() |
rotation : QQuaternion
Holds the rotation of the transform as QQuaternion.
访问函数:
QQuaternion | rotation() const |
void | setRotation(const QQuaternion &rotation) |
Notifier signal:
void | rotationChanged(const QQuaternion &rotation) |
rotationX : float
Holds the x rotation of the transform as Euler angle.
访问函数:
float | rotationX() const |
void | setRotationX(float rotationX) |
Notifier signal:
void | rotationXChanged(float rotationX) |
rotationY : float
Holds the y rotation of the transform as Euler angle.
访问函数:
float | rotationY() const |
void | setRotationY(float rotationY) |
Notifier signal:
void | rotationYChanged(float rotationY) |
rotationZ : float
Holds the z rotation of the transform as Euler angle.
访问函数:
float | rotationZ() const |
void | setRotationZ(float rotationZ) |
Notifier signal:
void | rotationZChanged(float rotationZ) |
scale : float
Holds the uniform scale of the transform. If the scale has been set with setScale3D, holds the x value only.
访问函数:
float | scale() const |
void | setScale(float scale) |
Notifier signal:
void | scaleChanged(float scale) |
scale3D : QVector3D
Holds the scale of the transform as QVector3D.
访问函数:
QVector3D | scale3D() const |
void | setScale3D(const QVector3D &scale) |
Notifier signal:
void | scale3DChanged(const QVector3D &scale) |
translation : QVector3D
Holds the translation of the transform as QVector3D.
访问函数:
QVector3D | translation() const |
void | setTranslation(const QVector3D &translation) |
Notifier signal:
void | translationChanged(const QVector3D &translation) |
成员函数
QTransform::QTransform(QNode *parent = nullptr)
Constructs a new QTransform with parent.
[static]
QQuaternion QTransform::fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2)
Creates a QQuaternion from axis1, angle1, axis2, and angle2. Returns the resulting QQuaternion.
[static]
QQuaternion QTransform::fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2, const QVector3D &axis3, float angle3)
Creates a QQuaternion from axis1, angle1, axis2, angle2, axis3, and angle3. Returns the resulting QQuaternion.
[static]
QQuaternion QTransform::fromAxisAndAngle(const QVector3D &axis, float angle)
Creates a QQuaternion from axis and angle. Returns the resulting QQuaternion.
[static]
QQuaternion QTransform::fromAxisAndAngle(float x, float y, float z, float angle)
Creates a QQuaternion from x, y, z, and angle. Returns the resulting QQuaternion.
[static]
QQuaternion QTransform::fromEulerAngles(const QVector3D &eulerAngles)
Creates a QQuaternion from eulerAngles. Returns the resulting QQuaternion.
[static]
QQuaternion QTransform::fromEulerAngles(float pitch, float yaw, float roll)
Creates a QQuaternion from pitch, yaw, and roll. Returns the resulting QQuaternion.
[static]
QMatrix4x4 QTransform::rotateAround(const QVector3D &point, float angle, const QVector3D &axis)
Creates a rotation matrix from axis and angle around point. Returns the resulting QMatrix4x4.