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