|
struct | CombineOpAdapter |
| Helper class to adapt a three-argument (a, b, result) CombineOp functor into a single-argument functor that accepts a CombineArgs struct. More...
|
|
struct | DenseIteratorBase |
| Base class for dense iterators over internal and leaf nodes. More...
|
|
class | DynamicNodeManager |
|
class | DynamicNodeManagerLink |
| This class is a link in a chain that each caches tree nodes of a specific type in a linear array. More...
|
|
struct | ForeachFilterOp |
|
class | InternalNode |
|
class | IteratorBase |
| Base class for iterators over internal and leaf nodes. More...
|
|
class | IteratorRange |
|
class | IterListItem |
| An IterListItem is an element of a compile-time linked list of iterators to nodes of different types. More...
|
|
class | IterListItem< PrevItemT, NodeVecT, 1, _Level > |
| The final element of a compile-time linked list of iterators to nodes of different types. More...
|
|
class | IterListItem< PrevItemT, NodeVecT, VecSize, 0U > |
| The initial element of a compile-time linked list of iterators to nodes of different types. More...
|
|
struct | IterTraits |
|
struct | IterTraits< NodeT, typename NodeT::ChildAllCIter > |
|
struct | IterTraits< NodeT, typename NodeT::ChildAllIter > |
|
struct | IterTraits< NodeT, typename NodeT::ChildOffCIter > |
|
struct | IterTraits< NodeT, typename NodeT::ChildOffIter > |
|
struct | IterTraits< NodeT, typename NodeT::ChildOnCIter > |
|
struct | IterTraits< NodeT, typename NodeT::ChildOnIter > |
|
struct | IterTraits< NodeT, typename NodeT::ValueAllCIter > |
|
struct | IterTraits< NodeT, typename NodeT::ValueAllIter > |
|
struct | IterTraits< NodeT, typename NodeT::ValueOffCIter > |
|
struct | IterTraits< NodeT, typename NodeT::ValueOffIter > |
|
struct | IterTraits< NodeT, typename NodeT::ValueOnCIter > |
|
struct | IterTraits< NodeT, typename NodeT::ValueOnIter > |
|
class | LeafBuffer |
| Array of fixed size 23Log2Dim that stores the voxel values of a LeafNode. More...
|
|
class | LeafBuffer< bool, Log2Dim > |
|
class | LeafIteratorBase |
| Base class for tree-traversal iterators over all leaf nodes (but not leaf voxels) More...
|
|
class | LeafManager |
| This 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. More...
|
|
struct | LeafManagerImpl |
|
struct | LeafManagerImpl< LeafManager< const TreeT > > |
|
class | LeafNode |
| Templated 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. More...
|
|
class | LeafNode< 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. More...
|
|
class | LeafNode< 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! More...
|
|
struct | NodeChain |
| NodeChain<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. More...
|
|
struct | NodeChain< HeadT, 1 > |
| Specialization to terminate NodeChain. More...
|
|
struct | NodeFilter |
|
class | NodeIteratorBase |
| Base class for tree-traversal iterators over all nodes. More...
|
|
class | NodeList |
| This class caches tree nodes of a specific type in a linear array. More...
|
|
class | NodeManager |
| To facilitate threading over the nodes of a tree, cache node pointers in linear arrays, one for each level of the tree. More...
|
|
class | NodeManagerLink |
| This class is a link in a chain that each caches tree nodes of a specific type in a linear array. More...
|
|
class | NodeUnion |
| Default 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. More...
|
|
class | NodeUnion< 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.) More...
|
|
struct | ReduceFilterOp |
|
class | RootNode |
|
struct | RootNodeCombineHelper |
|
struct | RootNodeCombineHelper< CombineOp, RootT, OtherRootT, true > |
|
struct | RootNodeCopyHelper |
|
struct | RootNodeCopyHelper< RootT, OtherRootT, true > |
|
struct | SameInternalConfig |
|
struct | SameInternalConfig< ChildT1, Dim1, InternalNode< ChildT2, Dim1 > > |
|
struct | SameLeafConfig |
|
struct | SameLeafConfig< Dim1, LeafNode< T2, Dim1 > > |
|
struct | SameLeafConfig< Dim1, openvdb::tools::PointIndexLeafNode< T2, Dim1 > > |
|
struct | SameLeafConfig< Dim1, points::PointDataLeafNode< T2, Dim1 > > |
|
struct | SameRootConfig |
|
struct | SameRootConfig< ChildT1, RootNode< ChildT2 > > |
|
struct | SparseIteratorBase |
| Base class for sparse iterators over internal and leaf nodes. More...
|
|
class | Tree |
|
struct | Tree3 |
| Tree3<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. More...
|
|
struct | Tree4 |
| Tree4<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. More...
|
|
struct | Tree5 |
| Tree5<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. More...
|
|
class | TreeBase |
| Base class for typed trees. More...
|
|
struct | TreeIterTraits |
| TreeIterTraits provides, for all tree iterators, a begin(tree) function that returns an iterator over a tree of arbitrary type. More...
|
|
struct | TreeIterTraits< TreeT, typename TreeT::LeafCIter > |
|
struct | TreeIterTraits< TreeT, typename TreeT::LeafIter > |
|
struct | TreeIterTraits< TreeT, typename TreeT::NodeCIter > |
|
struct | TreeIterTraits< TreeT, typename TreeT::NodeIter > |
|
struct | TreeIterTraits< TreeT, typename TreeT::RootNodeType::ChildAllCIter > |
|
struct | TreeIterTraits< TreeT, typename TreeT::RootNodeType::ChildAllIter > |
|
struct | TreeIterTraits< TreeT, typename TreeT::RootNodeType::ChildOffCIter > |
|
struct | TreeIterTraits< TreeT, typename TreeT::RootNodeType::ChildOffIter > |
|
struct | TreeIterTraits< TreeT, typename TreeT::RootNodeType::ChildOnCIter > |
|
struct | TreeIterTraits< TreeT, typename TreeT::RootNodeType::ChildOnIter > |
|
struct | TreeIterTraits< TreeT, typename TreeT::ValueAllCIter > |
|
struct | TreeIterTraits< TreeT, typename TreeT::ValueAllIter > |
|
struct | TreeIterTraits< TreeT, typename TreeT::ValueOffCIter > |
|
struct | TreeIterTraits< TreeT, typename TreeT::ValueOffIter > |
|
struct | TreeIterTraits< TreeT, typename TreeT::ValueOnCIter > |
|
struct | TreeIterTraits< TreeT, typename TreeT::ValueOnIter > |
|
class | TreeValueIteratorBase |
| Base class for tree-traversal iterators over tile and voxel values. More...
|
|
class | ValueAccessorBase |
| This 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. More...
|
|
class | ValueAccessorImpl |
| The Value Accessor Implementation and API methods. The majoirty of the API matches the API of a compatible OpenVDB Tree Node. More...
|
|
struct | ValueAccessorLeafBuffer |
| A 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]]. More...
|
|
struct | ValueAccessorLeafBuffer< 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. More...
|
|
struct | ValueAccessorLock |
| A 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]]. More...
|
|
struct | ValueAccessorLock< void > |
| Specialization for the case where no Mutex is in use. See above. More...
|
|
|
template<typename TreeType , bool IsSafe = true, size_t CacheLevels = std::max(Index(1),TreeType::DEPTH)-1, typename MutexType = void> |
using | ValueAccessor = ValueAccessorImpl< TreeType, IsSafe, MutexType, openvdb::make_index_sequence< CacheLevels >> |
| Default alias for a ValueAccessor. This is simply a helper alias for the generic definition but takes a single Index specifying the number of nodes to cache. This is expanded into an index sequence (required for backward compatibility). More...
|
|
template<typename TreeType , bool IsSafe> |
using | ValueAccessor0 = ValueAccessorImpl< TreeType, IsSafe, void, openvdb::index_sequence<>> |
| Helper alias for a ValueAccessor which doesn't cache any Internal or Leaf nodes. More...
|
|
template<typename TreeType , bool IsSafe, size_t L0 = 0> |
using | ValueAccessor1 = ValueAccessorImpl< TreeType, IsSafe, void, openvdb::index_sequence< L0 >> |
| Helper alias for a ValueAccessor which caches a single node level. By default, the node level is 0, which corresponds to the lowest node level, typically LeafNodes. More...
|
|
template<typename TreeType , bool IsSafe, size_t L0 = 0, size_t L1 = 1> |
using | ValueAccessor2 = ValueAccessorImpl< TreeType, IsSafe, void, openvdb::index_sequence< L0, L1 >> |
| Helper alias for a ValueAccessor which caches two node levels. By default the two lowest node levels are selected (0, 1) which typically correspond to an InternalNode and its child LeafNodes. This instantiation will only be valid for TreeTypes which have at least two levels of nodes (excluding the Root node). More...
|
|
template<typename TreeType , bool IsSafe, size_t L0 = 0, size_t L1 = 1, size_t L2 = 2> |
using | ValueAccessor3 = ValueAccessorImpl< TreeType, IsSafe, void, openvdb::index_sequence< L0, L1, L2 >> |
| Helper alias for a ValueAccessor which caches three node levels. By default the three lowest node levels are selected (0, 1, 2) which typically correspond to two InternalNodes followed by the bottom LeafNodes. This instantiation will only be valid for TreeTypes which have at least three levels of nodes (excluding the Root node). More...
|
|
template<typename TreeType , bool IsSafe = true, size_t CacheLevels = std::max(Index(1),TreeType::DEPTH)-1> |
using | ValueAccessorRW = ValueAccessorImpl< TreeType, IsSafe, tbb::spin_mutex, openvdb::make_index_sequence< CacheLevels >> |
| Helper alias for a ValueAccesor which spin locks every API call. More...
|
|