![]() |
Rosetta
2020.11
|
3d axis aligned bounding box class More...
#include <BoundingBox.hh>
Public Types | |
typedef T | PointPosition |
3d point position More... | |
Public Member Functions | |
BoundingBox ()=default | |
default constructor More... | |
BoundingBox (PointPosition const &pp) | |
point constructor More... | |
BoundingBox (PointPosition const &lower, PointPosition const &upper) | |
corner constructor More... | |
BoundingBox (BoundingBox const &bb) | |
copy constructor More... | |
~BoundingBox ()=default | |
default destructor More... | |
BoundingBox & | operator= (BoundingBox const &bb) |
copy assignment More... | |
void | add (PointPosition const &pp) |
add a point, expands bounds if necessary More... | |
PointPosition const & | lower () const |
get lower corner More... | |
PointPosition const & | upper () const |
get upper corner More... | |
void | set_lower (PointPosition const &p) |
set lower corner More... | |
void | set_upper (PointPosition const &p) |
set upper corner More... | |
void | reset (PointPosition const &p=PointPosition()) |
reset corners More... | |
template<typename U > | |
void | expand (U const &scalar) |
expand box corners (additive) More... | |
template<typename U > | |
void | contract (U const &scalar) |
void | translate (PointPosition const &t) |
translate bounding box More... | |
bool | intersects (BoundingBox const &bb) const |
intersects another bounding box? More... | |
template<typename U > | |
bool | contains (U const &x, U const &y, U const &z) const |
is point contained within this bounding box? More... | |
bool | contains (PointPosition const &p) const |
is point contained within this bounding box? More... | |
Private Attributes | |
PointPosition | lower_ |
PointPosition | upper_ |
3d axis aligned bounding box class
template type must be 3d and have .x(), .y(), .z() accessors
typedef T numeric::geometry::BoundingBox< typename >::PointPosition |
3d point position
|
inlinedefault |
default constructor
|
inline |
point constructor
|
inline |
corner constructor
|
inline |
copy constructor
|
inlinedefault |
default destructor
|
inline |
add a point, expands bounds if necessary
Referenced by pyrosetta.bindings.pose.ResidueLabelAccessor::discard().
|
inline |
is point contained within this bounding box?
Referenced by numeric::geometry::hashing::SixDCoordinateBinner::bin6(), numeric::geometry::hashing::SixDCoordinateBinner::contains(), and numeric::geometry::BoundingBox< Vector >::contains().
|
inline |
is point contained within this bounding box?
|
inline |
|
inline |
expand box corners (additive)
|
inline |
intersects another bounding box?
|
inline |
get lower corner
Referenced by numeric::geometry::hashing::SixDCoordinateBinner::bin6(), numeric::geometry::hashing::SixDCoordinateBinner::bin_center_point(), numeric::geometry::hashing::SixDCoordinateBinner::bounding_volume_from_index(), numeric::VoxelGrid< typename >::GetNeighbors1D(), numeric::VoxelGrid< typename >::GetNeighborsMultiDimensional(), numeric::geometry::hashing::SixDCoordinateBinner::halfbin6(), and numeric::geometry::hashing::SixDCoordinateBinner::SixDCoordinateBinner().
|
inline |
copy assignment
|
inline |
reset corners
|
inline |
set lower corner
|
inline |
set upper corner
Referenced by numeric::geometry::hashing::SixDCoordinateBinner::SixDCoordinateBinner().
|
inline |
translate bounding box
|
inline |
|
private |
Referenced by numeric::geometry::BoundingBox< Vector >::add(), numeric::geometry::BoundingBox< Vector >::contains(), numeric::geometry::BoundingBox< Vector >::contract(), numeric::geometry::BoundingBox< Vector >::expand(), numeric::geometry::BoundingBox< Vector >::intersects(), numeric::geometry::BoundingBox< Vector >::lower(), numeric::geometry::BoundingBox< Vector >::operator=(), numeric::geometry::BoundingBox< Vector >::reset(), numeric::geometry::BoundingBox< Vector >::set_lower(), and numeric::geometry::BoundingBox< Vector >::translate().
|
private |
Referenced by numeric::geometry::BoundingBox< Vector >::add(), numeric::geometry::BoundingBox< Vector >::contains(), numeric::geometry::BoundingBox< Vector >::contract(), numeric::geometry::BoundingBox< Vector >::expand(), numeric::geometry::BoundingBox< Vector >::intersects(), numeric::geometry::BoundingBox< Vector >::operator=(), numeric::geometry::BoundingBox< Vector >::reset(), numeric::geometry::BoundingBox< Vector >::set_upper(), numeric::geometry::BoundingBox< Vector >::translate(), and numeric::geometry::BoundingBox< Vector >::upper().