Safe HaskellNone

LSC.Component

Documentation

data Layer Source #

Instances

Instances details
Enum Layer Source # 
Instance details

Defined in LSC.Component

Eq Layer Source # 
Instance details

Defined in LSC.Component

Methods

(==) :: Layer -> Layer -> Bool

(/=) :: Layer -> Layer -> Bool

Ord Layer Source # 
Instance details

Defined in LSC.Component

Methods

compare :: Layer -> Layer -> Ordering

(<) :: Layer -> Layer -> Bool

(<=) :: Layer -> Layer -> Bool

(>) :: Layer -> Layer -> Bool

(>=) :: Layer -> Layer -> Bool

max :: Layer -> Layer -> Layer

min :: Layer -> Layer -> Layer

Show Layer Source # 
Instance details

Defined in LSC.Component

Methods

showsPrec :: Int -> Layer -> ShowS

show :: Layer -> String

showList :: [Layer] -> ShowS

Generic Layer Source # 
Instance details

Defined in LSC.Component

Associated Types

type Rep Layer :: Type -> Type

Methods

from :: Layer -> Rep Layer x

to :: Rep Layer x -> Layer

FromJSON Layer Source # 
Instance details

Defined in LSC.Component

Methods

parseJSON :: Value -> Parser Layer

parseJSONList :: Value -> Parser [Layer]

ToJSON Layer Source # 
Instance details

Defined in LSC.Component

Methods

toJSON :: Layer -> Value

toEncoding :: Layer -> Encoding

toJSONList :: [Layer] -> Value

toEncodingList :: [Layer] -> Encoding

HasGeometry Pin [Port] Source # 
Instance details

Defined in LSC.Model

Methods

geometry :: Lens' Pin [Port] Source #

