OpenVDB 13.1.0
Loading...
Searching...
No Matches
BBox< Vec3T, true > Struct Template Reference

Partial template specialization for floating point coordinate types. More...

#include <nanovdb/math/Math.h>

Public Types

using Vec3Type = Vec3T
using ValueType = typename Vec3T::ValueType
using BaseT = BaseBBox<Vec3T>

Public Member Functions

__hostdev__ BBox ()
 Default construction sets BBox to an empty bbox.
__hostdev__ BBox (const Vec3T &min, const Vec3T &max)
__hostdev__ BBox (const Coord &min, const Coord &max)
__hostdev__ BBox (const BaseBBox< Coord > &bbox)
__hostdev__ bool empty () const
__hostdev__ operator bool () const
__hostdev__ Vec3T dim () const
__hostdev__ bool isInside (const Vec3T &p) const
__hostdev__ bool operator== (const BaseBBox &rhs) const
__hostdev__ bool operator!= (const BaseBBox &rhs) const
__hostdev__ const Vec3T & operator[] (int i) const
__hostdev__ Vec3T & operator[] (int i)
__hostdev__ Vec3T & min ()
__hostdev__ const Vec3T & min () const
__hostdev__ Vec3T & max ()
__hostdev__ const Vec3T & max () const
__hostdev__ BaseBBoxtranslate (const Vec3T &xyz)
__hostdev__ BaseBBoxexpand (const Vec3T &xyz)
 Expand this bounding box to enclose point xyz.
__hostdev__ BaseBBoxexpand (const BaseBBox &bbox)
 Expand this bounding box to enclose the given bounding box.
__hostdev__ BaseBBoxintersect (const BaseBBox &bbox)
 Intersect this bounding box with the given bounding box.
__hostdev__ bool isInside (const Vec3T &xyz)

Static Public Member Functions

static __hostdev__ BBox createCube (const Coord &min, typename Coord::ValueType dim)

Public Attributes

Vec3T mCoord [2]

Detailed Description

template<typename Vec3T>
struct nanovdb::math::BBox< Vec3T, true >

Partial template specialization for floating point coordinate types.

Note
Min is inclusive and max is exclusive. If min = max the dimension of the bounding box is zero and therefore it is also empty.

Member Typedef Documentation

◆ BaseT

template<typename Vec3T>
using BaseT = BaseBBox<Vec3T>

◆ ValueType

template<typename Vec3T>
using ValueType = typename Vec3T::ValueType

◆ Vec3Type

template<typename Vec3T>
using Vec3Type = Vec3T

Constructor & Destructor Documentation

◆ BBox() [1/4]

template<typename Vec3T>
__hostdev__ BBox ( )
inline

Default construction sets BBox to an empty bbox.

◆ BBox() [2/4]

template<typename Vec3T>
__hostdev__ BBox ( const Vec3T & min,
const Vec3T & max )
inline

◆ BBox() [3/4]

template<typename Vec3T>
__hostdev__ BBox ( const Coord & min,
const Coord & max )
inline

◆ BBox() [4/4]

template<typename Vec3T>
__hostdev__ BBox ( const BaseBBox< Coord > & bbox)
inline

Member Function Documentation

◆ createCube()

template<typename Vec3T>
__hostdev__ BBox createCube ( const Coord & min,
typename Coord::ValueType dim )
inlinestatic

◆ dim()

template<typename Vec3T>
__hostdev__ Vec3T dim ( ) const
inline

◆ empty()

template<typename Vec3T>
__hostdev__ bool empty ( ) const
inline

◆ expand() [1/2]

template<typename Vec3T>
__hostdev__ BaseBBox & expand ( const BaseBBox< Vec3T > & bbox)
inlineinherited

Expand this bounding box to enclose the given bounding box.

◆ expand() [2/2]

template<typename Vec3T>
__hostdev__ BaseBBox & expand ( const Vec3T & xyz)
inlineinherited

Expand this bounding box to enclose point xyz.

◆ intersect()

template<typename Vec3T>
__hostdev__ BaseBBox & intersect ( const BaseBBox< Vec3T > & bbox)
inlineinherited

Intersect this bounding box with the given bounding box.

◆ isInside() [1/2]

template<typename Vec3T>
__hostdev__ bool isInside ( const Vec3T & xyz)
inlineinherited

◆ isInside() [2/2]

template<typename Vec3T>
__hostdev__ bool isInside ( const Vec3T & p) const
inline

◆ max() [1/2]

template<typename Vec3T>
__hostdev__ Vec3T & max ( )
inlineinherited

◆ max() [2/2]

template<typename Vec3T>
__hostdev__ const Vec3T & max ( ) const
inlineinherited

◆ min() [1/2]

template<typename Vec3T>
__hostdev__ Vec3T & min ( )
inlineinherited

◆ min() [2/2]

template<typename Vec3T>
__hostdev__ const Vec3T & min ( ) const
inlineinherited

◆ operator bool()

template<typename Vec3T>
__hostdev__ operator bool ( ) const
inline

◆ operator!=()

template<typename Vec3T>
__hostdev__ bool operator!= ( const BaseBBox< Vec3T > & rhs) const
inlineinherited

◆ operator==()

template<typename Vec3T>
__hostdev__ bool operator== ( const BaseBBox< Vec3T > & rhs) const
inlineinherited

◆ operator[]() [1/2]

template<typename Vec3T>
__hostdev__ Vec3T & operator[] ( int i)
inlineinherited

◆ operator[]() [2/2]

template<typename Vec3T>
__hostdev__ const Vec3T & operator[] ( int i) const
inlineinherited

◆ translate()

template<typename Vec3T>
__hostdev__ BaseBBox & translate ( const Vec3T & xyz)
inlineinherited

Member Data Documentation

◆ mCoord

template<typename Vec3T>
Vec3T mCoord[2]