Safe HaskellNone

LSC.Polygon

Documentation

data Polygon l x y Source #

Instances

Instances details
HasGeometry Pin [Port] Source # 
Instance details

Defined in LSC.Model

Methods

geometry :: Lens' Pin [Port] Source #

HasGeometry Net [Polygon' Layer Int] Source # 
Instance details

Defined in LSC.Model

Methods

geometry :: Lens' Net [Polygon' Layer Int] Source #

Bifunctor (Polygon l) Source # 
Instance details

Defined in LSC.Polygon

Methods

bimap :: (a -> b) -> (c -> d) -> Polygon l a c -> Polygon l b d

first :: (a -> b) -> Polygon l a c -> Polygon l b c

second :: (b -> c) -> Polygon l a b -> Polygon l a c

Bifoldable (Polygon l) Source # 
Instance details

Defined in LSC.Polygon

Methods

bifold :: Monoid m => Polygon l m m -> m

bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> Polygon l a b -> m

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> Polygon l a b -> c

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> Polygon l a b -> c

(Integral x, Integral y) => Cartesian (Polygon l) x y Source # 
Instance details

Defined in LSC.Polygon

Methods

moveX :: x -> Polygon l x y -> Polygon l x y Source #

moveY :: y -> Polygon l x y -> Polygon l x y Source #

width :: Polygon l x y -> x Source #

height :: Polygon l x y -> y Source #

center :: Polygon l x y -> (x, y) Source #

centerX :: Polygon l x y -> x Source #

centerY :: Polygon l x y -> y Source #

relocateX :: x -> Polygon l x y -> Polygon l x y Source #

relocateY :: y -> Polygon l x y -> Polygon l x y Source #

minX :: Polygon l x y -> x Source #

maxX :: Polygon l x y -> x Source #

minY :: Polygon l x y -> y Source #

maxY :: Polygon l x y -> y Source #

relocateL :: x -> Polygon l x y -> Polygon l x y Source #

relocateR :: x -> Polygon l x y -> Polygon l x y Source #

relocateB :: y -> Polygon l x y -> Polygon l x y Source #

relocateT :: y -> Polygon l x y -> Polygon l x y Source #

abscissae :: Polygon l x y -> [x] Source #

ordinates :: Polygon l x y -> [y] Source #

Functor (Polygon l x) Source # 
Instance details

Defined in LSC.Polygon

Methods

fmap :: (a -> b) -> Polygon l x a -> Polygon l x b

(<$) :: a -> Polygon l x b -> Polygon l x a

Foldable (Polygon l x) Source # 
Instance details

Defined in LSC.Polygon

Methods

fold :: Monoid m => Polygon l x m -> m

foldMap :: Monoid m => (a -> m) -> Polygon l x a -> m

foldMap' :: Monoid m => (a -> m) -> Polygon l x a -> m

foldr :: (a -> b -> b) -> b -> Polygon l x a -> b

foldr' :: (a -> b -> b) -> b -> Polygon l x a -> b

foldl :: (b -> a -> b) -> b -> Polygon l x a -> b

foldl' :: (b -> a -> b) -> b -> Polygon l x a -> b

foldr1 :: (a -> a -> a) -> Polygon l x a -> a

foldl1 :: (a -> a -> a) -> Polygon l x a -> a

toList :: Polygon l x a -> [a]

null :: Polygon l x a -> Bool

length :: Polygon l x a -> Int

elem :: Eq a => a -> Polygon l x a -> Bool

maximum :: Ord a => Polygon l x a -> a

minimum :: Ord a => Polygon l x a -> a

sum :: Num a => Polygon l x a -> a

product :: Num a => Polygon l x a -> a

(Show x, Show y) => Show (Polygon l x y) Source # 
Instance details

Defined in LSC.Polygon

Methods

showsPrec :: Int -> Polygon l x y -> ShowS

show :: Polygon l x y -> String

showList :: [Polygon l x y] -> ShowS

Generic (Polygon l x y) Source # 
Instance details

Defined in LSC.Polygon

Associated Types

type Rep (Polygon l x y) :: Type -> Type

Methods

from :: Polygon l x y -> Rep (Polygon l x y) x0

to :: Rep (Polygon l x y) x0 -> Polygon l x y

(NFData x, NFData y) => NFData (Polygon l x y) Source # 
Instance details

Defined in LSC.Polygon

Methods

rnf :: Polygon l x y -> ()

(FromJSON x, FromJSON y) => FromJSON (Polygon l x y) Source # 
Instance details

Defined in LSC.Polygon

Methods

parseJSON :: Value -> Parser (Polygon l x y)

parseJSONList :: Value -> Parser [Polygon l x y]

(ToJSON y, ToJSON x) => ToJSON (Polygon l x y) Source # 
Instance details

Defined in LSC.Polygon

Methods

toJSON :: Polygon l x y -> Value

toEncoding :: Polygon l x y -> Encoding

toJSONList :: [Polygon l x y] -> Value

toEncodingList :: [Polygon l x y] -> Encoding

HasZ (Polygon l x y) IntSet Source # 
Instance details

Defined in LSC.Polygon

Methods

z :: Lens' (Polygon l x y) IntSet Source #

type Rep (Polygon l x y) Source # 
Instance details

Defined in LSC.Polygon

type Rep (Polygon l x y) = D1 ('MetaData "Polygon" "LSC.Polygon" "main" 'False) (C1 ('MetaCons "Polygon" 'PrefixI 'True) (S1 ('MetaSel ('Just "_z") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 IntSet) :*: S1 ('MetaSel ('Just "_path") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector (x, y)))))

constructPolygon :: (Eq x, Eq y) => [(x, y)] -> Polygon l x y Source #

type Polygon' l a = Polygon l a a Source #

path :: HasPath s a => Lens' s a Source #

z :: HasZ s a => Lens' s a Source #

polygon :: (Integral x, Integral y) => Polygon l x y -> [Component l x y] Source #

columns :: (Integral x, Integral y) => x -> x -> Polygon l x y -> [Component l x y] Source #

containingBox :: (Ord x, Ord y) => Polygon l x y -> Component l x y Source #