XII Release 0.1.0
Loading...
Searching...
No Matches
xiiSimdTransform Class Reference

Public Member Functions

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

Static Public Member Functions

static xiiSimdTransform Make (const xiiSimdVec4f &vPosition, const xiiSimdQuat &qRotation=xiiSimdQuat::MakeIdentity(), const xiiSimdVec4f &vScale=xiiSimdVec4f(1.0f))
 Creates a transform from the given position, rotation and scale.
 
static xiiSimdTransform MakeIdentity ()
 Creates an identity transform.
 
static xiiSimdTransform MakeLocalTransform (const xiiSimdTransform &globalTransformParent, const xiiSimdTransform &globalTransformChild)
 Creates a transform that is the local transformation needed to get from the parent's transform to the child's.
 
static xiiSimdTransform MakeGlobalTransform (const xiiSimdTransform &globalTransformParent, const xiiSimdTransform &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

xiiSimdVec4f m_Position
 
xiiSimdQuat m_Rotation
 
xiiSimdVec4f m_Scale
 

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