OpenVDB
1.1.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 > | |
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... | |
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) |
Overwrites the inactive values with a new value whos magnitude is equal to the specified background value and sign is consistant with the lexicographically closest active value. The net effect is a propagation of signs from the active to the inactive values. Note this flood-filling is also performed on any child nodes. More... | |
void | signedFloodFill (const ValueType &outside, const ValueType &inside) |
Sets the inactive values to either the outside or inside value, depending on the sign of the closest corresponding active value. More specefically, an inactive value is set to the outside value if the closest active value in the lexicographic direction is positive, else it is set to the inside value. Note this operation is also performed on any child nodes. 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) |
Change inactive tiles or voxels with value oldBackground to newBackground or -oldBackground to -newBackground. Active values are unchanged. More... | |
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 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 |
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 |
Change the sign of all the values represented in this node and its child nodes.
|
inline |
|
inline |
|
inline |
|
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 |
Change inactive tiles or voxels with value oldBackground to newBackground or -oldBackground to -newBackground. Active values are unchanged.
|
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 |
Overwrites the inactive values with a new value whos magnitude is equal to the specified background value and sign is consistant with the lexicographically closest active value. The net effect is a propagation of signs from the active to the inactive values. Note this flood-filling is also performed on any child nodes.
Sets the inactive values to either the outside or inside value, depending on the sign of the closest corresponding active value. More specefically, an inactive value is set to the outside value if the closest active value in the lexicographic direction is positive, else it is set to the inside value. Note this operation is also performed on any child nodes.
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.
The resulting state of a value is active if the corresponding value was already active OR if it is active in the other tree. Also, a resulting value maps to a voxel if the corresponding value already mapped to a voxel OR if it is a voxel in the other tree. Thus, a resulting value can only map to a tile if the corresponding value already mapped to a tile AND if it is a tile value in other tree.
Specifically, active tiles and voxels in this branch are not changed, and tiles or voxels that were inactive in this branch but active in the other branch are marked as active in this branch but left with their original values.
|
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 |
|
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 |