MAGE  v0.171.0
Matthias Advanced Game Engine
mage::S1ETTransform3D Class Reference

#include <set_transform.hpp>

Public Member Functions

 S1ETTransform3D (F32x3 translation={ 0.0f, 0.0f, 0.0f }, F32x3 rotation={ 0.0f, 0.0f, 0.0f }, F32 scale=1.0f) noexcept
 
 S1ETTransform3D (FXMVECTOR translation, FXMVECTOR rotation, F32 scale) noexcept
 
 S1ETTransform3D (const S1ETTransform3D &transform) noexcept=default
 
 S1ETTransform3D (S1ETTransform3D &&transform) noexcept=default
 
 ~S1ETTransform3D ()=default
 
S1ETTransform3Doperator= (const S1ETTransform3D &transform) noexcept=default
 
S1ETTransform3Doperator= (S1ETTransform3D &&transform) noexcept=default
 
void SetTranslationX (F32 x) noexcept
 
void SetTranslationY (F32 y) noexcept
 
void SetTranslationZ (F32 z) noexcept
 
void SetTranslation (F32 x, F32 y, F32 z) noexcept
 
void SetTranslation (F32x3 translation) noexcept
 
void XM_CALLCONV SetTranslation (FXMVECTOR translation) noexcept
 
void AddTranslationX (F32 x) noexcept
 
void AddTranslationY (F32 y) noexcept
 
void AddTranslationZ (F32 z) noexcept
 
void AddTranslation (F32 x, F32 y, F32 z) noexcept
 
void AddTranslation (const F32x3 &translation) noexcept
 
void XM_CALLCONV AddTranslation (FXMVECTOR translation) noexcept
 
F32 GetTranslationX () const noexcept
 
F32 GetTranslationY () const noexcept
 
F32 GetTranslationZ () const noexcept
 
const F32x3 GetTranslationView () const noexcept
 
const XMVECTOR XM_CALLCONV GetTranslation () const noexcept
 
const XMMATRIX XM_CALLCONV GetObjectToParentTranslationMatrix () const noexcept
 
const XMMATRIX XM_CALLCONV GetParentToObjectTranslationMatrix () const noexcept
 
void SetRotationX (F32 x) noexcept
 
void SetRotationY (F32 y) noexcept
 
void SetRotationZ (F32 z) noexcept
 
void SetRotation (F32 x, F32 y, F32 z) noexcept
 
void SetRotation (const F32x3 &rotation) noexcept
 
void XM_CALLCONV SetRotation (FXMVECTOR rotation) noexcept
 
void XM_CALLCONV SetRotationAroundDirection (FXMVECTOR direction, F32 angle) noexcept
 
void AddRotationX (F32 x) noexcept
 
void AddRotationX (F32 x, F32 min_angle, F32 max_angle) noexcept
 
void AddRotationY (F32 y) noexcept
 
void AddRotationY (F32 y, F32 min_angle, F32 max_angle) noexcept
 
void AddRotationZ (F32 z) noexcept
 
void AddRotationZ (F32 z, F32 min_angle, F32 max_angle) noexcept
 
void AddRotation (F32 x, F32 y, F32 z) noexcept
 
void AddRotation (F32 x, F32 y, F32 z, F32 min_angle, F32 max_angle) noexcept
 
void AddRotation (const F32x3 &rotation) noexcept
 
void AddRotation (const F32x3 &rotation, F32 min_angle, F32 max_angle) noexcept
 
void XM_CALLCONV AddRotation (FXMVECTOR rotation) noexcept
 
void XM_CALLCONV AddRotation (FXMVECTOR rotation, FXMVECTOR min_angles, FXMVECTOR max_angles) noexcept
 
F32 GetRotationX () const noexcept
 
F32 GetRotationY () const noexcept
 
F32 GetRotationZ () const noexcept
 
const F32x3 GetRotationView () const noexcept
 
const XMVECTOR XM_CALLCONV GetRotation () const noexcept
 
const XMVECTOR XM_CALLCONV GetObjectToParentRotationQuaternion () const noexcept
 
const XMVECTOR XM_CALLCONV GetParentToObjectRotationQuaternion () const noexcept
 
