20 #ifndef ANTKEEPER_MATH_TRANSFORMATION_SE3_HPP
21 #define ANTKEEPER_MATH_TRANSFORMATION_SE3_HPP
74 [[nodiscard]]
inline constexpr
explicit operator matrix_type() const noexcept
126 [[nodiscard]]
inline constexpr
explicit operator se3<U>() const noexcept
Mathematical functions and data types.
quaternion< T > normalize(const quaternion< T > &q)
Normalizes a quaternion.
constexpr quaternion< T > conjugate(const quaternion< T > &q) noexcept
Calculates the conjugate of a quaternion.
n by m column-major matrix.
Quaternion composed of a real scalar part and imaginary vector part.
static constexpr quaternion identity() noexcept
Returns a rotation identity quaternion.
SE(3) proper rigid transformation (rototranslation).
constexpr vector_type transform(const vector_type &v) const noexcept
Transforms a vector by this transformation.
mat4< T > matrix_type
Transformation matrix type.
constexpr se3 operator*(const se3 &xf) const noexcept
Transforms an SE(3) transformation by this transformation.
constexpr se3 inverse() const noexcept
Returns the inverse of this transformation.
constexpr matrix_type matrix() const noexcept
Returns a matrix representation of this transformation.
constexpr vector_type operator*(const vector_type &v) const noexcept
Transforms a vector by this transformation.
static constexpr se3 identity() noexcept
Returns an identity transformation.
quaternion_type r
Quaternion representing the rotation component of the transformation.
T scalar_type
Scalar type.
constexpr se3 transform(const se3 &xf) const noexcept
Transforms an SE(3) transformation by this transformation.
vector_type t
Vector representing the translation component of the transformation.
constexpr element_type & x() noexcept
Returns a reference to the first element.
constexpr element_type & y() noexcept
Returns a reference to the second element.
static constexpr vector zero() noexcept
Returns a zero vector, where every element is equal to zero.
constexpr element_type & z() noexcept
Returns a reference to the third element.