OpenVDB 11.0.0
Loading...
Searching...
No Matches
RootNode< ChildT > Struct Template Reference

#include <nanovdb/util/GridBuilder.h>

Classes

class  ChildIterator
 
struct  Tile
 
class  TileIterator
 
class  ValueIterator
 
class  ValueOnIterator
 

Public Types

using ValueType = typename ChildT::ValueType
 
using BuildType = typename ChildT::BuildType
 
using ChildNodeType = ChildT
 
using LeafNodeType = typename ChildT::LeafNodeType
 
using MapT = std::map<Coord, Tile>
 

Public Member Functions

TileprobeTile (const Coord &ijk)
 
const TileprobeTile (const Coord &ijk) const
 
ChildIterator cbeginChild () const
 
ChildIterator cbeginChildOn () const
 
ValueIterator beginValue ()
 
ValueIterator cbeginValueAll () const
 
ValueOnIterator beginValueOn ()
 
ValueOnIterator cbeginValueOn () const
 
TileIterator beginTile ()
 
TileIterator cbeginChildAll () const
 
 RootNode (const ValueType &background)
 
 RootNode (const RootNode &)=delete
 
 RootNode (RootNode &&)=default
 
RootNodeoperator= (const RootNode &)=delete
 
RootNodeoperator= (RootNode &&)=default
 
 ~RootNode ()
 
uint32_t tileCount () const
 
uint32_t getTableSize () const
 
const ValueTypebackground () const
 
void nodeCount (std::array< size_t, 3 > &count) const
 
bool empty () const
 
void clear ()
 
ValueType getValue (const Coord &ijk) const
 
ValueType getValue (int i, int j, int k) const
 
void setValue (const Coord &ijk, const ValueType &value)
 
template<typename AccT >
bool isActiveAndCache (const Coord &ijk, AccT &acc) const
 
template<typename AccT >
ValueType getValueAndCache (const Coord &ijk, AccT &acc) const
 
template<typename AccT >
void setValueAndCache (const Coord &ijk, const ValueType &value, AccT &acc)
 
template<typename AccT >
void setValueOnAndCache (const Coord &ijk, AccT &acc)
 
template<typename AccT >
void touchLeafAndCache (const Coord &ijk, AccT &acc)
 
template<typename NodeT >
uint32_t nodeCount () const
 
template<typename NodeT >
void getNodes (std::vector< NodeT * > &array)
 
void addChild (ChildT *&child)
 
template<uint32_t level>
void addTile (const Coord &ijk, const ValueType &value, bool state)
 Add a tile containing voxel (i, j, k) at the specified tree level, creating a new branch if necessary. Delete any existing lower-level nodes that contain (x, y, z).
 
template<typename NodeT >
void addNode (NodeT *&node)
 
void merge (RootNode &other)
 
template<typename T >
std::enable_if< std::is_floating_point< T >::value >::type signedFloodFill (T outside)
 

Static Public Member Functions

static Coord CoordToKey (const Coord &ijk)
 

Public Attributes

MapT mTable
 
ValueType mBackground
 

Static Public Attributes

static constexpr uint32_t LEVEL = 1 + ChildT::LEVEL
 

Member Typedef Documentation

◆ BuildType

template<typename ChildT >
using BuildType = typename ChildT::BuildType

◆ ChildNodeType

template<typename ChildT >
using ChildNodeType = ChildT

◆ LeafNodeType

template<typename ChildT >
using LeafNodeType = typename ChildT::LeafNodeType

◆ MapT

template<typename ChildT >
using MapT = std::map<Coord, Tile>

◆ ValueType

template<typename ChildT >
using ValueType = typename ChildT::ValueType

Constructor & Destructor Documentation

◆ RootNode() [1/3]

template<typename ChildT >
RootNode ( const ValueType & background)
inline

◆ RootNode() [2/3]

template<typename ChildT >
RootNode ( const RootNode< ChildT > & )
delete

◆ RootNode() [3/3]

template<typename ChildT >
RootNode ( RootNode< ChildT > && )
default

◆ ~RootNode()

template<typename ChildT >
~RootNode ( )
inline

Member Function Documentation

◆ addChild()

template<typename ChildT >
void addChild ( ChildT *& child)
inline

◆ addNode()

template<typename ChildT >
template<typename NodeT >
void addNode ( NodeT *& node)
inline

◆ addTile()

