33 #ifndef OPENVDB_TREE_UTIL_HAS_BEEN_INCLUDED
34 #define OPENVDB_TREE_UTIL_HAS_BEEN_INCLUDED
36 #include <openvdb/math/Math.h>
37 #include <openvdb/Types.h>
46 template<
typename ValueType, Index TerminationLevel = 0>
51 template<
typename ChildType>
54 return (ChildType::LEVEL < TerminationLevel) ?
false : this->isConstant(child);
57 template<
typename ChildType>
61 return child.isConstant(value, state,
tolerance);
73 template<
typename ValueType>
78 template <
typename ChildType>
82 return child.isInactive();
85 static const bool state =
false;
98 template<
typename ValueType>
103 template <
typename ChildType>
106 child.pruneOp(*
this);
107 if (!child.isInactive())
return false;
108 value = child.getFirstValue() < zeroVal<ValueType>() ? -outside : outside;
112 static const bool state =
false;
121 #endif // OPENVDB_TREE_UTIL_HAS_BEEN_INCLUDED