|
|
using | scalar_type = scalar_t |
| | Scalar type.
|
|
template<index_t N> |
| using | array_type = array_t<scalar_t, N> |
| | Array type used by the transform.
|
|
using | matrix44 = matrix_t<scalar_t, 4, 4> |
| | Homogeneous matrix type used to store the transform.
|
|
using | vector2 = detray::traits::get_vector_t<matrix44, 2, scalar_t> |
| | Two-component vector type used for local plane coordinates.
|
|
using | vector3 = detray::traits::get_vector_t<matrix44, 3, scalar_t> |
| | Three-component vector type used for spatial quantities.
|
| using | point2 = vector2 |
| | Two-dimensional point representation (same storage as a vector).
|
| using | point3 = vector3 |
| | Three-dimensional point representation (same storage as a vector).
|
|
using | element_getter = detray::traits::element_getter_t<matrix44> |
| | Function (object) used for accessing a matrix element/block.
|
|
using | block_getter = detray::traits::block_getter_t<matrix44> |
| | Accessor for the 3x3 rotation block of the homogeneous matrix.
|
|
using | matrix_inversion = generic::matrix::inverse::hard_coded<matrix44> |
| | Matrix inversion algorithm.
|
|
template<concepts::scalar o_scalar_t> |
| using | other_type = transform3<index_t, o_scalar_t, matrix_t, array_t> |
| | Helper type to cast this to another floating point precision.
|
|
|
constexpr | transform3 ()=default |
| | Default constructor: identity.
|
| | transform3 (const array_type< 16 > &ma) |
| | Constructor with arguments: matrix as 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 vector3 &t) |
| | Constructor with arguments: translation.
|
| | transform3 (const vector3 &t, const vector3 &x, const vector3 &y, const vector3 &z, bool get_inverse=true) |
| | Constructor with arguments: t, x, y, z.
|
| | transform3 (const vector3 &t, const vector3 &z, const vector3 &x, bool get_inverse=true) |
| | Constructor with arguments: t, z, x.
|
| 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 bool | operator== (const transform3 &rhs) const |
| | Equality operator.
|
| constexpr point3 | point_to_global (const point2 &v) const |
| | This method transform from a point from the local 2D cartesian frame to the global 3D cartesian frame.
|
| constexpr point3 | point_to_global (const point3 &v) const |
| | This method transform from a point from the local 3D cartesian frame to the global 3D cartesian frame.
|
| constexpr point3 | point_to_local (const point3 &v) const |
| | Transform a global point to local coordinates.
|
| auto constexpr | rotation () const |
| | This method retrieves the rotation of a transform.
|
| constexpr point3 | translation () const |
| | This method retrieves the translation of a transform.
|
| constexpr vector3 | vector_to_global (const vector2 &v) const |
| | This method transform from a vector from the local 2D cartesian frame to the global 3D cartesian frame.
|
| constexpr vector3 | vector_to_global (const vector3 &v) const |
| | This method transform from a vector from the local 3D cartesian frame to the global 3D cartesian frame.
|
| constexpr vector3 | vector_to_local (const vector3 &v) const |
| | This method transform from a vector from the global 3D cartesian frame into the local 3D cartesian frame.
|
| constexpr point3 | x () const |
| | This method retrieves x axis.
|
| constexpr point3 | y () const |
| | This method retrieves y axis.
|
| constexpr point3 | z () const |
| | This method retrieves z axis.
|
template<concepts::index index_t, concepts::scalar scalar_t, template< typename, index_t, index_t > class matrix_t, template< typename, index_t > class array_t>
struct detray::algebra::generic::math::transform3< index_t, scalar_t, matrix_t, array_t >
Transform wrapper class to ensure standard API within different plugins.
template<concepts::index index_t, concepts::scalar scalar_t, template< typename, index_t, index_t > class matrix_t, template< typename, index_t > class array_t>
Two-dimensional point representation (same storage as a vector).
Two-dimensional point representation.
template<concepts::index index_t, concepts::scalar scalar_t, template< typename, index_t, index_t > class matrix_t, template< typename, index_t > class array_t>
Three-dimensional point representation (same storage as a vector).
Three-dimensional point representation.
template<concepts::index index_t, concepts::scalar scalar_t, template< typename, index_t, index_t > class matrix_t, template< typename, index_t > class array_t>
Constructor with arguments: t, x, y, z.
- Parameters
-
| t | the translation (or origin of the new frame) |
| x | the x axis of the new frame |
| y | the y axis of the new frame |
| z | the z axis of the new frame, normal vector for planes |
| get_inverse | whether to compute and store the inverse matrix |
template<concepts::index index_t, concepts::scalar scalar_t, template< typename, index_t, index_t > class matrix_t, template< typename, index_t > class array_t>
Constructor with arguments: t, z, x.
- Parameters
-
| t | the translation (or origin of the new frame) |
| z | the z axis of the new frame, normal vector for planes |
| x | the x axis of the new frame |
| get_inverse | whether to compute and store the inverse matrix |
- Note
- y will be constructed by cross product
template<concepts::index index_t, concepts::scalar scalar_t, template< typename, index_t, index_t > class matrix_t, template< typename, index_t > class array_t>
This method transform from a point from the local 2D cartesian frame to the global 3D cartesian frame.
- Parameters
-
| v | point in local plane coordinates |
- Returns
- the point in global coordinates
template<concepts::index index_t, concepts::scalar scalar_t, template< typename, index_t, index_t > class matrix_t, template< typename, index_t > class array_t>
This method transform from a point from the local 3D cartesian frame to the global 3D cartesian frame.
- Parameters
-
| v | point in local coordinates |
- Returns
- the point in global coordinates
template<concepts::index index_t, concepts::scalar scalar_t, template< typename, index_t, index_t > class matrix_t, template< typename, index_t > class array_t>
This method transform from a vector from the local 2D cartesian frame to the global 3D cartesian frame.
- Parameters
-
| v | vector in local plane coordinates |
- Returns
- the vector in global coordinates
template<concepts::index index_t, concepts::scalar scalar_t, template< typename, index_t, index_t > class matrix_t, template< typename, index_t > class array_t>
This method transform from a vector from the local 3D cartesian frame to the global 3D cartesian frame.
- Parameters
-
| v | vector in local coordinates |
- Returns
- the vector in global coordinates
template<concepts::index index_t, concepts::scalar scalar_t, template< typename, index_t, index_t > class matrix_t, template< typename, index_t > class array_t>
This method transform from a vector from the global 3D cartesian frame into the local 3D cartesian frame.
- Parameters
-
| v | vector in global coordinates |
- Returns
- the vector in local coordinates