const XMMATRIX XM_CALLCONV GetObjectToParentRotationMatrix () const noexcept
 
const XMMATRIX XM_CALLCONV GetParentToObjectRotationMatrix () const noexcept
 
void SetScale (F32 scale) noexcept
 
void AddScale (F32 scale) noexcept
 
const F32 GetScale () const noexcept
 
const XMMATRIX XM_CALLCONV GetObjectToParentScaleMatrix () const noexcept
 
const XMMATRIX XM_CALLCONV GetParentToObjectScaleMatrix () const noexcept
 
const XMVECTOR XM_CALLCONV GetObjectOrigin () const noexcept
 
const XMVECTOR XM_CALLCONV GetObjectAxisX () const noexcept
 
const XMVECTOR XM_CALLCONV GetObjectAxisY () const noexcept
 
const XMVECTOR XM_CALLCONV GetObjectAxisZ () const noexcept
 
const XMVECTOR XM_CALLCONV GetParentOrigin () const noexcept
 
const XMVECTOR XM_CALLCONV GetParentAxisX () const noexcept
 
const XMVECTOR XM_CALLCONV GetParentAxisY () const noexcept
 
const XMVECTOR XM_CALLCONV GetParentAxisZ () const noexcept
 
const XMMATRIX XM_CALLCONV GetObjectToParentMatrix () const noexcept
 
const XMMATRIX XM_CALLCONV GetParentToObjectMatrix () const noexcept
 
const XMVECTOR XM_CALLCONV TransformObjectToParent (FXMVECTOR vector) const noexcept
 
const XMVECTOR XM_CALLCONV TransformObjectToParentPoint (FXMVECTOR point) const noexcept
 
const XMVECTOR XM_CALLCONV TransformObjectToParentDirection (FXMVECTOR direction) const noexcept
 
const XMVECTOR XM_CALLCONV TransformParentToObject (FXMVECTOR vector) const noexcept
 
const XMVECTOR XM_CALLCONV TransformParentToObjectPoint (FXMVECTOR point) const noexcept
 
const XMVECTOR XM_CALLCONV TransformParentToObjectDirection (FXMVECTOR direction) const noexcept
 

Private Attributes

F32x3 m_translation
 
F32 m_padding
 
F32x3 m_rotation
 
F32 m_scale
 

Detailed Description

A class of 3D transforms supporting uniform scaling, rotation using Euler angles, and translation.

Constructor & Destructor Documentation

◆ S1ETTransform3D() [1/4]

mage::S1ETTransform3D::S1ETTransform3D ( F32x3  translation = { 0.0f, 0.0f, 0.0f },
F32x3  rotation = { 0.0f, 0.0f, 0.0f },
F32  scale = 1.0f 
)
explicitnoexcept

Constructs a transform from the given translation, rotation and scale component.

Parameters
[in]translationThe translation component.
[in]rotationThe rotation component.
[in]scaleThe scale component.

◆ S1ETTransform3D() [2/4]

mage::S1ETTransform3D::S1ETTransform3D ( FXMVECTOR  translation,
FXMVECTOR  rotation,
F32  scale 
)
explicitnoexcept

Constructs a transform from the given translation, rotation and scale component.

Parameters
[in]translationThe translation component.
[in]rotationThe rotation component.
[in]scaleThe scale component.

◆ S1ETTransform3D() [3/4]

mage::S1ETTransform3D::S1ETTransform3D ( const S1ETTransform3D transform)
defaultnoexcept

Constructs a transform from the given transform.

Parameters
[in]transformA reference to the transform to copy.

◆ S1ETTransform3D() [4/4]

mage::S1ETTransform3D::S1ETTransform3D ( S1ETTransform3D &&  transform)
defaultnoexcept

Constructs a transform by moving the given transform.

Parameters
[in]transformA reference to the transform to move.

◆ ~S1ETTransform3D()

mage::S1ETTransform3D::~S1ETTransform3D ( )
default

Destructs this transform.

Member Function Documentation

◆ AddRotation() [1/6]

void mage::S1ETTransform3D::AddRotation ( F32  x,
F32  y,
F32  z 
)
noexcept

Adds the given rotation component to the rotation component of this transform.

