An axis-aligned N-dimensional bounding box class template of fixed dimension with supporting functions.
More...
|
| template<typename T , Size DIM> |
| Bbox< T, DIM > |
mi::math::operator+ (const Bbox< T, DIM > &bbox, T value) |
| |
Returns a bounding box that is the bbox increased by a constant value at each face, i.e., value is added to bbox.max and subtracted from bbox.min. More...
|
| |
| template<typename T , Size DIM> |
| Bbox< T, DIM > |
mi::math::operator- (const Bbox< T, DIM > &bbox, T value) |
| |
Returns a bounding box that is the bbox shrunk by a constant value at each face, i.e., value is subtracted from bbox.max and added to bbox.min. More...
|
| |
| template<typename T , Size DIM> |
| Bbox< T, DIM > |
mi::math::operator* (const Bbox< T, DIM > &bbox, T factor) |
| |
Returns a bounding box that is a version of bbox scaled by factor, i.e., bbox.max and bbox.min are multiplied by factor. More...
|
| |
| template<typename T , Size DIM> |
| Bbox< T, DIM > |
mi::math::operator/ (const Bbox< T, DIM > &bbox, T divisor) |
| |
Returns a bounding box that is a version of bbox divided by divisor, i.e., bbox.max and bbox.min are divided by divisor. More...
|
| |
| template<typename T , Size DIM> |
| Bbox< T, DIM > & |
mi::math::operator+= (Bbox< T, DIM > &bbox, T value) |
| |
Increases bbox by a constant value at each face, i.e., value is added to bbox.max and subtracted from bbox.min. More...
|
| |
| template<typename T , Size DIM> |
| Bbox< T, DIM > & |
mi::math::operator-= (Bbox< T, DIM > &bbox, T value) |
| |
Shrinks bbox by a constant value at each face, i.e., value is subtracted from bbox.max and added to bbox.min. More...
|
| |
| template<typename T , Size DIM> |
| Bbox< T, DIM > & |
mi::math::operator*= (Bbox< T, DIM > &bbox, T factor) |
| |
Scales bbox by factor, i.e., bbox.max and bbox.min are multiplied by factor. More...
|
| |
| template<typename T , Size DIM> |
| Bbox< T, DIM > & |
mi::math::operator/= (Bbox< T, DIM > &bbox, T divisor) |
| |
Divide bbox by divisor, i.e., bbox.max and bbox.min are divided by divisor. More...
|
| |
| template<typename T , Size DIM> |
| bool |
mi::math::operator== (const Bbox< T, DIM > &lhs, const Bbox< T, DIM > &rhs) |
| |
Returns true if lhs is elementwise equal to rhs. More...
|
| |
| template<typename T , Size DIM> |
| bool |
mi::math::operator!= (const Bbox< T, DIM > &lhs, const Bbox< T, DIM > &rhs) |
| |
Returns true if lhs is elementwise not equal to rhs. More...
|
| |
| template<typename T , Size DIM> |
| bool |
mi::math::operator< (const Bbox< T, DIM > &lhs, const Bbox< T, DIM > &rhs) |
| |
Returns true if lhs is lexicographically less than rhs. More...
|
| |
| template<typename T , Size DIM> |
| bool |
mi::math::operator<= (const Bbox< T, DIM > &lhs, const Bbox< T, DIM > &rhs) |
| |
Returns true if lhs is lexicographically less than or equal to rhs. More...
|
| |
| template<typename T , Size DIM> |
| bool |
mi::math::operator> (const Bbox< T, DIM > &lhs, const Bbox< T, DIM > &rhs) |
| |
Returns true if lhs is lexicographically greater than rhs. More...
|
| |
| template<typename T , Size DIM> |
| bool |
mi::math::operator>= (const Bbox< T, DIM > &lhs, const Bbox< T, DIM > &rhs) |
| |
Returns true if lhs is lexicographically greater than or equal to rhs. More...
|
| |
| template<typename T , Size DIM> |
| Bbox< T, DIM > |
mi::math::lerp (const Bbox< T, DIM > &bbox1, const Bbox< T, DIM > &bbox2, T t) |
| |
Returns the linear interpolation between bbox1 and bbox2, i.e., it returns (1-t) * bbox1 + t * bbox2. More...
|
| |
| template<typename T , Size DIM> |
| Bbox< T, DIM > |
mi::math::clip (const Bbox< T, DIM > &bbox1, const Bbox< T, DIM > &bbox2) |
| |
Clip bbox1 at bbox2 and return the result. More...
|
| |
| template<typename TT , typename T > |
| Bbox< T, 3 > |
mi::math::transform_point (const Matrix< TT, 4, 4 > &mat, const Bbox< T, 3 > &bbox) |
| |
Returns the 3D bounding box transformed by a matrix. More...
|
| |
| template<typename TT , typename T > |
| Bbox< T, 3 > |
mi::math::transform_vector (const Matrix< TT, 4, 4 > &mat, const Bbox< T, 3 > &bbox) |
| |
Returns the 3D bounding box transformed by a matrix. More...
|
| |
An axis-aligned N-dimensional bounding box class template of fixed dimension with supporting functions.