Loading...
Searching...
No Matches
File List
Here is a list of all files with brief descriptions:

doc |
ax |
nanovdb |
nanovdb |
examples |
benchmark |
Camera.h | A simple camera class
DenseGrid.h | Simple dense grid class
Image.h | A simple image class that uses pinned memory for fast GPU transfer
ex_collide_level_set |
common.h |
ex_raytrace_fog_volume |
common.h |
ex_raytrace_level_set |
common.h |
ex_util |
ComputePrimitives.h | A collection of parallel compute primitives
CpuTimer.h | A simple timing class
ex_vox_to_nanovdb |
VoxToNanoVDB.h |
unittest |
pnanovdb_validate_strides.h | This header implements validation tests for the strides used in PNanaoVDB.h (instead of pointers). It can be used both for unit-testing (hence its location), but also to update PNanoVDB.h if the ABI changes in NanoVDB.h
util |
CSampleFromVoxels.h |
CudaDeviceBuffer.h | Implements a simple CUDA allocator!
DitherLUT.h | Defines look up table to do dithering of 8^3 leaf nodes
ForEach.h | A unified wrapper for tbb::parallel_for and a naive std::thread fallback
GridBuilder.h | Generates a NanoVDB grid from any volume or function
GridChecksum.h | Computes a pair of 32bit checksums, og a Grid, by means of Cyclic Redundancy Check (CRC)
GridHandle.h | Defines two classes, a GridRegister the defines the value type (e.g. Double, Float etc) of a NanoVDB grid, and a GridHandle and manages the memory of a NanoVDB grid
GridStats.h | Re-computes min/max/avg/var/bbox information for each node in a pre-existing NanoVDB grid
GridValidator.h | Checks the validity of an existing NanoVDB grid
HDDA.h | Hierarchical Digital Differential Analyzers specialized for VDB
HostBuffer.h | HostBuffer - a buffer that contains a shared or private bump pool to either externally or internally managed host memory
IndexGridBuilder.h | Generates a NanoVDB IndexGrid from any existing NanoVDB grid
Invoke.h | A unified wrapper for tbb::parallel_invoke and a naive std::thread analog
IO.h | Implements I/O for NanoVDB grids. Features optional BLOSC and ZIP file compression, support for multiple grids per file as well as multiple grid types
NanoToOpenVDB.h | This class will deserialize an NanoVDB grid into an OpenVDB grid
NodeManager.h | This class allows for sequential access to nodes in a NanoVDB tree on both the host and device
OpenToNanoVDB.h | This class will serialize an OpenVDB grid into a NanoVDB grid
Primitives.h | Generates volumetric primitives, e.g. sphere, torus etc, as NanoVDB grid
Range.h | Custom Range class that is compatible with the tbb::blocked_range classes
Ray.h | A Ray class
Reduce.h | A unified wrapper for tbb::parallel_reduce and a naive std::future analog
SampleFromVoxels.h | NearestNeighborSampler, TrilinearSampler, TriquadraticSampler and TricubicSampler
Stencils.h | Defines various finite-difference stencils that allow for the computation of gradients of order 1 to 5, mean curvatures, gaussian curvatures, principal curvatures, tri-linear interpolation, zero-crossing, laplacian, and closest point transform
CNanoVDB.h |
NanoVDB.h | Implements a light-weight self-contained VDB data-structure in a single file! In other words, this is a significantly watered-down version of the OpenVDB implementation, with few dependencies - so a one-stop-shop for a minimalistic VDB data structure that run on most platforms!
PNanoVDB.h | This file is a portable (e.g. pointer-less) C99/GLSL/HLSL port of NanoVDB.h, which is compatible with most graphics APIs
openvdb |
io |
Archive.h |
Compression.h |
DelayedLoadMetadata.h |
File.h |
GridDescriptor.h |
io.h |
Queue.h |
Stream.h |
TempFile.h |
math |
BBox.h |
ConjGradient.h | Preconditioned conjugate gradient solver (solves Ax = b using the conjugate gradient method with one of a selection of preconditioners)
Coord.h |
DDA.h | Digital Differential Analyzers specialized for VDB
FiniteDifference.h |
Half.h |
HalfLimits.h |
LegacyFrustum.h |
Maps.h |
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)
Operators.h |
Proximity.h |
QuantizedUnitVec.h |
Quat.h |
Ray.h | A Ray class
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
Transform.h |
Tuple.h |
Vec2.h |
Vec3.h |
Vec4.h |
points |
impl |
PointRasterizeFrustumImpl.h |
PointRasterizeSDFImpl.h |
PointRasterizeTrilinearImpl.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
IndexFilter.h | Index filters primarily designed to be used with a FilterIndexIter
IndexIterator.h | Index Iterators
PointAdvect.h | Ability to advect VDB Points through a 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
PointMask.h | Methods for extracting masks from VDB Point grids
PointMove.h | Ability to move VDB Points using a custom deformer
PointRasterizeFrustum.h | Volume rasterization of VDB Points using velocity and camera motion-blur
PointRasterizeSDF.h | Transfer schemes for rasterizing point positional and radius data to signed distance fields with optional closest point attribute transfers. All methods support arbitrary target linear transformations, fixed or varying point radius, filtering of point data and arbitrary types for attribute transferring
PointRasterizeTrilinear.h | Transfer schemes for rasterizing point data
PointSample.h | Sample a VDB Grid onto a VDB Points attribute
PointScatter.h | Various point scattering methods for generating VDB Points
PointStatistics.h | Functions to perform multi threaded reductions and analysis of arbitrary point attribute types. Each function imposes various requirements on the point ValueType (such as expected operators) and supports arbitrary point filters
PointTransfer.h | Framework methods for rasterizing PointDataGrid data to Trees
StreamCompression.h | Convenience wrappers to using Blosc and reading and writing of Paged data
python |
pyopenvdb.h | Glue functions for access to pyOpenVDB objects from C++ code
tools |
Activate.h | Implementation of topological activation/deactivation
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
Count.h | Functions to count tiles, nodes or voxels in a grid
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

