{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE UndecidableInstances #-}
module Data.Geometry.Point( Point(.., Point1, Point2, Point3)
, origin, vector
, pointFromList
, projectPoint
, xCoord, yCoord, zCoord
, PointFunctor(..)
, CCW, ccw, ccw', isCoLinear
, pattern CCW, pattern CW, pattern CoLinear
, ccwCmpAround, ccwCmpAround'
, cwCmpAround, cwCmpAround'
, ccwCmpAroundWith, ccwCmpAroundWith'
, cwCmpAroundWith, cwCmpAroundWith'
, sortAround, sortAround'
, insertIntoCyclicOrder
, Quadrant(..), quadrantWith, quadrant, partitionIntoQuadrants
, cmpByDistanceTo, cmpByDistanceTo'
, squaredEuclideanDist, euclideanDist
, coord, unsafeCoord
) 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