14 requires std::is_floating_point_v<T>
53 return left.Rotation_ ==
right.Rotation_ &&
59 Vec3<T> Translation_{};
66 requires std::is_floating_point_v<T>
74 requires std::is_floating_point_v<T>
84 requires std::is_floating_point_v<T>
93 requires std::is_floating_point_v<T>
100 template <
typename T>
101 requires std::is_floating_point_v<T>
115static_assert(std::is_trivially_copyable_v<mv::math::RigidTransform3f>);
116static_assert(std::is_standard_layout_v<mv::math::RigidTransform3f>);
119static_assert(std::is_trivially_copyable_v<mv::math::RigidTransform3d>);
120static_assert(std::is_standard_layout_v<mv::math::RigidTransform3d>);
static Point3 FromVector(const Vec3< T > &value) noexcept
Vec3< T > TransformVector(const AffineTransform3< T > &transform, const Vec3< T > &vector) noexcept
RigidTransform3< float > RigidTransform3f
Normal3< T > TransformNormal(const RigidTransform3< T > &transform, const Normal3< T > &normal) noexcept
AffineTransform3< T > Compose(const AffineTransform3< T > &first, const AffineTransform3< T > &second) noexcept
Direction3< T > TransformDirection(const RigidTransform3< T > &transform, const Direction3< T > &direction) noexcept
Vec3< T > TransformPoint(const AffineTransform3< T > &transform, const Vec3< T > &point) noexcept
RigidTransform3< double > RigidTransform3d
Vec3< T > Rotate(const Rotation3< T > &rotation, const Vec3< T > &vector) noexcept