HasGeometry AbstractCell [Component' Layer Int] Source # 
Instance details

Defined in LSC.Model

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

Defined in LSC.Model

Methods

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

HasSpace Gate (Component' Layer Int) Source # 
Instance details

Defined in LSC.Model

Methods

space :: Lens' Gate (Component' Layer Int) Source #

type Rep Layer Source # 
Instance details

Defined in LSC.Component

type Rep Layer = D1 ('MetaData "Layer" "LSC.Component" "main" 'False) (((C1 ('MetaCons "AnyLayer" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Metal1" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Metal2" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Metal3" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Metal4" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Metal5" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Metal6" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Metal7" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Metal8" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Metal9" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Metal10" 'PrefixI 'False) (U1 :: Type -> Type)))))

data Orientation Source #

Constructors

N 
FN 
S 
FS 
W 
FW 
E 
FE 

Instances

Instances details
Enum Orientation Source # 
Instance details

Defined in LSC.Component

Eq Orientation Source # 
Instance details

Defined in LSC.Component

Methods

(==) :: Orientation -> Orientation -> Bool

(/=) :: Orientation -> Orientation -> Bool

Ord Orientation Source # 
Instance details

Defined in LSC.Component

Show Orientation Source # 
Instance details

Defined in LSC.Component

Methods

showsPrec :: Int -> Orientation -> ShowS

show :: Orientation -> String

showList :: [Orientation] -> ShowS

Generic Orientation Source # 
Instance details

Defined in LSC.Component

Associated Types

type Rep Orientation :: Type -> Type

Methods

from :: Orientation -> Rep Orientation x

to :: Rep Orientation x -> Orientation

Semigroup Orientation Source # 
Instance details

Defined in LSC.Component

Methods

(<>) :: Orientation -> Orientation -> Orientation

sconcat :: NonEmpty Orientation -> Orientation

stimes :: Integral b => b -> Orientation -> Orientation

Monoid Orientation Source # 
Instance details

Defined in LSC.Component

NFData Orientation Source # 
Instance details

Defined in LSC.Component

Methods

rnf :: Orientation -> ()

FromJSON Orientation Source # 
Instance details

Defined in LSC.Component

Methods

parseJSON :: Value -> Parser Orientation

parseJSONList :: Value -> Parser [Orientation]

ToJSON Orientation Source # 
Instance details

Defined in LSC.Component

Methods

toJSON :: Orientation -> Value

toEncoding :: Orientation -> Encoding

toJSONList :: [Orientation] -> Value

toEncodingList :: [Orientation] -> Encoding

HasOrientation Row Orientation Source # 
Instance details

Defined in LSC.Model

HasOrientation (Component l x y) Orientation Source # 
Instance details

Defined in LSC.Component

Methods

orientation :: Lens' (Component l x y) Orientation Source #

type Rep Orientation Source # 
Instance details

Defined in LSC.Component

type Rep Orientation = D1 ('MetaData "Orientation" "LSC.Component" "main" 'False) (((C1 ('MetaCons "N" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FN" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "S" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FS" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "W" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FW" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "E" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FE" 'PrefixI 'False) (U1 :: Type -> Type))))

type Ring l x y = Component l (Component l x y) (Component l x y) Source #

type Ring' l a = Ring l a a Source #

data Component l x y Source #

Constructors

Component 

Fields

Instances

Instances details
HasGeometry AbstractCell [Component' Layer Int] Source # 
Instance details

Defined in LSC.Model

HasSpace Gate (Component' Layer Int) Source # 
Instance details

Defined in LSC.Model

Methods

space :: Lens' Gate (Component' Layer Int) Source #

Bifunctor (Component l) Source # 
Instance details

Defined in LSC.Component

Methods

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

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

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

Bifoldable (Component l) Source # 
Instance details

Defined in LSC.Component

Methods

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

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

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

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

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

Defined in LSC.Component

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Functor (Component l x) Source # 
Instance details

Defined in LSC.Component

Methods

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

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

Foldable (Component l x) Source # 
Instance details

Defined in LSC.Component

Methods

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

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

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

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

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

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

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

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

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

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

null :: Component l x a -> Bool

length :: Component l x a -> Int

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

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

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

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

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

(Eq x, Eq y) => Eq (Component l x y) Source # 
Instance details

Defined in LSC.Component

Methods

(==) :: Component l x y -> Component l x y -> Bool

(/=) :: Component l x y -> Component l x y -> Bool

(Ord x, Ord y) => Ord (Component l x y) Source # 
Instance details

Defined in LSC.Component

Methods

compare :: Component l x y -> Component l x y -> Ordering

(<) :: Component l x y -> Component l x y -> Bool

(<=) :: Component l x y -> Component l x y -> Bool

(>) :: Component l x y -> Component l x y -> Bool

(>=) :: Component l x y -> Component l x y -> Bool

max :: Component l x y -> Component l x y -> Component l x y

min :: Component l x y -> Component l x y -> Component l x y

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

Defined in LSC.Component

Methods

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

show :: Component l x y -> String

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

Generic (Component l x y) Source # 
Instance details

Defined in LSC.Component

Associated Types

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

Methods

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

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

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

Defined in LSC.Component

Methods

rnf :: Component l x y -> ()

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

Defined in LSC.Component

Methods

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

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

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

Defined in LSC.Component

Methods

toJSON :: Component l x y -> Value

toEncoding :: Component l x y -> Encoding

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

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

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

Defined in LSC.Component

Methods

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

HasT (Component l x y) y Source # 
Instance details

Defined in LSC.Component

Methods

t :: Lens' (Component l x y) y Source #

HasR (Component l x y) x Source # 
Instance details

Defined in LSC.Component

Methods

r :: Lens' (Component l x y) x Source #

HasOrientation (Component l x y) Orientation Source # 
Instance details

Defined in LSC.Component

Methods

orientation :: Lens' (Component l x y) Orientation Source #

HasL (Component l x y) x Source # 
Instance details

Defined in LSC.Component

Methods

l :: Lens' (Component l x y) x Source #

HasB (Component l x y) y Source # 
Instance details

Defined in LSC.Component

Methods

b :: Lens' (Component l x y) y Source #

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

Defined in LSC.Component

type Rep (Component l x y) = D1 ('MetaData "Component" "LSC.Component" "main" 'False) (C1 ('MetaCons "Component" 'PrefixI 'True) ((S1 ('MetaSel ('Just "_l") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 x) :*: (S1 ('MetaSel ('Just "_b") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 y) :*: S1 ('MetaSel ('Just "_r") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 x))) :*: (S1 ('MetaSel ('Just "_t") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 y) :*: (S1 ('MetaSel ('Just "_z") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 IntSet) :*: S1 ('MetaSel ('Just "_orientation") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Orientation)))))

type Component' l a = Component l a a Source #

rect :: x -> y -> x -> y -> Component l x y Source #

newtype BoundingBox l x y Source #

Constructors

BoundingBox 

Fields

Instances

Instances details
Bifunctor (BoundingBox l) Source # 
Instance details

Defined in LSC.Component

Methods

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

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

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

Bifoldable (BoundingBox l) Source # 
Instance details

Defined in LSC.Component

Methods

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

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

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

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

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

Defined in LSC.Component

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Functor (BoundingBox l x) Source # 
Instance details

Defined in LSC.Component

Methods

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

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

Foldable (BoundingBox l x) Source # 
Instance details

Defined in LSC.Component

Methods

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

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

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

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

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

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

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

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

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

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

null :: BoundingBox l x a -> Bool

length :: BoundingBox l x a -> Int

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

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

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

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

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

(Eq x, Eq y) => Eq (BoundingBox l x y) Source # 
Instance details

Defined in LSC.Component

Methods

(==) :: BoundingBox l x y -> BoundingBox l x y -> Bool

(/=) :: BoundingBox l x y -> BoundingBox l x y -> Bool

(Ord x, Ord y) => Semigroup (BoundingBox l x y) Source # 
Instance details

Defined in LSC.Component

Methods

(<>) :: BoundingBox l x y -> BoundingBox l x y -> BoundingBox l x y

sconcat :: NonEmpty (BoundingBox l x y) -> BoundingBox l x y

stimes :: Integral b => b -> BoundingBox l x y -> BoundingBox l x y

(Ord x, Ord y, Bounded x, Bounded y) => Monoid (BoundingBox l x y) Source # 
Instance details

Defined in LSC.Component

Methods

mempty :: BoundingBox l x y

mappend :: BoundingBox l x y -> BoundingBox l x y -> BoundingBox l x y

mconcat :: [BoundingBox l x y] -> BoundingBox l x y

type BoundingBox' l a = BoundingBox l a a Source #

implode :: Cartesian f x y => f x y -> BoundingBox l x y Source #

newtype Overlap l x y Source #

Constructors

Overlap 

Fields

Instances

Instances details
Bifunctor (Overlap l) Source # 
Instance details

Defined in LSC.Component

Methods

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

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

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

Bifoldable (Overlap l) Source # 
Instance details

Defined in LSC.Component

Methods

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

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

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

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

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

Defined in LSC.Component

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Functor (Overlap l x) Source # 
Instance details

Defined in LSC.Component

Methods

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

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

Foldable (Overlap l x) Source # 
Instance details

Defined in LSC.Component

Methods

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

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

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

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

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

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

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

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

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

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

null :: Overlap l x a -> Bool

length :: Overlap l x a -> Int

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

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

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

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

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

(Eq x, Eq y) => Eq (Overlap l x y) Source # 
Instance details

Defined in LSC.Component

Methods

(==) :: Overlap l x y -> Overlap l x y -> Bool

(/=) :: Overlap l x y -> Overlap l x y -> Bool

(Ord x, Ord y) => Semigroup (Overlap l x y) Source # 
Instance details

Defined in LSC.Component

Methods

(<>) :: Overlap l x y -> Overlap l x y -> Overlap l x y

sconcat :: NonEmpty (Overlap l x y) -> Overlap l x y

stimes :: Integral b => b -> Overlap l x y -> Overlap l x y

(Ord x, Ord y, Bounded x, Bounded y) => Monoid (Overlap l x y) Source # 
Instance details

Defined in LSC.Component

Methods

mempty :: Overlap l x y

mappend :: Overlap l x y -> Overlap l x y -> Overlap l x y

mconcat :: [Overlap l x y] -> Overlap l x y

type Overlap' l a = Overlap l a a Source #

class HasB s a | s -> a where Source #

Methods

b :: Lens' s a Source #

Instances

Instances details
HasB Row Int Source # 
Instance details

Defined in LSC.Model

Methods

b :: Lens' Row Int Source #

HasB (Component l x y) y Source # 
Instance details

Defined in LSC.Component

Methods

b :: Lens' (Component l x y) y Source #

class HasL s a | s -> a where Source #

Methods

l :: Lens' s a Source #

Instances

Instances details
HasL Row Int Source # 
Instance details

Defined in LSC.Model

Methods

l :: Lens' Row Int Source #

HasL (Component l x y) x Source # 
Instance details

Defined in LSC.Component

Methods

l :: Lens' (Component l x y) x Source #

class HasOrientation s a | s -> a where Source #

Methods

orientation :: Lens' s a Source #

Instances

Instances details
HasOrientation Row Orientation Source # 
Instance details

Defined in LSC.Model

HasOrientation (Component l x y) Orientation Source # 
Instance details

Defined in LSC.Component

Methods

orientation :: Lens' (Component l x y) Orientation Source #

class HasR s a | s -> a where Source #

Methods

r :: Lens' s a Source #

Instances

Instances details
HasR (Component l x y) x Source # 
Instance details

Defined in LSC.Component

Methods

r :: Lens' (Component l x y) x Source #

class HasT s a | s -> a where Source #

Methods

t :: Lens' s a Source #

Instances

Instances details
HasT (Component l x y) y Source # 
Instance details

Defined in LSC.Component

Methods

t :: Lens' (Component l x y) y Source #

class HasZ s a | s -> a where Source #

Methods

z :: Lens' s a Source #

Instances

Instances details
HasZ Track IntSet Source # 
Instance details

Defined in LSC.Model

Methods

z :: Lens' Track IntSet Source #

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

Defined in LSC.Component

Methods

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

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

Defined in LSC.Polygon

Methods

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

layers :: Enum l => Lens' a IntSet -> Lens' a [l] Source #

inline :: Cartesian f x y => Component l x y -> f x y -> f x y Source #

areaOverlap :: (Ord x, Ord y) => Component l x y -> Component l x y -> Bool Source #

overlapX :: Ord x => Component l x y -> Component l x y -> Bool Source #

overlapY :: Ord y => Component l x y -> Component l x y -> Bool Source #

inner :: Ring l x y -> Component l x y Source #

outer :: Ring l x y -> Component l x y Source #