hgeometry-kernel
Copyright(C) Frank Staals
Licensesee the LICENSE file
MaintainerFrank Staals
Safe HaskellNone
LanguageGHC2024

HGeometry.Disk

Description

A ball represented by its two diametral points

Synopsis

Documentation

data DiskByPoints point Source #

Disks are either diametral, or specified by three points

Constructors

DiametralDisk !(DiametralBall point) 
DiskByPoints !(BallByPoints' 3 point) 

Instances

Instances details
Foldable1 DiskByPoints Source # 
Instance details

Defined in HGeometry.Disk

Methods

fold1 :: Semigroup m => DiskByPoints m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> DiskByPoints a -> m Source #

foldMap1' :: Semigroup m => (a -> m) -> DiskByPoints a -> m Source #

toNonEmpty :: DiskByPoints a -> NonEmpty a Source #

maximum :: Ord a => DiskByPoints a -> a Source #

minimum :: Ord a => DiskByPoints a -> a Source #

head :: DiskByPoints a -> a Source #

last :: DiskByPoints a -> a Source #

foldrMap1 :: (a -> b) -> (a -> b -> b) -> DiskByPoints a -> b Source #

foldlMap1' :: (a -> b) -> (b -> a -> b) -> DiskByPoints a -> b Source #

foldlMap1 :: (a -> b) -> (b -> a -> b) -> DiskByPoints a -> b Source #

foldrMap1' :: (a -> b) -> (a -> b -> b) -> DiskByPoints a -> b Source #

Functor DiskByPoints Source # 
Instance details

Defined in HGeometry.Disk

Methods

fmap :: (a -> b) -> DiskByPoints a -> DiskByPoints b Source #

(<$) :: a -> DiskByPoints b -> DiskByPoints a Source #

Foldable DiskByPoints Source # 
Instance details

Defined in HGeometry.Disk

Methods

fold :: Monoid m => DiskByPoints m -> m Source #

foldMap :: Monoid m => (a -> m) -> DiskByPoints a -> m Source #

foldMap' :: Monoid m => (a -> m) -> DiskByPoints a -> m Source #

foldr :: (a -> b -> b) -> b -> DiskByPoints a -> b Source #

foldr' :: (a -> b -> b) -> b -> DiskByPoints a -> b Source #

foldl :: (b -> a -> b) -> b -> DiskByPoints a -> b Source #

foldl' :: (b -> a -> b) -> b -> DiskByPoints a -> b Source #

foldr1 :: (a -> a -> a) -> DiskByPoints a -> a Source #

foldl1 :: (a -> a -> a) -> DiskByPoints a -> a Source #

toList :: DiskByPoints a -> [a] Source #

null :: DiskByPoints a -> Bool Source #

length :: DiskByPoints a -> Int Source #

elem :: Eq a => a -> DiskByPoints a -> Bool Source #

maximum :: Ord a => DiskByPoints a -> a Source #

minimum :: Ord a => DiskByPoints a -> a Source #

sum :: Num a => DiskByPoints a -> a Source #

product :: Num a => DiskByPoints a -> a Source #

Traversable DiskByPoints Source # 
Instance details

Defined in HGeometry.Disk

Methods

traverse :: Applicative f => (a -> f b) -> DiskByPoints a -> f (DiskByPoints b) Source #

sequenceA :: Applicative f => DiskByPoints (f a) -> f (DiskByPoints a) Source #

mapM :: Monad m => (a -> m b) -> DiskByPoints a -> m (DiskByPoints b) Source #

sequence :: Monad m => DiskByPoints (m a) -> m (DiskByPoints a) Source #

Traversable1 DiskByPoints Source # 
Instance details

Defined in HGeometry.Disk

Methods

traverse1 :: Apply f => (a -> f b) -> DiskByPoints a -> f (DiskByPoints b) Source #

sequence1 :: Apply f => DiskByPoints (f b) -> f (DiskByPoints b) Source #

Show point => Show (DiskByPoints point) Source # 
Instance details

Defined in HGeometry.Disk

Eq point => Eq (DiskByPoints point) Source # 
Instance details

Defined in HGeometry.Disk

Methods

(==) :: DiskByPoints point -> DiskByPoints point -> Bool Source #

(/=) :: DiskByPoints point -> DiskByPoints point -> Bool Source #

Point_ point 2 r => HasInBall (DiskByPoints point) Source # 
Instance details

Defined in HGeometry.Disk

Methods

inBall :: forall point0 (d :: Nat) r0. (Point_ point0 d r0, Ord r0, Num r0, NumType (DiskByPoints point) ~ r0, Dimension (DiskByPoints point) ~ d) => point0 -> DiskByPoints point -> PointLocationResult Source #

(Point_ point 2 r, Fractional r) => Ball_ (DiskByPoints point) (Point 2 r) Source # 
Instance details

Defined in HGeometry.Disk

(Point_ point 2 r, Fractional r) => HasCenter (DiskByPoints point) (Point 2 r) Source # 
Instance details

Defined in HGeometry.Disk

Methods

center :: Lens' (DiskByPoints point) (Point 2 r) Source #

(Point_ point 2 r, Ord r, Num r) => HasIntersectionWith (Point 2 r) (DiskByPoints point) Source # 
Instance details

Defined in HGeometry.Disk

Methods

intersects :: Point 2 r -> DiskByPoints point -> Bool Source #

(Point_ point 2 r, Ord r, Num r) => IsIntersectableWith (Point 2 r) (DiskByPoints point) Source # 
Instance details

Defined in HGeometry.Disk

Methods

intersect :: Point 2 r -> DiskByPoints point -> Intersection (Point 2 r) (DiskByPoints point) Source #

type Dimension (DiskByPoints point) Source # 
Instance details

Defined in HGeometry.Disk

type Dimension (DiskByPoints point) = Dimension point
type NumType (DiskByPoints point) Source # 
Instance details

Defined in HGeometry.Disk

type NumType (DiskByPoints point) = NumType point
type Intersection (Point 2 r) (DiskByPoints point) Source # 
Instance details

Defined in HGeometry.Disk

type Intersection (Point 2 r) (DiskByPoints point) = Maybe (Point 2 r)