FastSweeping.h

Defined 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.h | Filtering of VDB volumes. All operations can optionally be masked with another grid that acts as an alpha-mask. By default, filtering operations do not modify the topology of the input tree and thus do not process active tiles. However Filter::setProcessTiles can be used to process active tiles, densifying them on demand when necessary
FindActiveValues.h | Finds 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
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 |
Interpolation.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
Mask.h | Construct boolean mask grids from grids of arbitrary type
Merge.h | Functions to efficiently merge grids
MeshToVolume.h | Convert polygonal meshes that consist of quads and/or triangles into signed or unsigned distance field volumes
Morphology.h | Implementation of morphological dilation and erosion
MultiResGrid.h | Multi-resolution grid that contains LoD sequences of trees with powers of two refinements
NodeVisitor.h | Implementation of a depth-first node visitor
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 | Rasterize particles with position, radius and velocity into either a boolean mask grid or a narrow-band level set grid
PointAdvect.h | Class PointAdvect advects points (with position) in a static velocity field
PointIndexGrid.h | Space-partitioning acceleration structure for points. Partitions the points into voxels to accelerate range and nearest neighbor searches
PointPartitioner.h | Spatially partitions points using a parallel radix-based sorting algorithm
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 employs thread-local storage for best performance
PoissonSolver.h | Solve 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.h | Tools for creating potential flow fields through solving Laplace's equation
Prune.h | Defined various multi-threaded utility functions for trees
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
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, extrema (min/max) and statistics (mean, variance, etc.) of grid values
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
ValueTransformer.h |
VectorTransformer.h |
VelocityFields.h | Defines two simple wrapper classes for advection velocity fields as well as VelocitySampler and VelocityIntegrator
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
tree |
InternalNode.h | Internal table nodes for OpenVDB trees
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 |
NodeManager.h | NodeManager produces linear arrays of all tree nodes allowing for efficient threading and bottom-up processing
NodeUnion.h |
RootNode.h | The root node of an OpenVDB tree
Tree.h |
TreeIterator.h |
ValueAccessor.h |
util |
CpuTimer.h |
ExplicitInstantiation.h |
Formats.h | Utility routines to output nicely-formatted numeric values
logging.h |
MapsUtil.h |
Name.h |
NodeMasks.h |
NullInterrupter.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
Util.h |
Exceptions.h |
Grid.h |
Metadata.h |
MetaMap.h |
openvdb.h |
Platform.h |
PlatformConfig.h |
TypeList.h | A 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
Types.h |
version.h.in |
openvdb_ax |
ast |
AST.h | Provides the definition for every abstract and concrete derived class which represent a particular abstract syntax tree (AST) node type
Parse.h | Parsing methods for creating abstract syntax trees out of AX code
PrintTree.h | Various tools which traverse an AX AST and report information back to a std::ostream
Scanners.h | Retrieve intrinsic information from AX AST by performing various traversal algorithms
Tokens.h | Various function and operator tokens used throughout the AST and code generation
Visitor.h | Contains 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
codegen |
Codecs.h |
ComputeGenerator.h | The core visitor framework for code generation
ConstantFolding.h | Constant folding for C++ bindings
FunctionRegistry.h | Contains the global function registration definition which described all available user front end functions
Functions.h | Contains 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.h

