Plasma Engine  2.0
Loading...
Searching...
No Matches
plSimdTransform Class Reference

Public Member Functions

 PL_DECLARE_POD_TYPE ()
 
 plSimdTransform ()
 Default constructor: Does not do any initialization.
 
 plSimdTransform (const plSimdVec4f &vPosition, const plSimdQuat &qRotation=plSimdQuat::MakeIdentity(), const plSimdVec4f &vScale=plSimdVec4f(1.0f))
 Sets position, rotation and scale.
 
 plSimdTransform (const plSimdQuat &qRotation)
 Sets rotation.
 
plSimdFloat 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 plSimdTransform &rhs, const plSimdFloat &fEpsilon) const
 Equality Check with epsilon.
 
void Invert ()
 Inverts this transform.
 
plSimdTransform GetInverse () const
 Returns the inverse of this transform.
 
plSimdMat4f GetAsMat4 () const
 Returns the transformation as a matrix.
 
plSimdVec4f TransformPosition (const plSimdVec4f &v) const
 
plSimdVec4f TransformDirection (const plSimdVec4f &v) const
 
void operator*= (const plSimdTransform &other)
 Concatenates the two transforms. This is the same as a matrix multiplication, thus not commutative.
 
void operator*= (const plSimdQuat &q)
 Multiplies q into the rotation component, thus rotating the entire transformation.
 
void operator+= (const plSimdVec4f &v)
 
void operator-= (const plSimdVec4f &v)
 

Static Public Member Functions

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

plSimdVec4f m_Position
 
plSimdQuat m_Rotation
 
plSimdVec4f m_Scale
 

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