Module broccoli::aabb

source ·
Expand description

Contains AABB primitives and building blocks.

Modules

  • Provides a mutable pointer type that is more restrictive that &mut T, in order to protect invariants.

Structs

  • A bounding box container object that implements Aabb and HasInner. Note that &mut BBox<N,T> also implements Aabb and HasInner.
  • BBox with a reference.
  • Wrapper to opt in to being allowed to be fed to swap intensive algorithms.
  • A 1D range. Internally represented as start and end. (as opposed to a start and length) If range A contains value x and range B contains value x, then A intersects B. There is no protection against “degenerate” Ranges where start>end.
  • An axis aligned rectangle. Stored as two Ranges.

Traits

  • Trait to signify that this object has an axis aligned bounding box.
  • Singifies this object can be swapped around in a slice many times without much of a performance hit.
  • The underlying number type used for the tree. It is auto implemented by all types that satisfy the type constraints. Notice that no arithmetic is possible. The tree is constructed using only comparisons and copying.