AC-Vector-2.3.0: Efficient geometric vectors and transformations.

Data.BoundingBox.B2

Description

This module provides the `BBox2` type for 2-dimensional bounding boxes.

Synopsis

# Documentation

data BBox2 Source

A `BBox2` is a 2D bounding box (aligned to the coordinate axies).

Constructors

 BBox2 FieldsminX :: !Scalar minY :: !Scalar maxX :: !Scalar maxY :: !Scalar

Instances

 Eq BBox2 Show BBox2

Return the X-range that this bounding box covers.

Return the Y-range that this bounding box covers.

Given ranges for each coordinate axis, construct a bounding box.

Given a pair of corner points, construct a bounding box. (The points must be from opposite corners, but it doesn't matter which corners nor which order they are given in.)

bound_points :: [Vector2] -> BBox2Source

Find the bounds of a list of points. (Throws an exception if the list is empty.)

Test whether a given 2D vector is inside this bounding box.

Return the minimum values for both coordinates. (In usual 2D space, the bottom-left corner point.)

Return the maximum values for both coordinates. (In usual 2D space, the top-right corner point.)

Take the union of two bounding boxes. The result is a new bounding box that contains all the points the original boxes contained, plus any extra space between them.

Take the intersection of two bounding boxes. If the boxes do not overlap, return `Nothing`. Otherwise return a new bounding box containing only the points common to both argument boxes.