OpenVDB  9.0.1
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
GridBuilder< ValueT, BuildT, StatsT >:: BuildNode< ChildT > Struct Template Reference

#include <nanovdb/util/GridBuilder.h>

Classes

struct  Tile
 

Public Types

using ValueType = ValueT
 
using BuildType = BuildT
 
using ChildType = ChildT
 
using MaskT = Mask< LOG2DIM >
 
using NanoNodeT = typename NanoNode< BuildT, LEVEL >::Type
 

Public Member Functions

 BuildNode (const Coord &origin, const ValueT &value, bool state)
 
 BuildNode (const BuildNode &)=delete
 
 BuildNode (BuildNode &&)=delete
 
BuildNode & operator= (const BuildNode &)=delete
 
BuildNode & operator= (BuildNode &&)=delete
 
 ~BuildNode ()
 
void localToGlobalCoord (Coord &ijk) const
 
Coord offsetToGlobalCoord (uint32_t n) const
 
template<typename AccT >
bool isActiveAndCache (const Coord &ijk, AccT &acc) const
 
ValueT getFirstValue () const
 
ValueT getLastValue () const
 
const ValueT & getValue (const Coord &ijk) const
 
template<typename AccT >
const ValueT & getValueAndCache (const Coord &ijk, AccT &acc) const
 
void setValue (const Coord &ijk, const ValueT &value)
 
template<typename AccT >
void setValueAndCache (const Coord &ijk, const ValueT &value, AccT &acc)
 
template<typename NodeT >
uint32_t nodeCount () const
 
template<typename NodeT >
void getNodes (std::vector< NodeT * > &array)
 
void addChild (ChildT *&child)
 
template<typename NodeT >
void addNode (NodeT *&node)
 
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)
 
static Coord OffsetToLocalCoord (uint32_t n)
 

Public Attributes

Coord mOrigin
 
MaskT mValueMask
 
MaskT mChildMask
 
Tile mTable [SIZE]
 
union nanovdb::GridBuilder< ValueT, BuildT, StatsT >:: BuildNode:: { ... }  
 

Static Public Attributes

static constexpr uint32_t LOG2DIM = ChildT::LOG2DIM + 1
 
static constexpr uint32_t TOTAL = LOG2DIM + ChildT::TOTAL
 
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 = 1 + ChildT::LEVEL
 
static constexpr uint64_t NUM_VALUES = uint64_t(1) << (3 * TOTAL)
 

Member Typedef Documentation

using BuildType = BuildT
using ChildType = ChildT
using MaskT = Mask<LOG2DIM>
using NanoNodeT = typename NanoNode<BuildT, LEVEL>::Type
using ValueType = ValueT

Constructor & Destructor Documentation

~BuildNode ( )
inline

Member Function Documentation

void addChild ( ChildT *&  child)
inline
void addNode ( NodeT *&  node)
inline
BuildNode ( const Coord origin,
const ValueT &  value,
bool  state 
)
inline
BuildNode ( const BuildNode &  )
delete
BuildNode ( BuildNode &&  )
delete
static uint32_t CoordToOffset ( const Coord ijk)
inlinestatic
ValueT getFirstValue ( ) const
inline
ValueT getLastValue ( ) const
inline
void getNodes ( std::vector< NodeT * > &  array)
inline
const ValueT& getValue ( const Coord ijk) const
inline
const ValueT& getValueAndCache ( const Coord ijk,
AccT &  acc 
) const
inline
bool isActiveAndCache ( const Coord ijk,
AccT &  acc 
) const
inline
void localToGlobalCoord ( Coord ijk) const
inline
uint32_t nodeCount ( ) const
inline
Coord offsetToGlobalCoord ( uint32_t  n) const
inline
static Coord OffsetToLocalCoord ( uint32_t  n)
inlinestatic
BuildNode& operator= ( const BuildNode &  )
delete
BuildNode& operator= ( BuildNode &&  )
delete
void setValue ( const Coord ijk,
const ValueT &  value 
)
inline
void setValueAndCache ( const Coord ijk,
const ValueT &  value,
AccT &  acc 
)
inline
std::enable_if<std::is_floating_point<T>::value>::type signedFloodFill ( outside)
std::enable_if<!std::is_floating_point<T>::value>::type signedFloodFill ( )
inline

Member Data Documentation

union { ... }
constexpr uint32_t DIM = 1u << TOTAL
static
constexpr uint32_t LEVEL = 1 + ChildT::LEVEL
static
constexpr uint32_t LOG2DIM = ChildT::LOG2DIM + 1
static
constexpr int32_t MASK = DIM - 1
static
MaskT mChildMask
Coord mOrigin
Tile mTable[SIZE]
MaskT mValueMask
constexpr uint64_t NUM_VALUES = uint64_t(1) << (3 * TOTAL)
static
constexpr uint32_t SIZE = 1u << (3 * LOG2DIM)
static
constexpr uint32_t TOTAL = LOG2DIM + ChildT::TOTAL
static