OpenVDB
11.0.0
|
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) |
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.