OpenVDB  1.2.0
Classes | Namespaces | Constant Groups
NodeUnion.h File Reference
#include <boost/type_traits/is_class.hpp>
#include <openvdb/version.h>

Go to the source code of this file.

Classes

class  NodeUnionImpl< ValueIsClass, ValueT, ChildT >
 
class  NodeUnionImpl< false, ValueT, ChildT >
 
class  NodeUnionImpl< true, ValueT, ChildT >
 
struct  NodeUnion< ValueT, ChildT >
 

Namespaces

 openvdb
 
 openvdb::v1_2_0
 
 openvdb::v1_2_0::tree
 

Constant Groups

 openvdb
 
 openvdb::v1_2_0
 
 openvdb::v1_2_0::tree
 

Detailed Description

Author
Peter Cucka

NodeUnion is a templated helper class that controls access to either the child node pointer or the fill value for a particular element of a root or internal node. For space efficiency, the child pointer and the fill value are unioned, since the two are never in use simultaneously. Template specializations of NodeUnion allow for fill values of either POD (int, float, pointer, etc.) or class (std::string, math::Vec, etc.) types. (The latter cannot be stored directly in a union.)