hgeometry-0.5.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 
Ord g => Ord (Boundary g) Source 
Read g => Read (Boundary g) Source 
Show g => Show (Boundary g) Source 
IsTransformable g => IsTransformable (Boundary g) Source 
(Ord r, Floating r) => IsIntersectableWith (Line 2 r) (Circle p r) Source 
(Ord r, Floating r) => IsIntersectableWith (LineSegment 2 p r) (Circle q r) Source 
type NumType (Boundary g) = NumType g Source 
type Dimension (Boundary g) = Dimension g Source 
type IntersectionOf (Line 2 r) (Boundary (Rectangle p r)) = (:) * NoIntersection ((:) * (Point 2 r) ((:) * (Point 2 r, Point 2 r) ((:) * (LineSegment 2 () r) ([] *)))) Source 
type IntersectionOf (Line 2 r) (Circle p r) = (:) * NoIntersection ((:) * (Touching (Point 2 r)) ((:) * (Point 2 r, Point 2 r) ([] *))) Source

No intersection, one touching point, or two points

type IntersectionOf (LineSegment 2 p r) (Circle q r) = (:) * NoIntersection ((:) * (Touching (Point 2 r)) ((:) * (Point 2 r) ((:) * (Point 2 r, Point 2 r) ([] *)))) Source

A line segment may not intersect a circle, touch it, or intersect it properly in one or two points.

data PointLocationResult Source

Result of a query that asks if something is Inside a g, *on* the boundary of the g, or outside.

Constructors

Inside 
OnBoundary 
Outside