Boundary

intervalidus.collection.Boundary
See theBoundary companion object
case class Boundary

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.

Attributes

Companion
object
Source
Boundary.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def binarySplit: Vector[Boundary]

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

Source
Boundary.scala
infix def contains(otherBox: Box): Boolean

Does both the box and capacity of this boundary fully contain the other box?

Does both the box and capacity of this boundary fully contain the other box?

Value parameters

otherBox

box to test

Attributes

Returns

true or false

Source
Boundary.scala
def growAround(other: Box): Boundary

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.

Attributes

Source
Boundary.scala
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
Any
Source
Boundary.scala
def withBox(newBox: Box): Boundary

Generally the box is managed internally, but this method can be used to manipulate it directly. Useful for testing.

Generally the box is managed internally, but this method can be used to manipulate it directly. Useful for testing.

Value parameters

newBox

the box to be used in a new boundary with the same capacity

Attributes

Returns

a new boundary with the new box and the same capacity

Source
Boundary.scala

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product