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

Public Member Functions

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

Static Public Member Functions

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

xiiSimdVec4d m_Position
 
xiiSimdQuatd m_Rotation
 
xiiSimdVec4d m_Scale
 

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