Rm useless filterValidCoords, refactor inRange

This commit is contained in:
hasufell 2014-10-01 20:17:59 +02:00
parent eaaa699035
commit aec00c7e4d
No known key found for this signature in database
GPG Key ID: 220CD1C5BDEED020
2 changed files with 4 additions and 10 deletions

View File

@ -9,7 +9,7 @@ import Util
-- |Create the Diagram from the VTable.
diagFromVTable :: VTable -> Diagram Cairo R2
diagFromVTable meshArr
= position (zip (map mkPoint . filterValidCoords 0 500 $ meshArr)
= position (zip (map mkPoint . filter (inRange 0 500) $ meshArr)
(repeat dot)) # moveTo (p2(-250, -250))
`atop` square 500 # lwG 0.05 # bg white
where dot = (circle 2 :: Diagram Cairo R2) # fc black

12
Util.hs
View File

@ -2,18 +2,12 @@ module Util where
-- |Checks whether the Coordinates are in a given range.
inRange :: (Double, Double) -- ^ Coordinates to check
-> Double -- ^ min
inRange :: Double -- ^ min
-> Double -- ^ max
-> (Double, Double) -- ^ Coordinates to check
-> Bool -- ^ result
inRange (x, y) min' max'
inRange min' max' (x, y)
| x <= max' && x >= min' && y <= max' && y >= min' = True
| otherwise = False
-- |Filter the valid coordinates.
filterValidCoords :: Double -- ^ min
-> Double -- ^ max
-> [(Double, Double)] -- ^ unfiltered
-> [(Double, Double)] -- ^ filtered
filterValidCoords min' max' = filter (\(x, y) -> inRange (x, y) min' max')