QTransform¶
Used to perform transforms on meshes. More…
Synopsis¶
Functions¶
def
matrix
()def
rotation
()def
rotationX
()def
rotationY
()def
rotationZ
()def
scale3D
()def
scale
()def
translation
()def
worldMatrix
()
Slots¶
def
setMatrix
(matrix)def
setRotation
(rotation)def
setRotationX
(rotationX)def
setRotationY
(rotationY)def
setRotationZ
(rotationZ)def
setScale3D
(scale)def
setScale
(scale)def
setTranslation
(translation)
Signals¶
def
matrixChanged
()def
rotationChanged
(rotation)def
rotationXChanged
(rotationX)def
rotationYChanged
(rotationY)def
rotationZChanged
(rotationZ)def
scale3DChanged
(scale)def
scaleChanged
(scale)def
translationChanged
(translation)def
worldMatrixChanged
(worldMatrix)
Static functions¶
def
fromAxes
(xAxis, yAxis, zAxis)def
fromAxesAndAngles
(axis1, angle1, axis2, angle2)def
fromAxesAndAngles
(axis1, angle1, axis2, angle2, axis3, angle3)def
fromAxisAndAngle
(axis, angle)def
fromAxisAndAngle
(x, y, z, angle)def
fromEulerAngles
(eulerAngles)def
fromEulerAngles
(pitch, yaw, roll)def
rotateAround
(point, angle, axis)def
rotateFromAxes
(xAxis, yAxis, zAxis)
Detailed Description¶
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 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.
- class PySide6.Qt3DCore.Qt3DCore.QTransform([parent=None])¶
- Parameters
parent –
PySide6.Qt3DCore.Qt3DCore.QNode
Constructs a new QTransform
with parent
.
- static PySide6.Qt3DCore.Qt3DCore.QTransform.fromAxes(xAxis, yAxis, zAxis)¶
- Parameters
xAxis –
PySide6.QtGui.QVector3D
yAxis –
PySide6.QtGui.QVector3D
zAxis –
PySide6.QtGui.QVector3D
- Return type
Creates a QQuaterniom definining a rotation from the axes xAxis
, yAxis
and zAxis
.
- static PySide6.Qt3DCore.Qt3DCore.QTransform.fromAxesAndAngles(axis1, angle1, axis2, angle2)¶
- Parameters
axis1 –
PySide6.QtGui.QVector3D
angle1 – float
axis2 –
PySide6.QtGui.QVector3D
angle2 – float
- Return type
Creates a QQuaternion
from axis1
, angle1
, axis2
, and angle2
. Returns the resulting QQuaternion
.
- static PySide6.Qt3DCore.Qt3DCore.QTransform.fromAxesAndAngles(axis1, angle1, axis2, angle2, axis3, angle3)
- Parameters
axis1 –
PySide6.QtGui.QVector3D
angle1 – float
axis2 –
PySide6.QtGui.QVector3D
angle2 – float
axis3 –
PySide6.QtGui.QVector3D
angle3 – float
- Return type
Creates a QQuaternion
from axis1
, angle1
, axis2
, angle2
, axis3
, and angle3
. Returns the resulting QQuaternion
.
- static PySide6.Qt3DCore.Qt3DCore.QTransform.fromAxisAndAngle(axis, angle)¶
- Parameters
axis –
PySide6.QtGui.QVector3D
angle – float
- Return type
Creates a QQuaternion
from axis
and angle
. Returns the resulting QQuaternion
.
- static PySide6.Qt3DCore.Qt3DCore.QTransform.fromAxisAndAngle(x, y, z, angle)
- Parameters
x – float
y – float
z – float
angle – float
- Return type
Creates a QQuaternion
from x
, y
, z
, and angle
. Returns the resulting QQuaternion
.
- static PySide6.Qt3DCore.Qt3DCore.QTransform.fromEulerAngles(eulerAngles)¶
- Parameters
eulerAngles –
PySide6.QtGui.QVector3D
- Return type
Creates a QQuaternion
from eulerAngles
. Returns the resulting QQuaternion
.
- static PySide6.Qt3DCore.Qt3DCore.QTransform.fromEulerAngles(pitch, yaw, roll)
- Parameters
pitch – float
yaw – float
roll – float
- Return type
Creates a QQuaternion
from pitch
, yaw
, and roll
. Returns the resulting QQuaternion
.
- PySide6.Qt3DCore.Qt3DCore.QTransform.matrix()¶
- Return type
Holds the QMatrix4x4
of the transform.
Note
When the matrix property is set, it is decomposed to translation, rotation and scale components.
- PySide6.Qt3DCore.Qt3DCore.QTransform.matrixChanged()¶
- static PySide6.Qt3DCore.Qt3DCore.QTransform.rotateAround(point, angle, axis)¶
- Parameters
point –
PySide6.QtGui.QVector3D
angle – float
axis –
PySide6.QtGui.QVector3D
- Return type
Creates a rotation matrix from axis
and angle
around point
. Returns the resulting QMatrix4x4
.
- static PySide6.Qt3DCore.Qt3DCore.QTransform.rotateFromAxes(xAxis, yAxis, zAxis)¶
- Parameters
xAxis –
PySide6.QtGui.QVector3D
yAxis –
PySide6.QtGui.QVector3D
zAxis –
PySide6.QtGui.QVector3D
- Return type
Returns a rotation matrix defined from the axes xAxis
, yAxis
, zAxis
.
- PySide6.Qt3DCore.Qt3DCore.QTransform.rotation()¶
- Return type
Holds the rotation of the transform as QQuaternion
.
- PySide6.Qt3DCore.Qt3DCore.QTransform.rotationChanged(rotation)¶
- Parameters
rotation –
PySide6.QtGui.QQuaternion
- PySide6.Qt3DCore.Qt3DCore.QTransform.rotationX()¶
- Return type
float
Holds the x rotation of the transform as Euler angle.
- PySide6.Qt3DCore.Qt3DCore.QTransform.rotationXChanged(rotationX)¶
- Parameters
rotationX – float
- PySide6.Qt3DCore.Qt3DCore.QTransform.rotationY()¶
- Return type
float
Holds the y rotation of the transform as Euler angle.
- PySide6.Qt3DCore.Qt3DCore.QTransform.rotationYChanged(rotationY)¶
- Parameters
rotationY – float
- PySide6.Qt3DCore.Qt3DCore.QTransform.rotationZ()¶
- Return type
float
Holds the z rotation of the transform as Euler angle.
- PySide6.Qt3DCore.Qt3DCore.QTransform.rotationZChanged(rotationZ)¶
- Parameters
rotationZ – float
- PySide6.Qt3DCore.Qt3DCore.QTransform.scale()¶
- Return type
float
Holds the uniform scale of the transform. If the scale has been set with setScale3D
, holds the x value only.
- PySide6.Qt3DCore.Qt3DCore.QTransform.scale3D()¶
- Return type
Holds the scale of the transform as QVector3D
.
- PySide6.Qt3DCore.Qt3DCore.QTransform.scale3DChanged(scale)¶
- Parameters
scale –
PySide6.QtGui.QVector3D
- PySide6.Qt3DCore.Qt3DCore.QTransform.scaleChanged(scale)¶
- Parameters
scale – float
- PySide6.Qt3DCore.Qt3DCore.QTransform.setMatrix(matrix)¶
- Parameters
matrix –
PySide6.QtGui.QMatrix4x4
Holds the QMatrix4x4
of the transform.
Note
When the matrix property is set, it is decomposed to translation, rotation and scale components.
- PySide6.Qt3DCore.Qt3DCore.QTransform.setRotation(rotation)¶
- Parameters
rotation –
PySide6.QtGui.QQuaternion
Holds the rotation of the transform as QQuaternion
.
- PySide6.Qt3DCore.Qt3DCore.QTransform.setRotationX(rotationX)¶
- Parameters
rotationX – float
Holds the x rotation of the transform as Euler angle.
- PySide6.Qt3DCore.Qt3DCore.QTransform.setRotationY(rotationY)¶
- Parameters
rotationY – float
Holds the y rotation of the transform as Euler angle.
- PySide6.Qt3DCore.Qt3DCore.QTransform.setRotationZ(rotationZ)¶
- Parameters
rotationZ – float
Holds the z rotation of the transform as Euler angle.
- PySide6.Qt3DCore.Qt3DCore.QTransform.setScale(scale)¶
- Parameters
scale – float
Holds the uniform scale of the transform. If the scale has been set with setScale3D
, holds the x value only.
- PySide6.Qt3DCore.Qt3DCore.QTransform.setScale3D(scale)¶
- Parameters
scale –
PySide6.QtGui.QVector3D
Holds the scale of the transform as QVector3D
.
- PySide6.Qt3DCore.Qt3DCore.QTransform.setTranslation(translation)¶
- Parameters
translation –
PySide6.QtGui.QVector3D
Holds the translation of the transform as QVector3D
.
- PySide6.Qt3DCore.Qt3DCore.QTransform.translation()¶
- Return type
Holds the translation of the transform as QVector3D
.
- PySide6.Qt3DCore.Qt3DCore.QTransform.translationChanged(translation)¶
- Parameters
translation –
PySide6.QtGui.QVector3D
- PySide6.Qt3DCore.Qt3DCore.QTransform.worldMatrix()¶
- Return type
Holds the world transformation matrix for the transform. This assumes the QTransform
component is being referenced by a QEntity
. This makes it more convenient to identify when a QEntity
part of a subtree has been transformed in the world even though its local transformation might not have changed.
- PySide6.Qt3DCore.Qt3DCore.QTransform.worldMatrixChanged(worldMatrix)¶
- Parameters
worldMatrix –
PySide6.QtGui.QMatrix4x4
© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.