11#ifndef OPENVDB_TREE_NODEUNION_HAS_BEEN_INCLUDED
12#define OPENVDB_TREE_NODEUNION_HAS_BEEN_INCLUDED
14#include <openvdb/version.h>
30template<
typename ValueT,
typename ChildT,
typename Enable =
void>
41 void setChild(ChildT* child) { mChild = child; }
43 const ValueT&
getValue()
const {
return mValue; }
45 void setValue(
const ValueT& val) { mValue = val; }
52 !std::is_same<ValueT, math::Coord>::value &&
53 !std::is_arithmetic<ValueT>::value,
54 "Unexpected instantiation of NodeUnion");
59template<
typename ValueT,
typename ChildT>
61 typename
std::enable_if<std::is_trivially_copyable<ValueT>::value>::type>
void setChild(ChildT *child)
Definition NodeUnion.h:70
ValueT & getValue()
Definition NodeUnion.h:73
const ValueT & getValue() const
Definition NodeUnion.h:72
ChildT * getChild() const
Definition NodeUnion.h:69
NodeUnion()
Definition NodeUnion.h:67
void setValue(const ValueT &val)
Definition NodeUnion.h:74
ChildT * mChild
Definition NodeUnion.h:64
ValueT mValue
Definition NodeUnion.h:64
void setChild(ChildT *child)
Definition NodeUnion.h:41
ValueT & getValue()
Definition NodeUnion.h:44
const ValueT & getValue() const
Definition NodeUnion.h:43
ChildT * getChild() const
Definition NodeUnion.h:40
NodeUnion()
Definition NodeUnion.h:38
void setValue(const ValueT &val)
Definition NodeUnion.h:45
Definition Exceptions.h:13
static const bool IsVec
Definition Types.h:296
static const bool IsQuat
Definition Types.h:297
static const bool IsMat
Definition Types.h:298
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition version.h.in:121
#define OPENVDB_USE_VERSION_NAMESPACE
Definition version.h.in:218