|
| template<typename T> |
| constexpr bool | Crux::operator== (const Quat< T > &rhs, const Quat< T > &lhs) |
| template<typename T> |
| constexpr bool | Crux::operator!= (const Quat< T > &rhs, const Quat< T > &lhs) |
| template<typename T> |
| constexpr T | Crux::QuatDot (const Quat< T > &quatA, const Quat< T > &quatB) noexcept |
| | Compute the dot product of two quaternions.
|
| template<typename T> |
| constexpr T | Crux::QuatLengthSq (const Quat< T > &quat) noexcept |
| | Compute squared length (norm) of a quaternion.
|
| template<typename T> |
| T | Crux::QuatLength (const Quat< T > &quat) noexcept |
| | Compute Euclidean length (norm) of a quaternion.
|
| template<typename T> |
| constexpr T | Crux::QuatLengthCT (const Quat< T > &quat) noexcept |
| | Compute Euclidean length (norm) of a quaternion (compile-time version).
|
| template<typename T> |
| constexpr Quat< T > | Crux::QuatConjugate (const Quat< T > &quat) noexcept |
| | Compute the conjugate of a quaternion.
|
| template<typename T> |
| constexpr Quat< T > | Crux::QuatInverse (const Quat< T > &quat) noexcept |
| | Compute the multiplicative inverse of a quaternion.
|
| template<typename T> |
| T | Crux::QuatNormalizeInplace (Quat< T > &quat) noexcept |
| | Normalize quaternion in-place.
|
| template<typename T> |
| Quat< T > | Crux::QuatNormalize (Quat< T > quat) noexcept |
| | Return normalized copy of quaternion.
|
| template<typename T> |
| constexpr Quat< T > | Crux::QuatMul (const Quat< T > &quatA, const Quat< T > &quatB) noexcept |
| | Hamilton product of two quaternions (composition of rotations).
|
| template<typename T> |
| constexpr Vector< T, 3 > | Crux::QuatRotate (const Quat< T > &quat, const Vector< T, 3 > &vec) noexcept |
| | Rotate a 3D vector by a quaternion (optimized form).
|
| template<typename T> |
| Quat< T > | Crux::QuatFromAxisAngle (const Vector< T, 3 > &axis, T angleRadians) noexcept |
| | Construct quaternion from axis-angle representation.
|
| template<typename T> |
| void | Crux::QuatToAxisAngle (const Quat< T > &quat, Vector< T, 3 > &outAxis, T &outAngle) noexcept |
| | Decompose quaternion into axis-angle representation.
|
| template<typename T> |
| Quat< T > | Crux::QuatFromEuler (T roll, T pitch, T yaw) noexcept |
| | Construct quaternion from Euler angles (roll, pitch, yaw).
|
| template<typename T> |
| void | Crux::QuatToEuler (const Quat< T > &quat, T &outRoll, T &outPitch, T &outYaw) noexcept |
| | Convert quaternion to Euler angles (roll, pitch, yaw).
|
| template<typename T> |
| Quat< T > | Crux::QuatLerp (const Quat< T > &quatA, const Quat< T > &quatB, T t) noexcept |
| | Linear interpolation (LERP) between two quaternions.
|
| template<typename T> |
| Quat< T > | Crux::QuatNlerp (const Quat< T > &quatA, const Quat< T > &quatB, T t) noexcept |
| | Normalized linear interpolation (NLERP) between two quaternions.
|
| template<typename T> |
| Quat< T > | Crux::QuatSlerp (const Quat< T > &quatA, const Quat< T > &quatB, T t) noexcept |
| | Spherical linear interpolation (SLERP) between two quaternions.
|
| template<typename T> |
| Matrix< T, 3, 3 > | Crux::QuatToMat3 (const Quat< T > &quatIn) noexcept |
| | Convert quaternion to 3x3 rotation matrix (row-major).
|
| template<typename T> |
| Matrix< T, 4, 4 > | Crux::ToMat4 (const Quat< T > &quat) noexcept |
| | Convert quaternion to 4x4 rotation matrix.
|
| template<typename T> |
| Quat< T > | Crux::QuatFromMat3 (const Matrix< T, 3, 3 > &mat) noexcept |
| | Convert a 3x3 rotation matrix to a quaternion.
|
| template<typename T> |
| Quat< T > | Crux::operator* (const Quat< T > &a, const Quat< T > &b) noexcept |
| | Quaternion multiplication operator (Hamilton product).
|
| template<typename T> |
| Quat< T > | Crux::operator* (T s, const Quat< T > &q) noexcept |
| | Scalar * quaternion multiplication (commutative for scalar).
|