hgeometry-kernel
Copyright(C) Frank Staals
Licensesee the LICENSE file
MaintainerFrank Staals
Safe HaskellNone
LanguageGHC2024

HGeometry.Boundary

Description

 
Synopsis

Documentation

newtype Boundary g Source #

The boundary of a geometric object.

Constructors

Boundary g 

Instances

Instances details
Functor Boundary Source # 
Instance details

Defined in HGeometry.Boundary

Methods

fmap :: (a -> b) -> Boundary a -> Boundary b Source #

(<$) :: a -> Boundary b -> Boundary a Source #

Foldable Boundary Source # 
Instance details

Defined in HGeometry.Boundary

Methods

fold :: Monoid m => Boundary m -> m Source #

foldMap :: Monoid m => (a -> m) -> Boundary a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Boundary a -> m Source #

foldr :: (a -> b -> b) -> b -> Boundary a -> b Source #

foldr' :: (a -> b -> b) -> b -> Boundary a -> b Source #

foldl :: (b -> a -> b) -> b -> Boundary a -> b Source #

foldl' :: (b -> a -> b) -> b -> Boundary a -> b Source #

foldr1 :: (a -> a -> a) -> Boundary a -> a Source #

foldl1 :: (a -> a -> a) -> Boundary a -> a Source #

toList :: Boundary a -> [a] Source #

null :: Boundary a -> Bool Source #

length :: Boundary a -> Int Source #

elem :: Eq a => a -> Boundary a -> Bool Source #

maximum :: Ord a => Boundary a -> a Source #

minimum :: Ord a => Boundary a -> a Source #

sum :: Num a => Boundary a -> a Source #

product :: Num a => Boundary a -> a Source #

Traversable Boundary Source # 
Instance details

Defined in HGeometry.Boundary

Methods

traverse :: Applicative f => (a -> f b) -> Boundary a -> f (Boundary b) Source #

sequenceA :: Applicative f => Boundary (f a) -> f (Boundary a) Source #

mapM :: Monad m => (a -> m b) -> Boundary a -> m (Boundary b) Source #

sequence :: Monad m => Boundary (m a) -> m (Boundary a) Source #

Read g => Read (Boundary g) Source # 
Instance details

Defined in HGeometry.Boundary

Show g => Show (Boundary g) Source # 
Instance details

Defined in HGeometry.Boundary

Eq g => Eq (Boundary g) Source # 
Instance details

Defined in HGeometry.Boundary

Methods

(==) :: Boundary g -> Boundary g -> Bool Source #

(/=) :: Boundary g -> Boundary g -> Bool Source #

Ord g => Ord (Boundary g) Source # 
Instance details

Defined in HGeometry.Boundary

(Ord r, Num r, Point_ point 2 r, Point_ point' 2 r, HasIntersectionWith (LineSegment endPoint point) (ClosedLineSegment point')) => HasIntersectionWith (LineSegment endPoint point) (Boundary (Rectangle point')) Source # 
Instance details

Defined in HGeometry.Box

Methods

intersects :: LineSegment endPoint point -> Boundary (Rectangle point') -> Bool Source #

type Dimension (Boundary g) Source # 
Instance details

Defined in HGeometry.Boundary

type NumType (Boundary g) Source # 
Instance details

Defined in HGeometry.Boundary

type NumType (Boundary g) = NumType g

_Boundary :: forall g h p f. (Profunctor p, Functor f) => p (Boundary g) (f (Boundary h)) -> p g (f h) Source #

Iso for converting between things with a boundary and without its boundary

data PointLocationResultWith edge Source #

Result of a query that asks if something is Inside a g, *on* the boundary of the g, or outside. This type allows us to provide some sort of proof for the claim.

asPointLocationResult :: PointLocationResultWith edge -> PointLocationResult Source #

Forget on which edge the point was.