| Copyright | (C) Frank Staals |
|---|---|
| License | see the LICENSE file |
| Maintainer | Frank Staals |
| Safe Haskell | None |
| Language | GHC2024 |
HGeometry.Interval.EndPoint
Description
Endpoints of intervals
Synopsis
- class IsEndPoint endPoint endPoint => EndPoint_ endPoint where
- endPointType :: endPoint -> EndPointType
- mkEndPoint :: IxValue endPoint -> endPoint
- class IsEndPoint endPoint endPoint' where
- data EndPointType
- newtype EndPoint (et :: EndPointType) r where
- data AnEndPoint r where
- AnEndPoint !EndPointType !r
- pattern AnOpenE :: r -> AnEndPoint r
- pattern AnClosedE :: r -> AnEndPoint r
- asAnEndPoint :: EndPoint_ endPoint => endPoint -> AnEndPoint (IxValue endPoint)
Documentation
class IsEndPoint endPoint endPoint => EndPoint_ endPoint where Source #
An endpoint storing values of some type r
Methods
endPointType :: endPoint -> EndPointType Source #
Report the type of the endpoint
mkEndPoint :: IxValue endPoint -> endPoint Source #
constructs a "default" enpoint
Instances
| EndPoint_ (AnEndPoint r) Source # | |
Defined in HGeometry.Interval.EndPoint Methods endPointType :: AnEndPoint r -> EndPointType Source # mkEndPoint :: IxValue (AnEndPoint r) -> AnEndPoint r Source # | |
| EndPoint_ (EndPoint 'Closed r) Source # | |
Defined in HGeometry.Interval.EndPoint Methods endPointType :: EndPoint 'Closed r -> EndPointType Source # mkEndPoint :: IxValue (EndPoint 'Closed r) -> EndPoint 'Closed r Source # | |
| EndPoint_ (EndPoint 'Open r) Source # | |
Defined in HGeometry.Interval.EndPoint Methods endPointType :: EndPoint 'Open r -> EndPointType Source # mkEndPoint :: IxValue (EndPoint 'Open r) -> EndPoint 'Open r Source # | |
class IsEndPoint endPoint endPoint' where Source #
Types that have an _endPoint field lens.
Methods
_endPoint :: Lens endPoint endPoint' (IxValue endPoint) (IxValue endPoint') Source #
Lens to access the actual data value of the end point
Instances
| IsEndPoint (AnEndPoint r) (AnEndPoint r') Source # | |
Defined in HGeometry.Interval.EndPoint Methods _endPoint :: Lens (AnEndPoint r) (AnEndPoint r') (IxValue (AnEndPoint r)) (IxValue (AnEndPoint r')) Source # | |
| IsEndPoint (EndPoint et r) (EndPoint et r') Source # | Class for types that have |
data EndPointType Source #
Possible endpoint types; open or closed
Instances
newtype EndPoint (et :: EndPointType) r Source #
EndPoint with a type safe tag
Constructors
| EndPoint r |
Bundled Patterns
| pattern OpenE :: r -> EndPoint 'Open r | Constructs an Open endpoint |
| pattern ClosedE :: r -> EndPoint 'Closed r | Constructs a closed endpoint |
Instances
| Foldable1 (EndPoint et) Source # | |||||
Defined in HGeometry.Interval.EndPoint Methods fold1 :: Semigroup m => EndPoint et m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> EndPoint et a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> EndPoint et a -> m Source # toNonEmpty :: EndPoint et a -> NonEmpty a Source # maximum :: Ord a => EndPoint et a -> a Source # minimum :: Ord a => EndPoint et a -> a Source # head :: EndPoint et a -> a Source # last :: EndPoint et a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> EndPoint et a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> EndPoint et a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> EndPoint et a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> EndPoint et a -> b Source # | |||||
| Functor (EndPoint et) Source # | |||||
| Foldable (EndPoint et) Source # | |||||
Defined in HGeometry.Interval.EndPoint Methods fold :: Monoid m => EndPoint et m -> m Source # foldMap :: Monoid m => (a -> m) -> EndPoint et a -> m Source # foldMap' :: Monoid m => (a -> m) -> EndPoint et a -> m Source # foldr :: (a -> b -> b) -> b -> EndPoint et a -> b Source # foldr' :: (a -> b -> b) -> b -> EndPoint et a -> b Source # foldl :: (b -> a -> b) -> b -> EndPoint et a -> b Source # foldl' :: (b -> a -> b) -> b -> EndPoint et a -> b Source # foldr1 :: (a -> a -> a) -> EndPoint et a -> a Source # foldl1 :: (a -> a -> a) -> EndPoint et a -> a Source # toList :: EndPoint et a -> [a] Source # null :: EndPoint et a -> Bool Source # length :: EndPoint et a -> Int Source # elem :: Eq a => a -> EndPoint et a -> Bool Source # maximum :: Ord a => EndPoint et a -> a Source # minimum :: Ord a => EndPoint et a -> a Source # | |||||
| Traversable (EndPoint et) Source # | |||||
Defined in HGeometry.Interval.EndPoint Methods traverse :: Applicative f => (a -> f b) -> EndPoint et a -> f (EndPoint et b) Source # sequenceA :: Applicative f => EndPoint et (f a) -> f (EndPoint et a) Source # mapM :: Monad m => (a -> m b) -> EndPoint et a -> m (EndPoint et b) Source # sequence :: Monad m => EndPoint et (m a) -> m (EndPoint et a) Source # | |||||
| Read point => Read (ClosedLineSegment point) Source # | |||||
Defined in HGeometry.LineSegment.Internal Methods readsPrec :: Int -> ReadS (ClosedLineSegment point) Source # readList :: ReadS [ClosedLineSegment point] Source # readPrec :: ReadPrec (ClosedLineSegment point) Source # readListPrec :: ReadPrec [ClosedLineSegment point] Source # | |||||
| Show point => Show (ClosedLineSegment point) Source # | |||||
Defined in HGeometry.LineSegment.Internal | |||||
| (Fractional r, Ord r, HasSquaredEuclideanDistance point, Point_ point d r) => HasSquaredEuclideanDistance (ClosedLineSegment point) Source # | |||||
Defined in HGeometry.LineSegment.Internal Methods squaredEuclideanDistTo :: forall r0 (d0 :: Nat) point0. (r0 ~ NumType (ClosedLineSegment point), d0 ~ Dimension (ClosedLineSegment point), Num r0, Point_ point0 d0 r0) => point0 -> ClosedLineSegment point -> r0 Source # pointClosestTo :: forall r0 (d0 :: Nat) point0. (r0 ~ NumType (ClosedLineSegment point), d0 ~ Dimension (ClosedLineSegment point), Num r0, Point_ point0 d0 r0) => point0 -> ClosedLineSegment point -> Point d0 r0 Source # pointClosestToWithDistance :: forall r0 (d0 :: Nat) point0. (r0 ~ NumType (ClosedLineSegment point), d0 ~ Dimension (ClosedLineSegment point), Num r0, Point_ point0 d0 r0) => point0 -> ClosedLineSegment point -> (Point d0 r0, r0) Source # | |||||
| Traversable1 (EndPoint et) Source # | |||||
| ClosedInterval_ (ClosedInterval r) r Source # | |||||
Defined in HGeometry.Interval.Internal | |||||
| ConstructableClosedInterval_ (ClosedInterval r) r Source # | |||||
Defined in HGeometry.Interval.Internal Methods mkClosedInterval :: r -> r -> ClosedInterval r Source # buildClosedInterval :: r -> r -> ClosedInterval r Source # | |||||
| ConstructableOpenInterval_ (OpenInterval r) r Source # | |||||
Defined in HGeometry.Interval.Internal Methods mkOpenInterval :: r -> r -> OpenInterval r Source # | |||||
| OpenInterval_ (OpenInterval r) r Source # | |||||
Defined in HGeometry.Interval.Internal | |||||
| Point_ point (Dimension point) (NumType point) => ClosedLineSegment_ (ClosedLineSegment point) point Source # | |||||
Defined in HGeometry.LineSegment.Internal | |||||
| (Point_ point d r, Fractional r) => HasOnSegment (ClosedLineSegment point) d Source # | |||||
Defined in HGeometry.LineSegment.Internal Methods onSegment :: (Ord r0, Point_ point0 d r0, r0 ~ NumType (ClosedLineSegment point), d ~ Dimension (ClosedLineSegment point)) => point0 -> ClosedLineSegment point -> Bool Source # | |||||
| (Point_ point 2 r, Num r) => HasOnSegment (ClosedLineSegment point) 2 Source # | |||||
Defined in HGeometry.LineSegment.Internal Methods onSegment :: (Ord r0, Point_ point0 2 r0, r0 ~ NumType (ClosedLineSegment point), 2 ~ Dimension (ClosedLineSegment point)) => point0 -> ClosedLineSegment point -> Bool Source # | |||||
| (Point_ point d r, Fractional r) => HasOnSegment (OpenLineSegment point) d Source # | |||||
Defined in HGeometry.LineSegment.Internal Methods onSegment :: (Ord r0, Point_ point0 d r0, r0 ~ NumType (OpenLineSegment point), d ~ Dimension (OpenLineSegment point)) => point0 -> OpenLineSegment point -> Bool Source # | |||||
| (Point_ point 2 r, Num r) => HasOnSegment (OpenLineSegment point) 2 Source # | |||||
Defined in HGeometry.LineSegment.Internal Methods onSegment :: (Ord r0, Point_ point0 2 r0, r0 ~ NumType (OpenLineSegment point), 2 ~ Dimension (OpenLineSegment point)) => point0 -> OpenLineSegment point -> Bool Source # | |||||
| Point_ point (Dimension point) (NumType point) => OpenLineSegment_ (OpenLineSegment point) point Source # | |||||
Defined in HGeometry.LineSegment.Internal | |||||
| Ord r => HasIntersectionWith (ClosedInterval r) (HalfOpenInterval r) Source # | |||||
Defined in HGeometry.Interval.HalfOpen Methods intersects :: ClosedInterval r -> HalfOpenInterval r -> Bool Source # | |||||
| Ord r => HasIntersectionWith (OpenInterval r) (ClosedInterval r) Source # | |||||
Defined in HGeometry.Interval.Internal Methods intersects :: OpenInterval r -> ClosedInterval r -> Bool Source # | |||||
| Ord r => HasIntersectionWith (OpenInterval r) (OpenInterval r) Source # | |||||
Defined in HGeometry.Interval.Internal Methods intersects :: OpenInterval r -> OpenInterval r -> Bool Source # | |||||
| (Point_ point d r, Ord r, Num r, HyperPlane_ plane d r) => HasIntersectionWith (ClosedLineSegment point) (HalfSpaceF plane) Source # | |||||
Defined in HGeometry.LineSegment.Intersection Methods intersects :: ClosedLineSegment point -> HalfSpaceF plane -> Bool Source # | |||||
| (Point_ point 2 r, Point_ point' 2 r, Num r, Ord r) => HasIntersectionWith (ClosedLineSegment point) (OpenLineSegment point') Source # | |||||
Defined in HGeometry.LineSegment.Intersection Methods intersects :: ClosedLineSegment point -> OpenLineSegment point' -> Bool Source # | |||||
| (Point_ point 2 r, Point_ vertex 2 r, Num r, Ord r) => HasIntersectionWith (ClosedLineSegment point) (Triangle vertex) Source # | Testing for intersections between closed line segments and triangles | ||||
Defined in HGeometry.Triangle Methods intersects :: ClosedLineSegment point -> Triangle vertex -> Bool Source # | |||||
| (Point_ point d r, Point_ point' d r, Ord r, Fractional r, Has_ Metric_ d r, HasSquaredEuclideanDistance point', MkHyperPlaneConstraints d r) => HasIntersectionWith (ClosedLineSegment point') (Ball point) Source # | |||||
Defined in HGeometry.Ball.CenterAndRadius Methods intersects :: ClosedLineSegment point' -> Ball point -> Bool Source # | |||||
| (Point_ point d r, Point_ point' d r, Ord r, Fractional r, Has_ Metric_ d r, HasSquaredEuclideanDistance point') => HasIntersectionWith (ClosedLineSegment point') (Sphere point) Source # | |||||
Defined in HGeometry.Ball.CenterAndRadius Methods intersects :: ClosedLineSegment point' -> Sphere point -> Bool Source # | |||||
| (Point_ point 2 r, Point_ point' 2 r, Num r, Ord r) => HasIntersectionWith (OpenLineSegment point) (ClosedLineSegment point') Source # | |||||
Defined in HGeometry.LineSegment.Intersection Methods intersects :: OpenLineSegment point -> ClosedLineSegment point' -> Bool Source # | |||||
| Ord r => IsIntersectableWith (ClosedInterval r) (ClosedInterval r) Source # | |||||
Defined in HGeometry.Interval.Internal Methods intersect :: ClosedInterval r -> ClosedInterval r -> Intersection (ClosedInterval r) (ClosedInterval r) Source # | |||||
| Ord r => IsIntersectableWith (OpenInterval r) (OpenInterval r) Source # | |||||
Defined in HGeometry.Interval.Internal Methods intersect :: OpenInterval r -> OpenInterval r -> Intersection (OpenInterval r) (OpenInterval r) Source # | |||||
| (Point_ point 2 r, Fractional r, Ord r) => IsIntersectableWith (LineEQ r) (ClosedLineSegment point) Source # | |||||
Defined in HGeometry.LineSegment.Intersection Methods intersect :: LineEQ r -> ClosedLineSegment point -> Intersection (LineEQ r) (ClosedLineSegment point) Source # | |||||
| (Point_ point 2 r, Fractional r, Ord r) => IsIntersectableWith (LineEQ r) (OpenLineSegment point) Source # | |||||
Defined in HGeometry.LineSegment.Intersection Methods intersect :: LineEQ r -> OpenLineSegment point -> Intersection (LineEQ r) (OpenLineSegment point) Source # | |||||
| (Point_ point 2 r, Ord r, Fractional r, HyperPlane_ plane 2 r, IsIntersectableWith (LinePV 2 r) plane, Intersection (LinePV 2 r) plane ~ Maybe (LineLineIntersectionG r line')) => IsIntersectableWith (ClosedLineSegment point) (HalfSpaceF plane) Source # | |||||
Defined in HGeometry.LineSegment.Intersection Methods intersect :: ClosedLineSegment point -> HalfSpaceF plane -> Intersection (ClosedLineSegment point) (HalfSpaceF plane) Source # | |||||
| (Point_ point 2 r, Point_ point' 2 r, Num r, Ord r) => HasIntersectionWith (ClosedLineSegment point) (LineSegment AnEndPoint point') Source # | |||||
Defined in HGeometry.LineSegment.Intersection Methods intersects :: ClosedLineSegment point -> LineSegment AnEndPoint point' -> Bool Source # | |||||
| (Point_ point 2 r, Point_ point' 2 r, Num r, Ord r) => HasIntersectionWith (OpenLineSegment point) (LineSegment AnEndPoint point') Source # | |||||
Defined in HGeometry.LineSegment.Intersection Methods intersects :: OpenLineSegment point -> LineSegment AnEndPoint point' -> Bool Source # | |||||
| HasEndPoint (HalfOpenInterval r) (EndPoint 'Closed r) Source # | |||||
Defined in HGeometry.Interval.HalfOpen | |||||
| HasStartPoint (HalfOpenInterval r) (EndPoint 'Open r) Source # | |||||
Defined in HGeometry.Interval.HalfOpen Methods startPoint :: Lens' (HalfOpenInterval r) (EndPoint 'Open r) Source # | |||||
| (Ord r, IxValue (endPoint r) ~ r, EndPoint_ (endPoint r)) => HasIntersectionWith (ClosedInterval r) (Interval endPoint r) Source # | |||||
Defined in HGeometry.Interval.Internal Methods intersects :: ClosedInterval r -> Interval endPoint r -> Bool Source # | |||||
| Ord r => HasIntersectionWith (OpenInterval r) (Interval AnEndPoint r) Source # | |||||
Defined in HGeometry.Interval.Internal Methods intersects :: OpenInterval r -> Interval AnEndPoint r -> Bool Source # | |||||
| NFData r => NFData (EndPoint et r) Source # | |||||
Defined in HGeometry.Interval.EndPoint | |||||
| Generic (EndPoint et r) Source # | |||||
Defined in HGeometry.Interval.EndPoint Associated Types
| |||||
| Read r => Read (EndPoint 'Closed r) Source # | |||||
| Read r => Read (EndPoint 'Open r) Source # | |||||
| Show r => Show (EndPoint 'Closed r) Source # | |||||
| Show r => Show (EndPoint 'Open r) Source # | |||||
| Eq r => Eq (EndPoint et r) Source # | |||||
| Ord r => Ord (EndPoint et r) Source # | |||||
Defined in HGeometry.Interval.EndPoint Methods compare :: EndPoint et r -> EndPoint et r -> Ordering Source # (<) :: EndPoint et r -> EndPoint et r -> Bool Source # (<=) :: EndPoint et r -> EndPoint et r -> Bool Source # (>) :: EndPoint et r -> EndPoint et r -> Bool Source # (>=) :: EndPoint et r -> EndPoint et r -> Bool Source # max :: EndPoint et r -> EndPoint et r -> EndPoint et r Source # min :: EndPoint et r -> EndPoint et r -> EndPoint et r Source # | |||||
| EndPoint_ (EndPoint 'Closed r) Source # | |||||
Defined in HGeometry.Interval.EndPoint Methods endPointType :: EndPoint 'Closed r -> EndPointType Source # mkEndPoint :: IxValue (EndPoint 'Closed r) -> EndPoint 'Closed r Source # | |||||
| EndPoint_ (EndPoint 'Open r) Source # | |||||
Defined in HGeometry.Interval.EndPoint Methods endPointType :: EndPoint 'Open r -> EndPointType Source # mkEndPoint :: IxValue (EndPoint 'Open r) -> EndPoint 'Open r Source # | |||||
| (Point_ point 2 r, Point_ point' 2 r, Num r, Ord r) => HasIntersectionWith (LineSegment AnEndPoint point) (ClosedLineSegment point') Source # | |||||
Defined in HGeometry.LineSegment.Intersection Methods intersects :: LineSegment AnEndPoint point -> ClosedLineSegment point' -> Bool Source # | |||||
| (Point_ point 2 r, Point_ point' 2 r, Num r, Ord r) => HasIntersectionWith (LineSegment AnEndPoint point) (OpenLineSegment point') Source # | |||||
Defined in HGeometry.LineSegment.Intersection Methods intersects :: LineSegment AnEndPoint point -> OpenLineSegment point' -> Bool Source # | |||||
| Ord r => HasIntersectionWith (Point 1 r) (ClosedInterval r) Source # | |||||
Defined in HGeometry.Interval.Internal Methods intersects :: Point 1 r -> ClosedInterval r -> Bool Source # | |||||
| Ord r => HasIntersectionWith (Point 1 r) (OpenInterval r) Source # | |||||
Defined in HGeometry.Interval.Internal Methods intersects :: Point 1 r -> OpenInterval r -> Bool Source # | |||||
| (Point_ point 2 r, Fractional r, Ord r) => IsIntersectableWith (LinePV 2 r) (ClosedLineSegment point) Source # | |||||
Defined in HGeometry.LineSegment.Intersection Methods intersect :: LinePV 2 r -> ClosedLineSegment point -> Intersection (LinePV 2 r) (ClosedLineSegment point) Source # | |||||
| (Point_ point 2 r, Fractional r, Ord r) => IsIntersectableWith (LinePV 2 r) (OpenLineSegment point) Source # | |||||
Defined in HGeometry.LineSegment.Intersection Methods intersect :: LinePV 2 r -> OpenLineSegment point -> Intersection (LinePV 2 r) (OpenLineSegment point) Source # | |||||
| Ord r => IsIntersectableWith (Point 1 r) (ClosedInterval r) Source # | |||||
Defined in HGeometry.Interval.Internal Methods intersect :: Point 1 r -> ClosedInterval r -> Intersection (Point 1 r) (ClosedInterval r) Source # | |||||
| Ord r => IsIntersectableWith (Point 1 r) (OpenInterval r) Source # | |||||
Defined in HGeometry.Interval.Internal Methods intersect :: Point 1 r -> OpenInterval r -> Intersection (Point 1 r) (OpenInterval r) Source # | |||||
| IsEndPoint (EndPoint et r) (EndPoint et r') Source # | Class for types that have | ||||
| Ord r => HasIntersectionWith (Interval AnEndPoint r) (ClosedInterval r) Source # | |||||
Defined in HGeometry.Interval.Internal Methods intersects :: Interval AnEndPoint r -> ClosedInterval r -> Bool Source # | |||||
| Ord r => HasIntersectionWith (Interval AnEndPoint r) (OpenInterval r) Source # | |||||
Defined in HGeometry.Interval.Internal Methods intersects :: Interval AnEndPoint r -> OpenInterval r -> Bool Source # | |||||
| type Intersection (ClosedLineSegment point) (HalfSpaceF plane) Source # | |||||
Defined in HGeometry.LineSegment.Intersection type Intersection (ClosedLineSegment point) (HalfSpaceF plane) = Maybe (ClosedSegmentHalfSpaceIntersection (CanonicalPoint point) point) | |||||
| type Intersection (ClosedLineSegment point') (Ball point) Source # | |||||
Defined in HGeometry.Ball.CenterAndRadius type Intersection (ClosedLineSegment point') (Ball point) = Maybe (IntersectionOf (LinePV (Dimension point) (NumType point)) (Ball point)) | |||||
| type Intersection (LineEQ r) (LineSegment (EndPoint t) point) Source # | |||||
Defined in HGeometry.LineSegment.Intersection | |||||
| type Rep (EndPoint et r) Source # | |||||
Defined in HGeometry.Interval.EndPoint | |||||
| type NumType (EndPoint et r) Source # | |||||
Defined in HGeometry.Interval.EndPoint | |||||
| type IxValue (EndPoint et r) Source # | |||||
Defined in HGeometry.Interval.EndPoint | |||||
| type Intersection (LinePV 2 r) (LineSegment (EndPoint t) point) Source # | |||||
Defined in HGeometry.LineSegment.Intersection | |||||
| type Intersection (LineSegment (EndPoint t) point) (LineSegment (EndPoint t) point) Source # | |||||
Defined in HGeometry.LineSegment.Intersection type Intersection (LineSegment (EndPoint t) point) (LineSegment (EndPoint t) point) = Maybe (LineSegmentLineSegmentIntersection (LineSegment (EndPoint t) point)) | |||||
data AnEndPoint r Source #
Data type modelling an endpoint that can both be open and closed.
Constructors
| AnEndPoint !EndPointType !r |
Bundled Patterns
| pattern AnOpenE :: r -> AnEndPoint r | Constructs an Open endpoint |
| pattern AnClosedE :: r -> AnEndPoint r | Constructs a closed endpoint |
Instances
| Foldable1 AnEndPoint Source # | |||||
Defined in HGeometry.Interval.EndPoint Methods fold1 :: Semigroup m => AnEndPoint m -> m Source # foldMap1 :: Semigroup m => (a -> m) -> AnEndPoint a -> m Source # foldMap1' :: Semigroup m => (a -> m) -> AnEndPoint a -> m Source # toNonEmpty :: AnEndPoint a -> NonEmpty a Source # maximum :: Ord a => AnEndPoint a -> a Source # minimum :: Ord a => AnEndPoint a -> a Source # head :: AnEndPoint a -> a Source # last :: AnEndPoint a -> a Source # foldrMap1 :: (a -> b) -> (a -> b -> b) -> AnEndPoint a -> b Source # foldlMap1' :: (a -> b) -> (b -> a -> b) -> AnEndPoint a -> b Source # foldlMap1 :: (a -> b) -> (b -> a -> b) -> AnEndPoint a -> b Source # foldrMap1' :: (a -> b) -> (a -> b -> b) -> AnEndPoint a -> b Source # | |||||
| Functor AnEndPoint Source # | |||||
Defined in HGeometry.Interval.EndPoint Methods fmap :: (a -> b) -> AnEndPoint a -> AnEndPoint b Source # (<$) :: a -> AnEndPoint b -> AnEndPoint a Source # | |||||
| Foldable AnEndPoint Source # | |||||
Defined in HGeometry.Interval.EndPoint Methods fold :: Monoid m => AnEndPoint m -> m Source # foldMap :: Monoid m => (a -> m) -> AnEndPoint a -> m Source # foldMap' :: Monoid m => (a -> m) -> AnEndPoint a -> m Source # foldr :: (a -> b -> b) -> b -> AnEndPoint a -> b Source # foldr' :: (a -> b -> b) -> b -> AnEndPoint a -> b Source # foldl :: (b -> a -> b) -> b -> AnEndPoint a -> b Source # foldl' :: (b -> a -> b) -> b -> AnEndPoint a -> b Source # foldr1 :: (a -> a -> a) -> AnEndPoint a -> a Source # foldl1 :: (a -> a -> a) -> AnEndPoint a -> a Source # toList :: AnEndPoint a -> [a] Source # null :: AnEndPoint a -> Bool Source # length :: AnEndPoint a -> Int Source # elem :: Eq a => a -> AnEndPoint a -> Bool Source # maximum :: Ord a => AnEndPoint a -> a Source # minimum :: Ord a => AnEndPoint a -> a Source # sum :: Num a => AnEndPoint a -> a Source # product :: Num a => AnEndPoint a -> a Source # | |||||
| Traversable AnEndPoint Source # | |||||
Defined in HGeometry.Interval.EndPoint Methods traverse :: Applicative f => (a -> f b) -> AnEndPoint a -> f (AnEndPoint b) Source # sequenceA :: Applicative f => AnEndPoint (f a) -> f (AnEndPoint a) Source # mapM :: Monad m => (a -> m b) -> AnEndPoint a -> m (AnEndPoint b) Source # sequence :: Monad m => AnEndPoint (m a) -> m (AnEndPoint a) Source # | |||||
| Traversable1 AnEndPoint Source # | |||||
Defined in HGeometry.Interval.EndPoint Methods traverse1 :: Apply f => (a -> f b) -> AnEndPoint a -> f (AnEndPoint b) Source # sequence1 :: Apply f => AnEndPoint (f b) -> f (AnEndPoint b) Source # | |||||
| Generic (AnEndPoint r) Source # | |||||
Defined in HGeometry.Interval.EndPoint Associated Types
Methods from :: AnEndPoint r -> Rep (AnEndPoint r) x Source # to :: Rep (AnEndPoint r) x -> AnEndPoint r Source # | |||||
| Read r => Read (AnEndPoint r) Source # | |||||
Defined in HGeometry.Interval.EndPoint Methods readsPrec :: Int -> ReadS (AnEndPoint r) Source # readList :: ReadS [AnEndPoint r] Source # readPrec :: ReadPrec (AnEndPoint r) Source # readListPrec :: ReadPrec [AnEndPoint r] Source # | |||||
| Show r => Show (AnEndPoint r) Source # | |||||
Defined in HGeometry.Interval.EndPoint | |||||
| Eq r => Eq (AnEndPoint r) Source # | |||||
Defined in HGeometry.Interval.EndPoint Methods (==) :: AnEndPoint r -> AnEndPoint r -> Bool Source # (/=) :: AnEndPoint r -> AnEndPoint r -> Bool Source # | |||||
| Ord r => Ord (AnEndPoint r) Source # | |||||
Defined in HGeometry.Interval.EndPoint Methods compare :: AnEndPoint r -> AnEndPoint r -> Ordering Source # (<) :: AnEndPoint r -> AnEndPoint r -> Bool Source # (<=) :: AnEndPoint r -> AnEndPoint r -> Bool Source # (>) :: AnEndPoint r -> AnEndPoint r -> Bool Source # (>=) :: AnEndPoint r -> AnEndPoint r -> Bool Source # max :: AnEndPoint r -> AnEndPoint r -> AnEndPoint r Source # min :: AnEndPoint r -> AnEndPoint r -> AnEndPoint r Source # | |||||
| EndPoint_ (AnEndPoint r) Source # | |||||
Defined in HGeometry.Interval.EndPoint Methods endPointType :: AnEndPoint r -> EndPointType Source # mkEndPoint :: IxValue (AnEndPoint r) -> AnEndPoint r Source # | |||||
| IsEndPoint (AnEndPoint r) (AnEndPoint r') Source # | |||||
Defined in HGeometry.Interval.EndPoint Methods _endPoint :: Lens (AnEndPoint r) (AnEndPoint r') (IxValue (AnEndPoint r)) (IxValue (AnEndPoint r')) Source # | |||||
| (Point_ point 2 r, Point_ point' 2 r, Num r, Ord r) => HasIntersectionWith (ClosedLineSegment point) (LineSegment AnEndPoint point') Source # | |||||
Defined in HGeometry.LineSegment.Intersection Methods intersects :: ClosedLineSegment point -> LineSegment AnEndPoint point' -> Bool Source # | |||||
| (Point_ point 2 r, Point_ point' 2 r, Num r, Ord r) => HasIntersectionWith (OpenLineSegment point) (LineSegment AnEndPoint point') Source # | |||||
Defined in HGeometry.LineSegment.Intersection Methods intersects :: OpenLineSegment point -> LineSegment AnEndPoint point' -> Bool Source # | |||||
| (Point_ point 2 r, Fractional r, Ord r) => IsIntersectableWith (LineEQ r) (LineSegment AnEndPoint point) Source # | |||||
Defined in HGeometry.LineSegment.Intersection Methods intersect :: LineEQ r -> LineSegment AnEndPoint point -> Intersection (LineEQ r) (LineSegment AnEndPoint point) Source # | |||||
| Ord r => HasIntersectionWith (OpenInterval r) (Interval AnEndPoint r) Source # | |||||
Defined in HGeometry.Interval.Internal Methods intersects :: OpenInterval r -> Interval AnEndPoint r -> Bool Source # | |||||
| (Point_ point d r, Fractional r) => HasOnSegment (LineSegment AnEndPoint point) d Source # | |||||
Defined in HGeometry.LineSegment.Internal Methods onSegment :: (Ord r0, Point_ point0 d r0, r0 ~ NumType (LineSegment AnEndPoint point), d ~ Dimension (LineSegment AnEndPoint point)) => point0 -> LineSegment AnEndPoint point -> Bool Source # | |||||
| (Point_ point 2 r, Num r) => HasOnSegment (LineSegment AnEndPoint point) 2 Source # | |||||
Defined in HGeometry.LineSegment.Internal Methods onSegment :: (Ord r0, Point_ point0 2 r0, r0 ~ NumType (LineSegment AnEndPoint point), 2 ~ Dimension (LineSegment AnEndPoint point)) => point0 -> LineSegment AnEndPoint point -> Bool Source # | |||||
| (Point_ point 2 r, Point_ point' 2 r, Num r, Ord r) => HasIntersectionWith (LineSegment AnEndPoint point) (ClosedLineSegment point') Source # | |||||
Defined in HGeometry.LineSegment.Intersection Methods intersects :: LineSegment AnEndPoint point -> ClosedLineSegment point' -> Bool Source # | |||||
| (Point_ point 2 r, Point_ point' 2 r, Num r, Ord r) => HasIntersectionWith (LineSegment AnEndPoint point) (OpenLineSegment point') Source # | |||||
Defined in HGeometry.LineSegment.Intersection Methods intersects :: LineSegment AnEndPoint point -> OpenLineSegment point' -> Bool Source # | |||||
| (Point_ point 2 r, Fractional r, Ord r) => IsIntersectableWith (LinePV 2 r) (LineSegment AnEndPoint point) Source # | |||||
Defined in HGeometry.LineSegment.Intersection Methods intersect :: LinePV 2 r -> LineSegment AnEndPoint point -> Intersection (LinePV 2 r) (LineSegment AnEndPoint point) Source # | |||||
| Ord r => HasIntersectionWith (Point 1 r) (Interval AnEndPoint r) Source # | |||||
Defined in HGeometry.Interval.Internal Methods intersects :: Point 1 r -> Interval AnEndPoint r -> Bool Source # | |||||
| Ord r => IsIntersectableWith (Point 1 r) (Interval AnEndPoint r) Source # | |||||
Defined in HGeometry.Interval.Internal Methods intersect :: Point 1 r -> Interval AnEndPoint r -> Intersection (Point 1 r) (Interval AnEndPoint r) Source # | |||||
| Ord r => HasIntersectionWith (Interval AnEndPoint r) (ClosedInterval r) Source # | |||||
Defined in HGeometry.Interval.Internal Methods intersects :: Interval AnEndPoint r -> ClosedInterval r -> Bool Source # | |||||
| Ord r => HasIntersectionWith (Interval AnEndPoint r) (OpenInterval r) Source # | |||||
Defined in HGeometry.Interval.Internal Methods intersects :: Interval AnEndPoint r -> OpenInterval r -> Bool Source # | |||||
| Ord r => HasIntersectionWith (Interval AnEndPoint r) (Interval AnEndPoint r) Source # | |||||
Defined in HGeometry.Interval.Internal Methods intersects :: Interval AnEndPoint r -> Interval AnEndPoint r -> Bool Source # | |||||
| Ord r => IsIntersectableWith (Interval AnEndPoint r) (Interval AnEndPoint r) Source # | |||||
Defined in HGeometry.Interval.Internal Methods intersect :: Interval AnEndPoint r -> Interval AnEndPoint r -> Intersection (Interval AnEndPoint r) (Interval AnEndPoint r) Source # | |||||
| type Rep (AnEndPoint r) Source # | |||||
Defined in HGeometry.Interval.EndPoint type Rep (AnEndPoint r) = D1 ('MetaData "AnEndPoint" "HGeometry.Interval.EndPoint" "hgeometry-kernel-1.0.0.0-inplace" 'False) (C1 ('MetaCons "AnEndPoint" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 EndPointType) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 r))) | |||||
| type NumType (AnEndPoint r) Source # | |||||
Defined in HGeometry.Interval.EndPoint | |||||
| type IxValue (AnEndPoint r) Source # | |||||
Defined in HGeometry.Interval.EndPoint | |||||
| type Intersection (LineEQ r) (LineSegment AnEndPoint point) Source # | |||||
Defined in HGeometry.LineSegment.Intersection | |||||
| type Intersection (LinePV 2 r) (LineSegment AnEndPoint point) Source # | |||||
Defined in HGeometry.LineSegment.Intersection | |||||
| type Intersection (LineSegment AnEndPoint point) (LineSegment AnEndPoint point) Source # | |||||
Defined in HGeometry.LineSegment.Intersection type Intersection (LineSegment AnEndPoint point) (LineSegment AnEndPoint point) = Maybe (LineSegmentLineSegmentIntersection (LineSegment AnEndPoint point)) | |||||
asAnEndPoint :: EndPoint_ endPoint => endPoint -> AnEndPoint (IxValue endPoint) Source #
Convert the endpoint into a, AnEndPoint