Transform¶
Inherited: None
Description¶
Every Actor in a Scene has a Transform. It’s used to store and manipulate the position, rotation and scale of the object. Every Transform can have a parent, which allows you to apply position, rotation and scale hierarchically.
Public Methods¶
const Matrix4 & |
localTransform () const |
parentTransform () const |
|
position () const |
|
quaternion () const |
|
rotation () const |
|
scale () const |
|
void |
setParent (Object * parent, int32_t position = -1, bool force = false) |
void |
setParentTransform (Transform * parent, bool force = false) |
void |
setPosition (const Vector3 & position) |
void |
setQuaternion (const Quaternion & quaternion) |
void |
setRotation (const Vector3 & angles) |
void |
setScale (const Vector3 & scale) |
worldPosition () const |
|
worldQuaternion () const |
|
worldRotation () const |
|
worldScale () const |
|
const Matrix4 & |
worldTransform () const |
Static Methods¶
None
Methods Description¶
const Matrix4 & Transform::localTransform () const
Returns current transform matrix in local space.
Transform * Transform::parentTransform () const
Returns parent of the transform.
See also setParentTransform().
Vector3 Transform::position () const
Returns current position of the Transform in local space.
See also setPosition().
Quaternion Transform::quaternion () const
Returns current rotation of the Transform in local space as Quaternion.
See also setQuaternion().
Vector3 Transform::rotation () const
Returns current rotation of the Transform in local space as Euler angles in degrees.
See also setRotation().
Vector3 Transform::scale () const
Returns current scale of the Transform in local space.
See also setScale().
void Transform::setParent (Object * parent, int32_t position = -1, bool force = false)
Reimplements: Object::setParent(Object *parent, int32_t position, bool force).
Makes the Transform a child of parent at given position.
Note: Please ignore the force flag it will be provided by the default.
void Transform::setParentTransform (Transform * parent, bool force = false)
Changing the parent will modify the parent-relative position, scale and rotation but keep the world space position, rotation and scale the same. In case of force flag provided as true, no recalculations of transform happen.
See also parentTransform().
void Transform::setPosition (Vector3 & position)
Changes position of the Transform in local space.
See also position().
void Transform::setQuaternion (Quaternion & quaternion)
Changes the rotation quaternion of the Transform in local space by provided Quaternion.
See also quaternion().
void Transform::setRotation (Vector3 & angles)
Changes the rotation of the Transform in local space by provided Euler angles in degrees.
See also rotation().
void Transform::setScale (Vector3 & scale)
Changes the scale of the Transform in local space.
See also scale().
Vector3 Transform::worldPosition () const
Returns current position of the transform in world space.
Quaternion Transform::worldQuaternion () const
Returns current rotation of the transform in world space as Quaternion.
Vector3 Transform::worldRotation () const
Returns current rotation of the transform in world space as Euler angles in degrees.
Vector3 Transform::worldScale () const
Returns current scale of the transform in world space.
const Matrix4 & Transform::worldTransform () const
Returns current transform matrix in world space.