OpenVDB 9.0.0
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
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. More...
 
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

using BuildType = BuildT

◆ NanoLeafT

using NanoLeafT = typename NanoNode<BuildT, 0>::Type

◆ NodeMaskType

◆ ValueType

using ValueType = ValueT

Constructor & Destructor Documentation

◆ BuildLeaf() [1/3]

BuildLeaf ( const Coord ijk,
const ValueT &  value,
bool  state 
)
inline

◆ BuildLeaf() [2/3]

BuildLeaf ( const BuildLeaf )
delete

◆ BuildLeaf() [3/3]

BuildLeaf ( BuildLeaf &&  )
delete

◆ ~BuildLeaf()

~BuildLeaf ( )
default

Member Function Documentation

◆ addNode()

void addNode ( NodeT *&  )
inline

◆ CoordToOffset()

static uint32_t CoordToOffset ( const Coord ijk)
inlinestatic

Return the linear offset corresponding to the given coordinate.

◆ getFirstValue()

ValueT getFirstValue ( ) const
inline

◆ getLastValue()

ValueT getLastValue ( ) const
inline

◆ getNodes()

void getNodes ( std::vector< NodeT * > &  )
inline

◆ getValue()

const ValueT & getValue ( const Coord ijk) const
inline

◆ getValueAndCache()

const ValueT & getValueAndCache ( const Coord ijk,
const AccT &   
) const
inline

◆ isActiveAndCache()

bool isActiveAndCache ( const Coord ijk,
const AccT &   
) const
inline

◆ localToGlobalCoord()

void localToGlobalCoord ( Coord ijk) const
inline

◆ nodeCount()

uint32_t nodeCount ( ) const
inline

◆ offsetToGlobalCoord()

Coord offsetToGlobalCoord ( uint32_t  n) const
inline

◆ OffsetToLocalCoord()

static Coord OffsetToLocalCoord ( uint32_t  n)
inlinestatic

◆ operator=() [1/2]

BuildLeaf & operator= ( BuildLeaf &&  )
delete

◆ operator=() [2/2]

BuildLeaf & operator= ( const BuildLeaf )
delete

◆ setValue()

void setValue ( const Coord ijk,
const ValueT &  value 
)
inline

◆ setValueAndCache()

void setValueAndCache ( const Coord ijk,
const ValueT &  value,
const AccT &   
)
inline

◆ signedFloodFill() [1/2]

std::enable_if< std::is_floating_point< T >::value >::type signedFloodFill ( outside)
inline

◆ signedFloodFill() [2/2]

std::enable_if<!std::is_floating_point< T >::value >::type signedFloodFill ( )
inline

Member Data Documentation

◆ 

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

◆ DIM

constexpr uint32_t DIM = 1u << TOTAL
staticconstexpr

◆ LEVEL

constexpr uint32_t LEVEL = 0
staticconstexpr

◆ LOG2DIM

constexpr uint32_t LOG2DIM = 3
staticconstexpr

◆ MASK

constexpr int32_t MASK = DIM - 1
staticconstexpr

◆ mOrigin

Coord mOrigin

◆ mValueMask

Mask<LOG2DIM> mValueMask

◆ mValues

ValueT mValues[SIZE]

◆ NUM_VALUES

constexpr uint64_t NUM_VALUES = uint64_t(1) << (3 * TOTAL)
staticconstexpr

◆ SIZE

constexpr uint32_t SIZE = 1u << 3 * LOG2DIM
staticconstexpr

◆ TOTAL

constexpr uint32_t TOTAL = LOG2DIM
staticconstexpr