![]() |
ProtoTracer
1.0
Real-time 3D rendering and animation engine
|
A mathematical construct representing a rotation in 3D space. More...
#include <Quaternion.h>
Public Member Functions | |
Quaternion () | |
Default constructor. Initializes the quaternion to identity (1,0,0,0). | |
Quaternion (const Quaternion &quaternion) | |
Copy constructor. Clones the values of another quaternion. | |
Quaternion (const Vector3D &vector) | |
Constructs a quaternion purely from a 3D vector (0, X, Y, Z). | |
Quaternion (const float &w, const float &x, const float &y, const float &z) | |
Constructs a quaternion with individual scalar and vector components. | |
Vector2D | RotateVector (const Vector2D &v) const |
Rotates a 2D vector by this quaternion, projecting it in 2D. | |
Vector2D | RotateVectorUnit (const Vector2D &v, const Quaternion &q) const |
Rotates a 2D vector by a unit quaternion (assumes normalized), allowing a different quaternion to be used if desired. | |
Vector2D | UnrotateVector (const Vector2D &coordinate) const |
Applies the inverse of this quaternion's rotation to a 2D vector. | |
Vector3D | RotateVector (const Vector3D &v) const |
Rotates a 3D vector by this quaternion. | |
Vector3D | UnrotateVector (const Vector3D &coordinate) const |
Applies the inverse of this quaternion's rotation to a 3D vector. | |
Vector3D | GetBiVector () const |
Retrieves the bi-vector (X, Y, Z) portion of the quaternion (with W=0). | |
Vector3D | GetNormal () const |
Retrieves the normal vector part of the quaternion, typically its axis of rotation. | |
Quaternion | DeltaRotation (const Vector3D &angularVelocity, const float &timeDelta) const |
Computes a small rotation quaternion given an angular velocity and time delta. | |
Quaternion | Add (const Quaternion &quaternion) const |
Adds two quaternions component-wise. | |
Quaternion | Subtract (const Quaternion &quaternion) const |
Subtracts a quaternion from this quaternion component-wise. | |
Quaternion | Multiply (const Quaternion &quaternion) const |
Multiplies (composes) this quaternion with another (order matters). | |
Quaternion | Multiply (const float &scalar) const |
Scales this quaternion by a scalar factor. | |
Quaternion | Divide (const Quaternion &quaternion) const |
Divides this quaternion by another quaternion component-wise (not a typical quaternion operation). | |
Quaternion | Divide (const float &scalar) const |
Divides this quaternion by a scalar. | |
Quaternion | Power (const Quaternion &exponent) const |
Raises this quaternion to the power of another quaternion (component-wise). | |
Quaternion | Power (const float &exponent) const |
Raises this quaternion to a scalar power. | |
Quaternion | Permutate (const Vector3D &permutation) const |
Performs a permutation operation using a 3D vector (custom transform). | |
Quaternion | Absolute () const |
Returns a quaternion where each component is the absolute value of the original. | |
Quaternion | AdditiveInverse () const |
Negates each component (an additive inverse). | |
Quaternion | MultiplicativeInverse () const |
Returns the multiplicative inverse of this quaternion, such that q * q^-1 = identity. | |
Quaternion | Conjugate () const |
Returns the conjugate of this quaternion (W stays the same, X/Y/Z get negated). | |
Quaternion | UnitQuaternion () const |
Returns a unit quaternion (normalized) version of this quaternion. | |
float | Magnitude () const |
Computes the magnitude (length) of this quaternion. | |
float | DotProduct (const Quaternion &q) const |
Computes the dot product between this quaternion and another. | |
float | Normal () const |
Computes the quaternion's norm (equivalent to squared magnitude). | |
bool | IsNaN () const |
Checks if any component of this quaternion is NaN. | |
bool | IsFinite () const |
Checks if all components are finite. | |
bool | IsInfinite () const |
Checks if any component is infinite. | |
bool | IsNonZero () const |
Checks if the quaternion is non-zero (i.e., any component != 0). | |
bool | IsEqual (const Quaternion &quaternion) const |
Checks if two quaternions are exactly equal (component-wise). | |
bool | IsClose (const Quaternion &quaternion, const float &epsilon) const |
Checks if two quaternions are nearly equal within a tolerance. | |
String | ToString () const |
Converts this quaternion to a string representation (e.g. "(W, X, Y, Z)"). | |
bool | operator== (const Quaternion &quaternion) const |
Equality operator. Checks if two quaternions match exactly (component-wise). | |
bool | operator!= (const Quaternion &quaternion) const |
Inequality operator. Checks if two quaternions differ in any component. | |
Quaternion | operator= (const Quaternion &quaternion) |
Assignment operator. Copies another quaternion's components to this one. | |
Quaternion | operator+ (const Quaternion &quaternion) const |
Adds two quaternions (component-wise). | |
Quaternion | operator- (const Quaternion &quaternion) const |
Subtracts one quaternion from another (component-wise). | |
Quaternion | operator* (const Quaternion &quaternion) const |
Multiplies (composes) two quaternions. | |
Quaternion | operator/ (const Quaternion &quaternion) const |
Divides this quaternion by another quaternion, component-wise. | |
Quaternion | operator/ (const float &value) const |
Divides this quaternion by a scalar. | |
Static Public Member Functions | |
static Quaternion | SphericalInterpolation (const Quaternion &q1, const Quaternion &q2, const float &ratio) |
Performs spherical linear interpolation (slerp) between two quaternions. | |
static Quaternion | Add (const Quaternion &q1, const Quaternion &q2) |
Static convenience function: Adds two quaternions. | |
static Quaternion | Subtract (const Quaternion &q1, const Quaternion &q2) |
Static convenience function: Subtracts one quaternion from another. | |
static Quaternion | Multiply (const Quaternion &q1, const Quaternion &q2) |
Static convenience function: Multiplies (composes) two quaternions. | |
static Quaternion | Divide (const Quaternion &q1, const Quaternion &q2) |
Static convenience function: Divides one quaternion by another (component-wise). | |
static Quaternion | Power (const Quaternion &q1, const Quaternion &q2) |
Static convenience function: Raises one quaternion to the power of another (component-wise). | |
static float | DotProduct (const Quaternion &q1, const Quaternion &q2) |
Static convenience function: Computes the dot product of two quaternions. | |
static Quaternion | Power (const Quaternion &quaternion, const float &exponent) |
Static convenience function: Raises a quaternion to a scalar power. | |
static Quaternion | Permutate (const Quaternion &quaternion, const Vector3D &vector) |
Static convenience function: Permutates a quaternion with a 3D vector input. | |
static Quaternion | Absolute (const Quaternion &quaternion) |
Static convenience function: Returns a quaternion with absolute values of its components. | |
static Quaternion | AdditiveInverse (const Quaternion &quaternion) |
Static convenience function: Returns the additive inverse of a quaternion. | |
static Quaternion | MultiplicativeInverse (const Quaternion &quaternion) |
Static convenience function: Returns the multiplicative inverse of a quaternion. | |
static Quaternion | Conjugate (const Quaternion &quaternion) |
Static convenience function: Returns the conjugate of a quaternion. | |
static Quaternion | UnitQuaternion (const Quaternion &quaternion) |
Static convenience function: Normalizes a quaternion, returning a unit quaternion. | |
static float | Magnitude (const Quaternion &quaternion) |
Static convenience function: Computes the magnitude of a quaternion. | |
static float | Normal (const Quaternion &quaternion) |
Static convenience function: Computes the norm (squared magnitude) of a quaternion. | |
Public Attributes | |
float | W |
Scalar part of the quaternion. | |
float | X |
X component of the quaternion's vector part. | |
float | Y |
Y component of the quaternion's vector part. | |
float | Z |
Z component of the quaternion's vector part. | |
Friends | |
Quaternion | operator* (const float &scalar, const Quaternion &q) |
Scalar multiplication operator (on the left). | |
Quaternion | operator* (const Quaternion &q, const float &scalar) |
Scalar multiplication operator (on the right). | |
A mathematical construct representing a rotation in 3D space.
Quaternions consist of a scalar part (W) and a vector part (X, Y, Z). They allow smooth interpolation (slerp), concatenation of rotations, and are often used to avoid gimbal lock problems that can occur when using Euler angles.
Definition at line 30 of file Quaternion.h.
Quaternion | ( | ) |
Default constructor. Initializes the quaternion to identity (1,0,0,0).
Definition at line 4 of file Quaternion.cpp.
Referenced by DeltaRotation(), Divide(), Divide(), MultiplicativeInverse(), Multiply(), Multiply(), Permutate(), RotateVector(), RotateVector(), RotateVectorUnit(), UnrotateVector(), and UnrotateVector().
Quaternion | ( | const Quaternion & | quaternion | ) |
Quaternion | ( | const Vector3D & | vector | ) |
Constructs a quaternion purely from a 3D vector (0, X, Y, Z).
vector | The vector that forms the (X, Y, Z) part of the quaternion. |
The W component is initialized to 0.0f.
Definition at line 15 of file Quaternion.cpp.
References W, X, Vector3D::X, Y, Vector3D::Y, Z, and Vector3D::Z.
Quaternion Absolute | ( | ) | const |
|
static |
Static convenience function: Returns a quaternion with absolute values of its components.
quaternion | The input quaternion. |
quaternion's
components. Definition at line 487 of file Quaternion.cpp.
|
static |
Static convenience function: Adds two quaternions.
q1 | The first quaternion. |
q2 | The second quaternion. |
Definition at line 455 of file Quaternion.cpp.
Quaternion Add | ( | const Quaternion & | quaternion | ) | const |
Adds two quaternions component-wise.
quaternion | The quaternion to add to the current one. |
Definition at line 152 of file Quaternion.cpp.
Referenced by QuaternionKalmanFilter::Filter(), and operator+().
Quaternion AdditiveInverse | ( | ) | const |
|
static |
Static convenience function: Returns the additive inverse of a quaternion.
quaternion | The input quaternion. |
Definition at line 491 of file Quaternion.cpp.
Quaternion Conjugate | ( | ) | const |
Returns the conjugate of this quaternion (W stays the same, X/Y/Z get negated).
Definition at line 322 of file Quaternion.cpp.
Referenced by SerialInterpreter::GetOrientation(), ObjectAlign::GetTransform(), MultiplicativeInverse(), UnrotateVector(), and UnrotateVector().
|
static |
Static convenience function: Returns the conjugate of a quaternion.
quaternion | The input quaternion. |
Definition at line 499 of file Quaternion.cpp.
Quaternion DeltaRotation | ( | const Vector3D & | angularVelocity, |
const float & | timeDelta | ||
) | const |
Computes a small rotation quaternion given an angular velocity and time delta.
angularVelocity | A 3D vector representing the angular velocity (e.g., degrees/sec or radians/sec). |
timeDelta | The time step. |
Definition at line 136 of file Quaternion.cpp.
References Mathematics::EPSILON, Quaternion(), UnitQuaternion(), W, X, Y, and Z.
Referenced by BNO055::Update().
Quaternion Divide | ( | const float & | scalar | ) | const |
Divides this quaternion by a scalar.
scalar | The scalar divisor. |
scalar
. Definition at line 240 of file Quaternion.cpp.
References Mathematics::EPSILON, Mathematics::IsClose(), Quaternion(), W, X, Y, and Z.
|
static |
Static convenience function: Divides one quaternion by another (component-wise).
q1 | The first quaternion. |
q2 | The second quaternion (divisor). |
Definition at line 467 of file Quaternion.cpp.
Quaternion Divide | ( | const Quaternion & | quaternion | ) | const |
Divides this quaternion by another quaternion component-wise (not a typical quaternion operation).
quaternion | The quaternion to divide by. |
Definition at line 228 of file Quaternion.cpp.
References Mathematics::EPSILON, Quaternion(), W, X, Y, and Z.
Referenced by operator/(), and operator/().
float DotProduct | ( | const Quaternion & | q | ) | const |
|
static |
Static convenience function: Computes the dot product of two quaternions.
q1 | The first quaternion. |
q2 | The second quaternion. |
Definition at line 475 of file Quaternion.cpp.
Vector3D GetBiVector | ( | ) | const |
Retrieves the bi-vector (X, Y, Z) portion of the quaternion (with W=0).
Definition at line 87 of file Quaternion.cpp.
Vector3D GetNormal | ( | ) | const |
Retrieves the normal vector part of the quaternion, typically its axis of rotation.
Definition at line 95 of file Quaternion.cpp.
References RotateVector().
bool IsClose | ( | const Quaternion & | quaternion, |
const float & | epsilon | ||
) | const |
Checks if two quaternions are nearly equal within a tolerance.
quaternion | The quaternion to compare to. |
epsilon | The tolerance for comparison. |
true
if each component differs by less than epsilon
. Definition at line 388 of file Quaternion.cpp.
Referenced by RotateVector(), RotateVector(), RotateVectorUnit(), UnrotateVector(), and UnrotateVector().
bool IsEqual | ( | const Quaternion & | quaternion | ) | const |
Checks if two quaternions are exactly equal (component-wise).
quaternion | The quaternion to compare to. |
true
if all components match exactly. Definition at line 379 of file Quaternion.cpp.
References IsNaN(), W, X, Y, and Z.
Referenced by operator!=(), and operator==().
bool IsFinite | ( | ) | const |
Checks if all components are finite.
true
if finite, otherwise false
. Definition at line 364 of file Quaternion.cpp.
References Mathematics::IsInfinite(), W, X, Y, and Z.
bool IsInfinite | ( | ) | const |
Checks if any component is infinite.
true
if infinite, otherwise false
. Definition at line 369 of file Quaternion.cpp.
References Mathematics::IsFinite(), W, X, Y, and Z.
bool IsNaN | ( | ) | const |
Checks if any component of this quaternion is NaN.
true
if any component is NaN, otherwise false
. Definition at line 359 of file Quaternion.cpp.
References Mathematics::IsNaN(), W, X, Y, and Z.
Referenced by IsEqual().
bool IsNonZero | ( | ) | const |
float Magnitude | ( | ) | const |
Computes the magnitude (length) of this quaternion.
Definition at line 344 of file Quaternion.cpp.
References Normal(), and Mathematics::Sqrt().
|
static |
Static convenience function: Computes the magnitude of a quaternion.
quaternion | The input quaternion. |
quaternion
. Definition at line 507 of file Quaternion.cpp.
Quaternion MultiplicativeInverse | ( | ) | const |
Returns the multiplicative inverse of this quaternion, such that q * q^-1 = identity.
Definition at line 312 of file Quaternion.cpp.
References Conjugate(), Mathematics::EPSILON, Mathematics::IsClose(), Multiply(), Normal(), and Quaternion().
Referenced by BoundaryCube::Update(), and BoundarySphere::Update().
|
static |
Static convenience function: Returns the multiplicative inverse of a quaternion.
quaternion | The input quaternion. |
Definition at line 495 of file Quaternion.cpp.
Quaternion Multiply | ( | const float & | scalar | ) | const |
Scales this quaternion by a scalar factor.
scalar | The scalar to multiply. |
scalar
. Definition at line 215 of file Quaternion.cpp.
References Mathematics::EPSILON, Mathematics::IsClose(), Quaternion(), W, X, Y, and Z.
|
static |
Static convenience function: Multiplies (composes) two quaternions.
q1 | The first quaternion. |
q2 | The second quaternion. |
Definition at line 463 of file Quaternion.cpp.
Quaternion Multiply | ( | const Quaternion & | quaternion | ) | const |
Multiplies (composes) this quaternion with another (order matters).
quaternion | The right-hand side quaternion. |
Definition at line 172 of file Quaternion.cpp.
References Mathematics::EPSILON, Quaternion(), W, X, Y, and Z.
Referenced by SerialInterpreter::GetOrientation(), ObjectAlign::GetTransform(), MultiplicativeInverse(), operator*(), Rasterizer::Rasterize(), Triangle2D::Triangle2D(), BoundaryCube::Update(), and BoundarySphere::Update().
float Normal | ( | ) | const |
Computes the quaternion's norm (equivalent to squared magnitude).
Definition at line 354 of file Quaternion.cpp.
References Mathematics::Sqrt(), W, X, Y, and Z.
Referenced by Magnitude(), MultiplicativeInverse(), and UnitQuaternion().
|
static |
Static convenience function: Computes the norm (squared magnitude) of a quaternion.
quaternion | The input quaternion. |
quaternion
. Definition at line 511 of file Quaternion.cpp.
bool operator!= | ( | const Quaternion & | quaternion | ) | const |
Inequality operator. Checks if two quaternions differ in any component.
quaternion | The quaternion to compare. |
true
if not equal, otherwise false
. Definition at line 410 of file Quaternion.cpp.
References IsEqual().
Quaternion operator* | ( | const Quaternion & | quaternion | ) | const |
Multiplies (composes) two quaternions.
quaternion | The right-hand side quaternion. |
Definition at line 431 of file Quaternion.cpp.
References Multiply().
Quaternion operator+ | ( | const Quaternion & | quaternion | ) | const |
Adds two quaternions (component-wise).
quaternion | The right-hand side quaternion to add. |
Definition at line 423 of file Quaternion.cpp.
References Add().
Quaternion operator- | ( | const Quaternion & | quaternion | ) | const |
Subtracts one quaternion from another (component-wise).
quaternion | The right-hand side quaternion to subtract. |
Definition at line 427 of file Quaternion.cpp.
References Subtract().
Quaternion operator/ | ( | const float & | value | ) | const |
Divides this quaternion by a scalar.
value | The scalar divisor. |
value
. Definition at line 439 of file Quaternion.cpp.
References Divide().
Quaternion operator/ | ( | const Quaternion & | quaternion | ) | const |
Divides this quaternion by another quaternion, component-wise.
quaternion | The right-hand side quaternion divisor. |
Definition at line 435 of file Quaternion.cpp.
References Divide().
Quaternion operator= | ( | const Quaternion & | quaternion | ) |
bool operator== | ( | const Quaternion & | quaternion | ) | const |
Equality operator. Checks if two quaternions match exactly (component-wise).
quaternion | The quaternion to compare. |
true
if equal, otherwise false
. Definition at line 406 of file Quaternion.cpp.
References IsEqual().
|
static |
Static convenience function: Permutates a quaternion with a 3D vector input.
quaternion | The base quaternion. |
vector | A 3D vector used for permutation. |
Definition at line 483 of file Quaternion.cpp.
Quaternion Permutate | ( | const Vector3D & | permutation | ) | const |
Performs a permutation operation using a 3D vector (custom transform).
permutation | A vector used for permuting the quaternion's components. |
Definition at line 276 of file Quaternion.cpp.
References Quaternion(), W, X, Y, and Z.
Quaternion Power | ( | const float & | exponent | ) | const |
Raises this quaternion to a scalar power.
exponent | The exponent (e.g., 2.0f). |
Definition at line 266 of file Quaternion.cpp.
References Mathematics::Pow(), W, X, Y, and Z.
Quaternion Power | ( | const Quaternion & | exponent | ) | const |
Raises this quaternion to the power of another quaternion (component-wise).
exponent | The quaternion exponent. |
Definition at line 256 of file Quaternion.cpp.
References Mathematics::Pow(), W, X, Y, and Z.
|
static |
Static convenience function: Raises one quaternion to the power of another (component-wise).
q1 | The base quaternion. |
q2 | The exponent quaternion. |
Definition at line 471 of file Quaternion.cpp.
|
static |
Static convenience function: Raises a quaternion to a scalar power.
quaternion | The base quaternion. |
exponent | The scalar exponent. |
Definition at line 479 of file Quaternion.cpp.
Rotates a 2D vector by this quaternion, projecting it in 2D.
This method uses quaternion-based rotation to transform a 2D vector.
Mathematical formulation:
\[ s_2 = 2 \cdot w \]
\[ d_{PUV} = 2 \cdot (x \cdot v_x + y \cdot v_y) \]
\[ d_{PUU} = w^2 - (x^2 + y^2 + z^2) \]
The rotated vector is computed as:
\[ v'_x = x \cdot d_{PUV} + v_x \cdot d_{PUU} + (-z \cdot v_y) \cdot s_2 \]
\[ v'_y = y \cdot d_{PUV} + v_y \cdot d_{PUU} + (z \cdot v_x) \cdot s_2 \]
Resulting in:
\[ \vec{v'} = (v'_x, v'_y) \]
v | The 2D vector to rotate. |
Definition at line 31 of file Quaternion.cpp.
References Mathematics::EPSILON, IsClose(), Quaternion(), UnitQuaternion(), X, and Y.
Referenced by ObjectAlign::AlignObjects(), ObjectAlign::AlignObjectsNoScale(), GetNormal(), ObjectAlign::GetObjectPlanarityRatio(), SpiralMaterial::GetRGB(), Rotation::GetRotationMatrix(), ObjectAlign::GetTransform(), UnrotateVector(), UnrotateVector(), BoundaryCube::Update(), BoundarySphere::Update(), and Object3D::UpdateTransform().
Rotates a 3D vector by this quaternion.
v | The 3D vector to rotate. |
Definition at line 68 of file Quaternion.cpp.
References Mathematics::EPSILON, IsClose(), Quaternion(), and UnitQuaternion().
Vector2D RotateVectorUnit | ( | const Vector2D & | v, |
const Quaternion & | q | ||
) | const |
Rotates a 2D vector by a unit quaternion (assumes normalized), allowing a different quaternion to be used if desired.
v | The 2D vector to rotate. |
q | The (unit) quaternion to apply for the rotation. |
q
. Definition at line 47 of file Quaternion.cpp.
References Mathematics::EPSILON, IsClose(), Quaternion(), X, and Y.
|
static |
Performs spherical linear interpolation (slerp) between two quaternions.
q1 | The start quaternion. |
q2 | The end quaternion. |
ratio | A normalized value (0 to 1) indicating how far to interpolate from q1 to q2 . |
Definition at line 100 of file Quaternion.cpp.
References Mathematics::EPSILON.
Referenced by QuaternionKalmanFilter::Filter(), and BNO055::Update().
|
static |
Static convenience function: Subtracts one quaternion from another.
q1 | The first quaternion. |
q2 | The second quaternion to subtract from q1 . |
Definition at line 459 of file Quaternion.cpp.
Quaternion Subtract | ( | const Quaternion & | quaternion | ) | const |
Subtracts a quaternion from this quaternion component-wise.
quaternion | The quaternion to subtract. |
Definition at line 162 of file Quaternion.cpp.
Referenced by operator-().
String ToString | ( | ) | const |
Converts this quaternion to a string representation (e.g. "(W, X, Y, Z)").
String
displaying the quaternion's components. Definition at line 396 of file Quaternion.cpp.
References Mathematics::DoubleToCleanString(), W, X, Y, and Z.
Quaternion UnitQuaternion | ( | ) | const |
Returns a unit quaternion (normalized) version of this quaternion.
Definition at line 332 of file Quaternion.cpp.
References Normal(), W, X, Y, and Z.
Referenced by CameraLayout::CalculateTransform(), DeltaRotation(), Rotation::DirectionAngleToQuaternion(), QuaternionKalmanFilter::Filter(), Rotation::GetDirectionAngle(), RotateVector(), RotateVector(), UnrotateVector(), and BNO055::Update().
|
static |
Static convenience function: Normalizes a quaternion, returning a unit quaternion.
quaternion | The input quaternion. |
Definition at line 503 of file Quaternion.cpp.
Applies the inverse of this quaternion's rotation to a 2D vector.
coordinate | The 2D vector to transform. |
Definition at line 61 of file Quaternion.cpp.
References Conjugate(), Mathematics::EPSILON, IsClose(), Quaternion(), and RotateVector().
Referenced by ObjectAlign::NormalizeObjectPlane(), and Triangle2D::Triangle2D().
Applies the inverse of this quaternion's rotation to a 3D vector.
coordinate | The 3D vector to transform. |
Definition at line 80 of file Quaternion.cpp.
References Conjugate(), Mathematics::EPSILON, IsClose(), Quaternion(), RotateVector(), and UnitQuaternion().
|
friend |
Scalar multiplication operator (on the left).
scalar | The scalar to multiply. |
q | The quaternion to scale. |
scalar
. Definition at line 444 of file Quaternion.cpp.
|
friend |
Scalar multiplication operator (on the right).
q | The quaternion to scale. |
scalar | The scalar to multiply. |
scalar
. Definition at line 448 of file Quaternion.cpp.
float W |
Scalar part of the quaternion.
Definition at line 32 of file Quaternion.h.
Referenced by Absolute(), Add(), AdditiveInverse(), Conjugate(), DeltaRotation(), Divide(), Divide(), DotProduct(), IsClose(), IsEqual(), IsFinite(), IsInfinite(), IsNaN(), IsNonZero(), Multiply(), Multiply(), Normal(), operator=(), Permutate(), Power(), Power(), Quaternion(), Quaternion(), Quaternion(), Subtract(), ToString(), and UnitQuaternion().
float X |
X component of the quaternion's vector part.
Definition at line 33 of file Quaternion.h.
Referenced by Absolute(), Add(), AdditiveInverse(), Conjugate(), DeltaRotation(), Divide(), Divide(), DotProduct(), GetBiVector(), IsClose(), IsEqual(), IsFinite(), IsInfinite(), IsNaN(), IsNonZero(), Multiply(), Multiply(), Normal(), operator=(), Permutate(), Power(), Power(), Quaternion(), Quaternion(), Quaternion(), RotateVector(), RotateVectorUnit(), Subtract(), ToString(), and UnitQuaternion().
float Y |
Y component of the quaternion's vector part.
Definition at line 34 of file Quaternion.h.
Referenced by Absolute(), Add(), AdditiveInverse(), Conjugate(), DeltaRotation(), Divide(), Divide(), DotProduct(), GetBiVector(), IsClose(), IsEqual(), IsFinite(), IsInfinite(), IsNaN(), IsNonZero(), Multiply(), Multiply(), Normal(), operator=(), Permutate(), Power(), Power(), Quaternion(), Quaternion(), Quaternion(), RotateVector(), RotateVectorUnit(), Subtract(), ToString(), and UnitQuaternion().
float Z |
Z component of the quaternion's vector part.
Definition at line 35 of file Quaternion.h.
Referenced by Absolute(), Add(), AdditiveInverse(), Conjugate(), DeltaRotation(), Divide(), Divide(), DotProduct(), GetBiVector(), IsClose(), IsEqual(), IsFinite(), IsInfinite(), IsNaN(), IsNonZero(), Multiply(), Multiply(), Normal(), operator=(), Permutate(), Power(), Power(), Quaternion(), Quaternion(), Quaternion(), Subtract(), ToString(), and UnitQuaternion().