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

Algorithms.Geometry.LineSegmentIntersection.Types

Synopsis

Documentation

data Associated p r Source #

Constructors

 Associated Fields_endPointOf :: Set' (LineSegment 2 p r) _interiorTo :: Set' (LineSegment 2 p r)
Instances
 (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) = D1 (MetaData "Associated" "Algorithms.Geometry.LineSegmentIntersection.Types" "hgeometry-0.9.0.0-inplace" False) (C1 (MetaCons "Associated" PrefixI True) (S1 (MetaSel (Just "_endPointOf") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Set' (LineSegment 2 p r))) :*: S1 (MetaSel (Just "_interiorTo") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Set' (LineSegment 2 p r)))))

associated :: Ord r => [LineSegment 2 p r] -> [LineSegment 2 p r] -> Associated p r Source #

type Intersections p r = Map (Point 2 r) (Associated p r) Source #

data IntersectionPoint p r Source #

Constructors

 IntersectionPoint Fields_intersectionPoint :: !(Point 2 r) _associatedSegs :: !(Associated p r)
Instances
 (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 #

intersectionPoint :: forall p r. Lens' (IntersectionPoint p r) (Point 2 r) Source #

associatedSegs :: forall p r p. Lens (IntersectionPoint p r) (IntersectionPoint p r) (Associated p r) (Associated p r) Source #

reports true if there is at least one segment for which this intersection point is interior.

$$O(1)$$