5#ifndef SAPPHIRE_MATHS_TRANSFORM_ROTATION_GUARD
6#define SAPPHIRE_MATHS_TRANSFORM_ROTATION_GUARD
62 template <
typename TOut>
79 constexpr bool IsZero() const noexcept
104 T _epsilon = std::numeric_limits<T>::epsilon()) const noexcept
141 template <
typename RhsT>
166 template <
typename RhsT>
192 std::string ToString()
const
194 return "Rot: " + SA::ToString(
rotation);
Quaternion type implementation.
Quaternion Sapphire-Maths class.
Definition Quaternion.hpp:53
static Quat SLerpUnclamped(const Quat &_start, const Quat &_end, float _alpha)
Unclamped SLerp from _start to _end at _alpha.
Transform rotation component.
Definition TransformRotation.hpp:32
static TrRotation Divide(const TrRotation &_lhs, const RhsT &_rhs) noexcept
Transform division implementation for rotation component.
Definition TransformRotation.hpp:167
TrRotation(const Quat< T > &_rot) noexcept
Constructor from Quat.
Definition TransformRotation.hpp:47
constexpr bool IsZero() const noexcept
IsZero component implementation.
Definition TransformRotation.hpp:79
constexpr bool IsIdentity() const noexcept
IsIdentity component implementation. rotation must be at Quat::Identity for identity transform.
Definition TransformRotation.hpp:90
constexpr bool Equals(const TrRotation &_other, T _epsilon=std::numeric_limits< T >::epsilon()) const noexcept
Equals component implementation.
Definition TransformRotation.hpp:103
static TrRotation Multiply(const TrRotation &_lhs, const RhsT &_rhs) noexcept
Transform multiplication implementation for rotation component.
Definition TransformRotation.hpp:142
TrRotation()=default
Default constructor.
static TrRotation LerpUnclamped(const TrRotation &_start, const TrRotation &_end, float _alpha) noexcept
LerpUnclamped component implementation. Use SLerp implementation.
Definition TransformRotation.hpp:123
Quat< T > rotation
Handled rotation.
Definition TransformRotation.hpp:34