Represents a boundary in multidimensional double space. Used in defining the boundary of a tree branch and its subtrees. The edges of capacity approximate the edges of box.
A subtree boundary within a branch always has the properties that branch.capacity contains subtree.capacity and branch.box contains subtree.box.
Value parameters
box
defines the actual boundary, (which may be unbounded in some/all min/max coordinates).
capacity
defines the constrained area of the boundary in which all the data fits.
Constructs new boundaries based on binary splits in each dimension using the boundary capacity midpoint. For n dimensions, there are 2n boxes created (hyperoctants), which generalizes subtree branches in B-trees (2 boxes in one dimension), quadtrees (4 boxes in two dimensions), octrees (8 boxes in three dimensions), 4D hyperoctrees (16 boxes in four dimensions), etc.
Constructs new boundaries based on binary splits in each dimension using the boundary capacity midpoint. For n dimensions, there are 2n boxes created (hyperoctants), which generalizes subtree branches in B-trees (2 boxes in one dimension), quadtrees (4 boxes in two dimensions), octrees (8 boxes in three dimensions), 4D hyperoctrees (16 boxes in four dimensions), etc.
Attributes
Returns
a vector of boxes that can be used for subtree boundaries
When some other box does not fit in this boundary (either its box, capacity, or both), returns a new larger boundary containing the other box. Uses a scaling magnitude of 1.0 on the capacity, which doubles its size in every dimension by 2x after growing it to contain the other box.
When some other box does not fit in this boundary (either its box, capacity, or both), returns a new larger boundary containing the other box. Uses a scaling magnitude of 1.0 on the capacity, which doubles its size in every dimension by 2x after growing it to contain the other box.