16 requires std::is_floating_point_v<T>
24 requires std::is_floating_point_v<T>
45 std::conditional_t<(
sizeof(
T) <
sizeof(
double)),
double,
T>;
125 template <
typename T>
126 requires std::is_floating_point_v<T>
136 template <
typename T>
137 requires std::is_floating_point_v<T>
138 [[nodiscard]]
inline std::optional<Normal3<T>>
145 template <
typename T>
146 requires std::is_floating_point_v<T>
static std::optional< Direction3 > TryFrom(const Vec3< T > &value) noexcept
static std::optional< Normal3 > TryFrom(const Vec3< T > &value) noexcept
static Point3 FromVector(const Vec3< T > &value) noexcept
std::optional< Normal3< T > > TryTransformNormalImpl(const AffineTransform3< T > &transform, const Normal3< T > &normal, bool preserveHalfSpaceOrientation) noexcept
std::optional< Normal3< T > > TryTransformNormal(const AffineTransform3< T > &transform, const Normal3< T > &normal) noexcept
Vec3< T > TransformVector(const AffineTransform3< T > &transform, const Vec3< T > &vector) noexcept
std::optional< Normal3< T > > TryTransformOrientedSurfaceNormal(const AffineTransform3< T > &transform, const Normal3< T > &normal) noexcept
AffineTransform3< T > ToAffine(const RigidTransform3< T > &transform) noexcept
std::optional< Direction3< T > > TryTransformDirection(const AffineTransform3< T > &transform, const Direction3< T > &direction) noexcept
Vec3< T > TransformPoint(const AffineTransform3< T > &transform, const Vec3< T > &point) noexcept
Vec3< T > Rotate(const Rotation3< T > &rotation, const Vec3< T > &vector) noexcept