Loading...
Searching...
No Matches
BBox< CoordT, false > Struct Template Reference

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

`#include <nanovdb/NanoVDB.h>`

Inheritance diagram for BBox< CoordT, false >:

## Classes

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

## Public Types

using | BaseT = BaseBBox<CoordT>

## Public Member Functions

Iterator | begin () const
Iterator | end () 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, e.g. uninitialized.
| operator bool () const
| Convert this BBox to boolean true if it is not empty.
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 = double>
BBox< Vec3< RealT > > | asReal () const
BBox | expandBy (typename CoordT::ValueType padding) const
| Return a new instance that is expanded by the specified padding.
template<typename Map>
BBox< Vec3d > | transform (const Map &map) const
| transform this coordinate bounding box by the specified map
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
BaseBBox & | translate (const CoordT &xyz)
BaseBBox & | expand (const CoordT &xyz)
| Expand this bounding box to enclose point `xyz`.
BaseBBox & | expand (const BaseBBox &bbox)
| Expand this bounding box to enclose the given bounding box.
BaseBBox & | intersect (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)
static BBox | createCube (typename CoordT::ValueType min, typename CoordT::ValueType max)

## 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 = double>

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() [1/2]

template<typename CoordT>

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

inlinestatic

## createCube() [2/2]

template<typename CoordT>

BBox createCube | ( | typename CoordT::ValueType | min,
|  | typename CoordT::ValueType | max )

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, e.g. uninitialized.

## end()

template<typename CoordT>

Iterator end | ( |  | ) | const

inline

## expand() [1/2]

BaseBBox & expand | ( | const BaseBBox< CoordT > & | bbox | ) |

inlineinherited

Expand this bounding box to enclose the given bounding box.

## expand() [2/2]

BaseBBox & expand | ( | const CoordT & | xyz | ) |

inlineinherited

Expand this bounding box to enclose point `xyz`.

## 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]

bool isInside | ( | const CoordT & | xyz | ) |

inlineinherited

## isInside() [2/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() [3/3]

template<typename CoordT>

bool isInside | ( | const CoordT & | p | ) | const

inline

## 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()

template<typename CoordT>

operator bool | ( |  | ) | const

inline

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

## 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

## transform()

template<typename CoordT>
template<typename Map>

BBox< Vec3d > transform | ( | const Map & | map | ) | const

inline

transform this coordinate bounding box by the specified map

Parameters

  map | mapping of index to world coordinates

Returns
  world bounding box

## translate()

BaseBBox & translate | ( | const CoordT & | xyz | ) |

inlineinherited

## volume()

template<typename CoordT>

uint64_t volume | ( |  | ) | const

inline

## Member Data Documentation

## mCoord

template<typename CoordT>

CoordT mCoord[2]