OpenVDB 13.0.0
Loading...
Searching...
No Matches
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
 Ncxx14
  Cindex_sequence
  Cmake_index_sequence
  Cmake_index_sequence< 0, Is... >
 NGU_VDBPointToolsInternal
  CIndexToOffsetOp
  CPackedMaskConstructor
 Nhoudini_utils
  CParmListParameter template list that is always terminated
  CParmFactoryHelper class to simplify construction of PRM_Templates and dynamic user interfaces
  COpFactoryHelper class to simplify operator registration
  COpPolicyAn OpPolicy customizes the behavior of an OpFactory. This base class specifies the required interface
  CScopedInputLockHelper class to manage input locking
 Nnanovdb
  Nio
   CFileHeaderData encoded at the head of each segment of a file or stream
   CFileMetaData
  Nutil
   Nmorphology
    CNearestNeighborBitMask
   CconditionalC++11 implementation of std::conditional
   Cconditional< false, TrueT, FalseT >Template specialization of conditional
   Cdisable_if
   Cdisable_if< true, T >
   Cenable_ifC++11 implementation of std::enable_if
   Cenable_if< true, T >
   Cis_const
   Cis_const< const T >
   Cis_floating_pointC++11 implementation of std::is_floating_point
   Cis_pointerTrait used to identify template parameter that are pointers
   Cis_pointer< T * >Template specialization of pointers
   Cis_sameC++11 implementation of std::is_same
   Cis_same< T, T >
   Cis_same< T0, T1 >
   Cis_specializationMetafunction used to determine if the first template parameter is a specialization of the class template given in the second template parameter
   Cis_specialization< TemplateType< Args... >, TemplateType >
   Cmatch_constTrait used to transfer the const-ness of a reference type to another type
   Cmatch_const< T, const ReferenceT >Template specialization used to transfer the const-ness of a reference type to another type
   CRange
   CRange< 1, T >
   CRange< 2, T >
   CRange< 3, T >
   Cremove_constTrait use to const from type. Default implementation is just a pass-through
   Cremove_const< const T >Template specialization of trait class use to remove const qualifier type from a type
   Cremove_pointerTrait use to remove pointer, i.e. "*", qualifier from a type. Default implementation is just a pass-through
   Cremove_pointer< T * >Template specialization of trait class use to to remove pointer, i.e. "*", qualifier from a type
   Cremove_referenceTrait use to remove reference, i.e. "&", qualifier from a type. Default implementation is just a pass-through
   Cremove_reference< T & >Template specialization of trait class use to remove reference, i.e. "&", qualifier from a type
   CSplit
   CTimer
  CBitArray
  CBitArray< 16 >
  CBitArray< 32 >
  CBitArray< 64 >
  CBitArray< 8 >
  CBitFlags
  CBufferTraits
  CBuildToValueMapMaps one type (e.g. the build types above) to other (actual) types
  CBuildToValueMap< Fp16 >
  CBuildToValueMap< Fp4 >
  CBuildToValueMap< Fp8 >
  CBuildToValueMap< FpN >
  CBuildToValueMap< Half >
  CBuildToValueMap< Point >
  CBuildToValueMap< ValueIndex >
  CBuildToValueMap< ValueMask >
  CBuildToValueMap< ValueOnIndex >
  CBuildTraitsDefine static boolean tests for template build types
  CChannelAccessorClass to access values in channels at a specific voxel location
  CChecksumClass that encapsulates two CRC32 checksums, one for the Grid, Tree and Root node meta data and one for the remaining grid nodes
  CFloatTraits
  CFloatTraits< bool, 1 >
  CFloatTraits< Point, 1 >
  CFloatTraits< T, 8 >
  CFloatTraits< ValueIndex, 1 >
  CFloatTraits< ValueMask, 1 >
  CFloatTraits< ValueOnIndex, 1 >
  CFp16Dummy type for a 16bit quantization of float point values
  CFp4Dummy type for a 4bit quantization of float point values
  CFp8Dummy type for a 8bit quantization of float point values
  CFpNDummy type for a variable bit quantization of floating point values
  CGetDimImplements Tree::getDim(math::Coord)
  CGetLeafReturn the pointer to the leaf node that contains math::Coord. Implements Tree::probeLeaf(math::Coord)
  CGetLowerReturn point to the lower internal node where math::Coord maps to one of its values, i.e. terminates
  CGetNodeInfoImplements Tree::getNodeInfo(math::Coord)
   CNodeInfo
  CGetStateImplements Tree::isActive(math::Coord)
  CGetTileReturn point to the root Tile where math::Coord maps to one of its values, i.e. terminates
  CGetUpperReturn point to the upper internal node where math::Coord maps to one of its values, i.e. terminates
  CGetValueBelow is an example of a struct used for random get methods
  CGridHighest level of the data structure. Contains a tree and a world->index transform (that currently only supports uniform scaling and translation)
  CGridBlindMetaData
  CGridDataStruct with all the member data of the Grid (useful during serialization of an openvdb grid)
  CGridHandleThis class serves to manage a buffer containing one or more NanoVDB Grids
  CGridHandleMetaData
  CGridMetaDataThis is a convenient class that allows for access to grid meta-data that are independent of the value type of a grid. That is, this class can be used to get information about a grid without actually knowing its ValueType
  CGridTreeDefines a tree type from a grid type while preserving constness
  CGridTree< const GridT >
  CHalfDummy type for a 16 bit floating point values (placeholder for IEEE 754 Half)
  CHostBufferThis is a buffer that contains a shared or private pool to either externally or internally managed host memory
   CPool
  CInternalDataStruct with all the member data of the InternalNode (useful during serialization of an openvdb InternalNode)
   CTile
  CInternalNodeInternal nodes of a VDB tree
   CChildIterVisits child nodes of this node only
   CValueIteratorVisits all tile values in this node, i.e. both inactive and active tiles
   CValueOnIteratorVisits active tile values of this node only
   CDenseIteratorVisits all tile values and child nodes of this node
  CLeafDataStuct with all the member data of the LeafNode (useful during serialization of an openvdb LeafNode)
  CLeafData< bool, CoordT, MaskT, LOG2DIM >
  CLeafData< Fp16, CoordT, MaskT, LOG2DIM >
  CLeafData< Fp4, CoordT, MaskT, LOG2DIM >Stuct with all the member data of the LeafNode (useful during serialization of an openvdb LeafNode)
  CLeafData< Fp8, CoordT, MaskT, LOG2DIM >
  CLeafData< FpN, CoordT, MaskT, LOG2DIM >
  CLeafData< Point, CoordT, MaskT, LOG2DIM >
  CLeafData< ValueIndex, CoordT, MaskT, LOG2DIM >
  CLeafData< ValueMask, CoordT, MaskT, LOG2DIM >
  CLeafData< ValueOnIndex, CoordT, MaskT, LOG2DIM >
  CLeafFnBaseBase-class for quantized float leaf nodes
  CLeafIndexBase
  CLeafNodeLeaf nodes of the VDB tree. (defaults to 8x8x8 = 512 voxels)
   CChildNodeType
   CValueOnIteratorVisits all active values in a leaf node
   CValueOffIteratorVisits all inactive values in a leaf node
   CValueIteratorVisits all values in a leaf node, i.e. both active and inactive values
  CMapDefines an affine transform and its inverse represented as a 3x3 matrix and a vec3 translation
  CMaskBit-mask to encode active states and facilitate sequential iterators and a fast codec for I/O compression
   CIterator
   CDenseIterator
  CNanoNodeTrait to map from LEVEL to node type
  CNanoNode< BuildT, 0 >
  CNanoNode< BuildT, 1 >
  CNanoNode< BuildT, 2 >
  CNanoNode< BuildT, 3 >
  CNodeManagerNodeManager allows for sequential access to nodes
  CNodeManagerData
   C[union].__unnamed0__
   C[union].__unnamed1__
  CNodeManagerHandleNodeManagerHandle manages the memory of a NodeManager
  CNodeTraitStruct to derive node type from its level in a given grid, tree or root while preserving constness
  CNodeTrait< const GridOrTreeOrRootT, 0 >
  CNodeTrait< const GridOrTreeOrRootT, 1 >
  CNodeTrait< const GridOrTreeOrRootT, 2 >
  CNodeTrait< const GridOrTreeOrRootT, 3 >
  CNodeTrait< GridOrTreeOrRootT, 0 >
  CNodeTrait< GridOrTreeOrRootT, 1 >
  CNodeTrait< GridOrTreeOrRootT, 2 >
  CNodeTrait< GridOrTreeOrRootT, 3 >
  CPointDummy type for indexing points into voxels
  CPointAccessorClass to access points at a specific voxel location
  CPointAccessor< AttT, Point >
  CProbeValueImplements Tree::probeLeaf(math::Coord)
  CReadAccessor
  CReadAccessor< BuildT, -1, -1, -1 >A read-only value accessor with three levels of node caching. This allows for inverse tree traversal during lookup, which is on average significantly faster than calling the equivalent method on the tree (i.e. top-down traversal)
  CReadAccessor< BuildT, 0, 1, 2 >Node caching at all (three) tree levels
  CReadAccessor< BuildT, LEVEL0, -1, -1 >Node caching at a single tree level
  CReadAccessor< BuildT, LEVEL0, LEVEL1, -1 >
  CRootDataStruct with all the member data of the RootNode (useful during serialization of an openvdb RootNode)
   CTile
   CTileIter
  CRootNodeTop-most node of the VDB tree structure
   CBaseIter
   CChildIter
   CValueIter
   CValueOnIter
   CDenseIter
  CSetValue
  CSetVoxel
  CTensorTraits
  CTensorTraits< T, 0 >
  CTensorTraits< T, 1 >
  CTreeVDB Tree, which is a thin wrapper around a RootNode
  CTreeData
  CValueIndexDummy type for a voxel whose value equals an offset into an external value array
  CValueMaskDummy type for a voxel whose value equals its binary active state
  CValueOnIndexDummy type for a voxel whose value equals an offset into an external value array of active values
  CVersionBit-compacted representation of all three version numbers
 Nopenvdb
  Nv13_0
   Nax
    Nast
     CArrayPackArrayPacks represent temporary container creations of arbitrary sizes, typically generated through the use of curly braces {}
     CArrayUnpackArrayUnpack represent indexing operations into AX container types, primarily vectors and matrices indexed by the square brackets [] syntax. Multiple levels of indirection (multiple components) can be specified but current construction is limited to either a single or double component lookup. Providing two components infers a matrix indexing operation
     CAssignExpressionAssignExpressions represents a similar object construction to a BinaryOperator. AssignExpressions can be chained together and are thus derived as Expressions rather than Statements
     CAttributeAttributes represent any access to a primitive value, typically associated with the '@' symbol syntax. Note that the AST does not store any additional information on the given attribute other than its name and type, which together form a unique Attribute identifier known as the Attribute 'token'. A 'primitive value' in this instance refers to a value on an OpenVDB Volume or OpenVDB Points tree
     CBinaryOperatorA BinaryOperator represents a single binary operation between a left hand side (LHS) and right hand side (RHS) expression. The operation type is stored as a tokens::OperatorToken enumerated type on the node. AX grammar guarantees that this token will only ever be a valid binary operator token type when initialized by the parser
     CBlockA Block node represents a scoped list of statements. It may comprise of 0 or more statements, and specifically indicates that a new scope is activated, typically represented by curly braces. Note that a block does not alway have to be encapsulated by curly braces, but always represents a new scope
     CCastCast nodes represent the conversion of an underlying expression to a target type. Cast nodes are typically constructed from functional notation and do not represent construction of the target type, rather a type-casted conversion
     CCommaOperator
     CConditionalStatementConditionalStatements represents all combinations of 'if', 'else' and 'else if' syntax and semantics. A single ConditionalStatement only ever represents up to two branches; an 'if' (true) and an optional 'else' (false). ConditionalStatements are nested within the second 'else' branch to support 'else if' logic. As well as both 'if' and 'else' branches, a ConditionalStatement also holds an Expression related to its primary condition
     CCrementA Crement node represents a single increment '++' and decrement '–' operation. As well as it's crement type, it also stores whether the semantics constructed a post or pre-crement i.e. ++a or a++
     CDeclareLocalDeclareLocal AST nodes symbolize a single type declaration of a local variable. These store the local variables that They also however store its specified type. These have the important distinction of representing the initial creation and allocation of a variable, in comparison to a Local node which only represents access
     CExpressionExpressions are comprised of full or potentially partial parts of a full statement that may not necessary make up an entire valid statement on their own. For example, while a Binary Operator such as "3 + 5;"" is a valid statement on its own, the full statement "3 + 5 + 6;" must be broken down into two expressions which together form the statement as well as determining precedence
     CExternalVariableExternalVariable represent any access to external (custom) data, typically associated with the '$' symbol syntax. Note that the AST does not store any additional information on the given external other than its name and type, which together form a unique external identifier known as the ExternalVariable 'token'. This token is used by the compiler to map user provided values to these external values
     CFunctionCallFunctionCalls represent a single call to a function and any provided arguments. The argument list can be empty. The function name is expected to exist in the AX function registry
     CKeywordKeywords represent keyword statements defining changes in execution. These include those that define changes in loop execution such as break and continue, as well as return statements
     CLocalLocal AST nodes represent a single accesses to a local variable. The only store the name of the variable being accessed
     CLoopLoops represent for, while and do-while loop constructs. These all consist of a condition - evaluated to determine if loop iteration should continue, and a body which is the logic to be repeated. For loops also have initial statements which are evaluated prior to loop execution (at loop scope) and commonly used to set up iterators, and iteration expressions which are evaluated between iterations after the body and before the condition. Both conditions and initial statements can be declarations or expressions, so are Statements, and iteration expressions can consist of multiple expressions. The loop body is a Block defining its own scope (encapsulated by initial statement scope for for-loops)
     CNodeThe base abstract node which determines the interface and required methods for all derived concrete nodes which comprise a valid AST
     CStatementAbstract (pure-virtual) AST nodes
     CStatementListConcrete AST nodes
     CTernaryOperatorA TernaryOperator represents a ternary (conditional) expression 'a ? b : c' which evaluates to 'b' if 'a' is true and 'c' if 'a' is false. Requires 'b' and 'c' to be convertibly typed expressions, or both void. The 'true' expression ('b') is optional with the conditional expression 'a' returned if it evaluates to true, otherwise returning 'c'. Note that 'a' will only be evaluated once in this case
     CTreeA Tree is the highest concrete (non-abstract) node in the entire AX AST hierarchy. It represents an entire conversion of a valid AX string
     CUnaryOperatorA UnaryOperator represents a single unary operation on an expression. The operation type is stored as a tokens::OperatorToken enumerated type on the node. AX grammar guarantees that this token will only every be a valid unary operator token type when initialized by the parser
     CValueA Value (literal) AST node holds either literal text or absolute value information on all numerical, string and boolean constants. A single instance of a Value is templated on the requested scalar, boolean or string type. If scalar or boolean value is constructed from a string (as typically is the case in the parser), the value is automatically converted to its numerical representation. If this fails, the original text is stored instead
     CValue< std::string >Specialization of Values for strings
     CValueBaseValueBases are a base class for anything that holds a value (literal). Derived classes store the actual typed values
     CVariableVariables are a base type for Locals, Attributes and ExternalVariables. Unlike other abstract types, they also consolidate data for the derived types
     CVisitNodeType
     CVisitorThe Visitor class uses the Curiously Recursive Template Pattern (CRTP) to provide a customizable interface intended to be used by clients wishing to perform custom operations over an AX Abstract Syntax Tree (AST). By default the Visitor implements simple traversal of all nodes, ensuring that each node on a well formed AST is visited at least once. By deriving from the Visitor, users are able to customize this default behavior and further manually override specific node behavior to their needs. The function options at the top of visitor can be overridden using CRTP to control the prior default behavior, with the ability to override the traverse() and visit() methods for the latter more granular control
    Ncodegen
     Ncodegen_internal
      CComputeGeneratorVisitor object which will generate llvm IR for a syntax tree. This provides the majority of the code generation functionality except for attribute access. This design allows for custom geometry to define their IR implementations for these accesses by deriving and extending this generator with ast::Attribute handling (see PointComputeGenerator.h and VolumeComputeGenerator.h for examples)
      CPointComputeGeneratorVisitor object which will generate llvm IR for a syntax tree which has been generated from AX that targets point grids. The IR will represent 2 functions : one that executes over single points and one that executes over a collection of points. This is primarily used by the Compiler class
      CPointLeafLocalDataVarious functions can request the use and initialization of point data from within the kernel that does not use the standard attribute handle methods. This data can then be accessed after execution to perform post-processes such as adding new groups, adding new string attributes or updating positions
      CVolumeComputeGeneratorVisitor object which will generate llvm IR for a syntax tree which has been generated from AX that targets volumes. The IR will represent a single function. It is mainly used by the Compiler class
     CAliasTypeMapAlias mapping between two types, a frontend type T1 and a backend type T2. This class is the intended interface for binding objects which implement supported backend AX/IR types to this given backend type. More specifically, it's current and expected usage is limited to objects which hold a single member of a supported backend type and implements a StandardLayoutType as defined by the standard. Fundamentally, T1->T2 mapping should be supported by reinterpret_cast<> as defined by the type aliasing rules
     CArgInfoMetadata associated with a function argument or return value
     CArgInfoVectorContainer of ArgInfos. This class makes up part of the Function API for querying signature information
     CArgTypeObject to array conversion methods to allow functions to return vector types. These containers provided an interface for automatic conversion of C++ objects to LLVM types as array types
     CArgumentIteratorTemplated argument iterator which implements various small functions per argument type, resolved at compile time
     CArgumentIterator< SignatureT, 0 >
     CArgumentsArbitrary, potentially "non-native" arguments. This wrapper struct can be used when generating function which cannot be called from AX itself (e.g. VDB accessor functions or Volume/Point kernels etc). They do not support implicit function signature matching or casting
     CCFunctionRepresents a concrete C function binding
     CCFunctionBaseThe base class for all C bindings
     CCFunctionSRetRepresents a concrete C function binding with the first argument as its return type
     CCodec
     CComputeKernelThe function definition and signature which is built by the ComputeGenerator
     CConstantFolderConstant folding support structure
     CConstantFolder< SignatureT, 0 >
     CCountNPtrs
     CCountNPtrs< T * >
     CCountNPtrs< T *const >
     CCountNPtrs< T *const volatile >
     CCountNPtrs< T *volatile >
     CFunctionThe base/abstract representation of an AX function. Derived classes must implement the Function::types call to describe their signature
     CFunctionBuilderBuilder pattern framework to allow easy and valid construction of AX functions. There are a number of complex tasks which may need to be performed during construction of C or IR function which are delegated to this builder, whilst ensuring that the constructed functions are guaranteed to be valid
      CSettings
     CFunctionGroupA group of functions which all have the same name but different signatures. For example: float abs(float) double abs(double) As well as serving as a way of grouping common functions, this class provides an API for selecting the best possible function signature, should a match exist, against a provided set of argument types
     CFunctionRegistryThe function registry which is used for function code generation. Each time a function is visited within the AST, its identifier is used as a key into this registry for the corresponding function retrieval and execution. Functions can be inserted into the registry using insert() with a given identifier and pointer
      CRegisteredFunctionAn object to represent a registered function, storing its constructor, a pointer to the function definition and whether it should only be available internally (i.e. to a developer, not a user)
     CFunctionTraitsTemplated function traits which provides compile-time index access to the types of the function signature
     CFunctionTraits< R(&)(Args...)>
     CFunctionTraits< R(*)(Args...)>
     CFunctionTraits< ReturnT(Args...)>
      CArg
     Cint_t
     Cint_t< 16 >
     Cint_t< 32 >
     Cint_t< 64 >
     Cint_t< 8 >
     CIRFunctionRepresents a concrete IR function
     CIRFunctionBaseThe base/abstract definition for an IR function
     CIRFunctionSRetRepresents a concrete IR function with the first argument as its return type
     CLLVMTypeLLVM type mapping from pod types
     CLLVMType< ArgType< T, S > >
     CLLVMType< char >
     CLLVMType< codegen::String >
     CLLVMType< const T * >
     CLLVMType< const T >
     CLLVMType< openvdb::math::half >
     CLLVMType< openvdb::math::Mat3< T > >
     CLLVMType< openvdb::math::Mat4< T > >
     CLLVMType< openvdb::math::Vec2< T > >Supported aliasing for VDB math types, allowing use in external function signatures
     CLLVMType< openvdb::math::Vec3< T > >
     CLLVMType< openvdb::math::Vec4< T > >
     CLLVMType< T * >
     CLLVMType< T[S]>
     CLLVMType< void * >
     CLLVMType< void >
     CNativeArgumentsWrapper struct to represent "native" function arguments; that is, the set of Value type that the AX grammar supports. NativeArguments have two benefits; they support casting and implicit function matching through FunctionGroups and can be used directly in IR generators (to leverage the AX Value API). Functions can still be generated and called with "non-native" arguments, but in these cases FunctionGroup::execute must result in an explicit signature match
     CPointKernelAttributeArray
     CPointKernelBuffer
     CPointKernelBufferRange
     CPointKernelValue
     CRemoveAllPtrTypes
     CRemoveAllPtrTypes< T * >
     CRemoveAllPtrTypes< T *const >
     CRemoveAllPtrTypes< T *const volatile >
     CRemoveAllPtrTypes< T *volatile >
     CSRetFunctionTemplated interface class for SRET functions. This struct provides the interface for functions that wish to return arrays (vectors or matrices) by internally remapping the first argument for the user. As far as LLVM and any bindings are concerned, the function signature remains unchanged - however the first argument becomes "invisible" to the user and is instead allocated by LLVM before the function is executed. Importantly, the argument has no impact on the user facing AX signature and doesn't affect declaration selection
     CStringAn extremely basic but native representation of a string class with SSO support. This exists to provide an interface between the AX C++ API and backend IR string logic. It is not designed to fulfill any other use and should very rarely be used directly
     CSymbolTableA symbol table which can be used to represent a single scoped set of a programs variables. This is simply an unordered map of strings to llvm::Values
     CSymbolTableBlocksA map of unique ids to symbol tables which can be used to represent local variables within a program. New scopes can be added and erased where necessary and iterated through using find(). Find assumes that tables are added through parented ascending ids
     CTypeToSymbolType to symbol conversions - these characters are used to build each functions unique signature. They differ from standard AX or LLVM syntax to be as short as possible i.e. vec4d, [4 x double] = d4
     CTypeToSymbol< ArgType< T, S > >
     CTypeToSymbol< char >
     CTypeToSymbol< codegen::String >
     CTypeToSymbol< const T * >
     CTypeToSymbol< const T >
     CTypeToSymbol< double >
     CTypeToSymbol< float >
     CTypeToSymbol< int16_t >
     CTypeToSymbol< int32_t >
     CTypeToSymbol< int64_t >
     CTypeToSymbol< int8_t >
     CTypeToSymbol< math::Mat3< T > >
     CTypeToSymbol< math::Mat4< T > >
     CTypeToSymbol< math::Vec2< T > >
     CTypeToSymbol< math::Vec3< T > >
     CTypeToSymbol< math::Vec4< T > >
     CTypeToSymbol< T * >
     CTypeToSymbol< T[S]>
     CTypeToSymbol< uint16_t >
     CTypeToSymbol< uint32_t >
     CTypeToSymbol< uint64_t >
     CTypeToSymbol< uint8_t >
     CTypeToSymbol< void >
     CValueIntermediate representation wrapper for supported value types in AX as immutable instances
     CVolumeKernelBufferThe second volume kernel, responsible for providing the core layer of SIMD optimisations by invoking this kernel across a range of values
     CVolumeKernelNodeThe third volume kernel, providing an agnostic way to modify a single tile value without passing through the buffer states. Note that this kernel is mainly utility and one of the value kernels should almost always be preferred
     CVolumeKernelValueThe primary volume kernel. This function holds the generated body of AX programs
    CAttributeBindingsThis class wraps an interface for a map of attribute bindings. These map attributes in AX code to context data. These mappings are one-to-one i.e. each AX name can only map to one data name, however each name can appear as either an AX name or data name or both, i.e. the following sets of bindings are valid: axname: a -> dataname: a axname: b -> dataname: c or axname: a -> dataname: b axname: b -> dataname: a
    CAttributeRegistryThis class stores a list of access names, types and their dependency connections
     CAccessDataRegistered access details, including its name, type and whether a write handle is required
    CCompilerThe compiler class. This holds a set of compiler options and constructs executable objects (e.g. PointExecutable or VolumeExecutable) from a syntax tree or snippet of code
    CCompilerOptionsSettings which control how a Compiler class object behaves
    CCustomDataThe custom data class is a simple container for named openvdb metadata. Its primary use case is passing arbitrary "external" data to an AX executable object when calling Compiler::compile. For example, it is the mechanism by which we pass data held inside of a parent DCC to executable AX code
    CFunctionOptionsOptions that control how functions behave
    CLoggerLogger for collecting errors and warnings that occur during AX compilation
    CPointExecutableObject that encapsulates compiled AX code which can be executed on a collection of VDB Point Data grids. Executables are created by the compiler and hold the final immutable JIT compiled function and context
     CSettings
     CCLICommand Line Interface handling for the PointExecutable
    CVolumeExecutableObject that encapsulates compiled AX code which can be executed on a collection of VDB volume grids. Executables are created by the compiler and hold the final immutable JIT compiled function and context
     CSettings
     CCLICommand Line Interface handling for the VolumeExecutable
   Ncompression
    CPageStores a variable-size, compressed, delayed-load Page of data that is loaded into memory when accessed. Access to the Page is thread-safe as loading and decompressing the data is protected by a mutex
    CPageHandleA PageHandle holds a unique ptr to a Page and a specific stream pointer to a point within the decompressed Page buffer
    CPagedInputStreamA Paging wrapper to std::istream that is responsible for reading from a given input stream and creating Page objects and PageHandles that reference those pages for delayed reading
    CPagedOutputStreamA Paging wrapper to std::ostream that is responsible for writing from a given output stream at intervals set by the PageSize. As Pages are variable in size, they are flushed to disk as soon as sufficiently large
   Nio
    CArchiveGrid serializer/unserializer
    CDelayedLoadMetadataStore a buffer of data that can be optionally used during reading for faster delayed-load I/O performance
    CFileGrid archive associated with a file on disk
     CNameIterator
    CGridDescriptor
    CHalfReader
    CHalfReader< false, T >Partial specialization for non-floating-point types (no half to float promotion)
    CHalfReader< true, T >Partial specialization for floating-point types
    CHalfWriter
    CHalfWriter< false, T >Partial specialization for non-floating-point types (no float to half quantization)
    CHalfWriter< true, T >Partial specialization for floating-point types
    CMaskCompress
    CMultiPassLeaf nodes that require multi-pass I/O must inherit from this struct
    CQueueQueue for asynchronous output of grids to files or streams
    CRealToHalfRealToHalf and its specializations define a mapping from floating-point data types to analogous half float types
    CRealToHalf< double >
    CRealToHalf< float >
    CRealToHalf< Vec2d >
    CRealToHalf< Vec2s >
    CRealToHalf< Vec3d >
    CRealToHalf< Vec3s >
    CStreamGrid archive associated with arbitrary input and output streams (not necessarily files)
    CStreamMetadataContainer for metadata describing how to unserialize grids from and/or serialize grids to a stream (which file format, compression scheme, etc. to use)
   Nlogging
    CLevelScopeA LevelScope object sets the logging level to a given level and restores it to the current level when the object goes out of scope
   Nmath
    Ninternal
     Cimath_half_uifType for both C-only programs and C++ to use the same utilities
     Chalf
    Npcg
     Ninternal
      CCopyOp
      CFillOp
      CLinearOp
     CVectorLightweight, variable-length vector
      CDeterministicDotProductOp
      CInfNormOp
      CIsFiniteOp
     CSparseStencilMatrixSparse, square matrix representing a 3D stencil operator of size STENCIL_SIZE
      CConstValueIterIterator over the stored values in a row of this matrix
      CConstRowRead-only accessor to a row of this matrix
      CRowEditorRead/write accessor to a row of this matrix
      CMatrixCopyOp
      CIsFiniteOp
     CPreconditionerBase class for conjugate gradient preconditioners
     CJacobiPreconditionerDiagonal preconditioner
     CIncompleteCholeskyPreconditionerPreconditioner using incomplete Cholesky factorization
     CStateInformation about the state of a conjugate gradient solution
    CAffineMapA general linear transform using homogeneous coordinates to perform rotation, scaling, shear and translation
    CBaseStencil
    CBBoxAxis-aligned bounding box
    CBIAS_SCHEME
     CISStencil
    CBIAS_SCHEME< FIRST_BIAS >
     CISStencil
    CBIAS_SCHEME< HJWENO5_BIAS >
     CISStencil
    CBIAS_SCHEME< SECOND_BIAS >
     CISStencil
    CBIAS_SCHEME< THIRD_BIAS >
     CISStencil
    CBIAS_SCHEME< WENO5_BIAS >
     CISStencil
    CBoxStencil
    CCompoundMapCreates the composition of two maps, each of which could be a composition. In the case that each component of the composition classified as linear an acceleration AffineMap is stored
    CConversionDummy class for tag dispatch of conversion constructors
    CCoordSigned (x, y, z) 32-bit integer coordinates
    CCoordBBoxAxis-aligned bounding box of signed integer coordinates
     CIteratorIterator over the Coord domain covered by a CoordBBox
    CCPTCompute the closest-point transform to a level set
    CCPT_RANGECompute the closest-point transform to a level set
    CCurlCompute the curl of a vector-valued grid using differencing of various orders in the space defined by the range of the map
    CCurl< UniformScaleMap, CD_2ND >Full template specialization of Curl
    CCurl< UniformScaleMap, DiffScheme >Partial template specialization of Curl
    CCurl< UniformScaleTranslateMap, CD_2ND >Full template specialization of Curl
    CCurl< UniformScaleTranslateMap, DiffScheme >Partial template specialization of Curl
    CCurvatureStencil
    CD1
    CD1< BD_1ST >
    CD1< BD_2ND >
    CD1< BD_3RD >
    CD1< BD_HJWENO5 >
    CD1< BD_WENO5 >
    CD1< CD_2ND >
    CD1< CD_2NDT >
    CD1< CD_4TH >
    CD1< CD_6TH >
    CD1< FD_1ST >
    CD1< FD_2ND >
    CD1< FD_3RD >
    CD1< FD_HJWENO5 >
    CD1< FD_WENO5 >
    CD1Vec
    CD1Vec< CD_2ND >
    CD1Vec< CD_2NDT >
    CD1Vec< CD_4TH >
    CD1Vec< CD_6TH >
    CD2
    CD2< CD_FOURTH >
    CD2< CD_SECOND >
    CD2< CD_SIXTH >
    CDDAA Digital Differential Analyzer specialized for OpenVDB grids
    CDeltaDelta for small floating-point offsets
    CDelta< double >
    CDelta< float >
    CDelta< math::half >
    CDenseStencilDense stencil of a given width
    CDivergenceCompute the divergence of a vector-valued grid using differencing of various orders, the result defined with respect to the range-space of the map
    CDivergence< ScaleMap, CD_2ND >
    CDivergence< ScaleMap, DiffScheme >
    CDivergence< ScaleTranslateMap, CD_2ND >
    CDivergence< ScaleTranslateMap, DiffScheme >
    CDivergence< TranslationMap, DiffScheme >
    CDivergence< UniformScaleMap, CD_2ND >
    CDivergence< UniformScaleMap, DiffScheme >
    CDivergence< UniformScaleTranslateMap, CD_2ND >
    CDivergence< UniformScaleTranslateMap, DiffScheme >
    CExtremaThis class computes the minimum and maximum values of a population of floating-point values
    CFourthOrderDenseStencil
    CGenericMapA wrapper that holds a MapBase::ConstPtr and exposes a reduced set of functionality needed by the mathematical operators
    CGradientCenter difference gradient operators, defined with respect to the range-space of the map
    CGradient< ScaleMap, CD_2ND >
    CGradient< ScaleTranslateMap, CD_2ND >
    CGradient< TranslationMap, DiffScheme >
    CGradient< UniformScaleMap, CD_2ND >
    CGradient< UniformScaleTranslateMap, CD_2ND >
    CGradientBiasedBiased gradient operators, defined with respect to the range-space of the map
    CGradientNormSqrd
    CGradientNormSqrd< UniformScaleMap, GradScheme >Partial template specialization of GradientNormSqrd
    CGradientNormSqrd< UniformScaleTranslateMap, GradScheme >Partial template specialization of GradientNormSqrd
    CGradStencil
    CHistogramThis class computes a histogram, with a fixed interval width, of a population of floating-point values
    Cis_diagonal_jacobian
    Cis_double
    Cis_double< double >
    Cis_linearMap traits
    Cis_linear< AffineMap >
    Cis_linear< CompoundMap< T1, T2 > >
    Cis_linear< ScaleMap >
    Cis_linear< ScaleTranslateMap >
    Cis_linear< TranslationMap >
    Cis_linear< UniformScaleMap >
    Cis_linear< UniformScaleTranslateMap >
    Cis_linear< UnitaryMap >
    Cis_scale
    Cis_scale< ScaleMap >
    Cis_scale_translate
    Cis_scale_translate< ScaleTranslateMap >
    Cis_uniform_diagonal_jacobian
    Cis_uniform_scale
    Cis_uniform_scale< UniformScaleMap >
    Cis_uniform_scale_translate
    Cis_uniform_scale_translate< TranslationMap >
    Cis_uniform_scale_translate< UniformScaleTranslateMap >
    Cis_vec3d
    Cis_vec3d< Vec3d >
    CISCurlCurl operator defined in index space using various first derivative schemes
    CISDivergenceDivergence operator defined in index space using various first derivative schemes
    CISGradientGradient operators defined in index space of various orders
    CISGradientBiasedBiased Gradient Operators, using upwinding defined by the Vec3Bias input
    CISGradientNormSqrd
    CISLaplacianLaplacian defined in index space, using various center-difference stencils
    CISLaplacian< CD_FOURTH >
    CISLaplacian< CD_SECOND >
    CISLaplacian< CD_SIXTH >
    CISMeanCurvatureCompute the mean curvature in index space
    CISOpMagnitudeAdapter for vector-valued index-space operators to return the vector magnitude
    CLaplacianCompute the Laplacian at a given location in a grid using finite differencing of various orders. The result is defined in the range of the map
    CLaplacian< ScaleMap, DiffScheme >
    CLaplacian< ScaleTranslateMap, DiffScheme >
    CLaplacian< TranslationMap, DiffScheme >
    CLaplacian< UniformScaleMap, DiffScheme >
    CLaplacian< UniformScaleTranslateMap, DiffScheme >
    CLaplacian< UnitaryMap, DiffScheme >
    CLevelSetHDDAHelper class that implements Hierarchical Digital Differential Analyzers and is specialized for ray intersections with level sets
    CLevelSetHDDA< TreeT, -1 >Specialization of Hierarchical Digital Differential Analyzer class that intersects a ray against the voxels of a level set
    CMapAdapterAdapter to associate a map with a world-space operator, giving it the same call signature as an index-space operator
    CMapBaseAbstract base class for maps
    CMapRegistryThreadsafe singleton object for accessing the map type-name dictionary. Associates a map type-name with a factory function
    CMat
    CMat2
    CMat33x3 matrix class
    CMat44x4 -matrix class
    CMeanCurvatureCompute the mean curvature
    CMeanCurvature< TranslationMap, DiffScheme2, DiffScheme1 >
    CMeanCurvature< UniformScaleMap, DiffScheme2, DiffScheme1 >
    CMeanCurvature< UniformScaleTranslateMap, DiffScheme2, DiffScheme1 >
    CMinMaxTemplated class to compute the minimum and maximum values
    CNineteenPointStencil
    CNonlinearFrustumMapThis map is composed of three steps. First it will take a box of size (Lx X Ly X Lz) defined by a member data bounding box and map it into a frustum with near plane (1 X Ly/Lx) and prescribed depth Then this frustum is transformed by an internal second map: most often a uniform scale, but other effects can be achieved by accumulating translation, shear and rotation: these are all applied to the second map
    COpMagnitudeAdapter for vector-valued world-space operators to return the vector magnitude
    Cpromote
    CQuantizedUnitVecUnit vector occupying only 16 bits
    CQuat
     CUnsafeConstruct
    CRand01Simple generator of random numbers over the range [0, 1)
    CRandIntSimple random integer generator
    CRay
     CTimeSpan
    CScaleMapA specialized Affine transform that scales along the principal axis the scaling need not be uniform in the three-directions
    CScaleTranslateMapA specialized Affine transform that scales along the principal axis the scaling need not be uniform in the three-directions, and then translates the result
    CSecondOrderDenseStencil
    CSevenPointStencil
    CSixthOrderDenseStencil
    CStatsThis class computes statistics (minimum value, maximum value, mean, variance and standard deviation) of a population of floating-point values
    CThirteenPointStencil
    CToleranceTolerance for floating-point comparison
    CTolerance< double >
    CTolerance< float >
    CTolerance< math::half >
    CTransform
    CTranslationMapA specialized linear transform that performs a translation
    CTuple
    CUniformScaleMapA specialized Affine transform that scales along the principal axis the scaling is uniform in the three-directions
    CUniformScaleTranslateMapA specialized Affine transform that uniformaly scales along the principal axis and then translates the result
    CUnitaryMapA specialized linear transform that performs a unitary maping i.e. rotation and or reflection
    CVec2
    CVec3
    CVec4
    CVolumeHDDAHelper class that implements Hierarchical Digital Differential Analyzers for ray intersections against a generic volume
    CVolumeHDDA< TreeT, RayT, 0 >Specialization of Hierarchical Digital Differential Analyzer class that intersects against the leafs or tiles of a generic volume
    CWenoStencilThis is a special 19-point stencil that supports optimal fifth-order WENO upwinding, second-order central differencing, Laplacian, and zero-crossing test
   Npoints
    Nattribute_traits
     CStringTypeTrait
     CStringTypeTrait< true >
     CTruncateTrait
     CTruncateTrait< float >
     CTruncateTrait< int >
     CTruncateTrait< math::Vec3< T > >
     CUIntTypeTrait
     CUIntTypeTrait< false, math::Vec3< T > >
     CUIntTypeTrait< false, T >
     CUIntTypeTrait< true, math::Vec3< T > >
     CUIntTypeTrait< true, T >
    NfutureA container for ABI=5 to help ease introduction of upcoming features
     CAdvect
     CContainer
    Ninternal
     CPointDataNodeChainRecursive node chain which generates a openvdb::TypeList value converted types of nodes to PointDataGrid nodes of the same configuration, rooted at RootNodeType in reverse order, from LeafNode to RootNode. See also TreeConverter<>
     CPointDataNodeChain< tree::InternalNode< ChildT, Log2Dim >, 1 >
     CPointDataNodeChain< tree::InternalNode< ChildT, Log2Dim >, HeadLevel >
     CValueTypeTraits
     CValueTypeTraits< T, void_t< typename T::value_type > >
    Npca_internal
     CNoTimer
     CPcaTimer
     CAttrIndices
     CPcaTransfer
     CWeightPosSumsTransfer
     CCovarianceTransfer
    Npoint_attribute_internal
     CDefault
    Npoint_move_internal
     CBuildMoveMapsOp
     CGlobalMovePointsOp
      CCopyIterator
     CLocalMovePointsOp
      CCopyIterator
    Npoint_rasterize_internal
     CGridToRasterize
    Nrasterize_sdf_internal
     CEllipseIndicies
     CEllipsoidTransfer
     CEllipsoidTransferQuatSpecializations of the EllipsoidTransfer for different Xform attribute types
     CEllipsoidTransferMat3Specialization for mat3 types (see above comment)
     CEllipseSurfaceMaskOp
    Ntransfer_internal
     CRasterizePoints
    CAccessorEvalAccessor to call unsafe get and set methods based on templated Codec and Value
    CAccessorEval< UnknownCodec, ValueType >Partial specialization when Codec is not known at compile-time to use the supplied functor instead
    CAttributeArrayBase class for storing attribute data
     CAccessor
     CScopedRegistryLock
     CAccessorBaseAccessor base class for AttributeArray storage where type is not available
    CAttributeHandle
    CAttributeHashFilter
    CAttributeSetOrdered collection of uniquely-named attribute arrays
     CUtil
      CNameAndTypeAttribute and type name pair
     CDescriptorAn immutable object that stores name, type and AttributeSet position for a constant collection of attribute arrays
      CInserterUtility method to construct a NameAndType sequence
    CAttributeWriteHandleWrite-able version of AttributeHandle
    CBBoxFilter
    CBinaryFilter
    CCachedDeformerA Deformer that caches the resulting positions from evaluating another Deformer
     CCache
      CLeaf
    CDeformerTraitsDeformer Traits for optionally configuring deformers to be applied in index-space. The default is world-space
    CDummySampleType
    CEllipsoidSettingsAnisotropic point rasterization based on the principal component analysis of point neighbours. See the struct member documentation for detailed behavior
    CFilteredTransferFilteredTransfer module, when derived from allows for schemes to apply point filtering. Note that this module handles the thread safe intialization and storage of the filter, but derived schemes must call FilteredTransfer::filter() per point id and handle the result
    CFilteredTransfer< NullFilter >Specialization of FilteredTransfer for NullFilters which do nothing
    CFilterTraits
    CFilterTraits< BBoxFilter >
    CFilterTraits< BinaryFilter< T0, T1, And > >
    CFilterTraits< LevelSetFilter< T > >
    CFixedPointCodec
     CStorage
    CFrustumRasterizerEfficient rasterization of one or more VDB Points grids into a linear or frustum volume with the option to bake in camera or geometry motion blur
    CFrustumRasterizerMask
    CFrustumRasterizerSettingsA group of shared settings to be used in the Volume Rasterizer
    CGroupCodec
     CStorage
    CGroupFilterIndex filtering on group membership
    CGroupHandle
     CBitMask
    CGroupWriteHandle
    CIndexIterA forward iterator over array indices with filtering IteratorT can be either IndexIter or ValueIndexIter (or some custom index iterator) FilterT should be a struct or class with a valid() method than can be evaluated per index Here's a simple filter example that only accepts even indices:
     CValueIndexIterA forward iterator over array indices from a value iterator (such as ValueOnCIter)
    CInterruptableTransferInterruptableTransfer module, when derived from allows for schemes to callback into a interrupter, derived from util::NullInterrupter
    CLevelSetFilter
    CMultiGroupFilter
    CNullCodec
     CStorage
    CNullDeformerNo-op deformer (adheres to the deformer interface documented in PointMove.h)
    CNullFilterA no-op filter that can be used when iterating over all indices
    CPcaAttributesThe persistent attributes created by the PCA methods
    CPcaSettingsVarious settings for the neighborhood analysis of point distributions
    CPointAttributeVectorPoint-partitioner compatible STL vector attribute wrapper for convenience
    CPointDataLeafNode
    CPositionRange
    CRandomLeafFilter
    CRasterCameraA camera class that provides an interface for camera motion blur when rasterizing
    CRasterGroupsA struct that stores all include/exclude attribute names as strings and is internally converted into the resolved MultiGroupFilter
    CSampleWithRounding
    CSmoothSphereSettingsSmoothed point distribution based sphere stamping with a uniform radius or varying radius and optionally with closest point attribute transfer of arbitrary attributes. See the struct member documentation for detailed behavior
    CSphereSettingsGeneric settings for narrow band spherical stamping with a uniform or varying radius and optionally with closest point attribute transfer of arbitrary attributes. See the struct member documentation for detailed behavior
    CStringAttributeHandle
    CStringAttributeWriteHandle
    CStringCodec
     CStorage
    CStringMetaCacheClass to compute a string->index map from all string:N metadata
    CStringMetaInserterClass to help with insertion of keyed string values into metadata
    CTransformTransferThe TransformTransfer module should be used if the source transform of the input points and the target transforms of the destination volumes differ. The default rasterizer will skip index to world (and vice versa) transformations unless a transfer scheme derives from a TransformTransfer
    CTreeConverterSimiliar to ValueConverter, but allows for tree configuration conversion to a PointDataTree. ValueConverter<PointDataIndex32> cannot be used as a PointDataLeafNode is not a specialization of LeafNode
    CTrilinearTraits
    CTrilinearTraits< ValueT, false >
    CTruncateCodec
     CStorage
    CTypedAttributeArrayTyped class for storing attribute data
    CUnitRange
    CUnitVecCodec
     CStorage
    CUnknownCodec
    CValueMaskFilterIndex filtering on active / inactive state of host voxel
    CValueVoxelCIterA forward iterator over array indices in a single voxel
     CParent
    CVolumeTransferThe VolumeTransfer module provides methods to automatically setup and access destination buffers for multiple target volumes of arbitrary types. Deriving from a VolumeTransfer ensures that the available buffers correlate to the order of the provided tree arguments
     CTypeResolver
    CVolumeTransfer< TreeT >VolumeTransfer specialization for a single target volume
   Ntools
    Nds
     COpOverPoint wise methods used to apply various compositing operations
     COpAdd
     COpSub
     COpMin
     COpMax
     COpMult
     CCompositeFunctorTranslatorTranslator that converts an enum to compositing functor types
     CCompositeFunctorTranslator< DS_OVER, ValueT >
     CCompositeFunctorTranslator< DS_ADD, ValueT >
     CCompositeFunctorTranslator< DS_SUB, ValueT >
     CCompositeFunctorTranslator< DS_MIN, ValueT >
     CCompositeFunctorTranslator< DS_MAX, ValueT >
     CCompositeFunctorTranslator< DS_MULT, ValueT >
    Ngridop
     CToMaskGridToMaskGrid<T>::Type is the type of a grid having the same tree hierarchy as grid type T but a value equal to its active state
     CGridOperatorApply an operator to an input grid to produce an output grid with the same active voxel topology but a potentially different value type
    Nlvlset
     CCapsuleVoxelizerClass used to generate a grid of type GridType containing a narrow-band level set representation of a capsule
     CDilatedMeshVoxelizerClass used to generate a grid of type GridType containing a narrow-band level set representation of a dilated mesh (surface mesh dilated by a radius in all directions)
     COpenCapsuleWedgeVoxelizerClass used to generate a grid of type GridType containing a narrow-band level set representation of an open wedge. The only parts of the level set populated are within a sector of a capsule. The sector is defined by the intersection of two half spaces
     COpenTriangularPrismVoxelizerClass used to generate a grid of type GridType containing a narrow-band level set representation of an open prism. The only parts of the level set populated are along both normals of the triangle. Negative background tiles that fit inside the closed dilated triangle are also populated
     CPointArrayInternal class used by derived ConvexVoxelizer classes that make use of PointPartitioner
     CTaperedCapsuleVoxelizerClass used to generate a grid of type GridType containing a narrow-band level set representation of a tapered capsule
     CTriangleMeshEdgeConnectivityClass representing the connectivity of edges in a triangle mesh, where each edge is associated with the cells (triangles) sharing it. Provides methods to retrieve adjacent cells, vertex coordinates, normals, and other geometric properties
     CTubeComplexVoxelizerClass used to generate a grid of type GridType containing a narrow-band level set representation of a tube complex
    Nmorphology
     CMorphologyDilation/Erosion operations over a Trees leaf level voxel topology
      CNodeMaskOpNode Mask dilation/erosion operations for individual leaf nodes on a given tree. The leaf node may optionally belong to a different tree than the provided accessor, which will have the effect of dilating the leaf node mask into a different tree, or eroding the node mask based on corresponding neighbors in a different tree
    Npoisson
     CDirichletBoundaryOpDirichlet boundary condition functor
    Nvalxform
     CMinOp
     CMaxOp
     CSumOp
     CSumOp< bool >
     CMultOp
     CMultOp< bool >
     CSharedOpApplier
     CCopyableOpApplier
     CSharedOpTransformer
     CCopyableOpTransformer
     COpAccumulator
    CABTransformThis class implements the Transformer functor interface (specifically, the isAffine(), transform() and invTransform() methods) for a transform that maps an A grid into a B grid's index space such that, after resampling, A's index space and transform match B's index space and transform
    CAlphaMask
    CBaseCameraAbstract base class for the perspective and orthographic cameras
    CBasePointScatterForward declaration of base class
    CBaseShaderAbstract base class for the shaders
    CBoxSampler
    CChangeBackgroundOp
    CChangeLevelSetBackgroundOp
    CCheckDivergenceChecks the divergence against a range
    CCheckEikonalChecks the norm of the gradient at zero-crossing voxels against a range
    CCheckFiniteChecks for both NaN and inf values, i.e. any value that is not finite
    CCheckFogVolumeClass that performs various types of checks on fog volumes
    CCheckInfChecks for infinite values, e.g. 1/0 or -1/0
    CCheckLevelSetClass that performs various types of checks on narrow-band level sets
    CCheckMagnitudeCheck that the magnitude of a value, a, is close to a fixed magnitude, b, given a fixed tolerance c. That is | |a| - |b| | <= c
    CCheckMaxChecks a value against a maximum
    CCheckMinChecks a value against a minimum
    CCheckNanChecks NaN values
    CCheckNormGradChecks the norm of the gradient against a range, i.e., |∇Φ| ∈ [min, max]
    CCheckRangeChecks a value against a range
    CClosestPointProjector
    CClosestSurfacePointAccelerated closest surface point queries for narrow band level sets
    CCompReplaceOp
    CConstrainedPointAdvect
    CContiguousOpWrapper struct used to avoid unnecessary computation of memory access from Coord when all offsets are guaranteed to be within the dense grid
    CConvexVoxelizerBase class used to generate a grid of type GridType containing a narrow-band level set representation of a convex region
     CXYRangeDataClass that stores endpoints of a y range for each x value within a specified range and step size
    CCopyFromDenseCopy the values from a dense grid into an OpenVDB tree
    CCopyToDenseCopy an OpenVDB tree into an existing dense grid
    CCptCompute the closest-point transform of a scalar grid
    CCsgDifferenceOpDynamicNodeManager operator to merge two trees using a CSG difference
    CCsgUnionOrIntersectionOpDynamicNodeManager operator to merge trees using a CSG union or intersection
    CCurlCompute the curl of a vector grid
    CDenseDense is a simple dense grid API used by the CopyToDense and CopyFromDense classes defined below
    CDenseBaseBase class for Dense which is defined below
    CDenseBase< ValueT, LayoutXYZ >Partial template specialization of DenseBase
    CDenseBase< ValueT, LayoutZYX >Partial template specialization of DenseBase
    CDenseTransformerClass that applies a functor to the index space intersection of a prescribed bounding box and the dense grid. NB: This class only supports DenseGrids with ZYX memory layout
    CDenseUniformPointScatterScatters a fixed (and integer) number of points in all active voxels and tiles
    CDepthFirstNodeVisitorVisit all nodes that are downstream of a specific node in depth-first order and apply a user-supplied functor to each node
    CDepthFirstNodeVisitor< NodeT, 0 >
    CDiagnosePerforms multithreaded diagnostics of a grid
    CDiffuseShaderSimple diffuse Lambertian surface shader
    CDiffuseShader< Film::RGBA, SamplerType >
    CDiracDeltaSmeared-out and continuous Dirac Delta function
    CDiscreteFieldThin wrapper class for a velocity grid
    CDivergenceCompute the divergence of a vector grid
     CFunctor
    CDSConverter
    CDualGridSamplerThis is a simple convenience class that allows for sampling from a source grid into the index space of a target grid. At construction the source and target grids are checked for alignment which potentially renders interpolation unnecessary. Else interpolation is performed according to the templated Sampler type
    CDualGridSampler< tree::ValueAccessor< TreeT >, SamplerT >Specialization of DualGridSampler for construction from a ValueAccessor type
    CEnrightFieldAnalytical, divergence-free and periodic velocity field
    CExtractAllSimple utility class used by extractSparseTreeWithMask
    CFastSweepingComputes signed distance values from an initial iso-surface and optionally performs velocity extension at the same time. This is done by means of a novel sparse and parallel fast sweeping algorithm based on a first order Godunov's scheme
     CMinMaxKernel
     CPruneMinMaxFltKernel
     CDilateKernelPrivate class of FastSweeping to perform multi-threaded initialization
     CInitSdf
     CSweepingKernelPrivate class of FastSweeping to perform concurrent fast sweeping in two directions
      CNN
    CFilmA simple class that allows for concurrent writes to pixels in an image, background initialization of the image, and PPM file output
     CRGBAFloating-point RGBA components in the range [0, 1]
    CFilterVolume filtering (e.g., diffusion) with optional alpha masking
    CFindActiveValuesFinds the active values in a tree which intersects a bounding box
     CRootChild
    CGradientCompute the gradient of a scalar grid
     CFunctor
    CGridResampler
    CGridSamplerClass that provides the interface for continuous sampling of values in a tree
    CGridSampler< tree::ValueAccessor< TreeT >, SamplerType >Specialization of GridSampler for construction from a ValueAccessor type
    CGridTransformerA GridTransformer applies a geometric transformation to an input grid using one of several sampling schemes, and stores the result in an output grid
     CMatrixTransform
    CHalfWidthOp
    CHalfWidthOp< bool >
    CHomogeneousMatMul
    CInactivePruneOp
    CLaplacian
     CFunctor
    CLevelSetAdvectionHyperbolic advection of narrow-band level sets in an external velocity field
    CLevelSetFilterFiltering (e.g. diffusion) of narrow-band level sets. An optional scalar field can be used to produce a (smooth) alpha mask for the filtering
    CLevelSetFractureLevel set fracturing
    CLevelSetMeasureMulti-threaded computation of surface area, volume and average mean-curvature for narrow band level sets
    CLevelSetMorphingShape morphology of level sets. Morphing from a source narrow-band level sets to a target narrow-band level set
    CLevelSetPruneOp
    CLevelSetRayIntersectorThis class provides the public API for intersecting a ray with a narrow-band level set
    CLevelSetRayTracerA (very) simple multithreaded ray tracer specifically for narrow-band level sets
    CLevelSetSphereGenerates a signed distance field (or narrow band level set) to a single sphere
    CLevelSetTrackerPerforms multi-threaded interface tracking of narrow band level sets
     CStateLightweight struct that stores the state of the LevelSetTracker
    CLinearSearchImplImplements linear iterative search for an iso-value of the level set along the direction of the ray
    CMagnitude
     COpT
     CFunctor
    CMatMul
    CMatMulNormalize
    CMatteShaderShader that produces a simple matte
    CMatteShader< Film::RGBA, SamplerType >
    CMeanCurvature
     CFunctor
    CMeshToVoxelEdgeDataExtracts and stores voxel edge intersection data from a mesh
     CEdgeDataInternal edge data type
     CGenEdgeData
    CMultiResGrid
     CMaskOp
     CRestrictOp
     CProlongateOp
    CNonUniformPointScatterNon-uniform scatters of point in the active voxels. The local point count is implicitly defined as a product of of a global density (called pointsPerVolume) and the local voxel (or tile) value
    CNormalize
     COpT
     CFunctor
    CNormalShaderColor shader that treats the surface normal (x, y, z) as an RGB color
    CNormalShader< Film::RGBA, SamplerType >
    COrthographicCamera
    CParticleAtlas
     CIteratorProvides accelerated range and nearest-neighbor searches for particles that are partitioned using the ParticleAtlas
    CParticlesToLevelSet
    CPerspectiveCamera
    CPointAdvect
    CPointIndexFilter
    CPointIndexIteratorAccelerated range and nearest-neighbor searches for point index grids
    CPointIndexLeafNode
    CPointPartitioner
     CIndexIterator
    CPointSampler
    CPointsToMaskMakes every voxel of a grid active if it contains a point
     CReducePool
    CPolygonPoolCollection of quads and triangles
    CPositionShaderColor shader that treats position (x, y, z) as an RGB color in a cube defined from an axis-aligned bounding box in world space
    CPositionShader< Film::RGBA, SamplerType >
    CQuadAndTriangleDataAdapterContiguous quad and triangle data adapter class
    CQuadraticSampler
    CSamplerProvises a unified interface for sampling, i.e. interpolation
    CSampler< 0, false >
    CSampler< 0, true >
    CSampler< 1, false >
    CSampler< 1, true >
    CSampler< 2, false >
    CSampler< 2, true >
    CScalarToVectorConverterScalarToVectorConverter<ScalarGridType>::Type is the type of a grid having the same tree configuration as ScalarGridType but value type Vec3<T> where T is ScalarGridType::ValueType
    CSignedFloodFillOp
    CSparseExtractorFunctor-based class used to extract data that satisfies some criteria defined by the embedded OpType functor. The extractSparseTree function wraps this class
    CSparseMaskedExtractorFunctor-based class used to extract data from a dense grid, at the index-space intersection with a supplied mask in the form of a sparse tree. The extractSparseTreeWithMask function wraps this class
    CSparseToDenseCompositor
    CStaggeredBoxSampler
    CStaggeredPointSampler
    CStaggeredQuadraticSampler
    CSumMergeOpDynamicNodeManager operator to merge trees using a sum operation
    CTileDataStruct that encodes a bounding box, value and level of a tile
    CTolerancePruneOp
    CTreeToMergeConvenience class that contains a pointer to a tree to be stolen or deep copied depending on the tag dispatch class used and a subset of methods to retrieve data from the tree
     CMaskPtrWrapper around unique_ptr that deep-copies mask on copy construction
     CMaskUnionOpDynamicNodeManager operator used to generate a mask of the input tree, but with dense leaf nodes replaced with active tiles for compactness
    CUniformPointScatterThe two point scatters UniformPointScatter and NonUniformPointScatter depend on the following two classes:
    CVectorToScalarConverterVectorToScalarConverter<VectorGridType>::Type is the type of a grid having the same tree configuration as VectorGridType but a scalar value type, T, where T is the type of the original vector components
    CVectorToScalarGridMetafunction to convert a vector-valued grid type to a scalar grid type
    CVelocityIntegratorPerforms Runge-Kutta time integration of variable order in a static velocity field
    CVelocitySampler
    CVolumeAdvectionPerforms advections of an arbitrary type of volume in a static velocity field. The advections are performed by means of various derivatives of Semi-Lagrangian integration, i.e. backwards tracking along the hyperbolic characteristics followed by interpolation
    CVolumeRayIntersectorThis class provides the public API for intersecting a ray with a generic (e.g. density) volume
    CVolumeRenderA (very) simple multithreaded volume render specifically for scalar density
    CVolumeToMeshMesh any scalar grid that has a continuous isosurface
   Ntree
    Niter
     CInvertedTree
     CInvertedTree< HeadT, 1 >
    Nleafmgr
     CTreeTraitsUseful traits for Tree types
     CTreeTraits< const TreeT >
    CCombineOpAdapterHelper class to adapt a three-argument (a, b, result) CombineOp functor into a single-argument functor that accepts a CombineArgs struct
    CDenseIteratorBaseBase class for dense iterators over internal and leaf nodes
    CDynamicNodeManager
    CDynamicNodeManagerLinkThis class is a link in a chain that each caches tree nodes of a specific type in a linear array
    CForeachFilterOp
    CInternalNode
     CValueConverterValueConverter<T>::Type is the type of an InternalNode having the same child hierarchy and dimensions as this node but a different value type, T
     CSameConfigurationSameConfiguration<OtherNodeType>::value is true if and only if OtherNodeType is the type of an InternalNode with the same dimensions as this node and whose ChildNodeType has the same configuration as this node's ChildNodeType
     CValueOn
     CValueOff
     CValueAll
     CChildOn
     CChildOff
     CChildAll
     CChildIter
     CValueIter
     CDenseIter
     CDeepCopy
     CTopologyCopy1
     CTopologyCopy2
     CTopologyUnion
      CA
     CTopologyDifference
      CA
      CB
     CTopologyIntersection
      CA
     CVoxelizeActiveTiles
    CIteratorBaseBase class for iterators over internal and leaf nodes
    CIteratorRange
    CIterListItemAn IterListItem is an element of a compile-time linked list of iterators to nodes of different types
    CIterListItem< PrevItemT, NodeVecT, 1, _Level >The final element of a compile-time linked list of iterators to nodes of different types
    CIterListItem< PrevItemT, NodeVecT, VecSize, 0U >The initial element of a compile-time linked list of iterators to nodes of different types
    CIterTraits
    CIterTraits< NodeT, typename NodeT::ChildAllCIter >
     CNodeConverter
    CIterTraits< NodeT, typename NodeT::ChildAllIter >
     CNodeConverter
    CIterTraits< NodeT, typename NodeT::ChildOffCIter >
     CNodeConverter
    CIterTraits< NodeT, typename NodeT::ChildOffIter >
     CNodeConverter
    CIterTraits< NodeT, typename NodeT::ChildOnCIter >
     CNodeConverter
    CIterTraits< NodeT, typename NodeT::ChildOnIter >
     CNodeConverter
    CIterTraits< NodeT, typename NodeT::ValueAllCIter >
     CNodeConverter
    CIterTraits< NodeT, typename NodeT::ValueAllIter >
     CNodeConverter
    CIterTraits< NodeT, typename NodeT::ValueOffCIter >
     CNodeConverter
    CIterTraits< NodeT, typename NodeT::ValueOffIter >
     CNodeConverter
    CIterTraits< NodeT, typename NodeT::ValueOnCIter >
     CNodeConverter
    CIterTraits< NodeT, typename NodeT::ValueOnIter >
     CNodeConverter
    CLeafBufferArray of fixed size 23Log2Dim that stores the voxel values of a LeafNode
    CLeafBuffer< bool, Log2Dim >
    CLeafIteratorBaseBase class for tree-traversal iterators over all leaf nodes (but not leaf voxels)
    CLeafManagerThis class 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
     CLeafRange
      CIterator
    CLeafManagerImpl
    CLeafManagerImpl< LeafManager< const TreeT > >
    CLeafNodeTemplated block class to hold specific data types and a fixed number of values determined by Log2Dim. The actual coordinate dimension of the block is 2^Log2Dim, i.e. Log2Dim=3 corresponds to a LeafNode that spans a 8^3 block
     CValueConverterValueConverter<T>::Type is the type of a LeafNode having the same dimensions as this node but a different value type, T
     CSameConfigurationSameConfiguration<OtherNodeType>::value is true if and only if OtherNodeType is the type of a LeafNode with the same dimensions as this node
     CValueOn
     CValueOff
     CValueAll
     CChildOn
     CChildOff
     CChildAll
     CValueIter
     CChildIterLeaf nodes have no children, so their child iterators have no get/set accessors
     CDenseIter
    CLeafNode< bool, Log2Dim >LeafNode specialization for values of type bool that stores both the active states and the values of (2^Log2Dim)^3 voxels as bit masks
     CValueConverterValueConverter<T>::Type is the type of a LeafNode having the same dimensions as this node but a different value type, T
     CSameConfigurationSameConfiguration<OtherNodeType>::value is true if and only if OtherNodeType is the type of a LeafNode with the same dimensions as this node
     CValueIter
     CChildIterLeaf nodes have no children, so their child iterators have no get/set accessors
     CDenseIter
    CLeafNode< ValueMask, Log2Dim >LeafNode specialization for values of type ValueMask that encodes both the active states and the boolean values of (2^Log2Dim)^3 voxels in a single bit mask, i.e. voxel values and states are indistinguishable!
     CValueConverterValueConverter<T>::Type is the type of a LeafNode having the same dimensions as this node but a different value type, T
     CSameConfigurationSameConfiguration<OtherNodeType>::value is true if and only if OtherNodeType is the type of a LeafNode with the same dimensions as this node
     CValueIter
     CChildIterLeaf nodes have no children, so their child iterators have no get/set accessors
     CDenseIter
    CNodeChainNodeChain<RootNodeType, RootNodeType::LEVEL>::Type is a openvdb::TypeList that lists the types of the nodes of the tree rooted at RootNodeType in reverse order, from LeafNode to RootNode
    CNodeChain< HeadT, 1 >Specialization to terminate NodeChain
    CNodeFilter
    CNodeIteratorBaseBase class for tree-traversal iterators over all nodes
    CNodeListThis class caches tree nodes of a specific type in a linear array
     CNodeRange
      CIterator
    CNodeManagerTo facilitate threading over the nodes of a tree, cache node pointers in linear arrays, one for each level of the tree
    CNodeManagerLinkThis class is a link in a chain that each caches tree nodes of a specific type in a linear array
    CNodeUnionDefault implementation of a NodeUnion that stores the child pointer and the value separately (i.e., not in a union). Types which select this specialization usually do not conform to the requirements of a union member, that is that the type ValueT is not trivially copyable. This implementation is thus NOT used for POD, math::Vec, math::Mat, math::Quat or math::Coord types, but is used (for example) with std::string
    CNodeUnion< ValueT, ChildT, typename std::enable_if< std::is_trivially_copyable< ValueT >::value >::type >Template specialization of a NodeUnion that stores the child pointer and the value together (int, float, pointer, etc.)
    CReduceFilterOp
    CRootNode
     CValueConverterValueConverter<T>::Type is the type of a RootNode having the same child hierarchy as this node but a different value type, T
     CSameConfigurationSameConfiguration<OtherNodeType>::value is true if and only if OtherNodeType is the type of a RootNode whose ChildNodeType has the same configuration as this node's ChildNodeType
    CRootNodeCombineHelper
    CRootNodeCombineHelper< CombineOp, RootT, OtherRootT, true >
    CRootNodeCopyHelper
    CRootNodeCopyHelper< RootT, OtherRootT, true >
    CSameInternalConfig
    CSameInternalConfig< ChildT1, Dim1, InternalNode< ChildT2, Dim1 > >
    CSameLeafConfig
    CSameLeafConfig< Dim1, LeafNode< T2, Dim1 > >
    CSameLeafConfig< Dim1, openvdb::tools::PointIndexLeafNode< T2, Dim1 > >
    CSameLeafConfig< Dim1, points::PointDataLeafNode< T2, Dim1 > >
    CSameRootConfig
    CSameRootConfig< ChildT1, RootNode< ChildT2 > >
    CSparseIteratorBaseBase class for sparse iterators over internal and leaf nodes
    CTree
     CValueConverterValueConverter<T>::Type is the type of a tree having the same hierarchy as this tree but a different value type, T
     CDeallocateNodes
    CTree3Tree3<T, N1, N2>::Type is the type of a three-level tree (Root, Internal, Leaf) with value type T and internal and leaf node log dimensions N1 and N2, respectively
    CTree4Tree4<T, N1, N2, N3>::Type is the type of a four-level tree (Root, Internal, Internal, Leaf) with value type T and internal and leaf node log dimensions N1, N2 and N3, respectively
    CTree5Tree5<T, N1, N2, N3, N4>::Type is the type of a five-level tree (Root, Internal, Internal, Internal, Leaf) with value type T and internal and leaf node log dimensions N1, N2, N3 and N4, respectively
    CTreeBaseBase class for typed trees
    CTreeIterTraitsTreeIterTraits provides, for all tree iterators, a begin(tree) function that returns an iterator over a tree of arbitrary type
    CTreeIterTraits< TreeT, typename TreeT::LeafCIter >
    CTreeIterTraits< TreeT, typename TreeT::LeafIter >
    CTreeIterTraits< TreeT, typename TreeT::NodeCIter >
    CTreeIterTraits< TreeT, typename TreeT::NodeIter >
    CTreeIterTraits< TreeT, typename TreeT::RootNodeType::ChildAllCIter >
    CTreeIterTraits< TreeT, typename TreeT::RootNodeType::ChildAllIter >
    CTreeIterTraits< TreeT, typename TreeT::RootNodeType::ChildOffCIter >
    CTreeIterTraits< TreeT, typename TreeT::RootNodeType::ChildOffIter >
    CTreeIterTraits< TreeT, typename TreeT::RootNodeType::ChildOnCIter >
    CTreeIterTraits< TreeT, typename TreeT::RootNodeType::ChildOnIter >
    CTreeIterTraits< TreeT, typename TreeT::ValueAllCIter >
    CTreeIterTraits< TreeT, typename TreeT::ValueAllIter >
    CTreeIterTraits< TreeT, typename TreeT::ValueOffCIter >
    CTreeIterTraits< TreeT, typename TreeT::ValueOffIter >
    CTreeIterTraits< TreeT, typename TreeT::ValueOnCIter >
    CTreeIterTraits< TreeT, typename TreeT::ValueOnIter >
    CTreeValueIteratorBaseBase class for tree-traversal iterators over tile and voxel values
    CValueAccessorBaseThis base class for ValueAccessors manages registration of an accessor with a tree so that the tree can automatically clear the accessor whenever one of its nodes is deleted
    CValueAccessorImplThe Value Accessor Implementation and API methods. The majoirty of the API matches the API of a compatible OpenVDB Tree Node
    CValueAccessorLeafBufferA small class that contains a cached pointer to a LeafNode data buffer which is derived from by the internal Value Accessor Implementation. This allows for the empty base class optimization to be performed in the case where a LeafNode does not store a contiguous index-able buffer. From C++20 we can instead switch to [[no_unique_address]]
    CValueAccessorLeafBuffer< TreeTypeT, IntegerSequence, typename std::enable_if< !value_accessor_internal::EnableLeafBuffer< TreeTypeT, IntegerSequence >::value >::type >Specialization for the case where a Leaf Buffer cannot be cached
    CValueAccessorLockA small class that contains a Mutex which is derived from by the internal Value Accessor Implementation. This allows for the empty base class optimization to be performed in the case where a Mutex/Lock is not in use. From C++20 we can instead switch to [[no_unique_address]]
    CValueAccessorLock< void >Specialization for the case where no Mutex is in use. See above
   Ntypes_internal
    Cint_t
    Cint_t< 8ul, true >
    Cint_t< 16ul, true >
    Cint_t< 32ul, true >
    Cint_t< 64ul, true >
    Cint_t< 8ul, false >
    Cint_t< 16ul, false >
    Cint_t< 32ul, false >
    Cint_t< 64ul, false >
    Cflt_t
    Cflt_t< 16ul >
    Cflt_t< 32ul >
    Cflt_t< 64ul >
   Nutil
    CBaseMaskIteratorBase class for the bit mask iterators
    CCpuTimerSimple timer for basic profiling
    CDenseMaskIterator
    CFormattedIntI/O manipulator that formats integer values with thousands separators
    CLeafTopologyDiffOpFunctor for use with tools::foreach() to compute the boolean difference between the value masks of corresponding leaf nodes in two trees
    CLeafTopologyIntOpFunctor for use with tools::foreach() to compute the boolean intersection between the value masks of corresponding leaf nodes in two trees
    CNodeMaskBit mask for the internal and leaf nodes of VDB. This is a 64-bit implementation
    CNodeMask< 1 >Template specialization of NodeMask for Log2Dim=1, i.e. 2^3 nodes
    CNodeMask< 2 >Template specialization of NodeMask for Log2Dim=2, i.e. 4^3 nodes
    CNullInterrupterBase class for interrupters
    COffMaskIterator
    COnMaskIterator
    CPagedArrayConcurrent, page-based, dynamically-sized linear data structure with O(1) random access and STL-compliant iterators. It is primarily intended for applications that concurrently insert (a possibly unkown number of) elements into a dynamically growing linear array, and fast random access to said elements
     CValueBuffer
     CConstIterator
     CIterator
     CPage
   CArithmeticError
   CAXCodeGenError
   CAXCompilerError
   CAXExecutionError
   CAXSyntaxError
   CAXTokenError
   CCanConvertTypeCanConvertType<FromType, ToType>::value is true if a value of type ToType can be constructed from a value of type FromType
   CCanConvertType< math::Vec2< T >, math::Vec2< T > >
   CCanConvertType< math::Vec3< T >, math::Vec3< T > >
   CCanConvertType< math::Vec4< T >, math::Vec4< T > >
   CCanConvertType< PointDataIndex32, PointIndex32 >
   CCanConvertType< PointIndex32, PointDataIndex32 >
   CCanConvertType< T, math::Vec2< T > >
   CCanConvertType< T, math::Vec3< T > >
   CCanConvertType< T, math::Vec4< T > >
   CCanConvertType< T, ValueMask >
   CCanConvertType< T0, math::Vec2< T1 > >
   CCanConvertType< T0, math::Vec3< T1 > >
   CCanConvertType< T0, math::Vec4< T1 > >
   CCanConvertType< ValueMask, T >
   CCLIError
   CCombineArgsThis struct collects both input and output arguments to "grid combiner" functors used with the tree::TypedGrid::combineExtended() and combine2Extended() methods. AValueType and BValueType are the value types of the two grids being combined
   CConvertElementTypeConversion classes for changing the underlying type of VDB types
   CConvertElementType< math::Mat3< T >, SubT >
   CConvertElementType< math::Mat4< T >, SubT >
   CConvertElementType< math::Quat< T >, SubT >
   CConvertElementType< math::Vec2< T >, SubT >
   CConvertElementType< math::Vec3< T >, SubT >
   CConvertElementType< math::Vec4< T >, SubT >
   CCoordSigned (x, y, z) 32-bit integer coordinates
   CCoordBBoxAxis-aligned bounding box of signed integer coordinates
    CIteratorIterator over the Coord domain covered by a CoordBBox
   CCopyConstnessCopyConstness<T1, T2>::Type is either const T2 or T2 with no const qualifier, depending on whether T1 is const
   CDeepCopyTag dispatch class that distinguishes constructors that deep copy
   CException
   CGridContainer class that associates a tree with a transform and metadata
    CValueConverterValueConverter<T>::Type is the type of a grid having the same hierarchy as this grid but a different value type, T
   CGridBaseAbstract base class for typed grids
   CGridNamePredPredicate functor that returns true for grids that have a specified name
   CHasMultiPassIOMetafunction that specifies whether a given leaf node, tree, or grid type requires multiple passes to read and write voxel data
   CHasMultiPassIO< Grid< TreeType > >
   CHasMultiPassIO< tree::Tree< RootNodeType > >
   Cindex_sequenceRe-implementation of C++17's index_sequence and the helper alias make_index_sequence. This was introduced to fix an issue with clang's builtin implementation which treats template specializations of builtin templates differently when a subsequent parameter is dependent. The result is a resolution failure during partial specialization selection. For example, the following will fail to specialize:
   CIndexError
   CIoError
   Cis_arithmetic
   Cis_arithmetic< math::half >
   Cis_floating_point
   Cis_floating_point< Half >
   Cis_signed
   Cis_signed< Half >
   CIsSpecializationOfHelper metafunction used to determine if the first template parameter is a specialization of the class template given in the second template parameter
   CIsSpecializationOf< Template< Args... >, Template >
   CKeyError
   CLookupError
   CMatTraits
   CMatTraits< T, false >
   CMetadataBase class for storing metadata information in a grid
   CMetaMapContainer that maps names (strings) to values of arbitrary types
   CNotImplementedError
   CPartialCreateTag dispatch class that distinguishes constructors during file input
   CPointIndexInteger wrapper, required to distinguish PointIndexGrid and PointDataGrid from Int32Grid and Int64Grid
   CPromoteContainerType
   CPromoteTypePromotion classes which provide an interface for elevating and demoting a scalar or VDB type to a higher or lower precision. Integer types preserve their sign. Types promotion are only valid between 8 to 64 bits (long doubles are not supported)
   CPromoteType< math::Mat3< T > >
   CPromoteType< math::Mat4< T > >
   CPromoteType< math::Quat< T > >
   CPromoteType< math::Vec2< T > >
   CPromoteType< math::Vec3< T > >
   CPromoteType< math::Vec4< T > >
   CQuatTraits
   CQuatTraits< T, false >
   CReferenceError
   CRuntimeError
   CShallowCopyTag dispatch class that distinguishes shallow copy constructors from deep copy constructors
   CStealTag dispatch class that distinguishes constructors that steal
   CSwappedCombineOp
   CTopologyCopyTag dispatch class that distinguishes topology copy constructors from deep copy constructors
   CTreeAdapterThis adapter allows code that is templated on a Tree type to accept either a Tree type or a Grid type
   CTreeAdapter< const Grid< _TreeType > >Partial specialization for const Grid types
   CTreeAdapter< Grid< _TreeType > >Partial specialization for Grid types
   CTreeAdapter< tree::ValueAccessor< _TreeType > >Partial specialization for ValueAccessor types
   CTupleListA trivial wrapper around a std::tuple but with compatible TypeList methods. Importantly can be instatiated from a TypeList and implements a similar ::foreach interface
   CTupleList<>Specilization of an empty TupleList. Required due to constructor selection
   CTypedMetadataTemplated metadata class to hold specific types
   CTypeError
   CTypeListA list of types (not necessarily unique)
   CUnknownMetadataSubclass to hold raw data of an unregistered type
   CValueError
   CValueMask
   CValueTraits
   CValueTraits< T, false >
   CVecTraits
   CVecTraits< T, false >
   CVersionId
 Nopenvdb_houdini
  CAttributeCopy
  CAttributeCopyBase
  CAttributeDetail
  CAttributeDetailBase
  CGenAdaptivityMaskOpTBB body object for threaded sharp feature construction
  CGridResampleOpGridResampleOp is a functor class for use with UTvdbProcessTypedGrid() that samples an input grid into an output grid of the same type through a given transform
  CGridResampleToMatchOpGridResampleToMatchOp is a functor class for use with GridBase::apply() that samples an input grid into an output grid of the same type such that, after resampling, the input and output grids coincide, but the output grid's transform is unchanged
  CGridTransformOpGridTransformOp is a functor class for use with GridBase::apply() that samples an input grid into an output grid of the same type through a given affine transform
  CGT_GEOPrimCollectVDB
  CHoudiniInterrupterWrapper class that adapts a Houdini UT_Interrupt object for use with OpenVDB library routines
  CMeshAttrTransfer
  COpenVDBOpFactoryUse this class to register a new OpenVDB operator (SOP, POP, etc.)
  CPointAttrTransfer
  CPrimCpyOpTBB body object for threaded primitive copy
  CSharpenFeaturesOpTBB body object for threaded sharp feature construction
  CSOP_NodeVDBBase class from which to derive OpenVDB-related Houdini SOPs
  CStrAttributeCopy
  CTransferPointAttributesOp
  CTransferPrimitiveAttributesOp
  CTransformOpTBB body object for threaded world to voxel space transformation and copy of points
  CVdbPrimCIteratorIterator over const VDB primitives on a geometry detail
  CVdbPrimIteratorIterator over non-const VDB primitives on a geometry detail
  CVertexNormalOpTBB body object for threaded vertex normal generation
 NOSN
  COSNoise
 Nstd
  Chash< openvdb::math::Coord >
  Cnumeric_limits< openvdb::math::internal::half >
 CApplyFunc
 CAXLTYPE
 CAXSTYPE
 Ccnanovdb_coord
 Ccnanovdb_gridblindmetadata
 Ccnanovdb_griddata
 Ccnanovdb_map
 Ccnanovdb_mask3
 Ccnanovdb_mask4
 Ccnanovdb_mask5
 Ccnanovdb_node0F
 Ccnanovdb_node0F3
 Ccnanovdb_node1F
 Ccnanovdb_node1F3
 Ccnanovdb_node2F
 Ccnanovdb_node2F3
 Ccnanovdb_readaccessor
 Ccnanovdb_rootdata_tileF
 Ccnanovdb_rootdata_tileF3
 Ccnanovdb_rootdataF
 Ccnanovdb_rootdataF3
 Ccnanovdb_tileentryF
 Ccnanovdb_tileentryF3
 Ccnanovdb_treedata
 Ccnanovdb_Vec3F
 CCompositeOp
 CFilterTypeSelectively extract and filter point data using a custom filter operator
 CGU_VDBPointListHoudini point attribute wrapper
 CMeshDataAdapterConvert polygonal meshes that consist of quads and/or triangles into signed or unsigned distance field volumes
 CParticleArrayPartition particles and performs range and nearest-neighbor searches
 Cpnanovdb_grid_handle_t
 Cpnanovdb_grid_t
 Cpnanovdb_grid_type_constants_t
 Cpnanovdb_gridblindmetadata_handle_t
 Cpnanovdb_gridblindmetadata_t
 Cpnanovdb_leaf_handle_t
 Cpnanovdb_leaf_t
 Cpnanovdb_lower_handle_t
 Cpnanovdb_lower_t
 Cpnanovdb_map_handle_t
 Cpnanovdb_map_t
 Cpnanovdb_readaccessor_t
 Cpnanovdb_root_handle_t
 Cpnanovdb_root_t
 Cpnanovdb_root_tile_handle_t
 Cpnanovdb_root_tile_t
 Cpnanovdb_tree_handle_t
 Cpnanovdb_tree_t
 Cpnanovdb_upper_handle_t
 Cpnanovdb_upper_t
 CPointArrayPartitions points into BucketLog2Dim aligned buckets using a parallel radix-based sorting algorithm
 CRayGenOp
 CSOP_VDBCacheOptionsSOP_NodeCacheOptions subclass that adds methods specific to SOP_NodeVDB
 CTestLeafIO