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

Tile * | probeTile (const Coord &ijk)
const Tile * | probeTile (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
RootNode & | operator= (const RootNode &)=delete
RootNode & | operator= (RootNode &&)=default
| ~RootNode ()
uint32_t | tileCount () const
uint32_t | getTableSize () const
const ValueType & | background () 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

  level | tree level at which the tile is inserted. Must be 1, 2 or 3.

Parameters

  ijk | Index coordinate that map to the tile being inserted
  value | Value of the tile
  state | Binary 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>

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