|
const V & | operator[] (int e) const |
| min/max access by 0/1 index
|
|
V & | operator[] (int e) |
|
| Box () |
| create invalid box by default
|
|
| Box (const V &min, const V &max) |
|
template<typename VV = V, typename std::enable_if_t< VectorTraits< VV >::supportNoInit, int > = 0> |
| Box (NoInit) |
| skip initialization of min/max
|
|
template<typename VV = V, typename std::enable_if_t<!VectorTraits< VV >::supportNoInit, int > = 0> |
| Box (NoInit) |
|
template<typename U > |
| Box (const Box< U > &a) |
|
bool | valid () const |
| true if the box contains at least one point
|
|
V | center () const |
| computes center of the box
|
|
V | size () const |
| computes size of the box in all dimensions
|
|
T | diagonal () const |
| computes length from min to max
|
|
T | volume () const |
| computes the volume of this box
|
|
void | include (const V &pt) |
| minimally increases the box to include given point
|
|
void | include (const Box &b) |
| minimally increases the box to include another box
|
|
bool | contains (const V &pt) const |
| checks whether given point is inside (including the surface) of the box
|
|
V | getBoxClosestPointTo (const V &pt) const |
| returns closest point in the box to given point
|
|
bool | intersects (const Box &b) const |
| checks whether this box intersects or touches given box
|
|
Box | intersection (const Box &b) const |
| computes intersection between this and other box
|
|
Box & | intersect (const Box &b) |
|
T | getDistanceSq (const Box &b) const |
|
T | getDistanceSq (const V &pt) const |
|
Box | expanded (const V &expansion) const |
| decreases min and increased max on given value
|
|
Box | insignificantlyExpanded () const |
| decreases min and increases max to their closest representable value
|
|
bool | operator== (const Box &a) const |
|
bool | operator!= (const Box &a) const |
|
template<typename V>
struct MR::Box< V >
Box given by its min- and max- corners.