5#ifndef SAPPHIRE_MATHS_TRANSFORM_USCALE_GUARD
6#define SAPPHIRE_MATHS_TRANSFORM_USCALE_GUARD
60 template <
typename TOut>
77 constexpr bool IsZero() const noexcept
79 return SA::Maths::Equals0(
uScale);
90 return SA::Maths::Equals1(
uScale);
102 T _epsilon = std::numeric_limits<T>::epsilon()) const noexcept
122 return TrUScale{ Maths::LerpUnclamped(_start.uScale, _end.uScale, _alpha) };
138 template <
typename RhsT>
163 template <
typename RhsT>
189 std::string ToString()
const
191 return "UScale: " + SA::ToString(
uScale);
Transform uniform scale component.
Definition TransformUScale.hpp:29
static TrUScale Multiply(const TrUScale &_lhs, const RhsT &_rhs) noexcept
Transform multiplication implementation for uniform scale component.
Definition TransformUScale.hpp:139
static TrUScale LerpUnclamped(const TrUScale &_start, const TrUScale &_end, float _alpha) noexcept
LerpUnclamped component implementation.
Definition TransformUScale.hpp:120
TrUScale(T _uscale) noexcept
Constructor from T.
Definition TransformUScale.hpp:44
static TrUScale Divide(const TrUScale &_lhs, const RhsT &_rhs) noexcept
Transform division implementation for uniform scale component.
Definition TransformUScale.hpp:164
constexpr bool Equals(const TrUScale &_other, T _epsilon=std::numeric_limits< T >::epsilon()) const noexcept
Equals component implementation.
Definition TransformUScale.hpp:101
constexpr bool IsZero() const noexcept
IsZero component implementation.
Definition TransformUScale.hpp:77
T uScale
Handled uniform scale.
Definition TransformUScale.hpp:31
constexpr bool IsIdentity() const noexcept
IsIdentity component implementation. uniform scale must == 1 for identity transform.
Definition TransformUScale.hpp:88
TrUScale()=default
Default constructor.