Archive.h | |
AttributeArray.h | Attribute Array storage templated on type and compression codec |
AttributeArrayString.h | Attribute array storage for string data using Descriptor Metadata |
AttributeGroup.h | Attribute Group access and filtering for iteration |
AttributeSet.h | Set of Attribute Arrays which tracks metadata about each array |
BBox.h | |
ChangeBackground.h | Efficient multi-threaded replacement of the background values in tree |
Clip.h | Functions to clip a grid against a bounding box, a camera frustum, or another grid's active voxel topology |
Composite.h | Functions to efficiently perform various compositing operations on grids |
Compression.h | |
ConjGradient.h | Preconditioned conjugate gradient solver (solves Ax = b using the conjugate gradient method with one of a selection of preconditioners) |
Coord.h | |
CpuTimer.h | |
DDA.h | Digital Differential Analyzers specialized for VDB |
Dense.h | This file defines a simple dense grid and efficient converters to and from VDB grids |
DenseSparseTools.h | |
Diagnostics.h | Various diagnostic tools to identify potential issues with for example narrow-band level sets or fog volumes |
Exceptions.h | |
File.h | |
Filter.h | Filtering of VDB volumes. Note that only the values in the grid are changed, not its topology! All operations can optionally be masked with another grid that acts as an alpha-mask |
FiniteDifference.h | |
Formats.h | Utility routines to output nicely-formatted numeric values |
Grid.h | |
GridDescriptor.h | |
GridOperators.h | Apply an operator to an input grid to produce an output grid with the same active voxel topology but a potentially different value type |
GridTransformer.h | |
IndexFilter.h | Index filters primarily designed to be used with a FilterIndexIter |
IndexIterator.h | Index Iterators |
InternalNode.h | Internal table nodes for OpenVDB trees |
Interpolation.h | |
io.h | |
Iterator.h | |
LeafBuffer.h | |
LeafManager.h | A LeafManager manages a linear array of pointers to a given tree's leaf nodes, as well as optional auxiliary buffers (one or more per leaf) that can be swapped with the leaf nodes' voxel data buffers |
LeafNode.h | |
LeafNodeBool.h | |
LeafNodeMask.h | |
LegacyFrustum.h | |
LevelSetAdvect.h | Hyperbolic advection of narrow-band level sets |
LevelSetFilter.h | Performs various types of level set deformations with interface tracking. These unrestricted deformations include surface smoothing (e.g., Laplacian flow), filtering (e.g., mean value) and morphological operations (e.g., morphological opening). All these operations can optionally be masked with another grid that acts as an alpha-mask |
LevelSetFracture.h | Divide volumes represented by level set grids into multiple, disjoint pieces by intersecting them with one or more "cutter" volumes, also represented by level sets |
LevelSetMeasure.h | |
LevelSetMorph.h | Shape morphology of level sets. Morphing from a source narrow-band level sets to a target narrow-band level set |
LevelSetPlatonic.h | Generate a narrow-band level sets of the five platonic solids |
LevelSetRebuild.h | |
LevelSetSphere.h | Generate a narrow-band level set of sphere |
LevelSetTracker.h | Performs multi-threaded interface tracking of narrow band level sets. This is the building-block for most level set computations that involve dynamic topology, e.g. advection |
LevelSetUtil.h | Miscellaneous utility methods that operate primarily or exclusively on level set grids |
logging.h | |
Maps.h | |
MapsUtil.h | |
Mask.h | Construct boolean mask grids from grids of arbitrary type |
Mat.h | |
Mat3.h | |
Mat4.h | |
Math.h | General-purpose arithmetic and comparison routines, most of which accept arbitrary value types (or at least arbitrary numeric value types) |
MeshToVolume.h | Convert polygonal meshes that consist of quads and/or triangles into signed or unsigned distance field volumes |
Metadata.h | |
MetaMap.h | |
Morphology.h | Implementation of morphological dilation and erosion |
MultiResGrid.h | Multi-resolution grid that contains LoD sequences of trees with powers of two refinements |
Name.h | |
NodeManager.h | NodeManager produces linear arrays of all tree nodes allowing for efficient threading and bottom-up processing |
NodeMasks.h | |
NodeUnion.h | |
NullInterrupter.h | |
openvdb.h | |
Operators.h | |
PagedArray.h | Concurrent, page-based, dynamically-sized linear data structure with O(1) random access and STL-compliant iterators. It is primarily intended for applications that involve multi-threading push_back of (a possibly unkown number of) elements into a dynamically growing linear array, and fast random access to said elements |
ParticleAtlas.h | Space-partitioning acceleration structure for particles, points with radius. Partitions particle indices into voxels to accelerate range and nearest neighbor searches |
ParticlesToLevelSet.h | This tool converts particles (with position, radius and velocity) into a signed distance field encoded as a narrow band level set. Optionally, arbitrary attributes on the particles can be transferred resulting in an additional attribute grid with the same topology as the level set grid |
Platform.h | |
PlatformConfig.h | |
points/PointAdvect.h | Ability to advect VDB Points through a velocity field |
tools/PointAdvect.h | Class PointAdvect advects points (with position) in a static velocity field |
PointAttribute.h | Point attribute manipulation in a VDB Point Grid |
PointConversion.h | Convert points and attributes to and from VDB Point Data grids |
PointCount.h | Methods for counting points in VDB Point grids |
PointDataGrid.h | Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by voxel for fast random and sequential access |
PointDelete.h | Methods for deleting points based on group membership |
PointGroup.h | Point group manipulation in a VDB Point Grid |
PointIndexGrid.h | Space-partitioning acceleration structure for points. Partitions the points into voxels to accelerate range and nearest neighbor searches |
PointMask.h | Methods for extracting masks from VDB Point grids |
PointMove.h | Ability to move VDB Points using a custom deformer |
PointPartitioner.h | Spatially partitions points using a parallel radix-based sorting algorithm |
PointSample.h | Sample a VDB Grid onto a VDB Points attribute |
points/PointScatter.h | Various point scattering methods for generating VDB Points |
tools/PointScatter.h | We offer three different algorithms (each in its own class) for scattering of points in active voxels: |
PointsToMask.h | This tool produces a grid where every voxel that contains a point is active. It employes thread-local storage for best performance |
PoissonSolver.h | Solve Poisson's equation ∇^{2}x = b for x, where b is a vector comprising the values of all of the active voxels in a grid |
PotentialFlow.h | Tools for creating potential flow fields through solving Laplace's equation |
Proximity.h | |
Prune.h | Defined various multi-threaded utility functions for trees |
pyopenvdb.h | Glue functions for access to pyOpenVDB objects from C++ code |
QuantizedUnitVec.h | |
Quat.h | |
Queue.h | |
Ray.h | A Ray class |
RayIntersector.h | Accelerated intersection of a ray with a narrow-band level set or a generic (e.g. density) volume. This will of course be useful for respectively surface and volume rendering |
RayTracer.h | Defines two simple but multithreaded renders, a level-set ray tracer and a volume render. To support these renders we also define perspective and orthographic cameras (both designed to mimic a Houdini camera), a Film class and some rather naive shaders |
RootNode.h | The root node of an OpenVDB tree |
SignedFloodFill.h | Propagate the signs of distance values from the active voxels in the narrow band to the inactive values outside the narrow band |
Statistics.h | Functions to efficiently compute histograms, extremas (min/max) and statistics (mean, variance, etc.) of grid values |
Stats.h | Classes to compute statistics and histograms |
Stencils.h | Defines various finite difference stencils by means of the "curiously recurring template pattern" on a BaseStencil that caches stencil values and stores a ValueAccessor for fast lookup |
Stream.h | |
StreamCompression.h | Convenience wrappers to using Blosc and reading and writing of Paged data |
TempFile.h | |
TopologyToLevelSet.h | This tool generates a narrow-band signed distance field / level set from the interface between active and inactive voxels in a vdb grid |
Transform.h | |
Tree.h | |
TreeIterator.h | |
Tuple.h | |
Types.h | |
Util.h | |
ValueAccessor.h | |
ValueTransformer.h | |
Vec2.h | |
Vec3.h | |
Vec4.h | |
VectorTransformer.h | |
VelocityFields.h | Defines two simple wrapper classes for advection velocity fields as well as VelocitySampler and VelocityIntegrator |
version.h | Library and file format version numbers |
VolumeAdvect.h | Sparse hyperbolic advection of volumes, e.g. a density or velocity (vs a level set interface) |
VolumeToMesh.h | Extract polygonal surfaces from scalar volumes |
VolumeToSpheres.h | Fill a closed level set or fog volume with adaptively-sized spheres |