Parameters
[in]xThe x-value of the rotation component to add.
[in]yThe y-value of the rotation component to add.
[in]zThe z-value of the rotation component to add.

◆ AddRotation() [2/6]

void mage::S1ETTransform3D::AddRotation ( F32  x,
F32  y,
F32  z,
F32  min_angle,
F32  max_angle 
)
noexcept

Adds the given rotation component to the rotation component of this transform.

Precondition
min_angle lies in [-pi, pi].
max_angle lies in [-pi, pi].
min_angle is not greater than max_angle.
Parameters
[in]xThe x-value of the rotation component to add.
[in]yThe y-value of the rotation component to add.
[in]zThe z-value of the rotation component to add.
[in]min_angleThe minimum angle (in radians).
[in]max_angleThe maximum angle (in radians).

◆ AddRotation() [3/6]

void mage::S1ETTransform3D::AddRotation ( const F32x3 rotation)
noexcept

Adds the given rotation component to the rotation component of this transform.

Parameters
[in]rotationA reference to the rotation component to add.

◆ AddRotation() [4/6]

void mage::S1ETTransform3D::AddRotation ( const F32x3 rotation,
F32  min_angle,
F32  max_angle 
)
noexcept

Adds the given rotation component to the rotation component of this transform.

Precondition
min_angle lies in [-pi, pi].
max_angle lies in [-pi, pi].
min_angle is not greater than max_angle.
Parameters
[in]rotationA reference to the rotation component to add.
[in]min_angleThe minimum angle (in radians).
[in]max_angleThe maximum angle (in radians).

◆ AddRotation() [5/6]

void XM_CALLCONV mage::S1ETTransform3D::AddRotation ( FXMVECTOR  rotation)
noexcept

Adds the given rotation component to the rotation component of this transform.

Parameters
[in]rotationThe rotation component to add.

◆ AddRotation() [6/6]

void XM_CALLCONV mage::S1ETTransform3D::AddRotation ( FXMVECTOR  rotation,
FXMVECTOR  min_angles,
FXMVECTOR  max_angles 
)
noexcept

Adds the given rotation component to the rotation component of this transform.

Precondition
min_angles lie in [-pi, pi].
max_angles lie in [-pi, pi].
min_angles is not greater than max_angles.
Parameters
[in]rotationThe rotation component to add.
[in]min_anglesThe minimum angles (in radians).
[in]max_anglesThe maximum angles (in radians).

◆ AddRotationX() [1/2]

void mage::S1ETTransform3D::AddRotationX ( F32  x)
noexcept

Adds the given x-value to the rotation component of this transform.

Parameters
[in]xThe x-value of the rotation component to add.

◆ AddRotationX() [2/2]

void mage::S1ETTransform3D::AddRotationX ( F32  x,
F32  min_angle,
F32  max_angle 
)
noexcept

Adds the given x-value to the rotation component of this transform.

Precondition
min_angle lies in [-pi, pi].
max_angle lies in [-pi, pi].
min_angle is not greater than max_angle.
Parameters
[in]xThe x-value of the rotation component to add.
[in]min_angleThe minimum angle (in radians).
[in]max_angleThe maximum angle (in radians).

◆ AddRotationY() [1/2]

void mage::S1ETTransform3D::AddRotationY ( F32  y)
noexcept

Adds the given y-value to the rotation component of this transform.

Parameters
[in]yThe y-value of the rotation component to add.

◆ AddRotationY() [2/2]

void mage::S1ETTransform3D::AddRotationY ( F32  y,
F32  min_angle,
F32  max_angle 
)
noexcept

Adds the given y-value to the rotation component of this transform.

Precondition
min_angle lies in [-pi, pi].
max_angle lies in [-pi, pi].
min_angle is not greater than max_angle.
Parameters
[in]yThe y-value of the rotation component to add.
[in]min_angleThe minimum angle (in radians).
[in]max_angleThe maximum angle (in radians).

◆ AddRotationZ() [1/2]

void mage::S1ETTransform3D::AddRotationZ ( F32  z)
noexcept

Adds the given z-value to the rotation component of this transform.

Parameters
[in]zThe z-value of the rotation component to add.

◆ AddRotationZ() [2/2]

