OpenVDB
12.0.0
|
Internal nodes of a VDB tree. More...
#include <nanovdb/NanoVDB.h>
Inherits InternalData< ChildT, Log2Dim >.
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. More... | |
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. More... | |
__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. More... | |
__hostdev__ const MaskType< LOG2DIM > & | getChildMask () const |
__hostdev__ CoordType | origin () const |
Return the origin in index space of this leaf node. More... | |
__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. More... | |
__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. More... | |
__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. More... | |
__hostdev__ FloatType | variance () const |
Return the variance of all the active values encoded in this internal node and any of its child nodes. More... | |
__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. More... | |
__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. More... | |
__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. More... | |
__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. More... | |
__hostdev__ ValueType | getValue (const CoordType &ijk) const |
Return the value of the given voxel. More... | |
__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 More... | |
__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 More... | |
__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. More... | |
template<typename OpT , typename... ArgsT> | |
__hostdev__ auto | get (const CoordType &ijk, ArgsT &&...args) const |
__hostdev__ void | setChild (uint32_t n, const void *ptr) |
__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. More... | |
__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 |
__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) More... | |
static __hostdev__ size_t | memUsage () |
Return memory usage in bytes for the class. More... | |
static __hostdev__ uint32_t | CoordToOffset (const CoordType &ijk) |
Return the linear offset corresponding to the given coordinate. More... | |
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. More... | |
Public Attributes | |
template<typename OpT , typename... ArgsT> | |
decltype(OpT::set(util::declval< InternalNode & >(), util::declval< uint32_t >(), util::declval< ArgsT >()...)) __hostdev__ | set (const CoordType &ijk, ArgsT &&...args) |
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 |
|
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 |
|
inline |
Return true if this node or any of its child nodes contain active values.
|
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.
|
inlinestaticinherited |
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
|
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 |
|
static |
|
static |
|
static |
|
static |
|
static |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
static |
|
inline |
|
static |
|
static |