OpenVDB  1.1.0
Classes | Namespaces
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< false, ValueT, ChildT >
class  NodeUnionImpl< true, ValueT, ChildT >
struct  NodeUnion< ValueT, ChildT >

Namespaces

namespace  openvdb
namespace  openvdb::v1_1_0
namespace  openvdb::v1_1_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.)