MeshLib C++ Docs
Loading...
Searching...
No Matches

Classes

struct  MR::Box< V >
 Box given by its min- and max- corners. More...
 

Functions

template<typename T >
std::array< Vector3< T >, 8 > MR::getCorners (const Box< Vector3< T > > &box)
 returns all corners of given box
 
template<typename T >
std::array< Vector2< T >, 4 > MR::getCorners (const Box< Vector2< T > > &box)
 
template<typename V >
MinMax< typename Box< V >::T > MR::getTouchPlanes (const Box< V > &box, const V &n)
 
template<typename V >
Box< V > MR::transformed (const Box< V > &box, const AffineXf< V > &xf)
 find the tightest box enclosing this one after transformation
 
template<typename V >
Box< V > MR::transformed (const Box< V > &box, const AffineXf< V > *xf)
 this version returns input box as is if pointer to transformation is null
 
template<typename V >
auto MR::width (const Box< V > &box)
 returns size along x axis
 
template<typename V >
auto MR::height (const Box< V > &box)
 returns size along y axis
 
template<typename V >
auto MR::depth (const Box< V > &box)
 returns size along z axis
 
template<size_t I, typename V >
constexpr const V & MR::get (const Box< V > &box) noexcept
 get<0> returns min, get<1> returns max
 
template<size_t I, typename V >
constexpr V & MR::get (Box< V > &box) noexcept
 

Detailed Description

Function Documentation

◆ depth()

template<typename V >
auto MR::depth ( const Box< V > & box)
inline

returns size along z axis

◆ get() [1/2]

template<size_t I, typename V >
V & MR::get ( Box< V > & box)
constexprnoexcept

◆ get() [2/2]

template<size_t I, typename V >
const V & MR::get ( const Box< V > & box)
constexprnoexcept

get<0> returns min, get<1> returns max

◆ getCorners() [1/2]

template<typename T >
std::array< Vector2< T >, 4 > MR::getCorners ( const Box< Vector2< T > > & box)
inline

◆ getCorners() [2/2]

template<typename T >
std::array< Vector3< T >, 8 > MR::getCorners ( const Box< Vector3< T > > & box)
inline

returns all corners of given box

◆ getTouchPlanes()

template<typename V >
MinMax< typename Box< V >::T > MR::getTouchPlanes ( const Box< V > & box,
const V & n )

among all planes with given normal and arbitrary shift: dot(n,x) = d finds minimal and maximal touching planes for given box, and returns them as { min_d, max_d }

◆ height()

template<typename V >
auto MR::height ( const Box< V > & box)
inline

returns size along y axis

◆ transformed() [1/2]

template<typename V >
Box< V > MR::transformed ( const Box< V > & box,
const AffineXf< V > & xf )
inline

find the tightest box enclosing this one after transformation

◆ transformed() [2/2]

template<typename V >
Box< V > MR::transformed ( const Box< V > & box,
const AffineXf< V > * xf )
inline

this version returns input box as is if pointer to transformation is null

◆ width()

template<typename V >
auto MR::width ( const Box< V > & box)
inline

returns size along x axis