void mage::S1ETTransform3D::AddRotationZ ( F32  z,
F32  min_angle,
F32  max_angle 
)
noexcept

Adds the given z-value to the rotation component of this transform.

Precondition
min_angle lies in [-pi, pi].
max_angle lies in [-pi, pi].
min_angle is not greater than max_angle.
Parameters
[in]zThe z-value of the rotation component to add.
[in]min_angleThe minimum angle (in radians).
[in]max_angleThe maximum angle (in radians).

◆ AddScale()

void mage::S1ETTransform3D::AddScale ( F32  scale)
noexcept

Adds the given scale component to the scale component of this transform.

Parameters
[in]scaleThe scale component to add.

◆ AddTranslation() [1/3]

void mage::S1ETTransform3D::AddTranslation ( F32  x,
F32  y,
F32  z 
)
noexcept

Adds the given translation component to the translation component of this transform.

Parameters
[in]xThe x-value of the translation component to add.
[in]yThe y-value of the translation component to add.
[in]zThe z-value of the translation component to add.

◆ AddTranslation() [2/3]

void mage::S1ETTransform3D::AddTranslation ( const F32x3 translation)
noexcept

Adds the given translation component to the translation component of this transform.

Parameters
[in]translationA reference to the translation component to add.

◆ AddTranslation() [3/3]

void XM_CALLCONV mage::S1ETTransform3D::AddTranslation ( FXMVECTOR  translation)
noexcept

Adds the given translation component to the translation component of this transform.

Parameters
[in]translationThe translation component to add.

◆ AddTranslationX()

void mage::S1ETTransform3D::AddTranslationX ( F32  x)
noexcept

Adds the given x-value to the translation component of this transform.

Parameters
[in]xThe x-value of the translation component to add.

◆ AddTranslationY()

void mage::S1ETTransform3D::AddTranslationY ( F32  y)
noexcept

Adds the given y-value to the translation component of this transform.

Parameters
[in]yThe y-value of the translation component to add.

◆ AddTranslationZ()

void mage::S1ETTransform3D::AddTranslationZ ( F32  z)
noexcept

Adds the given z-value to the translation component of this transform.

Parameters
[in]zThe z-value of the translation component to add.

◆ GetObjectAxisX()

const XMVECTOR XM_CALLCONV mage::S1ETTransform3D::GetObjectAxisX ( ) const
noexcept

Returns the direction of the local x-axis of this transform expressed in object space coordinates.

Returns
The direction of the local x-axis of this transform expressed in object space coordinates.

◆ GetObjectAxisY()

const XMVECTOR XM_CALLCONV mage::S1ETTransform3D::GetObjectAxisY ( ) const
noexcept

Returns the direction of the local y-axis of this transform expressed in object space coordinates.

Returns
The direction of the local y-axis of this transform expressed in object space coordinates.

◆ GetObjectAxisZ()

const XMVECTOR XM_CALLCONV mage::S1ETTransform3D::GetObjectAxisZ ( ) const
noexcept

Returns the direction of the local z-axis of this transform expressed in object space coordinates.

Returns
The direction of the local z-axis of this transform expressed in object space coordinates.

◆ GetObjectOrigin()

const XMVECTOR XM_CALLCONV mage::S1ETTransform3D::GetObjectOrigin ( ) const
noexcept

Returns the position of the local origin of this transform expressed in object space coordinates.

Returns
The position of the local origin of this transform expressed in object space coordinates.

◆ GetObjectToParentMatrix()

const XMMATRIX XM_CALLCONV mage::S1ETTransform3D::GetObjectToParentMatrix ( ) const
noexcept

Returns the object-to-parent matrix of this transform.

Returns
The object-to-parent matrix of this transform.

◆ GetObjectToParentRotationMatrix()

const XMMATRIX XM_CALLCONV mage::S1ETTransform3D::GetObjectToParentRotationMatrix ( ) const
noexcept

Returns the object-to-parent rotation matrix of this transform.

Returns
The object-to-parent rotation matrix of this transform.

◆ GetObjectToParentRotationQuaternion()

const XMVECTOR XM_CALLCONV mage::S1ETTransform3D::GetObjectToParentRotationQuaternion ( ) const
noexcept

Returns the object-to-parent rotation quaternion of this transform.