Contains 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

PointComputeGenerator.h | The visitor framework and function definition for point data grid code generation
PointLeafLocalData.h | Thread/Leaf local data used during execution over OpenVDB Points
String.h | Provides the class definition for the equivalent IR representation and logic for strings in AX
SymbolTable.h | Contains the symbol table which holds mappings of variables names to llvm::Values
Types.h | Consolidated llvm types for most supported types
Utils.h | Utility code generation methods for performing various llvm operations
VolumeComputeGenerator.h | The visitor framework and function definition for volume grid code generation
compiler |
AttributeBindings.h | The Attribute Bindings class is used by the compiled Executables to handle the mapping of AX Attribute names to context dependent data names, i.e point attribute and volume grid names
AttributeRegistry.h | These 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
Compiler.h | The 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.h | OpenVDB AX Compiler Options
CustomData.h | Access to the CustomData class which can provide custom user user data to the OpenVDB AX Compiler
Logger.h | Logging system to collect errors and warnings throughout the different stages of parsing and compilation
PointExecutable.h | The PointExecutable, produced by the OpenVDB AX Compiler for execution over OpenVDB Points Grids
VolumeExecutable.h | The VolumeExecutable, produced by the OpenVDB AX Compiler for execution over Numerical OpenVDB Grids
grammar |
generated |
axparser.h |
math |
OpenSimplexNoise.h | Methods for generating OpenSimplexNoise (n-dimensional gradient noise)
test |
util.h | Test utilities
ax.h | Single header include which provides methods for initializing AX and running a full AX pipeline (parsing, compiling and executing) across standard OpenVDB Grid types
Exceptions.h | OpenVDB AX Exceptions
openvdb_houdini |
AttributeTransferUtil.h | Utility methods used by the From/To Polygons and From Particles SOPs
GEO_PrimVDB.h |
GeometryUtil.h | Utility methods and tools for geometry processing
GT_GEOPrimCollectVDB.h |
GU_PrimVDB.h |
GU_VDBPointTools.h | Collection of PointIndexGrid helpers for Houdini
ParmFactory.h | A collection of factory methods and helper functions to simplify Houdini plugin development and maintenance
PointUtils.h | Utility classes and functions for OpenVDB Points Houdini plugins
SOP_NodeVDB.h | Base class for OpenVDB plugins
SOP_VDBVerbUtils.h |
UT_VDBTools.h | Less commonly-used utility classes and functions for OpenVDB plugins
UT_VDBUtils.h |
Utils.h | Utility classes and functions for OpenVDB plugins