Add wire to central laser room

This commit is contained in:
2021-11-21 19:14:17 +00:00
parent 2f3896345d
commit afeb9d2b64
9 changed files with 57 additions and 35 deletions
+22 -2
View File
@@ -12,8 +12,28 @@ anyLnkOutPS = PSPos f (const id) Nothing
f (UnusedLink p a) = Just (PS p a, PosPl p a)
f _ = Nothing
fstLnkOut :: PlacementSpot
fstLnkOut = PSPos f (const id) Nothing
atFstLnkOut :: PlacementSpot
atFstLnkOut = PSPos f (const id) Nothing
where
f (OutLink 0 p a) = Just (PS p a, OutLink 0 p a)
f _ = Nothing
atFstLnkOutShiftBy :: ((Point2,Float) -> (Point2,Float))
-> PlacementSpot
atFstLnkOutShiftBy theshift = PSPos f (const id) Nothing
where
f (OutLink 0 p a) = Just (PS p' a', OutLink 0 p a)
where
(p',a') = theshift (p,a)
f _ = Nothing
atFstLnkOutShiftInward :: Float -> PlacementSpot
atFstLnkOutShiftInward x = atFstLnkOutShiftBy f
where
f (p,a) = (p +.+ rotateV a (V2 0 (negate x)),a)
overFstLnkOut :: PlacementSpot
overFstLnkOut = PSPos f (const id) Nothing
where
f (OutLink 0 p a) = Just (PS p a, PosPl p a)
f _ = Nothing