Open abstract instantiable class
The class that represents a bounding box.
<region>
left:<integer>.
top:<integer>.
right:<integer>.
bottom:<integer>.
duim-geometryduim-geometry A bounding box is an axis aligned rectangle that contains some region. The representation of bounding boxes in DUIM is chosen to be efficient. This representation is not sufficient to represent the result of arbitrary transformations (such as rotations) of bounding boxes. The most general class of transformations that is guaranteed to transform a box into another box is the class of transformations that satisfy rectilinear-transformation?.
Bounding boxes are immutable, but since they reflect the live state of such mutable objects as sheets, bounding boxes are volatile. Therefore, programmers must not depend on the bounding box associated with a mutable object remaining constant.
The following operations are exported from the DUIM-Geometry module.
bounding-box? box-edges region-contains-position? region-contains-region? region-difference region-empty? region-intersection region-intersects-region? region-union set-box-edges set-box-position set-box-size transform-region untransform-region