OpenVDB
0.104.0
|
#include <InternalNode.h>
Classes | |
struct | ChildAll |
struct | ChildIter |
struct | ChildOff |
struct | ChildOn |
struct | DenseIter |
struct | ValueAll |
struct | ValueConverter |
ValueConverter<T>::Type is the type of an InternalNode having the same child hierarchy and dimensions as this node but a different value type, T. More... | |
struct | ValueIter |
struct | ValueOff |
struct | ValueOn |
Public Member Functions | |
InternalNode () | |
InternalNode (const ValueType &offValue) | |
InternalNode (const Coord &, const ValueType &value, bool active=false) | |
InternalNode (const InternalNode &) | |
Deep copy constructor. More... | |
template<typename OtherChildNodeType > | |
InternalNode (const InternalNode< OtherChildNodeType, Log2Dim > &other, const ValueType &background, TopologyCopy) | |
Topology copy constructor. More... | |
template<typename OtherChildNodeType > | |
InternalNode (const InternalNode< OtherChildNodeType, Log2Dim > &other, const ValueType &offValue, const ValueType &onValue, TopologyCopy) | |
Topology copy constructor. More... | |
virtual | ~InternalNode () |
ChildOnCIter | cbeginChildOn () const |
ChildOffCIter | cbeginChildOff () const |
ChildAllCIter | cbeginChildAll () const |
ChildOnCIter | beginChildOn () const |
ChildOffCIter | beginChildOff () const |
ChildAllCIter | beginChildAll () const |
ChildOnIter | beginChildOn () |
ChildOffIter | beginChildOff () |
ChildAllIter | beginChildAll () |
ValueOnCIter | cbeginValueOn () const |
ValueOffCIter | cbeginValueOff () const |
ValueAllCIter | cbeginValueAll () const |
ValueOnCIter | beginValueOn () const |
ValueOffCIter | beginValueOff () const |
ValueAllCIter | beginValueAll () const |
ValueOnIter | beginValueOn () |
ValueOffIter | beginValueOff () |
ValueAllIter | beginValueAll () |
Coord | offset2globalCoord (Index n) const |
Coord | getOrigin () const |
Index32 | leafCount () const |
Index32 | nonLeafCount () const |
Index64 | onVoxelCount () const |
Index64 | offVoxelCount () const |
Index64 | onLeafVoxelCount () const |
Index64 | offLeafVoxelCount () const |
Index64 | memUsage () const |
Return the total amount of memory in bytes occupied by this node and its children. More... | |
void | evalActiveVoxelBoundingBox (CoordBBox &bbox) const |
Expand the specified bounding box so that it includes the active tiles of this internal node as well as all the active values in its child nodes. More... | |
CoordBBox | getNodeBoundingBox () const |
Return the bounding box of this node, i.e., the full index space spanned by the node regardless of its content. More... | |
bool | isEmpty () const |
bool | isConstant (ValueType &constValue, bool &state, const ValueType &tolerance=zeroVal< ValueType >()) const |
bool | isInactive () const |
Return true if this node has no children and only contains inactive values. More... | |
bool | isValueOn (const Coord &xyz) const |
Return true if the voxel at the given coordinates is active. More... | |
bool | isValueOn (Index offset) const |
Return true if the voxel at the given offset is active. More... | |
bool | hasActiveTiles () const |
Return true if this node or any of its child nodes have any active tiles. More... | |
const ValueType & | getValue (const Coord &xyz) const |
bool | probeValue (const Coord &xyz, ValueType &value) const |
Index | getValueLevel (const Coord &xyz) const |
Return the level of the tree (0 = leaf) at which the value at the given coordinates resides. More... | |
const 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... | |
const 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... | |
void | setActiveState (const Coord &xyz, bool on) |
Set the active state at the given coordinates, but don't change its value. More... | |
void | setValueOff (const Coord &xyz) |
Mark the voxel at the given coordinates as inactive, but don't change its value. More... | |
void | setValueOff (const Coord &xyz, const ValueType &value) |
Change the value of the voxel at the given coordinates and mark the voxel as inactive. More... | |
void | setValueOn (const Coord &xyz) |
void | setValueOn (const Coord &xyz, const ValueType &value) |
void | setValueOnly (const Coord &xyz, const ValueType &value) |
void | setValueOnMin (const Coord &xyz, const ValueType &value) |
void | setValueOnMax (const Coord &xyz, const ValueType &value) |
void | setValueOnSum (const Coord &xyz, const ValueType &value) |
void | fill (const CoordBBox &bbox, const ValueType &, bool active=true) |
Set all voxels within an axis-aligned box to a constant value. (The min and max coordinates are inclusive.) More... | |
template<typename AccessorT > | |
const ValueType & | getValueAndCache (const Coord &xyz, AccessorT &) const |
template<typename AccessorT > | |
bool | isValueOnAndCache (const Coord &xyz, AccessorT &) const |
template<typename AccessorT > | |
void | setValueAndCache (const Coord &xyz, const ValueType &value, AccessorT &) |
template<typename AccessorT > | |
void | setValueOnlyAndCache (const Coord &xyz, const ValueType &value, AccessorT &) |
template<typename AccessorT > | |
void | setValueOnSumAndCache (const Coord &xyz, const ValueType &value, AccessorT &) |
template<typename AccessorT > | |
void | setValueOffAndCache (const Coord &xyz, const ValueType &value, AccessorT &) |
template<typename AccessorT > | |
void | setActiveStateAndCache (const Coord &xyz, bool on, AccessorT &) |
template<typename AccessorT > | |
bool | probeValueAndCache (const Coord &xyz, ValueType &value, AccessorT &) const |
template<typename AccessorT > | |
OPENVDB_DEPRECATED const ValueType & | getValue (const Coord &xyz, bool &on, int &level, AccessorT &) const |
template<typename ProbeType , typename AccessorT > | |
OPENVDB_DEPRECATED const ValueType & | probe (const Coord &xyz, ProbeType &p, AccessorT &) const |
template<bool State, bool Level, typename AccessorT > | |
OPENVDB_DEPRECATED const ValueType & | probe (const Coord &xyz, bool &state, int &level, AccessorT &) const |
template<typename AccessorT > | |
Index | getValueLevelAndCache (const Coord &xyz, AccessorT &) const |
Return the level of the tree (0 = leaf) at which the value at the given coordinates resides. More... | |
void | setValuesOn () |
Mark all values (both tiles and voxels) as active. More... | |
template<typename AccessorT > | |
OPENVDB_DEPRECATED void | updateCache (const Coord &xyz, AccessorT &) const |
Update the given accessor with pointers to the nodes along the path from the root node to the node containing voxel (x, y, z). More... | |
void | writeTopology (std::ostream &, bool toHalf=false) const |
void | readTopology (std::istream &, bool fromHalf=false) |
void | writeBuffers (std::ostream &, bool toHalf=false) const |
void | readBuffers (std::istream &, bool fromHalf=false) |
void | signedFloodFill (const ValueType &background) |
Propagates the sign from a narrow-band LEVEL SET into the inactive voxels and tiles. Note this method should only be use on narrow-band level sets!!! More... | |
void | negate () |
void | voxelizeActiveTiles () |
Replace active tiles with dense voxels, i.e., with active leaf nodes. More... | |
void | merge (InternalNode &other, const ValueType &background, const ValueType &otherBackground) |
Simple merge: Nodes and values of this node are always unchanged! More... | |
template<typename OtherChildNodeType > | |
void | topologyUnion (const InternalNode< OtherChildNodeType, Log2Dim > &other) |
Union this branch's set of active values with the other branch's active values. The value type of the other branch can be different. More... | |
template<typename CombineOp > | |
void | combine (InternalNode &other, CombineOp &) |
template<typename CombineOp > | |
void | combine (const ValueType &value, bool valueIsActive, CombineOp &) |
template<typename CombineOp > | |
void | combine2 (const InternalNode &other0, const InternalNode &other1, CombineOp &) |
template<typename CombineOp > | |
void | combine2 (const ValueType &value, const InternalNode &other, bool valueIsActive, CombineOp &) |
template<typename CombineOp > | |
void | combine2 (const InternalNode &other, const ValueType &value, bool valueIsActive, CombineOp &) |
template<typename BBoxOp > | |
void | visitActiveBBox (BBoxOp &) const |
Calls the templated functor BBoxOp with bounding box information for all active tiles and leaf nodes in this node. An additional level argument is provided for each callback. More... | |
template<typename VisitorOp > | |
void | visit (VisitorOp &) |
template<typename VisitorOp > | |
void | visit (VisitorOp &) const |
template<typename OtherNodeType , typename VisitorOp > | |
void | visit2Node (OtherNodeType &other, VisitorOp &) |
template<typename OtherNodeType , typename VisitorOp > | |
void | visit2Node (OtherNodeType &other, VisitorOp &) const |
template<typename IterT , typename VisitorOp > | |
void | visit2 (IterT &otherIter, VisitorOp &, bool otherIsLHS=false) |
template<typename IterT , typename VisitorOp > | |
void | visit2 (IterT &otherIter, VisitorOp &, bool otherIsLHS=false) const |
template<typename PruneOp > | |
void | pruneOp (PruneOp &) |
Call the PruneOp functor for each child node and, if the functor returns true , prune the node and replace it with a tile. More... | |
void | prune (const ValueType &tolerance=zeroVal< ValueType >()) |
Reduce the memory footprint of this tree by replacing with tiles any nodes whose values are all the same (optionally to within a tolerance) and have the same active state. More... | |
void | pruneInactive (const ValueType &) |
Reduce the memory footprint of this tree by replacing with tiles of the given value any nodes whose values are all inactive. More... | |
void | pruneInactive () |
Reduce the memory footprint of this tree by replacing with background tiles any nodes whose values are all inactive. More... | |
LeafNodeType * | touchLeaf (const Coord &xyz) |
Return the leaf node that contains voxel (x, y, z). If no such node exists, create one, but preserve the values and active states of all voxels. More... | |
LeafNodeType * | probeLeaf (const Coord &xyz) |
Return a pointer to the leaf node that contains voxel (x, y, z). If no such node exists, return NULL. More... | |
const LeafNodeType * | probeConstLeaf (const Coord &xyz) const |
Return a const pointer to the leaf node that contains voxel (x, y, z). If no such node exists, return NULL. More... | |
template<typename AccessorT > | |
LeafNodeType * | touchLeafAndCache (const Coord &xyz, AccessorT &) |
Same as touchLeaf except, if necessary, it update the accessor with pointers to the nodes along the path from the root node to the node containing the coordinate. More... | |
template<typename AccessorT > | |
LeafNodeType * | probeLeafAndCache (const Coord &xyz, AccessorT &) |
Same as probeLeaf except, if necessary, it update the accessor with pointers to the nodes along the path from the root node to the node containing the coordinate. More... | |
template<typename AccessorT > | |
const LeafNodeType * | probeConstLeafAndCache (const Coord &xyz, AccessorT &) const |
Same as probeConstLeaf except, if necessary, it update the accessor with pointers to the nodes along the path from the root node to the node containing the coordinate. More... | |
void | resetBackground (const ValueType &oldBackground, const ValueType &newBackground) |
template<typename OtherChildNodeType , Index OtherLog2Dim> | |
bool | hasSameTopology (const InternalNode< OtherChildNodeType, OtherLog2Dim > *other) const |
Return true if the given tree branch has the same node and active value topology as this tree branch (but possibly a different ValueType ). More... | |
bool | isValueMaskOn (Index n) const |
bool | isValueMaskOn () const |
bool | isValueMaskOff (Index n) const |
bool | isValueMaskOff () const |
bool | isChildMaskOn (Index n) const |
bool | isChildMaskOff (Index n) const |
bool | isChildMaskOff () const |
template<typename AccessorT > | |
ChildT::LeafNodeType * | touchLeafAndCache (const Coord &xyz, AccessorT &acc) |
template<typename AccessorT > | |
ChildT::LeafNodeType * | probeLeafAndCache (const Coord &xyz, AccessorT &acc) |
template<typename AccessorT > | |
const ChildT::LeafNodeType * | probeConstLeafAndCache (const Coord &xyz, AccessorT &acc) const |
template<typename AccessorT > | |
const ChildT::ValueType & | getValueAndCache (const Coord &xyz, AccessorT &acc) const |
template<typename AccessorT > | |
const ChildT::ValueType & | getValue (const Coord &xyz, bool &state, int &level, AccessorT &acc) const |
template<typename ProbeT , typename AccessorT > | |
const ChildT::ValueType & | probe (const Coord &xyz, ProbeT &p, AccessorT &acc) const |
template<bool State, bool Level, typename AccessorT > | |
const ChildT::ValueType & | probe (const Coord &xyz, bool &state, int &level, AccessorT &acc) const |
template<typename AccessorT > | |
void | updateCache (const Coord &xyz, AccessorT &acc) const |
template<typename OtherChildT > | |
void | topologyUnion (const InternalNode< OtherChildT, Log2Dim > &other) |
template<typename NodeT , typename VisitorOp , typename ChildAllIterT > | |
void | doVisit (NodeT &self, VisitorOp &op) |
template<typename NodeT , typename OtherNodeT , typename VisitorOp , typename ChildAllIterT , typename OtherChildAllIterT > | |
void | doVisit2Node (NodeT &self, OtherNodeT &other, VisitorOp &op) |
template<typename OtherChildAllIterType , typename VisitorOp > | |
void | visit2 (OtherChildAllIterType &otherIter, VisitorOp &op, bool otherIsLHS) |
template<typename OtherChildAllIterType , typename VisitorOp > | |
void | visit2 (OtherChildAllIterType &otherIter, VisitorOp &op, bool otherIsLHS) const |
template<typename NodeT , typename VisitorOp , typename ChildAllIterT , typename OtherChildAllIterT > | |
void | doVisit2 (NodeT &self, OtherChildAllIterT &otherIter, VisitorOp &op, bool otherIsLHS) |
Static Public Member Functions | |
static Index | dim () |
static Index | getLevel () |
static void | getNodeLog2Dims (std::vector< Index > &dims) |
static Index | getChildDim () |
static Index | coord2offset (const Coord &xyz) |
static void | offset2coord (Index n, Coord &xyz) |
Static Public Attributes | |
static const Index | LOG2DIM = Log2Dim |
static const Index | TOTAL = Log2Dim + ChildNodeType::TOTAL |
static const Index | DIM = 1 << TOTAL |
static const Index | NUM_VALUES = 1 << (3 * Log2Dim) |
static const Index | LEVEL = 1 + ChildNodeType::LEVEL |
static const Index64 | NUM_VOXELS = uint64_t(1) << (3 * TOTAL) |
Protected Types | |
typedef NodeMaskType::OnIterator | MaskOnIterator |
typedef NodeMaskType::OffIterator | MaskOffIterator |
typedef NodeMaskType::DenseIterator | MaskDenseIterator |
Protected Member Functions | |
void | makeChildNodeEmpty (Index n, const ValueType &value) |
void | setChildNode (Index i, ChildNodeType *child) |
ChildNodeType * | unsetChildNode (Index i, const ValueType &value) |
ChildNodeType * | getChildNode (Index n) |
const ChildNodeType * | getChildNode (Index n) const |
void | setValueMask (Index n, bool on) |
Static Protected Member Functions | |
template<typename NodeT , typename VisitorOp , typename ChildAllIterT > | |
static void | doVisit (NodeT &, VisitorOp &) |
template<typename NodeT , typename OtherNodeT , typename VisitorOp , typename ChildAllIterT , typename OtherChildAllIterT > | |
static void | doVisit2Node (NodeT &, OtherNodeT &, VisitorOp &) |
template<typename NodeT , typename VisitorOp , typename ChildAllIterT , typename OtherChildAllIterT > | |
static void | doVisit2 (NodeT &, OtherChildAllIterT &, VisitorOp &, bool otherIsLHS) |
Protected Attributes | |
UnionType | mNodes [NUM_VALUES] |
NodeMaskType | mChildMask |
NodeMaskType | mValueMask |
Coord | mOrigin |
Global grid index coordinates (x,y,z) of the local origin of this node. More... | |
Friends | |
template<typename , Index > | |
class | InternalNode |
During topology-only construction, access is needed to protected/private members of other template instances. More... | |
class | IteratorBase< MaskOnIterator, InternalNode > |
class | IteratorBase< MaskOffIterator, InternalNode > |
class | IteratorBase< MaskDenseIterator, InternalNode > |
typedef DenseIter<const InternalNode,const ChildNodeType, ValueType, ChildAll> ChildAllCIter |
typedef DenseIter<InternalNode, ChildNodeType, ValueType, ChildAll> ChildAllIter |
typedef _ChildNodeType ChildNodeType |
typedef ValueIter<const InternalNode,const ValueType,MaskOffIterator,ChildOff> ChildOffCIter |
typedef ValueIter<InternalNode, const ValueType, MaskOffIterator, ChildOff> ChildOffIter |
typedef ChildIter<const InternalNode,const ChildNodeType,MaskOnIterator,ChildOn> ChildOnCIter |
typedef ChildIter<InternalNode, ChildNodeType, MaskOnIterator, ChildOn> ChildOnIter |
typedef ChildNodeType::LeafNodeType LeafNodeType |
|
protected |
|
protected |
|
protected |
typedef util::NodeMask<Log2Dim> NodeMaskType |
typedef NodeUnion<ValueType, ChildNodeType> UnionType |
typedef ValueIter<const InternalNode,const ValueType,MaskOffIterator,ValueAll> ValueAllCIter |
typedef ValueIter<InternalNode, const ValueType, MaskOffIterator, ValueAll> ValueAllIter |
typedef ValueIter<const InternalNode,const ValueType,MaskOffIterator,ValueOff> ValueOffCIter |
typedef ValueIter<InternalNode, const ValueType, MaskOffIterator, ValueOff> ValueOffIter |
typedef ValueIter<const InternalNode,const ValueType,MaskOnIterator,ValueOn> ValueOnCIter |
typedef ValueIter<InternalNode, const ValueType, MaskOnIterator, ValueOn> ValueOnIter |
typedef ChildNodeType::ValueType ValueType |
|
inline |
|
inlineexplicit |
|
inline |
|
inline |
Deep copy constructor.
|
inline |
Topology copy constructor.
|
inline |
Topology copy constructor.
|
inlinevirtual |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inlinestaticprotected |
|
inline |
|
inlinestaticprotected |
|
inline |
|
inlinestaticprotected |
|
inline |
|
inline |
Expand the specified bounding box so that it includes the active tiles of this internal node as well as all the active values in its child nodes.
Set all voxels within an axis-aligned box to a constant value. (The min and max coordinates are inclusive.)
|
inlinestatic |
|
inlineprotected |
|
inlineprotected |
|
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.
|
inlinestatic |
|
inline |
Return the bounding box of this node, i.e., the full index space spanned by the node regardless of its content.
|
static |
|
inline |
|
inline |
OPENVDB_DEPRECATED const ValueType& getValue | ( | const Coord & | xyz, |
bool & | on, | ||
int & | level, | ||
AccessorT & | |||
) | const |
Return the value of the voxel at the given coordinates and, if necessary, update the accessor with pointers to the nodes along the path from the root node to the node containing the voxel. Return the state and level of the voxel in on and level, respectively.
|
inline |
Return the value of the voxel at the given coordinates and, if necessary, update the accessor with pointers to the nodes along the path from the root node to the node containing the voxel.
|
inline |
Return the level of the tree (0 = leaf) at which the value at the given coordinates resides.
Return the level of the tree (0 = leaf) at which the value at the given coordinates resides.
If necessary, update the accessor with pointers to the nodes along the path from the root node to the node containing the voxel.
|
inline |
Return true
if this node or any of its child nodes have any active tiles.
|
inline |
Return true
if the given tree branch has the same node and active value topology as this tree branch (but possibly a different ValueType
).
|
inline |
|
inline |
|
inline |
|
inline |
Return true
if all of this node's table entries have the same active state and the same constant value to within the given tolerance, and return that value in constValue and the active state in state.
|
inline |
|
inline |
Return true
if this node has no children and only contains inactive values.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Return true
if the voxel at the given coordinates is active.
|
inline |
Return true
if the voxel at the given offset is active.
|
inline |
Return true
if the voxel at the given coordinates is active and, if necessary, update the accessor with pointers to the nodes along the path from the root node to the node containing the voxel.
|
inline |
|
inline |
Return the total amount of memory in bytes occupied by this node and its children.
|
inline |
Simple merge: Nodes and values of this node are always unchanged!
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
OPENVDB_DEPRECATED const ValueType& probe | ( | const Coord & | xyz, |
ProbeType & | p, | ||
AccessorT & | |||
) | const |
OPENVDB_DEPRECATED const ValueType& probe | ( | const Coord & | xyz, |
bool & | state, | ||
int & | level, | ||
AccessorT & | |||
) | const |
|
inline |
|
inline |
|
inline |
Return a const pointer to the leaf node that contains voxel (x, y, z). If no such node exists, return NULL.
const LeafNodeType* probeConstLeafAndCache | ( | const Coord & | xyz, |
AccessorT & | |||
) | const |
Same as probeConstLeaf except, if necessary, it update the accessor with pointers to the nodes along the path from the root node to the node containing the coordinate.
|
inline |
|
inline |
Return a pointer to the leaf node that contains voxel (x, y, z). If no such node exists, return NULL.
LeafNodeType* probeLeafAndCache | ( | const Coord & | xyz, |
AccessorT & | |||
) |
Same as probeLeaf except, if necessary, it update the accessor with pointers to the nodes along the path from the root node to the node containing the coordinate.
|
inline |
Return true
if the voxel at the given coordinates is active, change the voxel's value, and, if necessary, update the accessor with pointers to the nodes along the path from the root node to the node containing the voxel.
Reduce the memory footprint of this tree by replacing with tiles any nodes whose values are all the same (optionally to within a tolerance) and have the same active state.
|
inline |
Reduce the memory footprint of this tree by replacing with tiles of the given value any nodes whose values are all inactive.
|
inline |
Reduce the memory footprint of this tree by replacing with background tiles any nodes whose values are all inactive.
|
inline |
Call the PruneOp
functor for each child node and, if the functor returns true
, prune the node and replace it with a tile.
This method is used to implement all of the various pruning algorithms (prune(), pruneInactive(), etc.). It should rarely be called directly.
PruneOp
functor
|
inline |
|
inline |
|
inline |
Set the active state at the given coordinates, but don't change its value.
|
inline |
Set the active state of the voxel at the given coordinates without changing its value. If necessary, update the accessor with pointers to the nodes along the path from the root node to the node containing the voxel.
|
inlineprotected |
Change the value of the voxel at the given coordinates and mark it as active. If necessary, update the accessor with pointers to the nodes along the path from the root node to the node containing the voxel.
|
inlineprotected |
Use a mask accessor to ensure consistency between the child and value masks; i.e., the value mask should always be off wherever the child mask is on.
|
inline |
Mark the voxel at the given coordinates as inactive, but don't change its value.
Change the value of the voxel at the given coordinates and mark the voxel as inactive.
Change the value of the voxel at the given coordinates and mark it as inactive. If necessary, update the accessor with pointers to the nodes along the path from the root node to the node containing the voxel.
|
inline |
Set the value of the voxel at the given coordinate but preserves its active state. If necessary, update the accessor with pointers to the nodes along the path from the root node to the node containing the voxel.
Set the value of the voxel at the given coordinates to the sum of its current value and the given value, and mark the voxel as active. If necessary, update the accessor with pointers to the nodes along the path from the root node to the node containing the voxel.
|
inline |
Mark all values (both tiles and voxels) as active.
|
inline |
Propagates the sign from a narrow-band LEVEL SET into the inactive voxels and tiles. Note this method should only be use on narrow-band level sets!!!
void topologyUnion | ( | const InternalNode< OtherChildNodeType, Log2Dim > & | other | ) |
Union this branch's set of active values with the other branch's active values. The value type of the other branch can be different.
|
inline |
|
inline |
Return the leaf node that contains voxel (x, y, z). If no such node exists, create one, but preserve the values and active states of all voxels.
Use this method to preallocate a static tree topology over which to safely perform multithreaded processing.
LeafNodeType* touchLeafAndCache | ( | const Coord & | xyz, |
AccessorT & | |||
) |
Same as touchLeaf except, if necessary, it update the accessor with pointers to the nodes along the path from the root node to the node containing the coordinate.
|
inline |
OPENVDB_DEPRECATED void updateCache | ( | const Coord & | xyz, |
AccessorT & | |||
) | const |
Update the given accessor with pointers to the nodes along the path from the root node to the node containing voxel (x, y, z).
|
inline |
|
inline |
|
inline |
void visit2 | ( | IterT & | otherIter, |
VisitorOp & | , | ||
bool | otherIsLHS = false |
||
) |
void visit2 | ( | IterT & | otherIter, |
VisitorOp & | , | ||
bool | otherIsLHS = false |
||
) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Calls the templated functor BBoxOp with bounding box information for all active tiles and leaf nodes in this node. An additional level argument is provided for each callback.
|
inline |
Replace active tiles with dense voxels, i.e., with active leaf nodes.
|
inline |
|
inline |
|
friend |
During topology-only construction, access is needed to protected/private members of other template instances.
|
friend |
Allow iterators to call mask accessor methods (setValueMask(), setChildMask(), etc.).
|
friend |
Allow iterators to call mask accessor methods (setValueMask(), setChildMask(), etc.).
|
friend |
Allow iterators to call mask accessor methods (setValueMask(), setChildMask(), etc.).
|
static |
|
static |
|
protected |
|
protected |
|
protected |
Global grid index coordinates (x,y,z) of the local origin of this node.
|
protected |
|
static |
|
static |