PhysicsBasedAnimationToolkit 0.0.10
Cross-platform C++20 library of algorithms and data structures commonly used in computer graphics research on physically-based simulation.
Loading...
Searching...
No Matches
pbat::geometry::AxisAlignedBoundingBox< Dims > Class Template Reference

Axis-aligned bounding box class. More...

#include <AxisAlignedBoundingBox.h>

Inheritance diagram for pbat::geometry::AxisAlignedBoundingBox< Dims >:

Public Types

using BaseType = Eigen::AlignedBox<Scalar, Dims>
 Base type.
 
using SelfType = AxisAlignedBoundingBox
 Self type.
 

Public Member Functions

 AxisAlignedBoundingBox (BaseType const &box)
 Copy construct AxisAlignedBoundingBox from Eigen::AlignedBox.
 
 AxisAlignedBoundingBox (BaseType &&box)
 Move construct AxisAlignedBoundingBox from Eigen::AlignedBox.
 
AxisAlignedBoundingBoxoperator= (BaseType const &box)
 Copy assign AxisAlignedBoundingBox from Eigen::AlignedBox.
 
AxisAlignedBoundingBoxoperator= (BaseType &&box)
 Move assign AxisAlignedBoundingBox from Eigen::AlignedBox.
 
template<class TDerivedMin, class TDerivedMax>
 AxisAlignedBoundingBox (Eigen::DenseBase< TDerivedMin > const &min, Eigen::DenseBase< TDerivedMax > const &max)
 Construct AxisAlignedBoundingBox from min and max endpoints.
 
template<class TDerived>
 AxisAlignedBoundingBox (Eigen::DenseBase< TDerived > const &P)
 Construct AxisAlignedBoundingBox over a set of points.
 
template<class TDerived>
std::vector< Indexcontained (Eigen::MatrixBase< TDerived > const &P) const
 Get indices of points in P contained in the bounding box.
 

Static Public Attributes

static auto constexpr kDims = Dims
 Number of dimensions.
 

Detailed Description

template<int Dims>
class pbat::geometry::AxisAlignedBoundingBox< Dims >

Axis-aligned bounding box class.

Note
This class is a thin wrapper around Eigen::AlignedBox
Template Parameters
DimsNumber of dimensions

Constructor & Destructor Documentation

◆ AxisAlignedBoundingBox() [1/4]

template<int Dims>
pbat::geometry::AxisAlignedBoundingBox< Dims >::AxisAlignedBoundingBox ( BaseType const & box)
inline

Copy construct AxisAlignedBoundingBox from Eigen::AlignedBox.

Parameters
boxEigen::AlignedBox

◆ AxisAlignedBoundingBox() [2/4]

template<int Dims>
pbat::geometry::AxisAlignedBoundingBox< Dims >::AxisAlignedBoundingBox ( BaseType && box)
inline

Move construct AxisAlignedBoundingBox from Eigen::AlignedBox.

Parameters
boxEigen::AlignedBox

◆ AxisAlignedBoundingBox() [3/4]

template<int Dims>
template<class TDerivedMin, class TDerivedMax>
pbat::geometry::AxisAlignedBoundingBox< Dims >::AxisAlignedBoundingBox ( Eigen::DenseBase< TDerivedMin > const & min,
Eigen::DenseBase< TDerivedMax > const & max )
inline

Construct AxisAlignedBoundingBox from min and max endpoints.

Template Parameters
TDerivedMinEigen dense expression type
TDerivedMaxEigen dense expression type
Parameters
minMin endpoint
maxMax endpoint
Precondition
min.rows() == Dims and max.rows() == Dims

◆ AxisAlignedBoundingBox() [4/4]

template<int Dims>
template<class TDerived>
pbat::geometry::AxisAlignedBoundingBox< Dims >::AxisAlignedBoundingBox ( Eigen::DenseBase< TDerived > const & P)
inline

Construct AxisAlignedBoundingBox over a set of points.

Template Parameters
TDerivedEigen dense expression type
Parameters
PPoints
Precondition
P.rows() == Dims

Member Function Documentation

◆ contained()

template<int Dims>
template<class TDerived>
std::vector< Index > pbat::geometry::AxisAlignedBoundingBox< Dims >::contained ( Eigen::MatrixBase< TDerived > const & P) const
inline

Get indices of points in P contained in the bounding box.

Template Parameters
TDerivedEigen dense expression type
Parameters
PPoints
Returns
Indices of points in P contained in the bounding box

◆ operator=() [1/2]

template<int Dims>
AxisAlignedBoundingBox< Dims > & pbat::geometry::AxisAlignedBoundingBox< Dims >::operator= ( BaseType && box)
inline

Move assign AxisAlignedBoundingBox from Eigen::AlignedBox.

Parameters
boxEigen::AlignedBox
Returns
Reference to this

◆ operator=() [2/2]

template<int Dims>
AxisAlignedBoundingBox< Dims > & pbat::geometry::AxisAlignedBoundingBox< Dims >::operator= ( BaseType const & box)
inline

Copy assign AxisAlignedBoundingBox from Eigen::AlignedBox.

Parameters
boxEigen::AlignedBox
Returns
Reference to this

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