| Portability | non-portable |
|---|---|
| Stability | provisional |
| Maintainer | Fumiaki Kinoshita <fumiexcel@gmail.com> |
| Safe Haskell | None |
Data.BoundingBox.Dim2
Description
The type and accessors for 2D bounding boxes
- data BoundingBox a = BoundingBox !a !a !a !a
- inBoundingBox :: Ord a => V2 a -> BoundingBox a -> Bool
- intersect :: Ord a => BoundingBox a -> BoundingBox a -> Maybe (BoundingBox a)
- enclose :: (Num a, Ord a) => V2 a -> BoundingBox a -> BoundingBox a
- _TLBR :: Iso' (BoundingBox a) (V2 a, V2 a)
- _BLTR :: Iso' (BoundingBox a) (V2 a, V2 a)
- _Corners :: Traversal' (BoundingBox a) (V2 a)
- data Reference
- sizePos :: Fractional a => Reference -> Iso' (BoundingBox a) (V2 a, V2 a)
- position :: Fractional a => Reference -> Lens' (BoundingBox a) (V2 a)
- size :: Fractional a => Reference -> Lens' (BoundingBox a) (V2 a)
Documentation
data BoundingBox a Source
Constructors
| BoundingBox !a !a !a !a |
Instances
| Functor BoundingBox | |
| Typeable1 BoundingBox | |
| Applicative BoundingBox | |
| Foldable BoundingBox | |
| Traversable BoundingBox | |
| Eq a => Eq (BoundingBox a) | |
| Ord a => Ord (BoundingBox a) | |
| Read a => Read (BoundingBox a) | |
| Show a => Show (BoundingBox a) |
inBoundingBox :: Ord a => V2 a -> BoundingBox a -> BoolSource
Determine whether the given point is in the BoundingBox.
intersect :: Ord a => BoundingBox a -> BoundingBox a -> Maybe (BoundingBox a)Source
Intersection between two boundingboxes.
enclose :: (Num a, Ord a) => V2 a -> BoundingBox a -> BoundingBox aSource
_Corners :: Traversal' (BoundingBox a) (V2 a)Source
The type of reference points.
TL--T--TR
| |
L C R
| |
BL--B--BR
sizePos :: Fractional a => Reference -> Iso' (BoundingBox a) (V2 a, V2 a)Source
position :: Fractional a => Reference -> Lens' (BoundingBox a) (V2 a)Source
size :: Fractional a => Reference -> Lens' (BoundingBox a) (V2 a)Source