transformations¶
-
template<FloatingPoint Fp = f_t>
class transform_generic_t Public Types
Public Functions
-
inline constexpr transform_generic_t()
-
inline explicit transform_generic_t(const mat4_t &m)
-
transform_generic_t(const transform_generic_t&) = default
-
transform_generic_t &operator=(const transform_generic_t&) = default
-
inline auto transpose() const noexcept
-
inline auto inverse_transpose() const noexcept
-
inline auto inverse() const noexcept
-
inline auto operator()(const v3_t &v, transform_vector_t) const noexcept
Transforms a 3-dimensional unitless vector as a vector (w=0 in homogeneous coordinates).
-
template<QuantityVectorWithRep<Fp> QV>
inline auto operator()(const QV &v, transform_point_t) const noexcept Transforms a 3-dimensional length vector as a point (w=1 in homogeneous coordinates).
-
template<QuantityVectorWithRep<Fp> QV>
inline auto operator()(const QV &v, transform_vector_t) const noexcept Transforms a 3-dimensional length vector as a vector (w=0 in homogeneous coordinates).
-
inline auto operator()(const d3_t &v) const noexcept
Applies the inverse-transpose of this transform to a 3-dimensional direction.
-
inline auto operator()(const frame_t &frame) const noexcept
Transforms and re-orthogonalizes a frame.
-
inline auto operator()(const ray_t &ray) const noexcept
-
inline transform_generic_t &operator*=(const transform_generic_t &t) noexcept
-
inline auto operator*(const transform_generic_t &t) const noexcept
-
inline bool operator==(const transform_generic_t &t) const noexcept
-
inline bool operator!=(const transform_generic_t &t) const noexcept
-
inline const auto &matrix() const noexcept
-
inline const auto &matrix_inverse_transpose() const noexcept
-
template<FloatingPoint S>
inline explicit operator transform_generic_t<S>() const noexcept Explicit cast to a different floating-point type
S
.
-
inline std::string description() const noexcept
Public Static Functions
-
static inline transform_generic_t rotate(d3_t from, d3_t to) noexcept
-
static inline transform_generic_t rotate(v3_t axis, angle_type angle) noexcept
-
static inline transform_generic_t translate(const pqv3_t &translate) noexcept
-
static inline transform_generic_t scale(const v3_t &scale) noexcept
-
static inline transform_generic_t lookat(const pqv3_t &origin, const pqv3_t &target, const v3_t &up) noexcept
-
static inline transform_generic_t to_frame(const frame_t &f) noexcept
-
static inline transform_generic_t from_frame(const frame_t &f) noexcept
-
static inline transform_generic_t perspective(const angle_t fov, const Fp aspect, const Fp znear) noexcept
-
static inline transform_generic_t viewport(const vec2_t &size) noexcept
-
inline constexpr transform_generic_t()