ianmackenzie/elm-geometry

Add BoundingBox2d.aspectRatio

Aperta

#133 aperta il 30 mag 2020

 (1 commento) (0 reazioni) (0 assegnatari)Elm (28 fork)auto 404
Hacktoberfest

Metriche repository

Star
 (186 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

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.

Guida contributor