{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE UndecidableInstances #-}
module Data.Geometry.Point( Point(..)
, origin, vector
, pointFromList
, projectPoint
, pattern Point1
, pattern Point2
, pattern Point3
, xCoord, yCoord, zCoord
, PointFunctor(..)
, CCW, ccw, ccw'
, pattern CCW, pattern CW, pattern CoLinear
, ccwCmpAround, cwCmpAround, ccwCmpAroundWith, cwCmpAroundWith
, sortAround, insertIntoCyclicOrder
, Quadrant(..), quadrantWith, quadrant, partitionIntoQuadrants
, cmpByDistanceTo
, squaredEuclideanDist, euclideanDist
, AsAPoint(..), coord, unsafeCoord, vector'
) where
import Data.Geometry.Point.Class
import Data.Geometry.Point.Internal hiding (coord, unsafeCoord)
import Data.Geometry.Point.Orientation.Degenerate
import Data.Geometry.Point.Quadrants