Internal nodes of a VDB tree. More...
#include <nanovdb/NanoVDB.h>
 
  
| Classes | |
| class | ChildIter | 
| Visits child nodes of this node only.  More... | |
| class | DenseIterator | 
| Visits all tile values and child nodes of this node.  More... | |
| class | ValueIterator | 
| Visits all tile values in this node, i.e. both inactive and active tiles.  More... | |
| class | ValueOnIterator | 
| Visits active tile values of this node only.  More... | |
| Public Types | |
| using | DataType = InternalData<ChildT, Log2Dim> | 
| using | ValueType = typename DataType::ValueT | 
| using | FloatType = typename DataType::StatsT | 
| using | BuildType = typename DataType::BuildT | 
| using | LeafNodeType = typename ChildT::LeafNodeType | 
| using | ChildNodeType = ChildT | 
| using | CoordType = typename ChildT::CoordType | 
| template<uint32_t LOG2> | |
| using | MaskType = typename ChildT::template MaskType<LOG2> | 
| template<bool On> | |
| using | MaskIterT = typename Mask<Log2Dim>::template Iterator<On> | 
| using | ChildIterator = ChildIter<InternalNode> | 
| using | ConstChildIterator = ChildIter<const InternalNode> | 
| using | ValueT = typename ChildT::ValueType | 
| using | BuildT = typename ChildT::BuildType | 
| using | StatsT = typename ChildT::FloatType | 
| using | CoordT = typename ChildT::CoordType | 
| using | MaskT = typename ChildT::template MaskType<LOG2DIM> | 
| Public Member Functions | |
| __hostdev__ ChildIterator | beginChild () | 
| __hostdev__ ConstChildIterator | cbeginChild () const | 
| __hostdev__ ValueIterator | beginValue () const | 
| __hostdev__ ValueIterator | cbeginValueAll () const | 
| __hostdev__ ValueOnIterator | beginValueOn () const | 
| __hostdev__ ValueOnIterator | cbeginValueOn () const | 
| __hostdev__ DenseIterator | beginDense () const | 
| __hostdev__ DenseIterator | cbeginChildAll () const | 
| InternalNode ()=delete | |
| This class cannot be constructed or deleted. | |
| InternalNode (const InternalNode &)=delete | |
| InternalNode & | operator= (const InternalNode &)=delete | 
| ~InternalNode ()=delete | |
| __hostdev__ DataType * | data () | 
| __hostdev__ const DataType * | data () const | 
| __hostdev__ const MaskType< LOG2DIM > & | valueMask () const | 
| Return a const reference to the bit mask of active voxels in this internal node. | |
| __hostdev__ const MaskType< LOG2DIM > & | getValueMask () const | 
| __hostdev__ const MaskType< LOG2DIM > & | childMask () const | 
| Return a const reference to the bit mask of child nodes in this internal node. | |
| __hostdev__ const MaskType< LOG2DIM > & | getChildMask () const | 
| __hostdev__ CoordType | origin () const | 
| Return the origin in index space of this leaf node. | |
| __hostdev__ const ValueType & | minimum () const | 
| Return a const reference to the minimum active value encoded in this internal node and any of its child nodes. | |
| __hostdev__ const ValueType & | maximum () const | 
| Return a const reference to the maximum active value encoded in this internal node and any of its child nodes. | |
| __hostdev__ const FloatType & | average () const | 
| Return a const reference to the average of all the active values encoded in this internal node and any of its child nodes. | |
| __hostdev__ FloatType | variance () const | 
| Return the variance of all the active values encoded in this internal node and any of its child nodes. | |
| __hostdev__ const FloatType & | stdDeviation () const | 
| Return a const reference to the standard deviation of all the active values encoded in this internal node and any of its child nodes. | |
| __hostdev__ const math::BBox< CoordType > & | bbox () const | 
| Return a const reference to the bounding box in index space of active values in this internal node and any of its child nodes. | |
| __hostdev__ ValueType | getFirstValue () const | 
| If the first entry in this node's table is a tile, return the tile's value. Otherwise, return the result of calling getFirstValue() on the child. | |
| __hostdev__ ValueType | getLastValue () const | 
| If the last entry in this node's table is a tile, return the tile's value. Otherwise, return the result of calling getLastValue() on the child. | |
| __hostdev__ ValueType | getValue (const CoordType &ijk) const | 
| Return the value of the given voxel. | |
| __hostdev__ bool | isActive (const CoordType &ijk) const | 
| __hostdev__ bool | probeValue (const CoordType &ijk, ValueType &v) const | 
| return the state and updates the value of the specified voxel | |
| __hostdev__ const LeafNodeType * | probeLeaf (const CoordType &ijk) const | 
| __hostdev__ ChildNodeType * | probeChild (const CoordType &ijk) | 
| __hostdev__ const ChildNodeType * | probeChild (const CoordType &ijk) const | 
| __hostdev__ void | localToGlobalCoord (Coord &ijk) const | 
| modifies local coordinates to global coordinates of a tile or child node | |
| __hostdev__ Coord | offsetToGlobalCoord (uint32_t n) const | 
| __hostdev__ bool | isActive () const | 
| Return true if this node or any of its child nodes contain active values. | |
| template<typename OpT, typename... ArgsT> | |
| __hostdev__ auto | get (const CoordType &ijk, ArgsT &&... args) const | 
| template<typename OpT, typename... ArgsT> | |
| __hostdev__ decltype(OpT::set(util::declval< InternalNode & >(), util::declval< uint32_t >(), util::declval< ArgsT >()...)) | set (const CoordType &ijk, ArgsT &&... args) | 
| __hostdev__ void | setChild (uint32_t n, const void *ptr) | 
| template<typename ValueT> | |
| __hostdev__ void | setValue (uint32_t n, const ValueT &v) | 
| __hostdev__ ChildT * | getChild (uint32_t n) | 
| Returns a pointer to the child node at the specifed linear offset. | |
| __hostdev__ const ChildT * | getChild (uint32_t n) const | 
| __hostdev__ ValueT | getValue (uint32_t n) const | 
| __hostdev__ bool | isActive (uint32_t n) const | 
| __hostdev__ bool | isChild (uint32_t n) const | 
| template<typename T> | |
| __hostdev__ void | setOrigin (const T &ijk) | 
| __hostdev__ const ValueT & | getMin () const | 
| __hostdev__ const ValueT & | getMax () const | 
| __hostdev__ void | setMin (const ValueT &v) | 
| __hostdev__ void | setMax (const ValueT &v) | 
| __hostdev__ void | setAvg (const StatsT &v) | 
| __hostdev__ void | setDev (const StatsT &v) | 
| Static Public Member Functions | |
| static __hostdev__ uint32_t | dim () | 
| Return the dimension, in voxel units, of this internal node (typically 8*16 or 8*16*32) | |
| static __hostdev__ size_t | memUsage () | 
| Return memory usage in bytes for the class. | |
| static __hostdev__ uint32_t | CoordToOffset (const CoordType &ijk) | 
| Return the linear offset corresponding to the given coordinate. | |
| static __hostdev__ Coord | OffsetToLocalCoord (uint32_t n) | 
| static __hostdev__ constexpr uint32_t | padding () | 
| Return padding of this class in bytes, due to aliasing and 32B alignment. | |
| Public Attributes | |
| math::BBox< CoordT > | mBBox | 
| uint64_t | mFlags | 
| MaskT | mValueMask | 
| MaskT | mChildMask | 
| ValueT | mMinimum | 
| ValueT | mMaximum | 
| StatsT | mAverage | 
| StatsT | mStdDevi | 
| Tile | mTable [1u<<(3 *LOG2DIM)] | 
| Static Public Attributes | |
| static constexpr bool | FIXED_SIZE = DataType::FIXED_SIZE | 
| static constexpr uint32_t | LOG2DIM = Log2Dim | 
| static constexpr uint32_t | TOTAL = LOG2DIM + ChildT::TOTAL | 
| static constexpr uint32_t | DIM = 1u << TOTAL | 
| static constexpr uint32_t | SIZE = 1u << (3 * LOG2DIM) | 
| static constexpr uint32_t | MASK = (1u << TOTAL) - 1u | 
| static constexpr uint32_t | LEVEL = 1 + ChildT::LEVEL | 
| static constexpr uint64_t | NUM_VALUES = uint64_t(1) << (3 * TOTAL) | 
| Friends | |
| template<typename, int, int, int> | |
| class | ReadAccessor | 
| template<typename> | |
| class | RootNode | 
| template<typename, uint32_t> | |
| class | InternalNode | 
Internal nodes of a VDB tree.
| 
 | inherited | 
