QTransform Class

(Qt3DCore::QTransform)

Used to perform transforms on meshes More...

Header: #include <QTransform>
qmake: QT += 3dcore
Since: Qt 5.6
Inherits: QComponent

Properties

Public Functions

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

Public Slots

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)

Signals

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)

Static Public Members

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 static public members inherited from QObject

Additional Inherited Members

  • 1 public variable inherited from QObject
  • 2 protected functions inherited from Qt3DCore::QNode
  • 9 protected functions inherited from QObject
  • 2 protected variables inherited from QObject

Detailed Description

Used to perform transforms on meshes

The QTransform component is not shareable between multiple QEntity's.

Property Documentation

matrix : QMatrix4x4

Holds the QMatrix4x4 of the transform.

Access functions:

QMatrix4x4 matrix() const
void setMatrix(const QMatrix4x4 &matrix)

Notifier signal:

void matrixChanged()

rotation : QQuaternion

Holds the rotation of the transform as QQuaternion.

Access functions:

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.

Access functions:

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.

Access functions:

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.

Access functions:

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.

Access functions:

float scale() const
void setScale(float scale)

Notifier signal:

void scaleChanged(float scale)

scale3D : QVector3D

Holds the scale of the transform as QVector3D.

Access functions:

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.

Access functions:

QVector3D translation() const
void setTranslation(const QVector3D &translation)

Notifier signal:

void translationChanged(const QVector3D &translation)

Member Function Documentation

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.