OpenVDB  11.0.0
Classes | Namespaces | Typedefs | Functions
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  GetValue< T >
 Implements Tree::getValue(Coord), i.e. return the value associated with a specific coordinate ijk. 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  TouchLeaf< T >
 
struct  GetState< T >
 Implements Tree::isActive(Coord) More...
 
struct  ProbeValue< T >
 Implements Tree::probeLeaf(Coord) More...
 
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

 nanovdb
 
 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< typename NodeManagerT::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