SpatiumLib
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
spatium::idx::BoundingBox< T, D > Class Template Reference

Axis-aligned bounding box (AABB) in D-dimensional space. More...

#include <Bounds.h>

Inheritance diagram for spatium::idx::BoundingBox< T, D >:
Inheritance graph
[legend]
Collaboration diagram for spatium::idx::BoundingBox< T, D >:
Collaboration graph
[legend]

Public Member Functions

 BoundingBox ()
 Default onstructor. More...
 
 BoundingBox (const std::array< T, D > &center, const std::array< T, D > &radii)
 Constructor. More...
 
bool isInside (const std::array< T, D > &point) const
 
std::array< T, D > min () const
 
std::array< T, D > max () const
 
diameter (size_t dimension) const
 
- Public Member Functions inherited from spatium::idx::Bounds< T, D >
 Bounds ()
 Default constructor. More...
 
 Bounds (const std::array< T, D > &center)
 Constructor. More...
 
std::array< T, D > center () const
 

Static Public Member Functions

static BoundingBox< T, D > fromPoints (const std::vector< std::array< T, D >> &points)
 Build from points. More...
 
static BoundingBox< T, D > fromMinMax (const std::array< T, D > &min, const std::array< T, D > &max)
 

Protected Attributes

std::array< T, D > m_radii
 
- Protected Attributes inherited from spatium::idx::Bounds< T, D >
std::array< T, D > m_center
 

Detailed Description

template<typename T, size_t D>
class spatium::idx::BoundingBox< T, D >

Axis-aligned bounding box (AABB) in D-dimensional space.

Constructor & Destructor Documentation

◆ BoundingBox() [1/2]

template<typename T, size_t D>
spatium::idx::BoundingBox< T, D >::BoundingBox ( )
inline

Default onstructor.

◆ BoundingBox() [2/2]

template<typename T, size_t D>
spatium::idx::BoundingBox< T, D >::BoundingBox ( const std::array< T, D > &  center,
const std::array< T, D > &  radii 
)
inline

Constructor.

Member Function Documentation

◆ diameter()

template<typename T, size_t D>
T spatium::idx::BoundingBox< T, D >::diameter ( size_t  dimension) const
inline

◆ fromMinMax()

template<typename T, size_t D>
static BoundingBox<T,D> spatium::idx::BoundingBox< T, D >::fromMinMax ( const std::array< T, D > &  min,
const std::array< T, D > &  max 
)
inlinestatic

◆ fromPoints()

template<typename T, size_t D>
static BoundingBox<T,D> spatium::idx::BoundingBox< T, D >::fromPoints ( const std::vector< std::array< T, D >> &  points)
inlinestatic

Build from points.

Parameters
[in]pointsPoints in D-dimensional space.

◆ isInside()

template<typename T, size_t D>
bool spatium::idx::BoundingBox< T, D >::isInside ( const std::array< T, D > &  point) const
inline

◆ max()

template<typename T, size_t D>
std::array<T,D> spatium::idx::BoundingBox< T, D >::max ( ) const
inline

◆ min()

template<typename T, size_t D>
std::array<T,D> spatium::idx::BoundingBox< T, D >::min ( ) const
inline

Member Data Documentation

◆ m_radii

template<typename T, size_t D>
std::array<T,D> spatium::idx::BoundingBox< T, D >::m_radii
protected

The documentation for this class was generated from the following file: