Open
Description
I've found that I've needed this function a couple times. Writing the code in a one-off fashion looks like this
( w, h ) =
BoundingBox2d.dimensions boundingBox
aspectRatio =
Quantity.ratio h w
safeAspectRatio =
if isNaN aspectRatio || isInfinite aspectRatio then
Nothing
else
Just aspectRatio
This is verbose so it would be nice to just have as BoundingBox2d.aspectRatio: BoundingBox2d -> Maybe Float
and possibly BoundingBox2d.aspectRatioInv: BoundingBox2d -> Maybe Float
for the width over height version.
Edit: I know elm-geometry tends to avoid having functions that depend on a particular x y coordinate system but I think an exception should be made for BoundingBox2d since it's already defined in terms of an x y coordinate system.