|
| enum | boundaries : unsigned int {
e_min_r = 0u
, e_min_phi = 1u
, e_min_z = 2u
, e_max_r = 3u
,
e_max_phi = 4u
, e_max_z = 5u
, e_size = 6u
} |
| | Indices describing the entries in the shape boundary array.
|
|
template<concepts::scalar scalar_t> |
| using | bounds_type = darray<scalar_t, boundaries::e_size> |
| | Container definition for the shape boundary values.
|
|
template<concepts::algebra algebra_t> |
| using | local_frame_type = cylindrical3D<algebra_t> |
| | Local coordinate frame for boundary checks.
|
|
template<typename bool_t> |
| using | result_type = bool_t |
| | Result type of a boundary check.
|
|
| template<concepts::algebra algebra_t> |
| dpoint3D< algebra_t > | centroid (const bounds_type< dscalar< algebra_t > > &bounds) const |
| template<concepts::scalar scalar_t> |
| constexpr bool | check_consistency (const bounds_type< scalar_t > &bounds, std::ostream &os) const |
| | Check consistency of boundary values.
|
| template<concepts::algebra algebra_t> |
| darray< dscalar< algebra_t >, 6 > | local_min_bounds (const bounds_type< dscalar< algebra_t > > &bounds, const dscalar< algebra_t > env=std::numeric_limits< dscalar< algebra_t > >::epsilon()) const |
| | Lower and upper point for minimal axis aligned bounding box.
|
| template<concepts::scalar scalar_t> |
| constexpr scalar_t | measure (const bounds_type< scalar_t > &bounds) const |
| | Measure of the shape: Volume.
|
| template<concepts::scalar scalar_t> |
| constexpr bounds_type< scalar_t > | merge (const bounds_type< scalar_t > &bounds, const bounds_type< scalar_t > &o_bounds) const |
| | Merge two 3D cylinder shapes.
|
| template<concepts::scalar scalar_t, concepts::point point_t> |
| scalar_t | min_dist_to_boundary (const bounds_type< scalar_t > &bounds, const point_t &loc_p) const |
| | Find the minimum distance to any boundary.
|
| template<concepts::algebra algebra_t> |
| dvector< dpoint3D< algebra_t > > | vertices (const bounds_type< dscalar< algebra_t > > &, dindex) const |
| | Generate vertices in local cartesian frame.
|
| template<concepts::scalar scalar_t> |
| constexpr scalar_t | volume (const bounds_type< scalar_t > &bounds) const |
| | The volume of a the shape.
|
| template<concepts::algebra algebra_t> |
| constexpr result_type< dbool< algebra_t > > | check_boundaries (const bounds_type< dscalar< algebra_t > > &bounds, const dtransform3D< algebra_t > &trf, const dpoint3D< algebra_t > &glob_p, const dscalar< algebra_t > tol=std::numeric_limits< dscalar< algebra_t > >::epsilon(), const dscalar< algebra_t >=0.f) const |
| | Check boundary values for a local point.
|
| template<concepts::scalar scalar_t, concepts::point point_t> |
| constexpr auto | check_boundaries (const bounds_type< scalar_t > &bounds, const point_t &loc_p, const scalar_t tol=std::numeric_limits< scalar_t >::epsilon(), const scalar_t=0.f) const |
Geometrical shape of a full 3D cylinder.
It is defined by r and the two half lengths rel to the coordinate center.