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

Algorithms.Geometry.LineSegmentIntersection

Description

Synopsis

# 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 #

Constructors

 Associated Fields_endPointOf :: Set' (LineSegment 2 p r) _interiorTo :: Set' (LineSegment 2 p r)

#### Instances

Instances details
 (Eq p, Eq r) => Eq (Associated p r) Source # Instance details Methods(==) :: Associated p r -> Associated p r -> Bool #(/=) :: Associated p r -> Associated p r -> Bool # (Show r, Show p) => Show (Associated p r) Source # Instance details MethodsshowsPrec :: Int -> Associated p r -> ShowS #show :: Associated p r -> String #showList :: [Associated p r] -> ShowS # Generic (Associated p r) Source # Instance details Associated Typestype Rep (Associated p r) :: Type -> Type # Methodsfrom :: Associated p r -> Rep (Associated p r) x #to :: Rep (Associated p r) x -> Associated p r # Ord r => Semigroup (Associated p r) Source # Instance details Methods(<>) :: Associated p r -> Associated p r -> Associated p r #sconcat :: NonEmpty (Associated p r) -> Associated p r #stimes :: Integral b => b -> Associated p r -> Associated p r # Ord r => Monoid (Associated p r) Source # Instance details Methodsmempty :: Associated p r #mappend :: Associated p r -> Associated p r -> Associated p r #mconcat :: [Associated p r] -> Associated p r # (NFData p, NFData r) => NFData (Associated p r) Source # Instance details Methodsrnf :: Associated p r -> () # type Rep (Associated p r) Source # Instance details type Rep (Associated p r)

data IntersectionPoint p r Source #

Constructors

 IntersectionPoint Fields_intersectionPoint :: !(Point 2 r) _associatedSegs :: !(Associated p r)

#### Instances

Instances details
 (Eq r, Eq p) => Eq (IntersectionPoint p r) Source # Instance details Methods(==) :: IntersectionPoint p r -> IntersectionPoint p r -> Bool #(/=) :: IntersectionPoint p r -> IntersectionPoint p r -> Bool # (Show r, Show p) => Show (IntersectionPoint p r) Source # Instance details MethodsshowsPrec :: Int -> IntersectionPoint p r -> ShowS #show :: IntersectionPoint p r -> String #showList :: [IntersectionPoint p r] -> ShowS #

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 #

type Compare a = a -> a -> Ordering Source #