OpenVDB  8.0.1
File List
Here is a list of all files with brief descriptions:
 AST.hProvides the definition for every abstract and concrete derived class which represent a particular abstract syntax tree (AST) node type
 AttributeArray.hAttribute Array storage templated on type and compression codec
 AttributeArrayString.hAttribute array storage for string data using Descriptor Metadata
 AttributeGroup.hAttribute Group access and filtering for iteration
 AttributeRegistry.hThese classes contain lists of expected attributes and volumes which are populated by compiler during its internal code generation. These will then be requested from the inputs to the executable when execute is called. In this way, accesses are requested at execution time, allowing the executable objects to be shared and stored
 AttributeSet.hSet of Attribute Arrays which tracks metadata about each array
 AttributeTransferUtil.hUtility methods used by the From/To Polygons and From Particles SOPs
 ax.hSingle header include which provides methods for initializing AX and running a full AX pipeline (pasrsing, compiling and executing) across standard OpenVDB Grid types
 ChangeBackground.hEfficient multi-threaded replacement of the background values in tree
 Clip.hFunctions to clip a grid against a bounding box, a camera frustum, or another grid's active voxel topology
 Compiler.hThe OpenVDB AX Compiler class provides methods to generate AX executables from a provided AX AST (or directly from a given string). The class object exists to cache various structures, primarily LLVM constructs, which benefit from existing across additional compilation runs
 CompilerOptions.hOpenVDB AX Compiler Options
 Composite.hFunctions to efficiently perform various compositing operations on grids
 ComputeGenerator.hThe core visitor framework for code generation
 ConjGradient.hPreconditioned conjugate gradient solver (solves Ax = b using the conjugate gradient method with one of a selection of preconditioners)
 ConstantFolding.hConstant folding for C++ bindings
 CustomData.hAccess to the CustomData class which can provide custom user user data to the OpenVDB AX Compiler
 DDA.hDigital Differential Analyzers specialized for VDB
 Dense.hThis file defines a simple dense grid and efficient converters to and from VDB grids
 Diagnostics.hVarious diagnostic tools to identify potential issues with for example narrow-band level sets or fog volumes
 ax/openvdb_ax/Exceptions.hOpenVDB AX Exceptions
 FastSweeping.hDefined the six functions {fog,sdf}To{Sdf,Ext,SdfAndExt} in addition to the two functions maskSdf and dilateSdf. Sdf denotes a signed-distance field (i.e. negative values are inside), fog is a scalar fog volume (i.e. higher values are inside), and Ext is a field (of arbitrary type) that is extended off the iso-surface. All these functions are implemented with the methods in the class named FastSweeping
 Filter.hFiltering 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
 FindActiveValues.hFinds the active values and tiles in a tree that intersects a bounding box. Methods are provided that count the number of active values and tiles, test for the existence of active values and tiles, and return a list of the active tiles that intersect a bbox
 Formats.hUtility routines to output nicely-formatted numeric values
 FunctionRegistry.hContains the global function registration definition which described all available user front end functions
 Functions.hContains the function objects that define the functions used in compute function generation, to be inserted into the FunctionRegistry. These define general purpose functions such as math functions
 FunctionTypes.hContains frameworks for creating custom AX functions which can be registered within the FunctionRegistry and used during code generation. The intended and safest way to build a function is to use the FunctionBuilder struct with its addSignature methods. Note that the derived Function classes provided can also be subclassed for more granular control, however may be subject to more substantial API changes
 GeometryUtil.hUtility methods and tools for geometry processing
 GridOperators.hApply an operator to an input grid to produce an output grid with the same active voxel topology but a potentially different value type
 GU_VDBPointTools.hCollection of PointIndexGrid helpers for Houdini
 IndexFilter.hIndex filters primarily designed to be used with a FilterIndexIter
 IndexIterator.hIndex Iterators
 InternalNode.hInternal table nodes for OpenVDB trees
 LeafManager.hA 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
 LevelSetAdvect.hHyperbolic advection of narrow-band level sets
 LevelSetFilter.hPerforms 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.hDivide volumes represented by level set grids into multiple, disjoint pieces by intersecting them with one or more "cutter" volumes, also represented by level sets
 LevelSetMorph.hShape morphology of level sets. Morphing from a source narrow-band level sets to a target narrow-band level set
 LevelSetPlatonic.hGenerate a narrow-band level sets of the five platonic solids
 LevelSetSphere.hGenerate a narrow-band level set of sphere
 LevelSetTracker.hPerforms 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.hMiscellaneous utility methods that operate primarily or exclusively on level set grids
 Logger.hLogging system to collect errors and warnings throughout the different stages of parsing and compilation
 Mask.hConstruct boolean mask grids from grids of arbitrary type
 Math.hGeneral-purpose arithmetic and comparison routines, most of which accept arbitrary value types (or at least arbitrary numeric value types)
 Merge.hFunctions to efficiently merge grids
 MeshToVolume.hConvert polygonal meshes that consist of quads and/or triangles into signed or unsigned distance field volumes
 Morphology.hImplementation of morphological dilation and erosion
 MultiResGrid.hMulti-resolution grid that contains LoD sequences of trees with powers of two refinements
 NodeManager.hNodeManager produces linear arrays of all tree nodes allowing for efficient threading and bottom-up processing
 OpenSimplexNoise.hMethods for generating OpenSimplexNoise (n-dimensional gradient noise)
 PagedArray.hConcurrent, 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
 ParmFactory.hA collection of factory methods and helper functions to simplify Houdini plugin development and maintenance
 Parse.hParsing methods for creating abstract syntax trees out of AX code
 ParticleAtlas.hSpace-partitioning acceleration structure for particles, points with radius. Partitions particle indices into voxels to accelerate range and nearest neighbor searches
 ParticlesToLevelSet.hRasterize particles with position, radius and velocity into either a boolean mask grid or a narrow-band level set grid
 points/PointAdvect.hAbility to advect VDB Points through a velocity field
 tools/PointAdvect.hClass PointAdvect advects points (with position) in a static velocity field
 PointAttribute.hPoint attribute manipulation in a VDB Point Grid
 PointComputeGenerator.hThe visitor framework and function definition for point data grid code generation
 PointConversion.hConvert points and attributes to and from VDB Point Data grids
 PointCount.hMethods for counting points in VDB Point grids
 PointDataGrid.hAttribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by voxel for fast random and sequential access
 PointDelete.hMethods for deleting points based on group membership
 PointExecutable.hThe PointExecutable, produced by the OpenVDB AX Compiler for execution over OpenVDB Points Grids
 PointGroup.hPoint group manipulation in a VDB Point Grid
 PointIndexGrid.hSpace-partitioning acceleration structure for points. Partitions the points into voxels to accelerate range and nearest neighbor searches
 PointLeafLocalData.hThread/Leaf local data used during execution over OpenVDB Points
 PointMask.hMethods for extracting masks from VDB Point grids
 PointMove.hAbility to move VDB Points using a custom deformer
 PointPartitioner.hSpatially partitions points using a parallel radix-based sorting algorithm
 PointSample.hSample a VDB Grid onto a VDB Points attribute
 points/PointScatter.hVarious point scattering methods for generating VDB Points
 tools/PointScatter.hWe offer three different algorithms (each in its own class) for scattering of points in active voxels:
 PointsToMask.hThis tool produces a grid where every voxel that contains a point is active. It employes thread-local storage for best performance
 PointUtils.hUtility classes and functions for OpenVDB Points Houdini plugins
 PoissonSolver.hSolve Poisson's equation ∇2x = b for x, where b is a vector comprising the values of all of the active voxels in a grid
 PotentialFlow.hTools for creating potential flow fields through solving Laplace's equation
 PrintTree.hVarious tools which traverse an AX AST and report information back to a std::ostream
 Prune.hDefined various multi-threaded utility functions for trees
 pyopenvdb.hGlue functions for access to pyOpenVDB objects from C++ code
 Ray.hA Ray class
 RayIntersector.hAccelerated 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.hDefines 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.hThe root node of an OpenVDB tree
 Scanners.hRetrieve intrinsic information from AX AST by performing various traversal algorithms
 SignedFloodFill.hPropagate the signs of distance values from the active voxels in the narrow band to the inactive values outside the narrow band
 SOP_NodeVDB.hBase class for OpenVDB plugins
 Statistics.hFunctions to efficiently compute histograms, extremas (min/max) and statistics (mean, variance, etc.) of grid values
 Stats.hClasses to compute statistics and histograms
 Stencils.hDefines 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
 StreamCompression.hConvenience wrappers to using Blosc and reading and writing of Paged data
 SymbolTable.hContains the symbol table which holds mappings of variables names to llvm::Values
 Tokens.hVarious function and operator tokens used throughout the AST and code generation
 TopologyToLevelSet.hThis tool generates a narrow-band signed distance field / level set from the interface between active and inactive voxels in a vdb grid
 TypeList.hA TypeList provides a compile time sequence of heterogeneous types which can be accessed, transformed and executed over in various ways. It incorporates a subset of functionality similar to boost::mpl::vector however provides most of its content through using declarations rather than additional typed classes
 ax/openvdb_ax/codegen/Types.hConsolidated llvm types for most supported types
 UT_VDBTools.hLess commonly-used utility classes and functions for OpenVDB plugins
 util.hTest utilities
 openvdb_houdini/openvdb_houdini/Utils.hUtility classes and functions for OpenVDB plugins
 openvdb_ax/openvdb_ax/codegen/Utils.hUtility code generation methods for performing various llvm operations
 VelocityFields.hDefines two simple wrapper classes for advection velocity fields as well as VelocitySampler and VelocityIntegrator
 version.hLibrary and file format version numbers
 Visitor.hContains the AX AST Node Visitor, providing default and customizable traversal and visitation methods on a AST hierarchy. Using the visitor pattern is the recommended way to implement custom operations on AST nodes
 VolumeAdvect.hSparse hyperbolic advection of volumes, e.g. a density or velocity (vs a level set interface)
 VolumeComputeGenerator.hThe visitor framework and function definition for volume grid code generation
 VolumeExecutable.hThe VolumeExecutable, produced by the OpenVDB AX Compiler for execution over Numerical OpenVDB Grids
 VolumeToMesh.hExtract polygonal surfaces from scalar volumes
 VolumeToSpheres.hFill a closed level set or fog volume with adaptively-sized spheres