diff --git a/Diagram.hs b/Diagram.hs index 1717bf3..4d32bda 100644 --- a/Diagram.hs +++ b/Diagram.hs @@ -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 diff --git a/Util.hs b/Util.hs index cf80f78..bfc815a 100644 --- a/Util.hs +++ b/Util.hs @@ -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')