 IMP Reference Guide  develop.6100cc8943,2021/10/24 The Integrative Modeling Platform
IMP::algebra::BoundingBoxD< D > Class Template Reference

An axis-aligned bounding box. More...

#include <IMP/algebra/BoundingBoxD.h> Inheritance diagram for IMP::algebra::BoundingBoxD< D >:

## Detailed Description

### template<int D> class IMP::algebra::BoundingBoxD< D >

An axis-aligned bounding box.

The BoundingBoxD class provides a unified representation for bounding boxes in IMP. Geometric objects should have an associated namespace method like get_bounding_box() which returns the bounding boxes of objects.

Note
This class is a geometric primitive.

Definition at line 27 of file BoundingBoxD.h.

## Public Member Functions

BoundingBoxD ()
Create an empty bounding box. More...

BoundingBoxD (unsigned int d)
Create an empty bounding box. More...

BoundingBoxD (const VectorD< D > &lb, const VectorD< D > &ub)
Make from the lower and upper corners. More...

BoundingBoxD (const VectorD< D > &v)
Creating a bounding box containing one point. More...

BoundingBoxD (const Vector< VectorD< D > > &points)
Creating a bounding box from a set of points. More...

bool get_contains (const VectorD< D > &o) const
True if the point o is contained within this bounding box. More...

bool get_contains (const BoundingBoxD &bb) const
True if the input bounding box is completely contained within this one. More...

const VectorD< D > & get_corner (unsigned int i) const
For 0 return lower corner and for 1, the upper corner. More...

unsigned int get_dimension () const

template<class O >
const BoundingBoxD< D > operator+ (const BoundingBoxD< D > &o) const
Returning a bounding box containing both. More...

template<class O >
const BoundingBoxD< D > operator+ (const O &o) const
Return a bounding box grown by o on all sides. More...

const BoundingBoxD< D > & operator+= (const BoundingBoxD< D > &o)
Extend the current bounding box to include the other. More...

const BoundingBoxD< D > & operator+= (const VectorD< D > &o)
Extend the current bounding box to include the point. More...

const BoundingBoxD< D > & operator+= (double o)
Grow the bounding box by o on all sizes. More...

void show (std::ostream &out=std::cout) const

## Constructor & Destructor Documentation

template<int D>
 IMP::algebra::BoundingBoxD< D >::BoundingBoxD ( )

Create an empty bounding box.

Definition at line 37 of file BoundingBoxD.h.

template<int D>
 IMP::algebra::BoundingBoxD< D >::BoundingBoxD ( unsigned int d )
explicit

Create an empty bounding box.

Definition at line 60 of file BoundingBoxD.h.

template<int D>
 IMP::algebra::BoundingBoxD< D >::BoundingBoxD ( const VectorD< D > & lb, const VectorD< D > & ub )

Make from the lower and upper corners.

Definition at line 72 of file BoundingBoxD.h.

template<int D>
 IMP::algebra::BoundingBoxD< D >::BoundingBoxD ( const VectorD< D > & v )
explicit

Creating a bounding box containing one point.

Definition at line 82 of file BoundingBoxD.h.

template<int D>
 IMP::algebra::BoundingBoxD< D >::BoundingBoxD ( const Vector< VectorD< D > > & points )

Creating a bounding box from a set of points.

Definition at line 88 of file BoundingBoxD.h.

## Member Function Documentation

template<int D>
 bool IMP::algebra::BoundingBoxD< D >::get_contains ( const VectorD< D > & o ) const

True if the point o is contained within this bounding box.

Definition at line 145 of file BoundingBoxD.h.

template<int D>
 bool IMP::algebra::BoundingBoxD< D >::get_contains ( const BoundingBoxD< D > & bb ) const

True if the input bounding box is completely contained within this one.

Definition at line 152 of file BoundingBoxD.h.

template<int D>
 const VectorD& IMP::algebra::BoundingBoxD< D >::get_corner ( unsigned int i ) const

For 0 return lower corner and for 1, the upper corner.

Definition at line 139 of file BoundingBoxD.h.

template<int D>
template<class O >
 const BoundingBoxD IMP::algebra::BoundingBoxD< D >::operator+ ( const BoundingBoxD< D > & o ) const

Returning a bounding box containing both.

Definition at line 125 of file BoundingBoxD.h.

template<int D>
template<class O >
 const BoundingBoxD IMP::algebra::BoundingBoxD< D >::operator+ ( const O & o ) const

Return a bounding box grown by o on all sides.

Definition at line 132 of file BoundingBoxD.h.

template<int D>
 const BoundingBoxD& IMP::algebra::BoundingBoxD< D >::operator+= ( const BoundingBoxD< D > & o )

Extend the current bounding box to include the other.

Definition at line 98 of file BoundingBoxD.h.

template<int D>
 const BoundingBoxD& IMP::algebra::BoundingBoxD< D >::operator+= ( const VectorD< D > & o )

Extend the current bounding box to include the point.

Definition at line 107 of file BoundingBoxD.h.

template<int D>
 const BoundingBoxD& IMP::algebra::BoundingBoxD< D >::operator+= ( double o )

Grow the bounding box by o on all sizes.

Definition at line 116 of file BoundingBoxD.h.

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