Tweak automatic girder placement

This commit is contained in:
2022-03-19 23:12:53 +00:00
parent 986722b913
commit 02adb0a915
2 changed files with 26 additions and 3 deletions
+23
View File
@@ -88,6 +88,29 @@ girderZ h d w x y = colorSH red $ mconcat $
ps = divideLineExact d xb yb
qs = tail $ divideLineExact d xt yt
girderVCapL
:: Float -- ^ "cap" size
-> Float -- ^ height
-> Float -- ^ distance between cross bars
-> Float -- ^ width
-> Point2 -> Point2 -> Shape
girderVCapL csize h d w x y = thinHighBar h (x -.- n) (x +.+ n)
<> girderV h d w x y
where
n = csize *.* vNormal (normalizeV (x -.- y))
girderVCapLR
:: Float -- ^ "cap" size
-> Float -- ^ height
-> Float -- ^ distance between cross bars
-> Float -- ^ width
-> Point2 -> Point2 -> Shape
girderVCapLR csize h d w x y = thinHighBar h (x -.- n) (x +.+ n)
<> thinHighBar h (y -.- n) (y +.+ n)
<> girderV h d w x y
where
n = csize *.* vNormal (normalizeV (x -.- y))
girderV
:: Float -- ^ height
-> Float -- ^ distance between cross bars