OpenVDB 10.0.1
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
BBox< CoordT, false > Struct Template Reference

Partial template specialization for integer coordinate types. More...

#include <nanovdb/NanoVDB.h>

Inheritance diagram for BBox< CoordT, false >:
BaseBBox< CoordT >

Classes

class  Iterator
 Iterator over the domain covered by a BBox. More...
 

Public Types

using BaseT = BaseBBox< CoordT >
 

Public Member Functions

Iterator begin () const
 
 BBox ()
 
 BBox (const CoordT &min, const CoordT &max)
 
template<typename SplitT >
 BBox (BBox &other, const SplitT &)
 
bool is_divisible () const
 
bool empty () const
 Return true if this bounding box is empty, i.e. uninitialized.
 
CoordT dim () const
 
uint64_t volume () const
 
bool isInside (const CoordT &p) const
 
bool isInside (const BBox &b) const
 Return true if the given bounding box is inside this bounding box.
 
bool hasOverlap (const BBox &b) const
 Return true if the given bounding box overlaps with this bounding box.
 
template<typename RealT >
BBox< Vec3< RealT > > asReal () const
 
BBox expandBy (typename CoordT::ValueType padding) const
 Return a new instance that is expanded by the specified padding.
 
bool operator== (const BaseBBox &rhs) const
 
bool operator!= (const BaseBBox &rhs) const
 
const CoordT & operator[] (int i) const
 
CoordT & operator[] (int i)
 
CoordT & min ()
 
const CoordT & min () const
 
CoordT & max ()
 
const CoordT & max () const
 
Coordtranslate (const CoordT &xyz)
 
BaseBBoxexpand (const CoordT &xyz)
 
BaseBBoxintersect (const BaseBBox &bbox)
 Intersect this bounding box with the given bounding box.
 
bool isInside (const CoordT &xyz)
 

Static Public Member Functions

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

Public Attributes

CoordT mCoord [2]
 

Detailed Description

template<typename CoordT>
struct nanovdb::BBox< CoordT, false >

Partial template specialization for integer coordinate types.

Note
Both min and max are INCLUDED in the bbox so dim = max - min + 1. So, if min = max the bounding box contains exactly one point and dim = 1!

Member Typedef Documentation

◆ BaseT

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

Constructor & Destructor Documentation

◆ BBox() [1/3]

template<typename CoordT >
BBox ( )
inline

◆ BBox() [2/3]

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

◆ BBox() [3/3]

template<typename CoordT >
template<typename SplitT >
BBox ( BBox< CoordT, false > &  other,
const SplitT  
)
inline

Member Function Documentation

◆ asReal()

template<typename CoordT >
template<typename RealT >
BBox< Vec3< RealT > > asReal ( ) const
inline
Warning
This converts a CoordBBox into a floating-point bounding box which implies that max += 1 !

◆ begin()

template<typename CoordT >
Iterator begin ( ) const
inline

◆ createCube()

template<typename CoordT >
static BBox createCube ( const CoordT &  min,
typename CoordT::ValueType  dim 
)
inlinestatic

◆ dim()

template<typename CoordT >
CoordT dim ( ) const
inline

◆ empty()

template<typename CoordT >
bool empty ( ) const
inline

Return true if this bounding box is empty, i.e. uninitialized.

◆ expand()

BaseBBox & expand ( const CoordT &  xyz)
inlineinherited

◆ expandBy()

template<typename CoordT >
BBox expandBy ( typename CoordT::ValueType  padding) const
inline

Return a new instance that is expanded by the specified padding.

◆ hasOverlap()

template<typename CoordT >
bool hasOverlap ( const BBox< CoordT, false > &  b) const
inline

Return true if the given bounding box overlaps with this bounding box.

◆ intersect()

BaseBBox & intersect ( const BaseBBox< CoordT > &  bbox)
inlineinherited

Intersect this bounding box with the given bounding box.

◆ is_divisible()

template<typename CoordT >
bool is_divisible ( ) const
inline

◆ isInside() [1/3]

template<typename CoordT >
bool isInside ( const BBox< CoordT, false > &  b) const
inline

Return true if the given bounding box is inside this bounding box.

◆ isInside() [2/3]

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

◆ isInside() [3/3]

bool isInside ( const CoordT &  xyz)
inlineinherited

◆ max() [1/2]

CoordT & max ( )
inlineinherited

◆ max() [2/2]

const CoordT & max ( ) const
inlineinherited

◆ min() [1/2]

CoordT & min ( )
inlineinherited

◆ min() [2/2]

const CoordT & min ( ) const
inlineinherited

◆ operator!=()

bool operator!= ( const BaseBBox< CoordT > &  rhs) const
inlineinherited

◆ operator==()

bool operator== ( const BaseBBox< CoordT > &  rhs) const
inlineinherited

◆ operator[]() [1/2]

CoordT & operator[] ( int  i)
inlineinherited

◆ operator[]() [2/2]

const CoordT & operator[] ( int  i) const
inlineinherited

◆ translate()

Coord & translate ( const CoordT &  xyz)
inlineinherited

◆ volume()

template<typename CoordT >
uint64_t volume ( ) const
inline

Member Data Documentation

◆ mCoord

CoordT mCoord[2]
inherited