| using BuildType = typename DataType::BuildT | 
| using ChildIterator = ChildIter<InternalNode> | 
| using ChildNodeType = ChildT | 
| using ConstChildIterator = ChildIter<const InternalNode> | 
| 
 | inherited | 
| using CoordType = typename ChildT::CoordType | 
| using DataType = InternalData<ChildT, Log2Dim> | 
| using FloatType = typename DataType::StatsT | 
| using LeafNodeType = typename ChildT::LeafNodeType | 
| using MaskIterT = typename Mask<Log2Dim>::template Iterator<On> | 
| 
 | inherited | 
| using MaskType = typename ChildT::template MaskType<LOG2> | 
| 
 | inherited | 
| 
 | inherited | 
| using ValueType = typename DataType::ValueT | 
| 
 | delete | 
This class cannot be constructed or deleted.
| 
 | delete | 
| 
 | delete | 
| 
 | inline | 
Return a const reference to the average of all the active values encoded in this internal node and any of its child nodes.
| 
 | inline | 
Return a const reference to the bounding box in index space of active values in this internal node and any of its child nodes.
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
Return a const reference to the bit mask of child nodes in this internal node.
| 
 | inlinestatic | 
Return the linear offset corresponding to the given coordinate.
| 
 | inline | 
| 
 | inline | 
