ianmackenzie/elm-geometry

Add BoundingBox2d.aspectRatio

Offen

#133 geöffnet am 30.05.2020

 (1 Kommentar) (0 Reaktionen) (0 zugewiesene Personen)Elm (28 Forks)auto 404
Hacktoberfest

Repository-Metriken

Stars
 (186 Sterne)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

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.

Contributor Guide