ezEngine  Release 25.03
ezSimdTransform Class Reference

Public Member Functions

 EZ_DECLARE_POD_TYPE ()
 
 ezSimdTransform ()
 Default constructor: Does not do any initialization.
 
 ezSimdTransform (const ezSimdVec4f &vPosition, const ezSimdQuat &qRotation=ezSimdQuat::MakeIdentity(), const ezSimdVec4f &vScale=ezSimdVec4f(1.0f))
 Sets position, rotation and scale.
 
 ezSimdTransform (const ezSimdQuat &qRotation)
 Sets rotation.
 
ezSimdFloat GetMaxScale () const
 Returns the scale component with maximum magnitude.
 
bool HasMirrorScaling () const
 Returns whether this transform contains negative scaling aka mirroring.
 
bool ContainsUniformScale () const
 Returns whether this transform contains uniform scaling.
 
bool IsEqual (const ezSimdTransform &rhs, const ezSimdFloat &fEpsilon) const
 Equality Check with epsilon.
 
void Invert ()
 Inverts this transform.
 
ezSimdTransform GetInverse () const
 Returns the inverse of this transform.
 
ezSimdMat4f GetAsMat4 () const
 Returns the transformation as a matrix.
 
ezSimdVec4f TransformPosition (const ezSimdVec4f &v) const
 
ezSimdVec4f TransformDirection (const ezSimdVec4f &v) const
 
void operator*= (const ezSimdTransform &other)
 Concatenates the two transforms. This is the same as a matrix multiplication, thus not commutative.
 
void operator*= (const ezSimdQuat &q)
 Multiplies q into the rotation component, thus rotating the entire transformation.
 
void operator+= (const ezSimdVec4f &v)
 
void operator-= (const ezSimdVec4f &v)
 

Static Public Member Functions

static ezSimdTransform Make (const ezSimdVec4f &vPosition, const ezSimdQuat &qRotation=ezSimdQuat::MakeIdentity(), const ezSimdVec4f &vScale=ezSimdVec4f(1.0f))
 Creates a transform from the given position, rotation and scale.
 
static ezSimdTransform MakeIdentity ()
 Creates an identity transform.
 
static ezSimdTransform MakeLocalTransform (const ezSimdTransform &globalTransformParent, const ezSimdTransform &globalTransformChild)
 Creates a transform that is the local transformation needed to get from the parent's transform to the child's.
 
static ezSimdTransform MakeGlobalTransform (const ezSimdTransform &globalTransformParent, const ezSimdTransform &localTransformChild)
 Creates a transform that is the global transform, that is reached by applying the child's local transform to the parent's global one.
 

Public Attributes

ezSimdVec4f m_Position
 
ezSimdQuat m_Rotation
 
ezSimdVec4f m_Scale
 

The documentation for this class was generated from the following files: