|
|
| Quaternion ()=default |
| | Default constructor, components are uninitialized.
|
| |
|
| Quaternion (const Quaternion &q) |
| | Copy constructor, clones the provided quaternion.
|
| |
|
| Quaternion (float x) |
| | Constructs quaternion with all components set to the same specified value.
|
| |
|
| Quaternion (float x, float y, float z, float w) |
| | Constructs quaternion with all components set to the provided values.
|
| |
|
| Quaternion (const Vector3 &v, float w) |
| | Constructs quaternion from a vector3 and scalar w value.
|
| |
| | Quaternion (Simd::Vec4::FloatArgType value) |
| |
|
void | StoreToFloat4 (float *values) const |
| | Stores the vector to an array of 4 floats. The floats need only be 4 byte aligned, 16 byte alignment is not required.
|
| |
|
float | GetElement (int index) const |
| | We recommend using GetX,Y,Z,W. GetElement can be slower.
|
| |
|
void | SetElement (int index, float v) |
| | We recommend using SetX,Y,Z,W. SetElement can be slower.
|
| |
| float | operator() (int index) const |
| |
|
void | Set (float x) |
| |
|
void | Set (float x, float y, float z, float w) |
| |
|
void | Set (const Vector3 &v, float w) |
| |
|
void | Set (const float values[]) |
| |
|
Quaternion | GetConjugate () const |
| | The conjugate of a quaternion is (-x, -y, -z, w).
|
| |
|
float | Dot (const Quaternion &q) const |
| | Dot product.
|
| |
|
float | GetLengthSq () const |
| |
|
float | GetLength () const |
| | Returns length of the quaternion, full accuracy.
|
| |
|
float | GetLengthEstimate () const |
| | Returns length of the quaternion, fast but low accuracy, uses raw estimate instructions.
|
| |
|
float | GetLengthReciprocal () const |
| | Returns 1/length, full accuracy.
|
| |
|
float | GetLengthReciprocalEstimate () const |
| | Returns 1/length of the quaternion, fast but low accuracy, uses raw estimate instructions.
|
| |
|
Quaternion | GetNormalized () const |
| | Returns normalized quaternion, full accuracy.
|
| |
|
Quaternion | GetNormalizedEstimate () const |
| | Returns normalized quaternion, fast but low accuracy, uses raw estimate instructions.
|
| |
|
void | Normalize () |
| | Normalizes the quaternion in-place, full accuracy.
|
| |
|
void | NormalizeEstimate () |
| | Normalizes the quaternion in-place, fast but low accuracy, uses raw estimate instructions.
|
| |
| Quaternion | Lerp (const Quaternion &dest, float t) const |
| |
| Quaternion | NLerp (const Quaternion &dest, float t) const |
| |
|
Quaternion | Slerp (const Quaternion &dest, float t) const |
| | Spherical linear interpolation. Result is not normalized.
|
| |
| Quaternion | Squad (const Quaternion &dest, const Quaternion &in, const Quaternion &out, float t) const |
| |
|
bool | IsClose (const Quaternion &q, float tolerance=Constants::Tolerance) const |
| | Checks if the quaternion is close to another quaternion with a given floating point tolerance.
|
| |
|
bool | IsIdentity (float tolerance=Constants::Tolerance) const |
| |
|
bool | IsZero (float tolerance=Constants::FloatEpsilon) const |
| |
|
Quaternion & | operator= (const Quaternion &rhs) |
| |
|
Quaternion | operator- () const |
| |
|
Quaternion | operator+ (const Quaternion &q) const |
| |
|
Quaternion | operator- (const Quaternion &q) const |
| |
|
Quaternion | operator* (const Quaternion &q) const |
| |
|
Quaternion | operator* (float multiplier) const |
| |
|
Quaternion | operator/ (float divisor) const |
| |
|
Quaternion & | operator+= (const Quaternion &q) |
| |
|
Quaternion & | operator-= (const Quaternion &q) |
| |
|
Quaternion & | operator*= (const Quaternion &q) |
| |
|
Quaternion & | operator*= (float multiplier) |
| |
|
Quaternion & | operator/= (float divisor) |
| |
|
bool | operator== (const Quaternion &rhs) const |
| |
|
bool | operator!= (const Quaternion &rhs) const |
| |
|
Vector3 | TransformVector (const Vector3 &v) const |
| | Transforms a vector using the rotation described by this quaternion.
|
| |
| Vector3 | GetEulerDegrees () const |
| |
| Vector3 | GetEulerRadians () const |
| |
| void | SetFromEulerRadians (const Vector3 &eulerRadians) |
| |
| void | SetFromEulerDegrees (const Vector3 &eulerDegrees) |
| |
| void | ConvertToAxisAngle (Vector3 &outAxis, float &outAngle) const |
| |
|
Vector3 | ConvertToScaledAxisAngle () const |
| | Convert the quaternion into scaled axis-angle representation.
|
| |
|
Vector3 | GetImaginary () const |
| | Returns the imaginary (X/Y/Z) portion of the quaternion.
|
| |
|
float | GetAngle () const |
| | Return angle in radians.
|
| |
|
bool | IsFinite () const |
| |
|
Simd::Vec4::FloatType | GetSimdValue () const |
| |
|
| float | GetX () const |
| |
|
float | GetY () const |
| |
|
float | GetZ () const |
| |
|
float | GetW () const |
| |
|
void | SetX (float x) |
| |
|
void | SetY (float y) |
| |
|
void | SetZ (float z) |
| |
|
void | SetW (float w) |
| |
|
| Quaternion | GetInverseFast () const |
| |
|
void | InvertFast () |
| |
|
| Quaternion | GetInverseFull () const |
| |
|
void | InvertFull () |
| |
|
| float | NormalizeWithLength () |
| |
|
float | NormalizeWithLengthEstimate () |
| |
|
| Quaternion | GetShortestEquivalent () const |
| |
|
void | ShortestEquivalent () |
| |
|
| static void | Reflect (ReflectContext *context) |
| |
|
static Quaternion | CreateIdentity () |
| |
|
static Quaternion | CreateZero () |
| |
|
static Quaternion | CreateFromFloat4 (const float *values) |
| | Sets components from an array of 4 floats, stored in xyzw order.
|
| |
|
static Quaternion | CreateFromVector3 (const Vector3 &v) |
| | Sets components using a Vector3 for the imaginary part and setting the real part to zero.
|
| |
|
static Quaternion | CreateFromVector3AndValue (const Vector3 &v, float w) |
| | Sets components using a Vector3 for the imaginary part and a float for the real part.
|
| |
|
static Quaternion | CreateFromMatrix3x3 (const class Matrix3x3 &m) |
| | Creates a quaternion from a Matrix3x3.
|
| |
| static Quaternion | CreateFromMatrix3x4 (const class Matrix3x4 &m) |
| |
|
static Quaternion | CreateFromMatrix4x4 (const class Matrix4x4 &m) |
| | Creates a quaternion using the rotation part of a Matrix4x4.
|
| |
|
static Quaternion | CreateFromBasis (const Vector3 &basisX, const Vector3 &basisY, const Vector3 &basisZ) |
| | Creates a quaternion from a set of basis vectors.
|
| |
|
static Quaternion | CreateFromAxisAngle (const Vector3 &axis, float angle) |
| |
|
static Quaternion | CreateFromScaledAxisAngle (const Vector3 &scaledAxisAngle) |
| | Create a quaternion from a scaled axis-angle representation.
|
| |
|
static Quaternion | CreateShortestArc (const Vector3 &v1, const Vector3 &v2) |
| |
|
static const Quaternion | CreateFromEulerAnglesDegrees (const Vector3 &anglesInDegrees) |
| | Creates a quaternion using rotation in degrees about the axes. First rotated about the X axis, followed by the Y axis, then the Z axis.
|
| |
|
static const Quaternion | CreateFromEulerAnglesRadians (const Vector3 &anglesInRadians) |
| | Creates a quaternion using rotation in radians about the axes. First rotated about the X axis, followed by the Y axis, then the Z axis.
|
| |
|
| static Quaternion | CreateRotationX (float angleInRadians) |
| |
|
static Quaternion | CreateRotationY (float angleInRadians) |
| |
|
static Quaternion | CreateRotationZ (float angleInRadians) |
| |