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

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

Math.Geometry.Grid.Octagonal

Description

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.

Synopsis

# Unbounded grid with octagonal tiles

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.

Constructors

 UnboundedOctGrid

Instances

 Source # Methods Source # MethodsshowList :: [UnboundedOctGrid] -> ShowS # Source # Associated Typestype Rep UnboundedOctGrid :: * -> * # Methods Source # Associated Types Source # type Rep UnboundedOctGrid = D1 (MetaData "UnboundedOctGrid" "Math.Geometry.Grid.OctagonalInternal" "grid-7.8.9-493WVnciudpA8BEkzyf2sN" False) (C1 (MetaCons "UnboundedOctGrid" PrefixI False) U1) Source # type Index UnboundedOctGrid = (Int, Int) Source #

# Rectangular grid with octagonal tiles

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.

Instances

 Source # Methods Source # MethodsshowList :: [RectOctGrid] -> ShowS # Source # Associated Typestype Rep RectOctGrid :: * -> * # Methods Source # Methods Source # Associated Typestype Size RectOctGrid :: * Source # Methods Source # Associated Typestype Index RectOctGrid :: * Source # Methods type Rep RectOctGrid Source # type Rep RectOctGrid = D1 (MetaData "RectOctGrid" "Math.Geometry.Grid.OctagonalInternal" "grid-7.8.9-493WVnciudpA8BEkzyf2sN" False) (C1 (MetaCons "RectOctGrid" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Int, Int))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Int, Int)])))) type Size RectOctGrid Source # type Size RectOctGrid = (Int, Int) type Index RectOctGrid Source # type Index RectOctGrid = (Int, Int) Source #

rectOctGrid r c produces a rectangular grid with 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

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.

Instances

 Source # Methods Source # MethodsshowList :: [TorOctGrid] -> ShowS # Source # Associated Typestype Rep TorOctGrid :: * -> * # Methods Source # Methods Source # Associated Typestype Size TorOctGrid :: * Source # Methods Source # Associated Typestype Index TorOctGrid :: * Source # Methods type Rep TorOctGrid Source # type Rep TorOctGrid = D1 (MetaData "TorOctGrid" "Math.Geometry.Grid.OctagonalInternal" "grid-7.8.9-493WVnciudpA8BEkzyf2sN" False) (C1 (MetaCons "TorOctGrid" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Int, Int))) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(Int, Int)])))) type Size TorOctGrid Source # type Size TorOctGrid = (Int, Int) type Index TorOctGrid Source # type Index TorOctGrid = (Int, Int) Source #

torOctGrid r c returns a toroidal grid with 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.