grid-7.7.0: Tools for working with regular grids (graphs, lattices).

Copyright (c) Amy de Buitléir 2012-2015 BSD-style amy@nualeargais.ie experimental portable Safe-Inferred Haskell98

Math.Geometry.Grid.Triangular

Description

A regular arrangement of triangular 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.

Synopsis

# Unbounded grid with triangular tiles

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

Constructors

 UnboundedTriGrid

Instances

 Eq UnboundedTriGrid Show UnboundedTriGrid Generic UnboundedTriGrid Grid UnboundedTriGrid type Rep UnboundedTriGrid type Index UnboundedTriGrid = (Int, Int) type Direction UnboundedTriGrid = TriDirection

# Triangular grid with triangular tiles

data TriTriGrid Source

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

Instances

 Eq TriTriGrid Show TriTriGrid Generic TriTriGrid BoundedGrid TriTriGrid FiniteGrid TriTriGrid Grid TriTriGrid type Rep TriTriGrid type Size TriTriGrid = Int type Index TriTriGrid = (Int, Int) type Direction TriTriGrid = TriDirection

`triTriGrid s` returns a triangular grid with sides of length `s`, using triangular tiles. If `s` is nonnegative, the resulting grid will have `s^2` tiles. Otherwise, the resulting grid will be null and the list of indices will be null.

# Parallelogram-shaped grid with triangular tiles

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

Instances

 Eq ParaTriGrid Show ParaTriGrid Generic ParaTriGrid BoundedGrid ParaTriGrid FiniteGrid ParaTriGrid Grid ParaTriGrid type Rep ParaTriGrid type Size ParaTriGrid = (Int, Int) type Index ParaTriGrid = (Int, Int) type Direction ParaTriGrid = TriDirection

`paraTriGrid r c` returns a grid in the shape of a parallelogram with `r` rows and `c` columns, using triangular tiles. If `r` and `c` are both nonnegative, the resulting grid will have `2*r*c` tiles. Otherwise, the resulting grid will be null and the list of indices will be null.

# Rectangular grid with triangular tiles

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

Instances

 Eq RectTriGrid Show RectTriGrid Generic RectTriGrid BoundedGrid RectTriGrid FiniteGrid RectTriGrid Grid RectTriGrid type Rep RectTriGrid type Size RectTriGrid = (Int, Int) type Index RectTriGrid = (Int, Int) type Direction RectTriGrid = TriDirection

`rectTriGrid r c` returns a grid in the shape of a rectangle (with jagged edges) that has `r` rows and `c` columns, using triangular tiles. If `r` and `c` are both nonnegative, the resulting grid will have `2*r*c` tiles. Otherwise, the resulting grid will be null and the list of indices will be null.

# Toroidal grid with triangular tiles

data TorTriGrid Source

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

Instances

 Eq TorTriGrid Show TorTriGrid Generic TorTriGrid WrappedGrid TorTriGrid FiniteGrid TorTriGrid Grid TorTriGrid type Rep TorTriGrid type Size TorTriGrid = (Int, Int) type Index TorTriGrid = (Int, Int) type Direction TorTriGrid = TriDirection

`torTriGrid r c` returns a toroidal grid with `r` rows and `c` columns, using triangular tiles. The indexing method is the same as for `ParaTriGrid`. If `r` and `c` are both nonnegative, the resulting grid will have `2*r*c` tiles. Otherwise, the resulting grid will be null and the list of indices will be null.

# Cylindrical grids with triangular tiles

A cylindrical grid with triangular tiles, where the cylinder is along the y-axis. The grid and its indexing scheme are illustrated in the user guide, available at https://github.com/mhwombat/grid/wiki.

Instances

 Eq YCylTriGrid Show YCylTriGrid Generic YCylTriGrid WrappedGrid YCylTriGrid FiniteGrid YCylTriGrid Grid YCylTriGrid type Rep YCylTriGrid type Size YCylTriGrid = (Int, Int) type Index YCylTriGrid = (Int, Int) type Direction YCylTriGrid = TriDirection

`yCylTriGrid r c` returns a cylindrical grid with `r` rows and `c` columns, using triangular tiles, where the cylinder is along the y-axis. The indexing method is the same as for `ParaTriGrid`. If `r` and `c` are both nonnegative, the resulting grid will have `2*r*c` tiles. Otherwise, the resulting grid will be null and the list of indices will be null.

A cylindrical grid with triangular tiles, where the cylinder is along the x-axis. The grid and its indexing scheme are illustrated in the user guide, available at https://github.com/mhwombat/grid/wiki.

Instances

 Eq XCylTriGrid Show XCylTriGrid Generic XCylTriGrid WrappedGrid XCylTriGrid FiniteGrid XCylTriGrid Grid XCylTriGrid type Rep XCylTriGrid type Size XCylTriGrid = (Int, Int) type Index XCylTriGrid = (Int, Int) type Direction XCylTriGrid = TriDirection

`xCylTriGrid r c` returns a cylindrical grid with `r` rows and `c` columns, using triangular tiles, where the cylinder is along the y-axis. The indexing method is the same as for `ParaTriGrid`. If `r` and `c` are both nonnegative, the resulting grid will have `2*r*c` tiles. Otherwise, the resulting grid will be null and the list of indices will be null.