Nexus Engine  v0.0.1
Loading...
Searching...
No Matches
Quaternion.cppm File Reference
Include dependency graph for Quaternion.cppm:

Classes

class  Nexus::Quaternion< T >

Namespaces

namespace  Nexus

Typedefs

template<std::floating_point T, std::floating_point U>
using Nexus::QuaternionCommon = Quaternion<std::common_type_t<T, U>>
using Nexus::Quaternionf = Quaternion<float32>
using Nexus::Quaterniond = Quaternion<float64>

Functions

template<std::floating_point T, std::floating_point U>
constexpr auto Nexus::operator+ (const Quaternion< T > &a, const Quaternion< U > &b) -> QuaternionCommon< T, U >
template<std::floating_point T, std::floating_point U>
constexpr auto Nexus::operator- (const Quaternion< T > &a, const Quaternion< U > &b) -> QuaternionCommon< T, U >
template<std::floating_point T, std::floating_point U>
constexpr auto Nexus::operator* (const Quaternion< T > &a, const Quaternion< U > &b) -> QuaternionCommon< T, U >
template<std::floating_point T, std::floating_point U>
constexpr auto Nexus::operator* (const Quaternion< T > &q, U scalar) -> QuaternionCommon< T, U >
template<std::floating_point T, std::floating_point U>
constexpr auto Nexus::operator* (U scalar, const Quaternion< T > &q) -> QuaternionCommon< T, U >
template<std::floating_point T, std::floating_point U>
constexpr auto Nexus::operator/ (const Quaternion< T > &q, U scalar) -> QuaternionCommon< T, U >
template<std::floating_point T, std::floating_point U>
constexpr auto Nexus::operator* (const Quaternion< T > &q, const Vec3< U > &v) -> Vec3< std::common_type_t< T, U > >
template<std::floating_point T>
constexpr T Nexus::Dot (const Quaternion< T > &a, const Quaternion< T > &b)
template<std::floating_point T>
constexpr Quaternion< T > Nexus::Lerp (const Quaternion< T > &a, const Quaternion< T > &b, T t)
template<std::floating_point T>
constexpr Quaternion< T > Nexus::Slerp (const Quaternion< T > &a, const Quaternion< T > &b, T t)