Qt 5.7 | Qt 3D | C++ Classes | QTransform

Qt 5.7.1 Reference Documentation

# QTransform Class

(Qt3DCore::QTransform)

Used to perform transforms on meshes More...

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

- List of all members, including inherited members

## Properties

- matrix : QMatrix4x4
- rotation : QQuaternion
- rotationX : float
- rotationY : float

- rotationZ : float
- scale : float
- scale3D : QVector3D
- translation : QVector3D

- 1 property inherited from Qt3DCore::QComponent
- 2 properties inherited from Qt3DCore::QNode

## 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

- 2 public functions inherited from Qt3DCore::QComponent
- 6 public functions inherited from Qt3DCore::QNode

## 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)

- 1 public slot inherited from Qt3DCore::QComponent
- 2 public slots inherited from Qt3DCore::QNode

## 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)

- 1 signal inherited from Qt3DCore::QComponent
- 3 signals inherited from Qt3DCore::QNode

## 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)

### Additional Inherited Members

- 2 protected functions inherited from Qt3DCore::QNode

## 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.