module Tile.Geometry ( tileRanks, tilePoints, ) where import Tile.Affine import Tile.Tile tileRanks :: Tile -> [Int] tileRanks :: Tile -> [Int] tileRanks = AffineRankSpace -> [Int] ranks (AffineRankSpace -> [Int]) -> (Tile -> AffineRankSpace) -> Tile -> [Int] forall b c a. (b -> c) -> (a -> b) -> a -> c . Tile -> AffineRankSpace space tilePoints :: AffineRankSpace -> Tile -> [Point] tilePoints :: AffineRankSpace -> Tile -> [[Int]] tilePoints AffineRankSpace rootSpace Tile tile = (Int -> [Int]) -> [Int] -> [[Int]] forall a b. (a -> b) -> [a] -> [b] map (AffineRankSpace -> Int -> [Int] pointOf AffineRankSpace rootSpace) (Tile -> [Int] tileRanks Tile tile)