Copyright  (C) Frank Staals 

License  see the LICENSE file 
Maintainer  Frank Staals 
Safe Haskell  None 
Language  Haskell2010 
Synopsis
 hasInteriorIntersections :: (Ord r, Fractional r) => [LineSegment 2 p r] > Bool
 hasSelfIntersections :: (Ord r, Fractional r) => Polygon t p r > Bool
 type Intersections p r = Map (Point 2 r) (Associated p r)
 data Associated p r = Associated {
 _endPointOf :: Set' (LineSegment 2 p r)
 _interiorTo :: Set' (LineSegment 2 p r)
 data IntersectionPoint p r = IntersectionPoint {
 _intersectionPoint :: !(Point 2 r)
 _associatedSegs :: !(Associated p r)
 isEndPointIntersection :: Associated p r > Bool
 associated :: Ord r => [LineSegment 2 p r] > [LineSegment 2 p r] > Associated p r
 type Compare a = a > a > Ordering
Documentation
hasInteriorIntersections :: (Ord r, Fractional r) => [LineSegment 2 p r] > Bool Source #
\(O(n \log n)\)
hasSelfIntersections :: (Ord r, Fractional r) => Polygon t p r > Bool Source #
\(O(n \log n)\)
type Intersections p r = Map (Point 2 r) (Associated p r) Source #
data Associated p r Source #
Associated  

Instances
data IntersectionPoint p r Source #
IntersectionPoint  

Instances
(Eq r, Eq p) => Eq (IntersectionPoint p r) Source #  
Defined in Algorithms.Geometry.LineSegmentIntersection.Types (==) :: IntersectionPoint p r > IntersectionPoint p r > Bool # (/=) :: IntersectionPoint p r > IntersectionPoint p r > Bool #  
(Show r, Show p) => Show (IntersectionPoint p r) Source #  
Defined in Algorithms.Geometry.LineSegmentIntersection.Types showsPrec :: Int > IntersectionPoint p r > ShowS # show :: IntersectionPoint p r > String # showList :: [IntersectionPoint p r] > ShowS # 
isEndPointIntersection :: Associated p r > Bool Source #
reports true if there is at least one segment for which this intersection point is interior.
\(O(1)\)
associated :: Ord r => [LineSegment 2 p r] > [LineSegment 2 p r] > Associated p r Source #