HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HDK_Sample::UT::Box< T, NAXES > Struct Template Reference

#include <UT_BVH.h>

Public Member Functions

SYS_FORCE_INLINE Box () noexcept=default
 
SYS_FORCE_INLINE constexpr Box (const Box &other) noexcept=default
 
SYS_FORCE_INLINE constexpr Box (Box &&other) noexcept=default
 
SYS_FORCE_INLINE Boxoperator= (const Box &other) noexcept=default
 
SYS_FORCE_INLINE Boxoperator= (Box &&other) noexcept=default
 
template<typename S >
SYS_FORCE_INLINE Box (const Box< S, NAXES > &other) noexcept
 
template<typename TS >
SYS_FORCE_INLINE Box (const TS &pt) noexcept
 
template<typename S >
SYS_FORCE_INLINE Boxoperator= (const Box< S, NAXES > &other) noexcept
 
SYS_FORCE_INLINE const T * operator[] (const size_t axis) const noexcept
 
SYS_FORCE_INLINE T * operator[] (const size_t axis) noexcept
 
SYS_FORCE_INLINE void initBounds () noexcept
 
SYS_FORCE_INLINE void initBounds (const Box< T, NAXES > &src) noexcept
 
SYS_FORCE_INLINE void initBoundsUnordered (const Box< T, NAXES > &src0, const Box< T, NAXES > &src1) noexcept
 
SYS_FORCE_INLINE void combine (const Box< T, NAXES > &src) noexcept
 
template<typename TS >
SYS_FORCE_INLINE void initBounds (const TS &pt) noexcept
 
template<typename TS >
SYS_FORCE_INLINE void initBounds (const TS &min, const TS &max) noexcept
 
template<typename TS >
SYS_FORCE_INLINE void initBoundsUnordered (const TS &p0, const TS &p1) noexcept
 
template<typename TS >
SYS_FORCE_INLINE void enlargeBounds (const TS &pt) noexcept
 
template<typename TS >
SYS_FORCE_INLINE void combine (const TS &pt) noexcept
 
SYS_FORCE_INLINE
UT_FixedVector< T, NAXES > 
getMin () const noexcept
 
SYS_FORCE_INLINE
UT_FixedVector< T, NAXES > 
getMax () const noexcept
 
diameter2 () const noexcept
 
volume () const noexcept
 
half_surface_area () const noexcept
 
axis_sum () const noexcept
 
SYS_FORCE_INLINE void intersect (T &box_tmin, T &box_tmax, const UT_FixedVector< uint, NAXES > &signs, const UT_FixedVector< T, NAXES > &origin, const UT_FixedVector< T, NAXES > &inverse_direction) const noexcept
 
SYS_FORCE_INLINE void intersect (const Box &other, Box &dest) const noexcept
 
SYS_FORCE_INLINEminDistance2 (const UT_FixedVector< T, NAXES > &p) const noexcept
 
SYS_FORCE_INLINEmaxDistance2 (const UT_FixedVector< T, NAXES > &p) const noexcept
 

Public Attributes

vals [NAXES][2]
 

Detailed Description

template<typename T, uint NAXES>
struct HDK_Sample::UT::Box< T, NAXES >

Definition at line 53 of file UT_BVH.h.

Constructor & Destructor Documentation

template<typename T, uint NAXES>
SYS_FORCE_INLINE HDK_Sample::UT::Box< T, NAXES >::Box ( )
defaultnoexcept
template<typename T, uint NAXES>
SYS_FORCE_INLINE constexpr HDK_Sample::UT::Box< T, NAXES >::Box ( const Box< T, NAXES > &  other)
defaultnoexcept
template<typename T, uint NAXES>
SYS_FORCE_INLINE constexpr HDK_Sample::UT::Box< T, NAXES >::Box ( Box< T, NAXES > &&  other)
defaultnoexcept
template<typename T, uint NAXES>
template<typename S >
SYS_FORCE_INLINE HDK_Sample::UT::Box< T, NAXES >::Box ( const Box< S, NAXES > &  other)
inlinenoexcept

Definition at line 63 of file UT_BVH.h.

template<typename T, uint NAXES>
template<typename TS >
SYS_FORCE_INLINE HDK_Sample::UT::Box< T, NAXES >::Box ( const TS &  pt)
inlineexplicitnoexcept

Definition at line 74 of file UT_BVH.h.

Member Function Documentation

template<typename T, uint NAXES>
T HDK_Sample::UT::Box< T, NAXES >::axis_sum ( ) const
inlinenoexcept

Definition at line 271 of file UT_BVH.h.

template<typename T, uint NAXES>
SYS_FORCE_INLINE void HDK_Sample::UT::Box< T, NAXES >::combine ( const Box< T, NAXES > &  src)
inlinenoexcept

Definition at line 126 of file UT_BVH.h.

template<typename T, uint NAXES>
template<typename TS >
SYS_FORCE_INLINE void HDK_Sample::UT::Box< T, NAXES >::combine ( const TS &  pt)
inlinenoexcept

Definition at line 189 of file UT_BVH.h.

template<typename T, uint NAXES>
T HDK_Sample::UT::Box< T, NAXES >::diameter2 ( ) const
inlinenoexcept

Definition at line 214 of file UT_BVH.h.

template<typename T, uint NAXES>
template<typename TS >
SYS_FORCE_INLINE void HDK_Sample::UT::Box< T, NAXES >::enlargeBounds ( const TS &  pt)
inlinenoexcept

Definition at line 178 of file UT_BVH.h.

