geos-0.2.1: src/Data/Geometry/Geos/Relatable.hs
module Data.Geometry.Geos.Relatable where
import Data.Geometry.Geos.Geometry
import qualified Data.Geometry.Geos.Raw.Geometry as R
class Relatable a where
contains :: a -> Geometry b -> Bool
coveredBy :: a -> Geometry b -> Bool
covers :: a -> Geometry b -> Bool
crosses :: a -> Geometry b -> Bool
disjoint :: a -> Geometry b -> Bool
intersects :: a -> Geometry b -> Bool
overlaps :: a -> Geometry b -> Bool
touches :: a -> Geometry b -> Bool
within :: a -> Geometry b -> Bool
instance Relatable (Geometry a) where
disjoint = binaryPredicate R.disjoint
touches = binaryPredicate R.touches
intersects = binaryPredicate R.intersects
contains = binaryPredicate R.contains
within = binaryPredicate R.within
crosses = binaryPredicate R.crosses
overlaps = binaryPredicate R.overlaps
covers = binaryPredicate R.covers
coveredBy = binaryPredicate R.coveredBy