|
|
constexpr | axis_aligned_bounding_volume ()=default |
| | Default constructor builds an infinite box.
|
template<typename mask_t, typename S = shape_t>
requires std::is_same_v<S, cuboid3D> |
| constexpr | axis_aligned_bounding_volume (const mask_t &mask, std::size_t box_id, const scalar_t envelope) |
| | Construct around an arbitrary surface mask.
|
template<typename other_shape_t>
requires std::is_same_v< typename shape::template local_frame_type<algebra_t>, typename other_shape_t::template local_frame_type<algebra_t>> |
| constexpr | axis_aligned_bounding_volume (const std::vector< axis_aligned_bounding_volume< other_shape_t, algebra_t > > &aabbs, std::size_t box_id, const scalar_t env) |
| | Construct a bounding box around a set of boxes.
|
| | axis_aligned_bounding_volume (const std::vector< scalar_t > &values, std::size_t box_id) |
| | Construct from mask boundary vector.
|
| template<typename... Args> |
| constexpr | axis_aligned_bounding_volume (std::size_t box_id, Args &&... args) |
| | Constructor from mask boundary values.
|
| constexpr auto | bounds () const -> const mask< shape, algebra_t, std::size_t > & |
| | Return the shape mask storing this volume's bounds.
|
| template<concepts::point3D point3_t> |
| constexpr auto | center () const -> point3_t |
| template<concepts::transform3D transform3_t> |
| constexpr auto | glob_max (const transform3_t &trf) const -> typename transform3_t::point3 |
| | Transform the local maximum bounds into global Cartesian coordinates.
|
| template<concepts::transform3D transform3_t> |
| constexpr auto | glob_min (const transform3_t &trf) const -> typename transform3_t::point3 |
| | Transform the local minimum bounds into global Cartesian coordinates.
|
| constexpr auto | id () const -> std::size_t |
| | Return the volume identifier.
|
| constexpr bool | intersect (const detail::ray< algebra_t > &ray, const scalar_t t=std::numeric_limits< scalar_t >::epsilon()) const |
| | Intersect the box with a ray.
|
| template<concepts::point point_t> |
| constexpr bool | is_inside (const point_t &loc_p, const scalar_t t=std::numeric_limits< scalar_t >::epsilon()) const |
| | Checks whether a point lies inside the box.
|
| template<typename point_t> |
| constexpr auto | loc_max () const -> point_t |
| template<typename point_t> |
| constexpr auto | loc_min () const -> point_t |
| constexpr auto | operator[] (const std::size_t i) const -> scalar_t |
| | Access one boundary value by its shape-specific index.
|
template<concepts::transform3D transform3_t, typename S = shape_t>
requires std::is_same_v<S, cuboid3D> |
| auto | transform (const transform3_t &trf) const -> axis_aligned_bounding_volume |
| | Lower and upper point for minimum axis aligned bounding box of cuboid shape.
|
|
using | scalar_t = dscalar<algebra_t> |
| | Define geometric propertiesScalar type used by the volume's mask.
|
|
using | shape = shape_t |
| | Shape whose bounds are represented by this volume.
|
|
using | boundaries = typename shape_t::boundaries |
| | Boundary enumeration for the represented shape.
|
|
template<typename A> |
| using | local_frame = typename shape_t::template local_frame_type<A> |
| | Local frame type associated with the shape and algebra backend.
|
|
static constexpr std::size_t | dim {shape_t::dim} |
| | Number of dimensions in the represented shape.
|
template<typename shape_t, concepts::algebra algebra_t>
class detray::axis_aligned_bounding_volume< shape_t, algebra_t >
An axis aligned bounding box of a given.
- Template Parameters
-