HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nanovdb::BBox< CoordT, false > Struct Template Reference

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

#include <NanoVDB.h>

+ Inheritance diagram for nanovdb::BBox< CoordT, false >:

Classes

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

Public Types

using BaseT = BaseBBox< CoordT >
 

Public Member Functions

__hostdev__ Iterator begin () const
 
__hostdev__ Iterator end () const
 
__hostdev__ BBox ()
 
__hostdev__ BBox (const CoordT &min, const CoordT &max)
 
template<typename SplitT >
__hostdev__ BBox (BBox &other, const SplitT &)
 
__hostdev__ bool is_divisible () const
 
__hostdev__ bool empty () const
 Return true if this bounding box is empty, e.g. uninitialized. More...
 
__hostdev__ operator bool () const
 Convert this BBox to boolean true if it is not empty. More...
 
__hostdev__ CoordT dim () const
 
__hostdev__ uint64_t volume () const
 
__hostdev__ bool isInside (const CoordT &p) const
 
__hostdev__ bool isInside (const BBox &b) const
 Return true if the given bounding box is inside this bounding box. More...
 
__hostdev__ bool hasOverlap (const BBox &b) const
 Return true if the given bounding box overlaps with this bounding box. More...
 
template<typename RealT = double>
__hostdev__ BBox< Vec3< RealT > > asReal () const
 
__hostdev__ BBox expandBy (typename CoordT::ValueType padding) const
 Return a new instance that is expanded by the specified padding. More...
 
template<typename Map >
__hostdev__ BBox< Vec3dtransform (const Map &map) const
 transform this coordinate bounding box by the specified map More...
 
- Public Member Functions inherited from nanovdb::BaseBBox< CoordT >
__hostdev__ bool operator== (const BaseBBox &rhs) const
 
__hostdev__ bool operator!= (const BaseBBox &rhs) const
 
__hostdev__ const CoordT & operator[] (int i) const
 
__hostdev__ CoordT & operator[] (int i)
 
__hostdev__ CoordT & min ()
 
__hostdev__ const CoordT & min () const
 
__hostdev__ CoordT & max ()
 
__hostdev__ const CoordT & max () const
 
__hostdev__ BaseBBoxtranslate (const CoordT &xyz)
 
__hostdev__ BaseBBoxexpand (const CoordT &xyz)
 Expand this bounding box to enclose point xyz. More...
 
__hostdev__ BaseBBoxexpand (const BaseBBox &bbox)
 Expand this bounding box to enclose the given bounding box. More...
 
__hostdev__ BaseBBoxintersect (const BaseBBox &bbox)
 Intersect this bounding box with the given bounding box. More...
 
__hostdev__ bool isInside (const CoordT &xyz)
 

Static Public Member Functions

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

Additional Inherited Members

- Public Attributes inherited from nanovdb::BaseBBox< CoordT >
CoordT mCoord [2]
 
- Protected Member Functions inherited from nanovdb::BaseBBox< CoordT >
__hostdev__ BaseBBox ()
 
__hostdev__ BaseBBox (const CoordT &min, const CoordT &max)
 

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!

Definition at line 2334 of file NanoVDB.h.

Member Typedef Documentation

template<typename CoordT >
using nanovdb::BBox< CoordT, false >::BaseT = BaseBBox<CoordT>

Definition at line 2337 of file NanoVDB.h.

Constructor & Destructor Documentation

template<typename CoordT >
__hostdev__ nanovdb::BBox< CoordT, false >::BBox ( )
inline

Definition at line 2403 of file NanoVDB.h.

template<typename CoordT >
__hostdev__ nanovdb::BBox< CoordT, false >::BBox ( const CoordT &  min,
const CoordT &  max 
)
inline

Definition at line 2407 of file NanoVDB.h.

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

Definition at line 2413 of file NanoVDB.h.

Member Function Documentation

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

Definition at line 2464 of file NanoVDB.h.

template<typename CoordT >
__hostdev__ Iterator nanovdb::BBox< CoordT, false >::begin ( void  ) const
inline

Definition at line 2401 of file NanoVDB.h.

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

Definition at line 2422 of file NanoVDB.h.

template<typename CoordT >
static __hostdev__ BBox nanovdb::BBox< CoordT, false >::createCube ( typename CoordT::ValueType  min,
typename CoordT::ValueType  max 
)
inlinestatic

Definition at line 2427 of file NanoVDB.h.

template<typename CoordT >
__hostdev__ CoordT nanovdb::BBox< CoordT, false >::dim ( ) const
inline

Definition at line 2443 of file NanoVDB.h.

template<typename CoordT >
__hostdev__ bool nanovdb::BBox< CoordT, false >::empty ( void  ) const
inline

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

Definition at line 2436 of file NanoVDB.h.

template<typename CoordT >
__hostdev__ Iterator nanovdb::BBox< CoordT, false >::end ( void  ) const
inline

Definition at line 2402 of file NanoVDB.h.

template<typename CoordT >
__hostdev__ BBox nanovdb::BBox< CoordT, false >::expandBy ( typename CoordT::ValueType  padding) const
inline

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

Definition at line 2471 of file NanoVDB.h.

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

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

Definition at line 2457 of file NanoVDB.h.

template<typename CoordT >
__hostdev__ bool nanovdb::BBox< CoordT, false >::is_divisible ( ) const
inline

Definition at line 2432 of file NanoVDB.h.

template<typename CoordT >
__hostdev__ bool nanovdb::BBox< CoordT, false >::isInside ( const CoordT &  p) const
inline

Definition at line 2449 of file NanoVDB.h.

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

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

Definition at line 2451 of file NanoVDB.h.

template<typename CoordT >
__hostdev__ nanovdb::BBox< CoordT, false >::operator bool ( ) const
inline

Convert this BBox to boolean true if it is not empty.

Definition at line 2440 of file NanoVDB.h.

template<typename CoordT >
template<typename Map >
__hostdev__ BBox<Vec3d> nanovdb::BBox< CoordT, false >::transform ( const Map map) const
inline

transform this coordinate bounding box by the specified map

Parameters
mapmapping of index to world coordinates
Returns
world bounding box

Definition at line 2480 of file NanoVDB.h.

template<typename CoordT >
__hostdev__ uint64_t nanovdb::BBox< CoordT, false >::volume ( ) const
inline

Definition at line 2444 of file NanoVDB.h.


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