5#ifndef SAPPHIRE_MATHS_TRANSFORM_SCALE_GUARD
6#define SAPPHIRE_MATHS_TRANSFORM_SCALE_GUARD
63 template <
typename TOut>
81 constexpr bool IsZero() const noexcept
83 return scale.IsZero();
106 T _epsilon = std::numeric_limits<T>::epsilon()) const noexcept
145 template <
typename RhsT>
178 template <
typename RhsT>
208 std::string ToString()
const
210 return "Scale: " + SA::ToString(
scale);
Vector 3 type implementation.
Transform scale component.
Definition TransformScale.hpp:32
TrScale()=default
Default constructor.
constexpr bool IsZero() const noexcept
IsZero component implementation.
Definition TransformScale.hpp:81
constexpr bool IsIdentity() const noexcept
IsIdentity component implementation. scale must be at Vec3::One for identity transform.
Definition TransformScale.hpp:92
constexpr bool Equals(const TrScale &_other, T _epsilon=std::numeric_limits< T >::epsilon()) const noexcept
Equals component implementation.
Definition TransformScale.hpp:105
static TrScale LerpUnclamped(const TrScale &_start, const TrScale &_end, float _alpha) noexcept
LerpUnclamped component implementation.
Definition TransformScale.hpp:124
TrScale(const Vec3< T > &_scale) noexcept
Constructor from Vec3.
Definition TransformScale.hpp:47
static TrScale Divide(const TrScale &_lhs, const RhsT &_rhs) noexcept
Transform division implementation for scale component.
Definition TransformScale.hpp:179
static TrScale Multiply(const TrScale &_lhs, const RhsT &_rhs) noexcept
Transform multiplication implementation for scale component.
Definition TransformScale.hpp:146
Vec3< T > scale
Handled scale.
Definition TransformScale.hpp:34
Transform uniform scale component.
Definition TransformUScale.hpp:29
Vector 3 Sapphire-Maths class.
Definition Vector3.hpp:43
static Vec3 LerpUnclamped(const Vec3 &_start, const Vec3 &_end, float _alpha) noexcept
Unclamped Lerp from _start to _end at _alpha.