Copyright | (c) Amy de Buitléir 2012-2014 |
---|---|

License | BSD-style |

Maintainer | amy@nualeargais.ie |

Stability | experimental |

Portability | portable |

Safe Haskell | Safe-Inferred |

Language | Haskell98 |

A regular arrangement of hexagonal tiles.
The userguide, with illustrations, is available at
https://github.com/mhwombat/grid/wiki.
Also see `Math.Geometry.Grid`

for examples of how to use this class.

- data UnboundedHexGrid
- data HexHexGrid
- hexHexGrid :: Int -> HexHexGrid
- data ParaHexGrid
- paraHexGrid :: Int -> Int -> ParaHexGrid

# Unbounded grid with hexagonal tiles

data UnboundedHexGrid Source

An unbounded grid with hexagonal tiles The grid and its indexing scheme are illustrated in the user guide, available at https://github.com/mhwombat/grid/wiki.

# Hexagonal grid with hexagonal tiles

data HexHexGrid Source

A hexagonal grid with hexagonal tiles The grid and its indexing scheme are illustrated in the user guide, available at https://github.com/mhwombat/grid/wiki.

Eq HexHexGrid | |

Show HexHexGrid | |

Generic HexHexGrid | |

BoundedGrid HexHexGrid | |

FiniteGrid HexHexGrid | |

Grid HexHexGrid | |

type Rep HexHexGrid | |

type Size HexHexGrid = Int | |

type Index HexHexGrid = (Int, Int) | |

type Direction HexHexGrid = HexDirection |

hexHexGrid :: Int -> HexHexGrid Source

returns a grid of hexagonal shape, with
sides of length `hexHexGrid`

s`s`

, using hexagonal tiles. If `s`

is nonnegative, the
resulting grid will have `3*s*(s-1) + 1`

tiles. Otherwise, the resulting
grid will be null and the list of indices will be null.

# Parallelogram-shaped grid with hexagonal tiles

data ParaHexGrid Source

A parallelogramatical grid with hexagonal tiles The grid and its indexing scheme are illustrated in the user guide, available at https://github.com/mhwombat/grid/wiki.

Eq ParaHexGrid | |

Show ParaHexGrid | |

Generic ParaHexGrid | |

BoundedGrid ParaHexGrid | |

FiniteGrid ParaHexGrid | |

Grid ParaHexGrid | |

type Rep ParaHexGrid | |

type Size ParaHexGrid = (Int, Int) | |

type Index ParaHexGrid = (Int, Int) | |

type Direction ParaHexGrid = HexDirection |

paraHexGrid :: Int -> Int -> ParaHexGrid Source

returns a grid in the shape of a
parallelogram with `paraHexGrid`

r c`r`

rows and `c`

columns, using hexagonal tiles. If
`r`

and `c`

are both nonnegative, the resulting grid will have `r*c`

tiles.
Otherwise, the resulting grid will be null and the list of indices will
be null.