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