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

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

#include <nanovdb/NanoVDB.h>

Inheritance diagram for BBox< Vec3T, true >:
BaseBBox< Vec3T >

Public Types

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

Public Member Functions

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

Static Public Member Functions

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

Public Attributes

Vec3T mCoord [2]
 

Detailed Description

template<typename Vec3T>
struct nanovdb::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 >
BBox ( )
inline

Default construction sets BBox to an empty bbox.

◆ BBox() [2/4]

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

◆ BBox() [3/4]

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

◆ BBox() [4/4]

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

Member Function Documentation

◆ createCube()

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

◆ dim()

template<typename Vec3T >
Vec3T dim ( ) const
inline

◆ empty()

template<typename Vec3T >
bool empty ( ) const
inline

◆ expand() [1/2]

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

Expand this bounding box to enclose the given bounding box.

◆ expand() [2/2]

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

Expand this bounding box to enclose point xyz.

◆ intersect()

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

Intersect this bounding box with the given bounding box.

◆ isInside() [1/2]

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

◆ isInside() [2/2]

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

◆ max() [1/2]

template<typename Vec3T >
Vec3T & max ( )
inlineinherited

◆ max() [2/2]

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

◆ min() [1/2]

template<typename Vec3T >
Vec3T & min ( )
inlineinherited

◆ min() [2/2]

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

◆ operator bool()

template<typename Vec3T >
operator bool ( ) const
inline

◆ operator!=()

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

◆ operator==()

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

◆ operator[]() [1/2]

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

◆ operator[]() [2/2]

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

◆ translate()

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

Member Data Documentation

◆ mCoord

template<typename Vec3T >
Vec3T mCoord[2]