Returns
The object-to-parent rotation quaternion of this transform.

◆ GetObjectToParentScaleMatrix()

const XMMATRIX XM_CALLCONV mage::S1ETTransform3D::GetObjectToParentScaleMatrix ( ) const
noexcept

Returns the object-to-parent scale matrix of this transform.

Returns
The scale object-to-parent matrix of this transform.

◆ GetObjectToParentTranslationMatrix()

const XMMATRIX XM_CALLCONV mage::S1ETTransform3D::GetObjectToParentTranslationMatrix ( ) const
noexcept

Returns the object-to-parent translation matrix of this transform.

Returns
The object-to-parent translation matrix of this transform.

◆ GetParentAxisX()

const XMVECTOR XM_CALLCONV mage::S1ETTransform3D::GetParentAxisX ( ) const
noexcept

Returns the direction of the local x-axis of this transform expressed in parent space coordinates.

Returns
The direction of the local x-axis of this transform expressed in parent space coordinates.

◆ GetParentAxisY()

const XMVECTOR XM_CALLCONV mage::S1ETTransform3D::GetParentAxisY ( ) const
noexcept

Returns the direction of the local y-axis of this transform expressed in parent space coordinates.

Returns
The direction of the local y-axis of this transform expressed in parent space coordinates.

◆ GetParentAxisZ()

const XMVECTOR XM_CALLCONV mage::S1ETTransform3D::GetParentAxisZ ( ) const
noexcept

Returns the direction of the local z-axis of this transform expressed in parent space coordinates.

Returns
The direction of the local z-axis of this transform expressed in parent space coordinates.

◆ GetParentOrigin()

const XMVECTOR XM_CALLCONV mage::S1ETTransform3D::GetParentOrigin ( ) const
noexcept

Returns the position of the local origin of this transform expressed in parent space coordinates.

Returns
The position of the local origin of this transform expressed in parent space coordinates.

◆ GetParentToObjectMatrix()

const XMMATRIX XM_CALLCONV mage::S1ETTransform3D::GetParentToObjectMatrix ( ) const
noexcept

Returns the parent-to-object matrix of this transform.

Returns
The parent-to-object matrix of this transform.

◆ GetParentToObjectRotationMatrix()

const XMMATRIX XM_CALLCONV mage::S1ETTransform3D::GetParentToObjectRotationMatrix ( ) const
noexcept

Returns the parent-to-object rotation matrix of this transform.

Returns
The parent-to-object rotation matrix of this transform.

◆ GetParentToObjectRotationQuaternion()

const XMVECTOR XM_CALLCONV mage::S1ETTransform3D::GetParentToObjectRotationQuaternion ( ) const
noexcept

Returns the parent-to-object rotation quaternion of this transform.

Returns
The parent-to-object rotation quaternion of this transform.

◆ GetParentToObjectScaleMatrix()

const XMMATRIX XM_CALLCONV mage::S1ETTransform3D::GetParentToObjectScaleMatrix ( ) const
noexcept

Returns the parent-to-object scale matrix of this transform.

Returns
The parent-to-object scale matrix of this transform.

◆ GetParentToObjectTranslationMatrix()

const XMMATRIX XM_CALLCONV mage::S1ETTransform3D::GetParentToObjectTranslationMatrix ( ) const
noexcept

Returns the parent-to-object translation matrix of this transform.

Returns
The parent-to-object translation matrix of this transform.

◆ GetRotation()

const XMVECTOR XM_CALLCONV mage::S1ETTransform3D::GetRotation ( ) const
noexcept

Returns the rotation component of this transform.

Returns
The rotation component of this transform.

◆ GetRotationView()

const F32x3 mage::S1ETTransform3D::GetRotationView ( ) const
noexcept

Returns the rotation component of this transform.

Returns
The rotation component of this transform.

◆ GetRotationX()

F32 mage::S1ETTransform3D::GetRotationX ( ) const
noexcept

Returns the x-value of the rotation component of this transform.

Returns
The x-value of the rotation component of this transform.

◆ GetRotationY()

F32 mage::S1ETTransform3D::GetRotationY ( ) const
noexcept

Returns the y-value of the rotation component of this transform.

Returns
The y-value of the rotation component of this transform.

