Loading...
Searching...
No Matches
GridBuilder.h File Reference

This file defines a minimum set of tree nodes and tools that can be used (instead of OpenVDB) to build nanovdb grids on the CPU. More...

`#include <iostream>`
`#include <map>`
`#include <limits>`
`#include <sstream>`
`#include <vector>`
`#include <cstring>`
`#include <mutex>`
`#include <array>`
`#include <atomic>`
`#include <nanovdb/NanoVDB.h>`
`#include "Range.h"`
`#include "ForEach.h"`

Go to the source code of this file.

## Classes

struct | RootNode< ChildT >
struct | RootNode< ChildT >::Tile
class | RootNode< ChildT >::ChildIterator
class | RootNode< ChildT >::ValueIterator
class | RootNode< ChildT >::ValueOnIterator
class | RootNode< ChildT >::TileIterator
struct | InternalNode< ChildT >
struct | InternalNode< ChildT >::Tile
class | InternalNode< ChildT >::ChildIterator
| Visits child nodes of this node only. More...
class | InternalNode< ChildT >::ValueIterator
| Visits all tile values in this node, i.e. both inactive and active tiles. More...
class | InternalNode< ChildT >::ValueOnIterator
| Visits active tile values of this node only. More...
class | InternalNode< ChildT >::DenseIterator
| Visits all tile values and child nodes of this node. More...
struct | LeafNode< BuildT >
class | LeafNode< BuildT >::ValueOnIterator
| Visits all active values in a leaf node. More...
class | LeafNode< BuildT >::ValueOffIterator
| Visits all inactive values in a leaf node. More...
class | LeafNode< BuildT >::ValueIterator
| Visits all values in a leaf node, i.e. both active and inactive values. More...
struct | LeafNode< ValueMask >
class | LeafNode< ValueMask >::ValueOnIterator
| Visits all active values in a leaf node. More...
class | LeafNode< ValueMask >::ValueOffIterator
| Visits all inactive values in a leaf node. More...
class | LeafNode< ValueMask >::ValueIterator
| Visits all values in a leaf node, i.e. both active and inactive values. More...
struct | LeafNode< bool >
class | LeafNode< bool >::ValueOnIterator
| Visits all active values in a leaf node. More...
class | LeafNode< bool >::ValueOffIterator
| Visits all inactive values in a leaf node. More...
class | LeafNode< bool >::ValueIterator
| Visits all values in a leaf node, i.e. both active and inactive values. More...
struct | ValueAccessor< BuildT >
struct | Tree< BuildT >
struct | Tree< BuildT >::WriteAccessor
struct | Grid< BuildT >
class | NodeManager< GridT >
struct | TouchLeaf< T >
struct | GetValue< T >
| Implements Tree::getValue(Coord), i.e. return the value associated with a specific coordinate `ijk`. More...
struct | GetState< T >
| Implements Tree::isActive(Coord) More...
struct | SetValue< T >
| Set the value and its state at the leaf level mapped to by ijk, and create the leaf node and branch if needed. More...
struct | ProbeValue< T >
| Implements Tree::probeLeaf(Coord) More...

## Namespaces

namespace | nanovdb
namespace | nanovdb::build

## Typedefs

template<typename T>
using | BuildLeaf = LeafNode<T>
template<typename T>
using | BuildLower = InternalNode<BuildLeaf<T>>
template<typename T>
using | BuildUpper = InternalNode<BuildLower<T>>
template<typename T>
using | BuildRoot = RootNode<BuildUpper<T>>
template<typename T>
using | BuildTile = typename BuildRoot<T>::Tile
using | FloatGrid = Grid<float>
using | Fp4Grid = Grid<Fp4>
using | Fp8Grid = Grid<Fp8>
using | Fp16Grid = Grid<Fp16>
using | FpNGrid = Grid<FpN>
using | DoubleGrid = Grid<double>
using | Int32Grid = Grid<int32_t>
using | UInt32Grid = Grid<uint32_t>
using | Int64Grid = Grid<int64_t>
using | Vec3fGrid = Grid<Vec3f>
using | Vec3dGrid = Grid<Vec3d>
using | Vec4fGrid = Grid<Vec4f>
using | Vec4dGrid = Grid<Vec4d>
using | MaskGrid = Grid<ValueMask>
using | IndexGrid = Grid<ValueIndex>
using | OnIndexGrid = Grid<ValueOnIndex>
using | BoolGrid = Grid<bool>

## Functions

template<typename NodeManagerT>
enable_if< is_floating_point< typenameNodeManagerT::ValueType >::value >::type | sdfToLevelSet (NodeManagerT &mgr)
template<typename NodeManagerT>
void | levelSetToFog (NodeManagerT &mgr, bool rebuild=true)

## Detailed Description

This file defines a minimum set of tree nodes and tools that can be used (instead of OpenVDB) to build nanovdb grids on the CPU.

Author
  Ken Museth

Date
  June 26, 2020