| 
 | inlinestatic | 
Return the dimension, in voxel units, of this internal node (typically 8*16 or 8*16*32)
| 
 | inline | 
| 
 | inlineinherited | 
Returns a pointer to the child node at the specifed linear offset.
| 
 | inlineinherited | 
| 
 | inline | 
| 
 | inline | 
If the first entry in this node's table is a tile, return the tile's value. Otherwise, return the result of calling getFirstValue() on the child.
| 
 | inline | 
If the last entry in this node's table is a tile, return the tile's value. Otherwise, return the result of calling getLastValue() on the child.
| 
 | inlineinherited | 
| 
 | inlineinherited | 
| 
 | inlineinherited | 
| 
 | inline | 
Return the value of the given voxel.
| 
 | inline | 
| 
 | inlineinherited | 
| 
 | inline | 
Return true if this node or any of its child nodes contain active values.
| 
 | inline | 
| 
 | inlineinherited | 
| 
 | inline | 
modifies local coordinates to global coordinates of a tile or child node
| 
 | inline | 
Return a const reference to the maximum active value encoded in this internal node and any of its child nodes.
| 
 | inlinestatic | 
Return memory usage in bytes for the class.
| 
 | inline | 
Return a const reference to the minimum active value encoded in this internal node and any of its child nodes.
| 
 | inline | 
| 
 | inlinestatic | 
| 
 | delete | 
| 
 | inline | 
Return the origin in index space of this leaf node.
| 
 | inlinestaticconstexprinherited | 
Return padding of this class in bytes, due to aliasing and 32B alignment.
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
return the state and updates the value of the specified voxel
| 
 | inline | 
| 
 | inlineinherited | 
| 
 | inlineinherited | 
| 
 | inlineinherited | 
| 
 | inlineinherited | 
| 
 | inlineinherited | 
| 
 | inlineinherited | 
| 
 | inlineinherited | 
| 
 | inline | 
Return a const reference to the standard deviation of all the active values encoded in this internal node and any of its child nodes.
| 
 | inline | 
Return a const reference to the bit mask of active voxels in this internal node.
| 
 | inline | 
Return the variance of all the active values encoded in this internal node and any of its child nodes.
| 
 | friend | 
| 
 | friend | 
| 
 | friend | 
| 
 | staticconstexpr | 
| 
 | staticconstexpr | 
| 
 | staticconstexpr | 
| 
 | staticconstexpr | 
| 
 | staticconstexpr | 
| 
 | inherited | 
| 
 | inherited | 
| 
 | inherited | 
| 
 | inherited | 
| 
 | inherited | 
| 
 | inherited | 
| 
 | inherited | 
| 
 | inherited | 
| 
 | staticconstexpr | 
| 
 | staticconstexpr | 
| 
 | staticconstexpr |