|
|
using | scalar_type = scalar_t |
| | Scalar type used by the transform.
|
|
template<std::size_t N> |
| using | array_type = array_t<scalar_type, N> |
| | Vector storage with N components in the selected array layout.
|
|
using | vector2 = algebra::storage::vector<2u, scalar_type, array_t> |
| | Vector and point types.
|
|
using | vector3 = algebra::storage::vector<3u, scalar_type, array_t> |
| | Three-component vector type used for spatial quantities.
|
|
using | point2 = vector2 |
| | Two-dimensional point representation.
|
|
using | point3 = vector3 |
| | Three-dimensional point representation.
|
|
using | matrix44 = algebra::storage::matrix<array_t, scalar_type, 3u, 4u> |
| | 4x4 matrix type (Last row is {0, 0, 0, 1} and can be omitted)
|
|
using | column_t = typename matrix44::vector_type |
| | Column type used to construct the stored matrix.
|
|
using | element_getter = algebra::storage::element_getter |
| | Function (object) used for accessing a matrix element.
|
|
template<concepts::scalar o_scalar_t> |
| using | other_type = transform3<array_t, o_scalar_t> |
| | Helper type to cast this to another floating point precision.
|
|
|
constexpr | transform3 () |
| | Default constructor: identity.
|
| | transform3 (const array_type< 16 > &ma) |
| | Constructor with arguments: matrix as std::array of scalar.
|
| | transform3 (const matrix44 &m) |
| | Constructor with arguments: matrix.
|
| | transform3 (const matrix44 &m, const matrix44 &m_inv) |
| | Constructor with arguments: matrix and its inverse.
|
| | transform3 (const transform3 &rhs)=default |
| | Copy an existing transform.
|
| | transform3 (const vector3 &t) |
| | Constructor with arguments: translation.
|
| | transform3 (const vector3 &t, const vector3 &x, const vector3 &y, const vector3 &z) |
| | Constructor with arguments: t, x, y, z.
|
| | transform3 (const vector3 &t, const vector3 &z, const vector3 &x) |
| | Constructor with arguments: t, z, x.
|
| constexpr scalar_type | determinant (const matrix44 &m) const |
| | The determinant of a 4x4 matrix.
|
| constexpr matrix44 | invert (const matrix44 &m) const |
| | The inverse of a 4x4 matrix.
|
| constexpr const matrix44 & | matrix () const |
| | This method retrieves the 4x4 matrix of a transform.
|
| constexpr const matrix44 & | matrix_inverse () const |
| | This method retrieves the 4x4 matrix of an inverse transform.
|
| constexpr scalar_type & | operator() (std::size_t row, std::size_t col) |
| | Return a writable matrix element.
|
| constexpr const scalar_type & | operator() (std::size_t row, std::size_t col) const |
| | Matrix access operator.
|
| constexpr bool | operator== (const transform3 &rhs) const |
| | Equality operator.
|
| template<concepts::point2D point2_type> |
| constexpr auto | point_to_global (const point2_type &p) const |
| | This method transform from a point from the local 2D cartesian frame to the global 3D cartesian frame.
|
| template<concepts::point3D point3_type> |
| constexpr auto | point_to_global (const point3_type &p) const |
| | This method transform from a point from the local 3D cartesian frame to the global 3D cartesian frame.
|
| template<concepts::point3D point3_type> |
| constexpr auto | point_to_local (const point3_type &p) const |
| | This method transform from a vector from the global 3D cartesian frame into the local 3D cartesian frame.
|
| template<concepts::vector2D vector2_type> |
| constexpr auto | rotate (const matrix44 &m, const vector2_type &v) const |
| | Rotate a vector into / from a frame.
|
| template<concepts::vector3D vector3_type> |
| constexpr auto | rotate (const matrix44 &m, const vector3_type &v) const |
| | Rotate a vector into / from a frame.
|
| constexpr auto | rotation () const |
| | This method retrieves the rotation of a transform.
|
| constexpr const auto & | translation () const |
| | This method retrieves the translation.
|
| template<concepts::vector2D vector2_type> |
| constexpr auto | vector_to_global (const vector2_type &v) const |
| | This method transform from a vector from the local 2D cartesian frame to the global 3D cartesian frame.
|
| template<concepts::vector3D vector3_type> |
| constexpr auto | vector_to_global (const vector3_type &v) const |
| | This method transform from a vector from the local 3D cartesian frame to the global 3D cartesian frame.
|
| template<concepts::vector3D vector3_type> |
| constexpr auto | vector_to_local (const vector3_type &v) const |
| | This method transform from a vector from the global 3D cartesian frame into the local 3D cartesian frame.
|
| constexpr const auto & | x () const |
| | This method retrieves the new x-axis.
|
| constexpr const auto & | y () const |
| | This method retrieves the new y-axis.
|
| constexpr const auto & | z () const |
| | This method retrieves the new z-axis.
|
template<template< typename, std::size_t > class array_t, concepts::scalar scalar_t>
struct detray::algebra::vc_aos::math::transform3< array_t, scalar_t >
Transform wrapper class to ensure standard API within different plugins.