|
sandbox
|
Matrix casting and decomposition utilities. More...
#include <type_traits>#include <concepts>#include <utility>#include <libsbx/math/concepts.hpp>#include <libsbx/math/matrix.hpp>#include <libsbx/math/matrix3x3.hpp>#include <libsbx/math/matrix4x4.hpp>#include <libsbx/math/quaternion.hpp>#include <libsbx/math/matrix_cast.ipp>Go to the source code of this file.
Classes | |
| struct | sbx::math::decompose_result |
| Result of matrix decomposition. More... | |
Namespaces | |
| namespace | libsbx |
Concepts | |
| concept | sbx::math::dispatcher_for |
| Concept describing a valid dispatcher implementation. | |
Functions | |
| template<typename To , typename From > requires (dispatcher_for<detail::matrix_cast_impl<To, std::remove_cvref_t<From>>, To, From>) | |
| constexpr auto | sbx::math::matrix_cast (const From &from) -> To |
| Casts between matrix-related types. More... | |
| auto | sbx::math::decompose (const matrix4x4 &matrix) noexcept -> decompose_result |
| Decomposes a transformation matrix into position, rotation, and scale. More... | |
Matrix casting and decomposition utilities.
This header provides a generic, extensible mechanism for casting between different matrix representations, as well as helpers for extracting transformation components from matrices.
Supported conversions include:
|
noexcept |
Decomposes a transformation matrix into position, rotation, and scale.
| matrix | Input transformation matrix. |
|
constexpr |
Casts between matrix-related types.
| To | Target type. |
| From | Source type. |
| from | Source value. |