IMP  2.3.0
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 base::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 contained within this bounding box. More...
 
const VectorD< D > & get_corner (unsigned int i) const
 For 0 return lower corner and 1 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)
 
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 44 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 56 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 66 of file BoundingBoxD.h.

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

Creating a bounding box from a set of points.

Definition at line 72 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 129 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 contained within this bounding box.

Definition at line 136 of file BoundingBoxD.h.

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

For 0 return lower corner and 1 upper corner.

Definition at line 123 of file BoundingBoxD.h.

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

Returning a bounding box containing both.

Definition at line 109 of file BoundingBoxD.h.

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

Return a bounding box grown by o on all sides.

Definition at line 116 of file BoundingBoxD.h.

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

extend the current bounding box to include the other

Definition at line 82 of file BoundingBoxD.h.

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

extend the current bounding box to include the point

Definition at line 91 of file BoundingBoxD.h.

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

Grow the bounding box by o on all sizes.

Definition at line 100 of file BoundingBoxD.h.


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