template<typename ChildT >
template<uint32_t level>
void addTile ( const Coord & ijk,
const ValueType & value,
bool state )
inline

Add a tile containing voxel (i, j, k) at the specified tree level, creating a new branch if necessary. Delete any existing lower-level nodes that contain (x, y, z).

Template Parameters
leveltree level at which the tile is inserted. Must be 1, 2 or 3.
Parameters
ijkIndex coordinate that map to the tile being inserted
valueValue of the tile
stateBinary state of the tile

◆ background()

template<typename ChildT >
const ValueType & background ( ) const
inline

◆ beginTile()

template<typename ChildT >
TileIterator beginTile ( )
inline

◆ beginValue()

template<typename ChildT >
ValueIterator beginValue ( )
inline

◆ beginValueOn()

template<typename ChildT >
ValueOnIterator beginValueOn ( )
inline

◆ cbeginChild()

template<typename ChildT >
ChildIterator cbeginChild ( ) const
inline

◆ cbeginChildAll()

template<typename ChildT >
TileIterator cbeginChildAll ( ) const
inline

◆ cbeginChildOn()

template<typename ChildT >
ChildIterator cbeginChildOn ( ) const
inline

◆ cbeginValueAll()

template<typename ChildT >
ValueIterator cbeginValueAll ( ) const
inline

◆ cbeginValueOn()

template<typename ChildT >
ValueOnIterator cbeginValueOn ( ) const
inline

◆ clear()

template<typename ChildT >
void clear ( )
inline

◆ CoordToKey()

template<typename ChildT >
static Coord CoordToKey ( const Coord & ijk)
inlinestatic

◆ empty()

template<typename ChildT >
bool empty ( ) const
inline

◆ getNodes()

template<typename ChildT >
template<typename NodeT >
void getNodes ( std::vector< NodeT * > & array)
inline

◆ getTableSize()

template<typename ChildT >
uint32_t getTableSize ( ) const
inline

◆ getValue() [1/2]

template<typename ChildT >
ValueType getValue ( const Coord & ijk) const
inline

◆ getValue() [2/2]

template<typename ChildT >
ValueType getValue ( int i,
int j,
int k ) const
inline

◆ getValueAndCache()

template<typename ChildT >
template<typename AccT >
ValueType getValueAndCache ( const Coord & ijk,
AccT & acc ) const
inline

◆ isActiveAndCache()

template<typename ChildT >
template<typename AccT >
bool isActiveAndCache ( const Coord & ijk,
AccT & acc ) const
inline

◆ merge()

template<typename ChildT >
void merge ( RootNode< ChildT > & other)
inline

◆ nodeCount() [1/2]

template<typename ChildT >
template<typename NodeT >
uint32_t nodeCount ( ) const
inline

◆ nodeCount() [2/2]

template<typename ChildT >
void nodeCount ( std::array< size_t, 3 > & count) const
inline

◆ operator=() [1/2]

template<typename ChildT >
RootNode & operator= ( const RootNode< ChildT > & )
delete

◆ operator=() [2/2]

template<typename ChildT >
RootNode & operator= ( RootNode< ChildT > && )
default

◆ probeTile() [1/2]

template<typename ChildT >
Tile * probeTile ( const Coord & ijk)
inline

◆ probeTile() [2/2]

template<typename ChildT >
const Tile * probeTile ( const Coord & ijk) const
inline

◆ setValue()

template<typename ChildT >
void setValue ( const Coord & ijk,
const ValueType & value )
inline

◆ setValueAndCache()

template<typename ChildT >
template<typename AccT >
void setValueAndCache ( const Coord & ijk,
const ValueType & value,
AccT & acc )
inline

◆ setValueOnAndCache()

template<typename ChildT >
template<typename AccT >
void setValueOnAndCache ( const Coord & ijk,
AccT & acc )
inline

◆ signedFloodFill()

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

◆ tileCount()

template<typename ChildT >
uint32_t tileCount ( ) const
inline

◆ touchLeafAndCache()

template<typename ChildT >
template<typename AccT >
void touchLeafAndCache ( const Coord & ijk,
AccT & acc )
inline

Member Data Documentation

◆ LEVEL

template<typename ChildT >
uint32_t LEVEL = 1 + ChildT::LEVEL
staticconstexpr

◆ mBackground

template<typename ChildT >
ValueType mBackground

◆ mTable

template<typename ChildT >
MapT mTable