OpenVDB 10.0.1
Loading...
Searching...
No Matches
GridBuilder< ValueT, BuildT, StatsT >::BuildLeaf Struct Reference

#include <nanovdb/util/GridBuilder.h>

Public Types

using ValueType = ValueT
using BuildType = BuildT
using NodeMaskType = Mask<LOG2DIM>
using NanoLeafT = typename NanoNode<BuildT, 0>::Type

Public Member Functions

 BuildLeaf (const Coord &ijk, const ValueT &value, bool state)
 BuildLeaf (const BuildLeaf &)=delete
 BuildLeaf (BuildLeaf &&)=delete
BuildLeafoperator= (const BuildLeaf &)=delete
BuildLeafoperator= (BuildLeaf &&)=delete
 ~BuildLeaf ()=default
void localToGlobalCoord (Coord &ijk) const
Coord offsetToGlobalCoord (uint32_t n) const
template<typename AccT>
bool isActiveAndCache (const Coord &ijk, const AccT &) const
ValueT getFirstValue () const
ValueT getLastValue () const
const ValueT & getValue (const Coord &ijk) const
template<typename AccT>
const ValueT & getValueAndCache (const Coord &ijk, const AccT &) const
template<typename AccT>
void setValueAndCache (const Coord &ijk, const ValueT &value, const AccT &)
void setValue (const Coord &ijk, const ValueT &value)
template<typename NodeT>
void getNodes (std::vector< NodeT * > &)
template<typename NodeT>
void addNode (NodeT *&)
template<typename NodeT>
uint32_t nodeCount () const
template<typename T>
std::enable_if< std::is_floating_point< T >::value >::type signedFloodFill (T outside)
template<typename T>
std::enable_if<!std::is_floating_point< T >::value >::type signedFloodFill (T)

Static Public Member Functions

static uint32_t CoordToOffset (const Coord &ijk)
 Return the linear offset corresponding to the given coordinate.
static Coord OffsetToLocalCoord (uint32_t n)

Public Attributes

Coord mOrigin
Mask< LOG2DIMmValueMask
ValueT mValues [SIZE]
union nanovdb::GridBuilder< ValueT, BuildT, StatsT >::BuildLeaf:: { ... }  

Static Public Attributes

static constexpr uint32_t LOG2DIM = 3
static constexpr uint32_t TOTAL = LOG2DIM
static constexpr uint32_t DIM = 1u << TOTAL
static constexpr uint32_t SIZE = 1u << 3 * LOG2DIM
static constexpr int32_t MASK = DIM - 1
static constexpr uint32_t LEVEL = 0
static constexpr uint64_t NUM_VALUES = uint64_t(1) << (3 * TOTAL)

Member Typedef Documentation

◆ BuildType

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
using BuildType = BuildT

◆ NanoLeafT

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
using NanoLeafT = typename NanoNode<BuildT, 0>::Type

◆ NodeMaskType

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
using NodeMaskType = Mask<LOG2DIM>

◆ ValueType

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
using ValueType = ValueT

Constructor & Destructor Documentation

◆ BuildLeaf() [1/3]

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
BuildLeaf ( const Coord & ijk,
const ValueT & value,
bool state )
inline

◆ BuildLeaf() [2/3]

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
BuildLeaf ( const BuildLeaf & )
delete

◆ BuildLeaf() [3/3]

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
BuildLeaf ( BuildLeaf && )
delete

◆ ~BuildLeaf()

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
~BuildLeaf ( )
default

Member Function Documentation

◆ addNode()

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
template<typename NodeT>
void addNode ( NodeT *& )
inline

◆ CoordToOffset()

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
uint32_t CoordToOffset ( const Coord & ijk)
inlinestatic

Return the linear offset corresponding to the given coordinate.

◆ getFirstValue()

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
ValueT getFirstValue ( ) const
inline

◆ getLastValue()

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
ValueT getLastValue ( ) const
inline

◆ getNodes()

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
template<typename NodeT>
void getNodes ( std::vector< NodeT * > & )
inline

◆ getValue()

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
const ValueT & getValue ( const Coord & ijk) const
inline

◆ getValueAndCache()

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
template<typename AccT>
const ValueT & getValueAndCache ( const Coord & ijk,
const AccT &  ) const
inline

◆ isActiveAndCache()

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
template<typename AccT>
bool isActiveAndCache ( const Coord & ijk,
const AccT &  ) const
inline

◆ localToGlobalCoord()

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
void localToGlobalCoord ( Coord & ijk) const
inline

◆ nodeCount()

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
template<typename NodeT>
uint32_t nodeCount ( ) const
inline

◆ offsetToGlobalCoord()

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
Coord offsetToGlobalCoord ( uint32_t n) const
inline

◆ OffsetToLocalCoord()

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
Coord OffsetToLocalCoord ( uint32_t n)
inlinestatic

◆ operator=() [1/2]

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
BuildLeaf & operator= ( BuildLeaf && )
delete

◆ operator=() [2/2]

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
BuildLeaf & operator= ( const BuildLeaf & )
delete

◆ setValue()

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
void setValue ( const Coord & ijk,
const ValueT & value )
inline

◆ setValueAndCache()

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
template<typename AccT>
void setValueAndCache ( const Coord & ijk,
const ValueT & value,
const AccT &  )
inline

◆ signedFloodFill() [1/2]

template<typename ValueT, typename BuildT, typename StatsT>
template<typename T>
std::enable_if< std::is_floating_point< T >::value >::type signedFloodFill ( T outside)
inline

◆ signedFloodFill() [2/2]

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
template<typename T>
std::enable_if<!std::is_floating_point< T >::value >::type signedFloodFill ( T )
inline

Member Data Documentation

◆ []

union nanovdb::GridBuilder< ValueT, BuildT, StatsT > { ... }

◆ DIM

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
uint32_t DIM = 1u << TOTAL
staticconstexpr

◆ LEVEL

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
uint32_t LEVEL = 0
staticconstexpr

◆ LOG2DIM

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
uint32_t LOG2DIM = 3
staticconstexpr

◆ MASK

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
int32_t MASK = DIM - 1
staticconstexpr

◆ mOrigin

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
Coord mOrigin

◆ mValueMask

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
Mask<LOG2DIM> mValueMask

◆ mValues

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
ValueT mValues[SIZE]

◆ NUM_VALUES

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
uint64_t NUM_VALUES = uint64_t(1) << (3 * TOTAL)
staticconstexpr

◆ SIZE

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
uint32_t SIZE = 1u << 3 * LOG2DIM
staticconstexpr

◆ TOTAL

template<typename ValueT, typename BuildT = ValueT, typename StatsT = Stats<ValueT>>
uint32_t TOTAL = LOG2DIM
staticconstexpr