◆ GetRotationZ()

F32 mage::S1ETTransform3D::GetRotationZ ( ) const
noexcept

Returns the z-value of the rotation component of this transform.

Returns
The z-value of the rotation component of this transform.

◆ GetScale()

const F32 mage::S1ETTransform3D::GetScale ( ) const
noexcept

Returns the scale component of this transform.

Returns
The scale component of this transform.

◆ GetTranslation()

const XMVECTOR XM_CALLCONV mage::S1ETTransform3D::GetTranslation ( ) const
noexcept

Returns the translation component of this transform.

Returns
The translation component of this transform.

◆ GetTranslationView()

const F32x3 mage::S1ETTransform3D::GetTranslationView ( ) const
noexcept

Returns the translation component of this transform.

Returns
The translation component of this transform.

◆ GetTranslationX()

F32 mage::S1ETTransform3D::GetTranslationX ( ) const
noexcept

Returns the x-value of the translation component of this transform.

Returns
The x-value of the translation component of this transform.

◆ GetTranslationY()

F32 mage::S1ETTransform3D::GetTranslationY ( ) const
noexcept

Returns the y-value of the translation component of this transform.

Returns
The y-value of the translation component of this transform.

◆ GetTranslationZ()

F32 mage::S1ETTransform3D::GetTranslationZ ( ) const
noexcept

Returns the z-value of the translation component of this transform.

Returns
The z-value of the translation component of this transform.

◆ operator=() [1/2]

S1ETTransform3D& mage::S1ETTransform3D::operator= ( const S1ETTransform3D transform)
defaultnoexcept

Copies the given transform to this transform.

Parameters
[in]transformA reference to the transform to copy.
Returns
A reference to the copy of the given transform (i.e. this transform).

◆ operator=() [2/2]

S1ETTransform3D& mage::S1ETTransform3D::operator= ( S1ETTransform3D &&  transform)
defaultnoexcept

Moves the given transform to this transform.

Parameters
[in]transformA reference to the transform to move.
Returns
A reference to the moved transform (i.e. this transform).

◆ SetRotation() [1/3]

void mage::S1ETTransform3D::SetRotation ( F32  x,
F32  y,
F32  z 
)
noexcept

Sets the rotation component of this transform to the given rotation component.

Parameters
[in]xThe x-value of the rotation component.
[in]yThe y-value of the rotation component.
[in]zThe z-value of the rotation component.

◆ SetRotation() [2/3]

void mage::S1ETTransform3D::SetRotation ( const F32x3 rotation)
noexcept

Sets the rotation component of this transform to the given rotation component.

Parameters
[in]rotationA reference to the rotation component.

◆ SetRotation() [3/3]

void XM_CALLCONV mage::S1ETTransform3D::SetRotation ( FXMVECTOR  rotation)
noexcept

Sets the rotation component of this transform to the given rotation component.

Parameters
[in]rotationThe rotation component.

◆ SetRotationAroundDirection()

void XM_CALLCONV mage::S1ETTransform3D::SetRotationAroundDirection ( FXMVECTOR  direction,
F32  angle 
)
noexcept

Sets the rotation component of this transform to a rotation of the given angle around the given direction.

Parameters
[in]directionThe unit-length direction.
[in]angleThe angle.

◆ SetRotationX()

void mage::S1ETTransform3D::SetRotationX ( F32  x)
noexcept

Sets the x-value of the rotation component of this transform to the given value.

Parameters
[in]xThe x-value of the rotation component.

◆ SetRotationY()

void mage::S1ETTransform3D::SetRotationY ( F32  y)
noexcept

Sets the y-value of the rotation component of this transform to the given value.

Parameters
[in]yThe y-value of the rotation component.

◆ SetRotationZ()

void mage::S1ETTransform3D::SetRotationZ ( F32  z)
noexcept

Sets the z-value of the rotation component of this transform to the given value.

Parameters
[in]zThe z-value of the rotation component.

◆ SetScale()

void mage::S1ETTransform3D::SetScale ( F32  scale)
noexcept

Sets the scale component of this transform to the given scale component.

Parameters
[in]scaleThe scale component.

◆ SetTranslation() [1/3]

