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

Safe HaskellNone
LanguageHaskell2010

Data.Geometry.Slab

Synopsis

Documentation

newtype Slab o a r Source

Constructors

Slab 

Fields

_unSlab :: Interval a r
 

Instances

Bifunctor (Slab o) Source 
Functor (Slab o a) Source 
Foldable (Slab o a) Source 
Traversable (Slab o a) Source 
(Fractional r, Ord r, HasBoundingLines o) => IsIntersectableWith (Line 2 r) (Slab o a r) Source 
(Eq a, Eq r) => Eq (Slab o a r) Source 
(Show a, Show r) => Show (Slab o a r) Source 
(Fractional r, Ord r, HasBoundingLines o) => IsIntersectableWith (SubLine 2 a r) (Slab o a r) Source 
Ord r => IsIntersectableWith (Slab o a r) (Slab o a r) Source 
IsIntersectableWith (Slab Horizontal a r) (Slab Vertical a r) Source 
type IntersectionOf (Line 2 r) (Slab o a r) = (:) * NoIntersection ((:) * (Line 2 r) ((:) * (LineSegment 2 a r) ([] *))) Source 
type IntersectionOf (SubLine 2 p r) (Slab o a r) = (:) * NoIntersection ((:) * (SubLine 2 a r) ((:) * (LineSegment 2 a r) ([] *))) Source 
type IntersectionOf (Slab o a r) (Slab o a r) = (:) * NoIntersection ((:) * (Slab o a r) ([] *)) Source 
type IntersectionOf (Slab Horizontal a r) (Slab Vertical a r) = (:) * (Rectangle (a, a) r) ([] *) Source 

unSlab :: forall o a r o a r. Iso (Slab o a r) (Slab o a r) (Interval a r) (Interval a r) Source

horizontalSlab :: (r :+ a) -> (r :+ a) -> Slab Horizontal a r Source

Smart consturctor for creating a horizontal slab

verticalSlab :: (r :+ a) -> (r :+ a) -> Slab Vertical a r Source

Smart consturctor for creating a vertical slab

class HasBoundingLines o where Source

Methods

boundingLines :: Num r => Slab o a r -> (Line 2 r :+ a, Line 2 r :+ a) Source

The two bounding lines of the slab, first the lower one, then the higher one:

inSlab :: Ord r => Point 2 r -> Slab o a r -> Bool Source