Math API nvidia_logo_transpbg.gif Up
bbox.h File Reference

An axis-aligned N-dimensional bounding box class template of fixed dimension with supporting functions. More...

Go to the source code of this file.

Classes

struct  mi::math::Bbox_struct<T, DIM>
 Storage class for an axis-aligned N-dimensional bounding box class template of fixed dimension. More...
 
class  mi::math::Bbox<T, DIM>
 Axis-aligned N-dimensional bounding box class template of fixed dimension. More...
 

Namespaces

namespace  mi
 Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
 
namespace  mi::math
 Namespace for the Math API.
 

Functions

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...
 

Detailed Description

An axis-aligned N-dimensional bounding box class template of fixed dimension with supporting functions.

See Bounding Box Class.