hgeometry-0.6.0.0: Geometric Algorithms, Data structures, and Data types.

Safe HaskellNone
LanguageHaskell2010

Data.Geometry.Boundary

Synopsis

Documentation

newtype Boundary g Source #

The boundary of a geometric object.

Constructors

Boundary g 

Instances

Eq g => Eq (Boundary g) Source # 

Methods

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

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

Ord g => Ord (Boundary g) Source # 

Methods

compare :: Boundary g -> Boundary g -> Ordering #

(<) :: Boundary g -> Boundary g -> Bool #

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

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

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

max :: Boundary g -> Boundary g -> Boundary g #

min :: Boundary g -> Boundary g -> Boundary g #

Read g => Read (Boundary g) Source # 
Show g => Show (Boundary g) Source # 

Methods

showsPrec :: Int -> Boundary g -> ShowS #

show :: Boundary g -> String #

showList :: [Boundary g] -> ShowS #

IsTransformable g => IsTransformable (Boundary g) Source # 
(Ord r, Floating r) => IsIntersectableWith (Line 2 r) (Circle p r) Source # 

Methods

intersect :: Line 2 r -> Circle p r -> Intersection (Line 2 r) (Circle p r) Source #

intersects :: Line 2 r -> Circle p r -> Bool Source #

nonEmptyIntersection :: proxy (Line 2 r) -> proxy (Circle p r) -> Intersection (Line 2 r) (Circle p r) -> Bool Source #

(Ord r, Floating r) => IsIntersectableWith (LineSegment 2 p r) (Circle q r) Source # 

Methods

intersect :: LineSegment 2 p r -> Circle q r -> Intersection (LineSegment 2 p r) (Circle q r) Source #

intersects :: LineSegment 2 p r -> Circle q r -> Bool Source #

nonEmptyIntersection :: proxy (LineSegment 2 p r) -> proxy (Circle q r) -> Intersection (LineSegment 2 p r) (Circle q r) -> Bool Source #

type NumType (Boundary g) Source # 
type NumType (Boundary g) = NumType g
type Dimension (Boundary g) Source # 
type IntersectionOf (Line 2 r) (Boundary (Rectangle p r)) Source # 
type IntersectionOf (Line 2 r) (Boundary (Rectangle p r)) = (:) * NoIntersection ((:) * (Point 2 r) ((:) * (Point 2 r, Point 2 r) ((:) * (LineSegment 2 () r) ([] *))))
type IntersectionOf (Line 2 r) (Circle p r) Source # 
type IntersectionOf (Line 2 r) (Circle p r) = (:) * NoIntersection ((:) * (Touching (Point 2 r)) ((:) * (Point 2 r, Point 2 r) ([] *)))
type IntersectionOf (LineSegment 2 p r) (Circle q r) Source # 
type IntersectionOf (LineSegment 2 p r) (Circle q r) = (:) * NoIntersection ((:) * (Touching (Point 2 r)) ((:) * (Point 2 r) ((:) * (Point 2 r, Point 2 r) ([] *))))