template<typename T, uint NAXES>
SYS_FORCE_INLINE UT_FixedVector<T,NAXES> HDK_Sample::UT::Box< T, NAXES >::getMax ( ) const
inlinenoexcept

Definition at line 206 of file UT_BVH.h.

template<typename T, uint NAXES>
SYS_FORCE_INLINE UT_FixedVector<T,NAXES> HDK_Sample::UT::Box< T, NAXES >::getMin ( ) const
inlinenoexcept

Definition at line 197 of file UT_BVH.h.

template<typename T, uint NAXES>
T HDK_Sample::UT::Box< T, NAXES >::half_surface_area ( ) const
inlinenoexcept

Definition at line 230 of file UT_BVH.h.

template<typename T, uint NAXES>
SYS_FORCE_INLINE void HDK_Sample::UT::Box< T, NAXES >::initBounds ( )
inlinenoexcept

Definition at line 102 of file UT_BVH.h.

template<typename T, uint NAXES>
SYS_FORCE_INLINE void HDK_Sample::UT::Box< T, NAXES >::initBounds ( const Box< T, NAXES > &  src)
inlinenoexcept

Copy the source box. NOTE: This is so that in templated code that may have a Box or a UT_FixedVector, it can call initBounds and still work.

Definition at line 111 of file UT_BVH.h.

template<typename T, uint NAXES>
template<typename TS >
SYS_FORCE_INLINE void HDK_Sample::UT::Box< T, NAXES >::initBounds ( const TS &  pt)
inlinenoexcept

Definition at line 139 of file UT_BVH.h.

template<typename T, uint NAXES>
template<typename TS >
SYS_FORCE_INLINE void HDK_Sample::UT::Box< T, NAXES >::initBounds ( const TS &  min,
const TS &  max 
)
inlinenoexcept

Definition at line 151 of file UT_BVH.h.

template<typename T, uint NAXES>
SYS_FORCE_INLINE void HDK_Sample::UT::Box< T, NAXES >::initBoundsUnordered ( const Box< T, NAXES > &  src0,
const Box< T, NAXES > &  src1 
)
inlinenoexcept

Initialize with the union of the source boxes. NOTE: This is so that in templated code that may have Box's or a UT_FixedVector's, it can call initBounds and still work.

Definition at line 120 of file UT_BVH.h.

template<typename T, uint NAXES>
template<typename TS >
SYS_FORCE_INLINE void HDK_Sample::UT::Box< T, NAXES >::initBoundsUnordered ( const TS &  p0,
const TS &  p1 
)
inlinenoexcept

Definition at line 166 of file UT_BVH.h.

template<typename T, uint NAXES>
SYS_FORCE_INLINE void HDK_Sample::UT::Box< T, NAXES >::intersect ( T &  box_tmin,
T &  box_tmax,
const UT_FixedVector< uint, NAXES > &  signs,
const UT_FixedVector< T, NAXES > &  origin,
const UT_FixedVector< T, NAXES > &  inverse_direction 
) const
inlinenoexcept

Definition at line 278 of file UT_BVH.h.

template<typename T, uint NAXES>
SYS_FORCE_INLINE void HDK_Sample::UT::Box< T, NAXES >::intersect ( const Box< T, NAXES > &  other,
Box< T, NAXES > &  dest 
) const
inlinenoexcept

Definition at line 294 of file UT_BVH.h.

template<typename T, uint NAXES>
SYS_FORCE_INLINE T HDK_Sample::UT::Box< T, NAXES >::maxDistance2 ( const UT_FixedVector< T, NAXES > &  p) const
inlinenoexcept

Definition at line 313 of file UT_BVH.h.

template<typename T, uint NAXES>
SYS_FORCE_INLINE T HDK_Sample::UT::Box< T, NAXES >::minDistance2 ( const UT_FixedVector< T, NAXES > &  p) const
inlinenoexcept

Definition at line 301 of file UT_BVH.h.

template<typename T, uint NAXES>
SYS_FORCE_INLINE Box& HDK_Sample::UT::Box< T, NAXES >::operator= ( const Box< T, NAXES > &  other)
defaultnoexcept
template<typename T, uint NAXES>
SYS_FORCE_INLINE Box& HDK_Sample::UT::Box< T, NAXES >::operator= ( Box< T, NAXES > &&  other)
defaultnoexcept
template<typename T, uint NAXES>
template<typename S >
SYS_FORCE_INLINE Box& HDK_Sample::UT::Box< T, NAXES >::operator= ( const Box< S, NAXES > &  other)
inlinenoexcept

Definition at line 85 of file UT_BVH.h.

template<typename T, uint NAXES>
SYS_FORCE_INLINE const T* HDK_Sample::UT::Box< T, NAXES >::operator[] ( const size_t  axis) const
inlinenoexcept

Definition at line 93 of file UT_BVH.h.

template<typename T, uint NAXES>
SYS_FORCE_INLINE T* HDK_Sample::UT::Box< T, NAXES >::operator[] ( const size_t  axis)
inlinenoexcept

Definition at line 97 of file UT_BVH.h.

template<typename T, uint NAXES>
T HDK_Sample::UT::Box< T, NAXES >::volume ( ) const
inlinenoexcept

Definition at line 223 of file UT_BVH.h.

Member Data Documentation

template<typename T, uint NAXES>
T HDK_Sample::UT::Box< T, NAXES >::vals[NAXES][2]

Definition at line 54 of file UT_BVH.h.


The documentation for this struct was generated from the following file: