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

License | BSD-style |

Maintainer | amy@nualeargais.ie |

Stability | experimental |

Portability | portable |

Safe Haskell | Safe-Inferred |

Language | Haskell98 |

A regular arrangement of octagonal tiles.
Octagons won't tile a regular plane (there will be diamond-shaped
gaps between the tiles), but they will tile a *hyperbolic* plane.
(Alternatively, you can think of these as squares on a board game
where diagonal moves are allowed.)
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 UnboundedOctGrid = UnboundedOctGrid
- data RectOctGrid
- rectOctGrid :: Int -> Int -> RectOctGrid
- data TorOctGrid
- torOctGrid :: Int -> Int -> TorOctGrid

# Unbounded grid with octagonal tiles

data UnboundedOctGrid Source

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

# Rectangular grid with octagonal tiles

data RectOctGrid Source

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

Eq RectOctGrid | |

Show RectOctGrid | |

Generic RectOctGrid | |

BoundedGrid RectOctGrid | |

FiniteGrid RectOctGrid | |

Grid RectOctGrid | |

type Rep RectOctGrid | |

type Size RectOctGrid = (Int, Int) | |

type Index RectOctGrid = (Int, Int) | |

type Direction RectOctGrid = OctDirection |

rectOctGrid :: Int -> Int -> RectOctGrid Source

produces a rectangular grid with `rectOctGrid`

r c`r`

rows
and `c`

columns, using octagonal 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.

# Toroidal grid with octagonal tiles

data TorOctGrid Source

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

Eq TorOctGrid | |

Show TorOctGrid | |

Generic TorOctGrid | |

WrappedGrid TorOctGrid | |

FiniteGrid TorOctGrid | |

Grid TorOctGrid | |

type Rep TorOctGrid | |

type Size TorOctGrid = (Int, Int) | |

type Index TorOctGrid = (Int, Int) | |

type Direction TorOctGrid = OctDirection |

torOctGrid :: Int -> Int -> TorOctGrid Source

returns a toroidal grid with `torOctGrid`

r c`r`

rows and `c`

columns, using octagonal 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.