This module implements a generic axis-aligned bounding box (AABB).
N-dimensional half-open interval [a, b[.
Construct a box which extends between 2 points.
Euclidean squared distance from a point.
Euclidean distance from a point.
Euclidean squared distance from another box.
Euclidean distance from another box.
Assumes sorted boxes.
This function deals with empty boxes correctly.
Assumes sorted boxes.
This function deals with empty boxes correctly.
Extends the area of this Box.
Shrink the area of this Box. The box might became unsorted.
Extends the area of this Box.
Translate this Box.
Shrinks the area of this Box.
Expands the box to include point.
Expands the box to include another box.
This function deals with empty boxes correctly.
Assign with another box.
Helper function to create rectangle with a given point, width and height.
Instanciate to use a 2D box.
Instanciate to use a 3D box.
2D box with integer coordinates.
3D box with integer coordinates.
2D box with float coordinates.
3D box with float coordinates.
2D box with double coordinates.
3D box with double coordinates.
True if
Tis a kind of Box
Get the numeric type used to measure a box's dimensions.
static assert(is(DimensionType!box2f == float)); static assert(is(DimensionType!box3d == double));