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
| Convert a base-pointer to an openvdb grid, denoted srcGrid, to a nanovdb grid of the same type, e.g. float -> float or openvdb::Vec3f -> nanovdb::Vec3f.
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