Material Definition Language API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
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

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

Constant Groups

 mi
 Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
 
 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. I.e., the resulting bbox is the intersection of bbox1 with bbox2. 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.