úÎ7ñ6/     portable experimentalamy@nualeargais.ie Safe-Infered0A parallelogramatical grid with hexagonal tiles &A hexagonal grid with hexagonal tiles #A toroidal grid with square tiles. &A rectangular grid with square tiles. 3A Parallelogrammatical grid with triangular tiles. )A triangular grid with triangular tiles. G The grid and its indexing scheme are illustrated in the user guide,  available from  A regular arrangement of tiles.  Minimal complete definition: indices, distance, and size. ,Returns the indices of all tiles in a grid.  a b: returns the minimum number of moves required to get from  a to b>, moving between adjacent tiles at each step. (Two tiles are ' adjacent if they share an edge.) If a or b are not contained within  g, the result is undefined. %Returns the dimensions of the grid.  For example, if g is a 4x3 rectangular grid,   g would return  (4, 3), while   g would return 12.   x g. returns the indices of the tiles in the grid g % which are adjacent to the tile at x. x  `'inGrid'` g returns true if the index x is contained within g,  otherwise it returns false.   x g7 returns a list of pairs associating the index of each  tile in g* with its distance to the tile with index x. If x is not  contained within g, the result is undefined. 4Returns the number of tiles in a grid. Compare with  . Returns True+ if the number of tiles in a grid is zero, False otherwise. Returns False+ if the number of tiles in a grid is zero, True otherwise.  s* returns a triangular grid with sides of  length s, using triangular tiles. If s is nonnegative, the resulting  grid will have s^25 tiles. Otherwise, the resulting grid will be empty ) and the list of indices will be null.  r c# returns a grid in the shape of a  parallelogram with r rows and c# columns, using triangular tiles.  If r and c4 are both nonnegative, the resulting grid will have 2*r*c N tiles. Otherwise, the resulting grid will be empty and the list of indices  will be null.  r c" produces a rectangular grid with r rows and c # columns, using square tiles. If r and c are both nonnegative, the  resulting grid will have r*c, tiles. Otherwise, the resulting grid will 2 be empty and the list of indices will be null.  r c returns a toroidal grid with r  rows and c! columns, using square tiles. If r and c are 2 both nonnegative, the resulting grid will have r*c tiles. Otherwise, J the resulting grid will be empty and the list of indices will be null.  s> returns a grid of hexagonal shape, with -- sides of length 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 empty and the list of indices will be null.  r c# returns a grid in the shape of a  parallelogram with r rows and c% columns, using hexagonal tiles. If  r and c4 are both nonnegative, the resulting grid will have r*c tiles. M Otherwise, the resulting grid will be empty and the list of indices will  be null. "  !     !portable experimentalamy@nualeargais.ie Safe-Infered  "      !"#$%grid-1.0Math.Geometry.GridInternalMath.Geometry.Grid ParaHexGrid HexHexGrid TorSquareGridRectSquareGrid ParaTriGrid TriTriGridGridindicesdistancesize neighboursinGrid viewpoint tileCountemptynonEmpty triTriGrid paraTriGridrectSquareGrid torSquareGrid hexHexGrid paraHexGrid$fGridParaHexGrid(,)(,)$fShowParaHexGrid$fGridHexHexGridInt(,)$fShowHexHexGrid$fGridTorSquareGrid(,)(,)$fShowTorSquareGrid$fGridRectSquareGrid(,)(,)$fShowRectSquareGrid$fGridParaTriGrid(,)(,)$fShowParaTriGrid$fGridTriTriGridInt(,)$fShowTriTriGrid