![]() |
ezEngine
Release 25.03
|
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 |