Rosetta
|
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< T >::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
References numeric::geometry::BoundingBox< T >::lower_, and numeric::geometry::BoundingBox< T >::upper_.
Referenced by job_manager.MoveStatsWindow::__init__(), and pyrosetta.bindings.pose.ResidueLabelAccessor::discard().
|
inline |
is point contained within this bounding box?
References numeric::geometry::BoundingBox< T >::contains(), and kmeans_adaptive_kernel_density_bb_dependent_rotlib::p.
|
inline |
is point contained within this bounding box?
References numeric::geometry::BoundingBox< T >::lower_, numeric::geometry::BoundingBox< T >::upper_, x, predPRE::y, and predPRE::z.
Referenced by numeric::geometry::hashing::SixDCoordinateBinner::bin6(), numeric::geometry::BoundingBox< T >::contains(), and numeric::geometry::hashing::SixDCoordinateBinner::contains().
|
inline |
|
inline |
expand box corners (additive)
References numeric::geometry::BoundingBox< T >::lower_, and numeric::geometry::BoundingBox< T >::upper_.
|
inline |
intersects another bounding box?
References numeric::geometry::BoundingBox< T >::lower_, and numeric::geometry::BoundingBox< T >::upper_.
|
inline |
get lower corner
References numeric::geometry::BoundingBox< T >::lower_.
Referenced by numeric::geometry::hashing::SixDCoordinateBinner::bin6(), numeric::geometry::hashing::SixDCoordinateBinner::bin_center_point(), numeric::geometry::hashing::SixDCoordinateBinner::bounding_volume_from_index(), options_class.Option::getDoxygenRow(), options_class.Option::getMarkdownRow(), options_class.Option::getOptionCC(), options_class.Option::getWikiTableRow(), numeric::geometry::hashing::SixDCoordinateBinner::halfbin6(), and numeric::geometry::hashing::SixDCoordinateBinner::SixDCoordinateBinner().
|
inline |
copy assignment
References numeric::geometry::BoundingBox< T >::lower_, and numeric::geometry::BoundingBox< T >::upper_.
|
inline |
|
inline |
set lower corner
References numeric::geometry::BoundingBox< T >::lower_, and kmeans_adaptive_kernel_density_bb_dependent_rotlib::p.
|
inline |
set upper corner
References kmeans_adaptive_kernel_density_bb_dependent_rotlib::p, and numeric::geometry::BoundingBox< T >::upper_.
Referenced by numeric::geometry::hashing::SixDCoordinateBinner::SixDCoordinateBinner().
|
inline |
translate bounding box
References numeric::geometry::BoundingBox< T >::lower_, predPRE::t, and numeric::geometry::BoundingBox< T >::upper_.
|
inline |
get upper corner
References numeric::geometry::BoundingBox< T >::upper_.
Referenced by options_class.Option::getDoxygenRow(), options_class.Option::getMarkdownRow(), options_class.Option::getOptionCC(), options_class.Option::getWikiTableRow(), and numeric::geometry::hashing::SixDCoordinateBinner::SixDCoordinateBinner().
|
private |
Referenced by numeric::geometry::BoundingBox< T >::add(), numeric::geometry::BoundingBox< T >::contains(), numeric::geometry::BoundingBox< T >::contract(), numeric::geometry::BoundingBox< T >::expand(), numeric::geometry::BoundingBox< T >::intersects(), numeric::geometry::BoundingBox< T >::lower(), numeric::geometry::BoundingBox< T >::operator=(), numeric::geometry::BoundingBox< T >::reset(), numeric::geometry::BoundingBox< T >::set_lower(), and numeric::geometry::BoundingBox< T >::translate().
|
private |
Referenced by numeric::geometry::BoundingBox< T >::add(), numeric::geometry::BoundingBox< T >::contains(), numeric::geometry::BoundingBox< T >::contract(), numeric::geometry::BoundingBox< T >::expand(), numeric::geometry::BoundingBox< T >::intersects(), numeric::geometry::BoundingBox< T >::operator=(), numeric::geometry::BoundingBox< T >::reset(), numeric::geometry::BoundingBox< T >::set_upper(), numeric::geometry::BoundingBox< T >::translate(), and numeric::geometry::BoundingBox< T >::upper().