void mage::S1ETTransform3D::SetTranslation ( F32  x,
F32  y,
F32  z 
)
noexcept

Sets the translation component of this transform to the given translation component.

Parameters
[in]xThe x-value of the translation component.
[in]yThe y-value of the translation component.
[in]zThe z-value of the translation component.

◆ SetTranslation() [2/3]

void mage::S1ETTransform3D::SetTranslation ( F32x3  translation)
noexcept

Sets the translation component of this transform to the given translation component.

Parameters
[in]translationThe translation component.

◆ SetTranslation() [3/3]

void XM_CALLCONV mage::S1ETTransform3D::SetTranslation ( FXMVECTOR  translation)
noexcept

Sets the translation component of this transform to the given translation component.

Parameters
[in]translationThe translation component.

◆ SetTranslationX()

void mage::S1ETTransform3D::SetTranslationX ( F32  x)
noexcept

Sets the x-value of the translation component of this transform to the given value.

Parameters
[in]xThe x-value of the translation component.

◆ SetTranslationY()

void mage::S1ETTransform3D::SetTranslationY ( F32  y)
noexcept

Sets the y-value of the translation component of this transform to the given value.

Parameters
[in]yThe y-value of the translation component.

◆ SetTranslationZ()

void mage::S1ETTransform3D::SetTranslationZ ( F32  z)
noexcept

Sets the z-value of the translation component of this transform to the given value.

Parameters
[in]zThe z-value of the translation component.

◆ TransformObjectToParent()

const XMVECTOR XM_CALLCONV mage::S1ETTransform3D::TransformObjectToParent ( FXMVECTOR  vector) const
noexcept

Transforms the given vector expressed in object space coordinates to parent space coordinates.

Parameters
[in]vectorThe vector expressed in object space coordinates.
Returns
The transformed vector expressed in parent space coordinates.

◆ TransformObjectToParentDirection()

const XMVECTOR XM_CALLCONV mage::S1ETTransform3D::TransformObjectToParentDirection ( FXMVECTOR  direction) const
noexcept

Transforms the given direction expressed in object space coordinates to parent space coordinates.

Parameters
[in]directionThe direction expressed in object space coordinates.
Returns
The transformed direction expressed in parent space coordinates.

◆ TransformObjectToParentPoint()

const XMVECTOR XM_CALLCONV mage::S1ETTransform3D::TransformObjectToParentPoint ( FXMVECTOR  point) const
noexcept

Transforms the given point expressed in object space coordinates to parent space coordinates.

Parameters
[in]pointThe point expressed in object space coordinates.
Returns
The transformed point expressed in parent space coordinates.

◆ TransformParentToObject()

const XMVECTOR XM_CALLCONV mage::S1ETTransform3D::TransformParentToObject ( FXMVECTOR  vector) const
noexcept

Transforms the given vector expressed in parent space coordinates to object space coordinates.

Parameters
[in]vectorThe vector expressed in parent space coordinates.
Returns
The transformed vector expressed in object space coordinates.

◆ TransformParentToObjectDirection()

const XMVECTOR XM_CALLCONV mage::S1ETTransform3D::TransformParentToObjectDirection ( FXMVECTOR  direction) const
noexcept

Transforms the given direction expressed in parent space coordinates to object space coordinates.

Parameters
[in]directionThe direction expressed in parent space coordinates.
Returns
The transformed direction expressed in object space coordinates.

◆ TransformParentToObjectPoint()

const XMVECTOR XM_CALLCONV mage::S1ETTransform3D::TransformParentToObjectPoint ( FXMVECTOR  point) const
noexcept

Transforms the given point expressed in parent space coordinates to object space coordinates.

Parameters
[in]pointThe point expressed in parent space coordinates.
Returns
The transformed point expressed in object space coordinates.

Member Data Documentation

◆ m_padding

F32 mage::S1ETTransform3D::m_padding
private

The padding of this transform.

◆ m_rotation

F32x3 mage::S1ETTransform3D::m_rotation
private

The rotation component (Euler angles in radians) of this transform.

◆ m_scale

F32 mage::S1ETTransform3D::m_scale
private

The scale component of this transform.

◆ m_translation

F32x3 mage::S1ETTransform3D::m_translation
private

The translation component of this transform.