Click or drag to resize

Gamelogic.Grids Namespace

 
Classes
  ClassDescription
Public class__CellType
Place holder class.
Public class__CompilerHints
This class provides static methods that ensure all the code is generated by to AOT compiler for iOS. The easiest way to use it is to copy the appropriate methods to one of your classes, modify the __CellType type, and call the methods.
Public class__CompilerHintsGL
Compiler hints for our examples. Since 1.8
Public classAbstractMapTPoint
This class is suitable to use as base class for most maps. AbstractMap implements the IMap interface almost completely; you only have to implement to methods that correspond to the two calculations: converting from world to grid coordinates, and converting from grid to world coordinates.
Public classAbstractOpTShapeInfo
The base class for all shape operators.A shape operator provides a mechanism to construct grids in a certain shape.Shape operators are used with the shape info classes.
Public classAbstractShapeInfoTShapeInfo, TGrid, TPoint, TVectorPoint, TShapeOp
The base class of shape info classes
Public classAbstractSplicedGridTCell, TPoint, TBasePoint
A spliced grid represents a simple grid where all cells has been sliced in an equal numbers of cells. This class implements the common features of tri and rhomb grids. It is the most probable class to use to define your own grid.
Public classAbstractSplicedShapeInfoTShapeInfo, TGrid, TPoint, TVectorPoint, TShapeOp
This is the base class of all ShapeInfo classes for spliced grids.
Public classAbstractUniformGridTCell, TPoint
This is the base class for grids that are not spliced; in other words, grids that have identical cells, with identical orientation, and in which grid points behave as (integer) vectors.
Public classAbstractUniformGridObsoleteExtensions
This class provides extensions that implement obsolete methods.
Public classAlgorithms
This class provide generic functions for common grid operations, such as finding a shortest path or connected shapes.
Public classAnimatableMapTPoint
A map that changes over time.
Public classArchimedeanSpiralMap
A map that maps points of a LineGrid in an archimedean spiral.
Public classBlock
A tile that is represented by a simple 3D object (such as a cube), typically an object with a single mesh and material.
Public classCairoGridTCell
A CiaroGrid is a grid where all the cells are pentagons (so each cell has five neighbors). See http://en.wikipedia.org/wiki/Cairo_pentagonal_tiling.
Public classCairoMap
Maps between world points and CiaroPoints. This example shows how to implement a map for a grid with arbitrary polygons, using PolygonMap.
Public classCairoOpTCell
Class for making CairoGrids in different shapes. Copyright Gamelogic. Author Herman Tulleken Since version 1.0 See also AbstractOp
Public classCairoShapeInfoTCell
Provides the implementation for AbstractSplicedShapeInfo to be used with CairoGrid.
Public classCairoTileGridBuilder
Class for building a Cairo grid in the Unity editor. This component should(generally) not be accessed directly.Instead, add your own component that inherits from GridBebaviour, and access the grid and map through there.
Public classColorFunction
This is an inspectable presentation of a grid coloring, using three parameters as explained here: http://gamelogic.co.za/2013/12/18/what-are-grid-colorings/ The three values represent two corners of a parallelogram (x0, 0) and(xq, y1) that describe the patch to repeat for the coloring.
Public classCompoundMapTPoint
A maps that combines two maps through function composition.
Public classCustomGridBuilder
Inherit from this class to implement custom grid shapes. This class should return a grid.To have the grid builder used this grid, you should set the Shape to Custom in the editor, and attached this script to the same game object as the grid builder.
Public classCustomMap3DBuilder
Base class for 3D grid builders using a custom map.
Public classCustomMapBuilder
Inherit from this class to implement custom map for an grid builder. This class should return a map. To have the grid builder used this map, you should set the Map to Custom in the editor, and attach this script to the same game object as the grid builder.
Public classDiamondGridTCell
Represents a diamond grid. At its simplest, diamond grids are square grids that are rotated 45 degrees. By using suitable dimensions in the map, DiamondGrids can be used to implement isometric grids.
Public classDiamondHorizontalWrapper
Wraps points horizontally. Since version 1.7
Public classDiamondMap
Maps between grid points and world points.
Public classDiamondMeshGridBuilder
Builder for building diamond mesh grid.
Public classDiamondMeshMap
Map for diamond mesh grids.
Public classDiamondOpTCell
Documentation in Op.cs
Public classDiamondParallelogramWrapper
Wraps points both horizontally and vertically. Since version 1.7
Public classDiamondShapeInfoTCell
Provides the implementation for AbstractShapeInfo to be used with DiamondGrid.
Public classDiamondTileGridBuilder
Class for building a diamond grid in the Unity editor. This component should(generally) not be accessed directly.Instead, add your own component that inherits from GridBebaviour, and access the grid and map through there.
Public classDiamondVerticalWrapper
Wraps points vertically. Since version 1.7
Public classFlatBrickMap
A map that can be used with a PointyHexGrid to get a brick-wall pattern (rotated by 90 degrees). The cells are rectangular.
Public classFlatBrickMeshMap
Map for flat brick mesh grids.
Public classFlatHexGridTCell
A grid for flat hexagons, that is, hexagons with two horizontal edges.
Public classFlatHexHexagonWrapper
Since version 1.7
Public classFlatHexHorizontalWrapper
Wraps points horizontally. Since version 1.7
Public classFlatHexMap
The default Map to be used with a FlatHexGrid.
Public classFlatHexMeshGridBuilder
Builder for building flat hex mesh grid.
Public classFlatHexMeshMap
Map for flat hex mesh grids.
Public classFlatHexOpTCell
Documentation in Op.cs
Public classFlatHexParallelogramWrapper
Wraps points both horizontally and vertically. Since version 1.7
Public classFlatHexShapeInfoTCell
Provides the implementation for AbstractShapeInfo to be used with FlatHexGrid.
Public classFlatHexTileGridBuilder
Class for building a flat hex grid in the Unity editor. This builder can also make flat brick grids. This component should (generally) not be accessed directly.Instead, add your own component that inherits from GridBebaviour, and access the grid and map through there.
Public classFlatHexVerticalWrapper
Wraps points vertically. Since version 1.7
Public classFlatRhombGridTCell
A rhombille grid in the flat orientation, that is, there are rhombusses with horizontal edges.
Public classFlatRhombMap
The default map to be used with FlatRhombGrid.
Public classFlatRhombOpTCell
Documentation in Op.cs
Public classFlatRhombShapeInfoTCell
Provides the implementation for AbstractSplicedShapeInfo to be used with FlatRhombGrid.
Public classFlatRhombTileGridBuilder
Class for building a flat rhomb grid in the Unity editor. This component should(generally) not be accessed directly.Instead, add your own component that inherits from GridBebaviour, and access the grid and map through there.
Public classFlatTriGridTCell
A grid of triangles in the flat orientation. All triangles have one horizontal edge.
Public classFlatTriHexagonWrapper
A wrapper that wraps tri points over a hexagon, similar to the way hex points are wrapped in this example: http://www.redblobgames.com/grids/hexagons/ Since version 1.7
Public classFlatTriMap
The default map between world coordinates and FlatTri coordinates.
Public classFlatTriOpTCell
Documentation in Op.cs
Public classFlatTriShapeInfoTCell
Provides the implementation for AbstractSplicedShapeInfo to be used with FlatTriGrid.
Public classFlatTriTileGridBuilder
Class for building a flat tri grid in the Unity editor. This component should(generally) not be accessed directly.Instead, add your own component that inherits from GridBebaviour, and access the grid and map through there.
Public classGLGizmos
Provides methods for drawing Gizmos in for grids in the Unity editor.
Public classGridBehaviourTPoint
Extend from this class to hook in your own grid initialisation code. This is also a useful place for other logic that interacts with the grid(typically, your game logic). It has properties to access the grid and map. You cannot use this to customize the shape or map of the grid (instead, use CustomGridBuilder and CustomMapBuilder).
Public classGridBuilderTPoint
Base class for grid builders.
Public classGridBuilderUtils
Provides utility functions for grid builders. Renamed from GridBuilderUtil to GridBuilderUtils(1.8.1)
Public classGridExtensions
Defines extension methods for the IGrid interface. This is implemented as an extension so that implementers need not extend from a common base class, but provide it to their clients.
Public classIEnumerableExtensions
Extensions for IEnumerable.
Public classImageMapTPoint
Map that maps a grid to an image; useful for texturing a grid with a single image, or point an image with a grid.
Public classIMapObsoleteExtensions
This class provides extensions that implement obsolete methods. These methods will be removed in a future version of this library.
Public classCode exampleInspectableSplicedVectorPoint
This class provides is a mutable class that can be used to construct partial vector points. It is provided for use in Unity's inspector.
Public classCode exampleInspectableVectorPoint
This class provides is a mutable class that can be used to construct VectorPoints. It is provided for use in Unity's inspector.
Public classLayeredGridTCell, TPoint
A layered grid is a 3D grid made out of layers of 2D grids with the same point type. Each layer can have a different shape. Layered grids are accessed through LayeredPoints. Note that neighbors are not implemented for this grid.If you need to use neighbor relationships, you need to extend this class and configure neighbors. See also [A new look at layered grids: setting up neighbors](http://gamelogic.co.za/2014/05/24/a-new-look-at-layered-grids-setting-up-neighbors/).
Public classLineGridTCell
Represents a one dimensional grid; essentially an array that can work with maps. LinePoints are automatically convertible to integers.
Public classLineMap
The default map for a LineGrid, that maps points in a straight horizontal line.
Public classLineOpTCell
Public classLineShapeInfoTCell
Provides the implementation for AbstractShapeInfo to be used with LineGrid.
Public classLineTileGridBuilder
Class for building a line grid in the Unity editor. This component should(generally) not be accessed directly.Instead, add your own component that inherits from GridBebaviour, and access the grid and map through there.
Public classMap3DExtensions
Extensions for IMap3D.
Public classMap3DXYTPoint
The default maps for putting a grid in 3D space in the XY-plane.
Public classMap3DXZTPoint
The default maps for putting a grid in 3D space in the XZ-plane.
Public classMapAnimationExtensions
These functions are defined as extensions so that IMap can remain pure (that is, not access Time.time). These methods are implemented as extension methods so that they do not become part of the "pure" interface of IMap. (Time.time is a "non-pure", very Unity-specific feature).
Public classMapExtensions
Extensions for IMap.
Public classMathi Obsolete.
Contains methods for integer arithmetic that works consistently for both positive and negative integers.
Public classMeshCell
A cell that can be used in mesh grids. It contains information about the texture to use, and can be extended to contain other cell information.
Public classMeshGridBehaviourTPoint
Attach this component to Mesh Grid Builders to change the grid's behaviour.
Public classMeshGridBuilderTPoint
Base class for tile grid builders where grid is rendered as a single mesh.
Public classMeshMap
Contains various mesh maps used by builders.
Public classMeshTileCell
A cell represented by a mesh, such as used by the polar grids.
Public classMeshUtils
Provides methods for making specialised meshes that can be used with grids.
Public classNestedRectGridTCell
Represents a composite grid, where each cell contains a grid. Big points access the "big" cells(which contain grids). Small points access the cells of the grids in the big cells. The grid can also be accessed with "normal" points.For example: suppose the grid is a 3x3 grid, where each cell is a 2x2 grid. Then the "normal" point[7, 2] corresponds to "big" point[3, 1] and "small" point[1, 1].
Public classPointComparerTPoint
Use this class in constructors of HashSets and Dictionaries that take point types(such as PointyHexPoint) as keys.
Public classPointListTPoint
An implementation of IList for grid points that is safe to use with the AOT compiler.
Public classPointListMap
A one-way map map that maps a sequence of LinePoints to an arbitrary list of world points.
Public classPointListTileGridBuilder
Class for building a point list grid in the Unity editor. This component should(generally) not be accessed directly.Instead, add your own component that inherits from GridBebaviour, and access the grid and map through there.
Public classPointStackTPoint
An implementation of a stack for grid points that is safe to use with the AOT compiler.
Public classPointyBrickMap
A map that can be used with a PointyHexGrid to get a brick-wall pattern. The cells are rectangular.
Public classPointyBrickMeshMap
Map for pointy brick mesh grids.
Public classPointyHexGridTCell
A grid for pointy hexagons, that is, hexagons with two vertical edges.
Public classPointyHexHexagonWrapper
Since version 1.7
Public classPointyHexHorizontalRectangleWrapper
This wrapper wraps pointy hex points horizontally.
Public classPointyHexHorizontalWrapper
Wraps points horizontally. Since version 1.7
Public classPointyHexMap
The default Map to be used with a PointyHexGrid.
Public classPointyHexMeshGridBuilder
Builder for building flat hex mesh grid.
Public classPointyHexMeshMap
Map for pointy hex mesh grids.
Public classPointyHexOpTCell
Documentation in Op.cs
Public classPointyHexParallelogramWrapper
Wraps points both horizontally and vertically. Since version 1.7
Public classPointyHexShapeInfoTCell
Provides the implementation for AbstractShapeInfo to be used with PointyHexGrid.
Public classPointyHexTileGridBuilder
Class for building a pointy hex grid in the Unity editor. This builder can also make pointy brick grids. This component should (generally) not be accessed directly.Instead, add your own component that inherits from GridBebaviour, and access the grid and map through there.
Public classPointyHexVerticalWrapper
Wraps points vertically. Since version 1.7
Public classPointyRhombGridTCell
A rhombille grid in the pointy orientation, that is, there are rhombusses with vertical edges.
Public classPointyRhombMap
The default maps that works with PointyRhombGrids.
Public classPointyRhombOpTCell
Documentation in Op.cs
Public classPointyRhombShapeInfoTCell
Provides the implementation for AbstractSplicedShapeInfo to be used with PointyRhombGrid.
Public classPointyRhombTileGridBuilder
Class for building a pointy rhomb grid in the Unity editor. This component should(generally) not be accessed directly.Instead, add your own component that inherits from GridBebaviour, and access the grid and map through there.
Public classPointyTriGridTCell
A grid of triangles in the pointy orientation. All triangles have one vertical edge.
Public classPointyTriHexagonWrapper
A wrapper that wraps tri points over a hexagon, similar to the way hex points are wrapped in this example: http://www.redblobgames.com/grids/hexagons/ Since version 1.7
Public classPointyTriMap
The default map between world coordinates and PointyTri coordinates.
Public classPointyTriOpTCell
Documentation in Op.cs
Public classPointyTriShapeInfoTCell
Provides the implementation for AbstractSplicedShapeInfo to be used with PointyTriGrid.
Public classPointyTriTileGridBuilder
Class for building a pointy tri grid in the Unity editor. This component should(generally) not be accessed directly.Instead, add your own component that inherits from GridBebaviour, and access the grid and map through there.
Public classPoissonDisk
Used to generate Poisson disk sample points.
Public classPoissonDiskProperties
Class for holding properties for generating a Poisson disk sample set.
Public classCode examplePolarFlatBrickMap
This map can be used with a horizontally wrapped FlatHexGrid. For now, alignment does not work as with the other maps.
Public classPolarFlatBrickTileGridBuilder
Class for building a polar flat brick grid in the Unity editor. This component should(generally) not be accessed directly.Instead, add your own component that inherits from GridBebaviour, and access the grid and map through there.
Public classPolarGridProperties
A class for storing properties to setup a polar grid.
Public classCode examplePolarPointyBrickMap
This map can be used with a horizontally wrapped PointyHexGrid. For now, alignment does not work as with the other maps.
Public classPolarPointyBrickTileGridBuilder
Class for building a polar pointy brick grid in the Unity editor. This component should(generally) not be accessed directly.Instead, add your own component that inherits from GridBebaviour, and access the grid and map through there.
Public classCode examplePolarRectMap
This map can be used with a horizontally wrapped RectGrid. For now, alignment does not work as with the other maps.
Public classPolarRectTileGridBuilder
Class for building a polar rect grid in the Unity editor. This component should(generally) not be accessed directly.Instead, add your own component that inherits from GridBebaviour, and access the grid and map through there.
Public classPolarTileGridBuilderTPoint
Base class for polar tile grid builders.
Public classPolygonGridMapTPoint, TBasePoint
A map that can be used for general spliced grids made from polygons. To use this map: - Find a rectangular tessellation for your grid. - This rectangle will consist out of several polygons, each which represents a (partial) cell of your grid. - One of these polygons should correspond to the splice point (0, 0, 0). - Find the center of this polygon relative to the rectangle in normalized coordinates, that is, so that the entire rectangle corresponds to (0, 0) -> (1, 1). - Label the polygons 0, 1, 2, ... etc. - Find the vertices of each polygon in normalized coordinates. - Now calculate the spliced vector point offsets for each polygon, relative to the (0, 0, 0) polygon, in normalized coordinates.
Public classRectGridTCell
Represents a rectangular grid.
Public classRectHorizontalWrapper
Wraps points horizontally. Since version 1.7
Public classRectMap
Maps between RectPoints grid points and Vector2 world points.
Public classRectMeshGridBuilder
Builder for building flat hex mesh grid.
Public classRectMeshMap
Map for rect mesh grids.
Public classRectOpTCell
Documentation in Op.cs
Public classRectParallelogramWrapper
Wraps points both horizontally and vertically. Since version 1.7
Public classRectShapeInfoTCell
Provides the implementation for AbstractShapeInfo to be used with RectGrid.
Public classRectTileGridBuilder
Class for building a rectangular grid in the Unity editor. This component should(generally) not be accessed directly.Instead, add your own component that inherits from GridBebaviour, and access the grid and map through there.
Public classRectVerticalWrapper
Wraps points vertically. Since version 1.7
Public classSerializableRect
Class used for keeping the proeprties of a rectangle.
Public classShapeTPoint
Class that represents a grid shape.
Public classShapeMethodAttribute
Methods in an Op (sublcasses of AbstractOp) marked with this attribute are automatically added as static methods to the appropriate grid class for convenience.
Public classShapeStorageInfoTPoint
This class handles how the cells of a grid is represented in memeory. This class is used by shape info classes.
Public classSimpleLayeredMapTPoint
A simple map that can be used for Layered Grids.
Public classSplicedGridTCell, TBasePoint
A SplicedGrid is a grid formed from another grid, where each cell is "spliced" in a certain number of cells. For example, a triangular grid can be implemented as a diamond grid where each diamond cell is spliced into two triangles.
Public classSplicedMapTBasePoint
A one-way map that can be used to make maps for arbitrary spliced grids, where each point is mapped to the base point location, plus an offset, where each index has a different offset. For example, if the spliced grid is a diamond grid, with each cell spliced into a top and bottom triangle, then the two offsets will be above and below the origin (for example, (0, 1) and(0, -1)).
Public classSpriteCell
A tile cell that uses a Unity sprite to render.
Public classTextureCell Obsolete.
Similar to a sprite cell, but with custom UV coordinates. This type of cell is useful when placing a single texture across multiple cells.
Public classTileCell
A TileCell is a cell that is represented by a single Unity object. They can be anything, including Sprites, Models, or compound objects, as long as they can be instantiated, and each corresponds to exactly one cell in a grid.They are used with TileGrid builders.
Public classTileGridBuilderTPoint
Base class for tile grid builders where all the tiles are the same.
Public classUIImageCell
This component represents a cell that can be used with Unity's GUI system, using an Image compoenent to render the cell. It expects an Image component in the hierarchy (on the same game object or a child). To use it with grid builders: Make a new cell prefab with this component Add the grid builder to the canvas or to some child of the canvas Set the cell prefab proeprty oof the grid builder to the new prefab. Grids ships with a few example prefabs that uses UIImageCells; check them out to see how they work.
Public classUIImageTextCell
This is the same as UIImageCell, except that it supports a text component as well. This class is also suitable to use with Unity's Buttons (since they are rendered with Image and Text components). In addition to the Image component that is expected down the hierarchy, this component also expects a Text component down the hierarchy (on this object or a child).
Public classUITextCell
This component represents a cell that can be used with Unity's GUI system, using a Text component to render the cell. It expects a Text component in the hierarchy (on the same game object or a child). To use it with grid builders: Make a new cell prefab with this component Add the grid builder to the canvas or to some child of the canvas Set the cell prefab property oof the grid builder to the new prefab. Grids ships with a few example prefabs that uses UITextCells; check them out to see how they work.
Public classUVCell
Similar to a sprite cell, but with custom UV coordinates. This type of cell is useful when placing a single texture across multiple cells.
Public classVector2Extensions
Extension methods for Vector2.
Public classVector2Transforms
Provides extension methods for transforming Vector2 instances.
Public classVoronoiMapTPoint
A map that uses a Voronoi diagram to map points.
Public classWindowedMapTPoint
A WindowedMap maps grid points relative to a window (a rectangle in world space) and provides methods that makes alignment with respect to this window simple.
Public classWindowedMapObsoleteExtensions
This class provides extensions that implement obsolete methods. These methods will be removed in a future version of this library.
Public classWrappedGridTCell, TPoint
A general implementation of Wrapped grids, that use arbitrary internal grids and point wrappers. A "true point" of a wrapped grid is a point that stays the same after the wrapping. - Contains returns true only for true points. - GetAllNeighbors return true points (that is, the neighbors are already wrapped) - the index operator takes all points, and wrap them before access - Iterators iterate over true points
Structures
  StructureDescription
Public structureArrayPoint
This class is used for accessing 2D arrays. It is mainly used as a convenient wrapper for returning results of coordinate calculations.
Public structureCairoPoint
A coordinate for a cell in a CiaroGrid. The base point is a pointy hex point, and indices run from 0 to 3.
Public structureDiamondPoint
Class that represents a points of a DiamondGrid.
Public structureFlatHexPoint
A point of a hexagonal grid, where the hexagons have two horizontal edges.
Public structureFlatRhombPoint
A struct that represents a point of a FlatRhombGrid.
Public structureFlatTriPoint
A struct that represents a point of a FlatTriGrid.
Public structureIntRect
A rectangle where coordinates are non-negative integers (that is, the corners are ArrayPoints). This class is useful for implementing storage operations for shapes.
Public structureLayeredPointTPoint
A point that represent cells in a LayeredGrid.
Public structureLinePoint
Represents 1D grid points. These are auto-convertible to integers, making it possible to write, for example, `grid[6]` instead of `grid[new LinePoint(6)]`.
Public structurePair
Struct for representing a pair of integers.
Public structurePointyHexPoint
Represents coordinates of the faces in a regular hexagonal lattice.The hexagons have the Pointy orientation.
Public structurePointyRhombPoint
A struct that represents a point of a PointyRhombPoint.
Public structurePointyTriPoint
A struct that represents a point of a PointyTriGrid.
Public structureRectPoint
The point to be used with rectangular grids.
Public structureSplicedPointTBasePoint
A point that can be use that access a generic SplicedGrid. It has two components, a base point (which is another grid point), and a splice index. Note that for these points to be truly immutable, the base point on which they are based must also be immutable.
Public structureVectorPoint
A VectorPoint behaves like a vector, except that it's coordinates are integers.
Interfaces
  InterfaceDescription
Public interfaceICell
A common interface for all cells. This class does not specify any methods, but is used to identify cells so they can be handled in a special way by the editor.
Public interfaceIColorableCell
Represents a cell whose color can be set.
Public interfaceIEdgeTPoint
A point type implements this interface if that point type can be the edge grid of TPoint. For example, FlatRhombPoints are the points of the edge grid for FlatHexPoints, and hence FlatRombPoint implements "IEdge<FlatHexPoint>." (This class replaces IEdgeAnchor).
Public interfaceIEvenGridTCell, TPoint, TBasePoint
A grid where cells have an even number of neighbors. In an even grid each neighbor has an opposite neighbor.
Public interfaceIGLScriptableObject
Classes that can be edited in the inspector using a custum editor should implement this interface to allow the editor to update the presentation when necessary.
Public interfaceIGridTPoint
A grid interface that is not generic in the cell type. This is useful if you do not care about the cell type, and for implementing casting of grid contents.
Public interfaceIGridTCell, TPoint
The base class of all types of grids. Grids are similar to 2D arrays.Elements in the grid are called _cells_.Grids support random access to cells through grid points(IGridPoint), using square bracket syntax. Cell cell = squareGrid[squarePoint]; Most grids support enumeration of points, making it possible to use[LINQ](http://msdn.microsoft.com/en-us/library/bb397926.aspx) on grids as well. foreach(var point in grid) doSomethingWithCell(grid[point]); var pointsThatSatsifyPointPredicate = grid.Where(pointPredicate); General algorithms are provided in Algorithms. If you want to implement your own grid, you can implement th is interface to have your grid work with many grid algorithms.
Public interfaceIGridBuilderBase
A common interface implemented by all grid builders to allow identification by type.
Public interfaceIGridPoint
Non generic interface for grid points.
Public interfaceIGridPointTPoint
Represents a "point" that is used to access a cell in a Grid. For built-in 2D grids, these points are often 2D integer vectors, or spliced vectors, and hence they implement additional interfaces such as IVectorPoint, ISplicedPoint, andISplicedVectorPoint.These points supports arithmetic, [colorings](http://gamelogic.co.za/2013/12/18/what-are-grid-colorings/), and some other geometric operations. In general, points do not "know" their neighbors.Use the grid methods IGrid<TCell, TPoint>.GetNeighbors and IGrid<TCell, TPoint>.GetAllNeighbors to make queries about a point's neighbors. GridPoint base classes must be immutable for many of the algorithms to work correctly.In particular, GridPoints are used as keys in dictionaries and sets. It is also a good idea to overload the `==` and `!=` operators.
Public interfaceIGridSpaceTPoint
A grid space is an object that can determine whether a point is inside it our not. Unlike grids, it does not contain data, and therefore there is no data at points.
Public interfaceIGridToWorldMapTPoint
A one-way map that converts grid points to worls points. One-way maps are useful for maps that can automatically invert the map, such as VoronoiMap.
Public interfaceIMapTPoint
An IMap maps 2D world coordinates to Grid coordinates and vice versa. Most of the methods of this class are meant to be chained to the constructor.The last command in the chain is suaully a conversion to IMap3D, which converts the 2D coordinates to 3D for use in the game engine. The order of chained calls sometimes make a difference. The standard order is this: - set grid point transforms - set cell anchoring - set world transforms (such as translate, rotate) - do layout (using WithWindow) - convert to 3D Transformations only apply to the world points returned and processed by the map, the grid contents is not transformed. For example, applying scale to the map, will not scale the cells physically, in the sense that if the grid contains GameObjects, cells will remain the same size. The cells will be logically bigger, so they will appear further apart from each other. Built-in 2D grids generally have associated built-in maps.See the [Grid Index](http://gamelogic.co.za/grids/quick-start-tutorial/grid-index/) for the list. You can also provide your own maps, either as implementations of IMap, or IMap3D.
Public interfaceIMap3DTPoint
An IMap maps 3D world coordinates to Grid coordinates and vice versa. Many grids provide 2D maps, which can be converted to standard 3D maps using commands such as To3DXY. You can also provide your own maps, either as implementations of IMap, or IMap3D.
Public interfaceIMeshMapTPoint
Interface for maps for mesh grids.
Public interfaceIPointWrapperTPoint
Provides a function for wrapping points that is used by wrapped grids. Since many such functions require lookup tables, it's more suitable to provide it as a class than providing it as a delagate.
Public interfaceIPolarMapTPoint
An interface for polar maps that make it easier to build meshes for them.
Public interfaceIShapeTPoint
Interface for grid shapes.
Public interfaceIShapeInfoTShapeInfo, TGrid, TPoint, TVectorPoint, TShapeOp
All Shape Info classes should implement this interface. This provides basic transformations and set operations to combine shape info instances.
Public interfaceISplicedPointTPoint, TBasePoint
Interface for working with compound points. Spliced points are used for periodic grids where not all faces are identical(see AbstractSplicedGrid). Every spliced grid can be seen as a uniform regular grid, where each cell has been divided.Therefore, a spliced point consists of a coordinate on the base grid, and an index denoting the particular cell.
Public interfaceISplicedVectorPointTPoint, TVectorPoint
A partial vector point is a point that can be translated by "adding" a vector point. Partial vectors can be seen as a pair, one of which is a vector(of type TVectorPoint). All the operations actually operate on the vector of this pair. Partial vector points are used in SplicedGrids, where the second of the pair is an index that denotes the sub-cell.For example, for a tri point, the vector is a hex point, and the index denotes whether the point refers to the up or down triangle.
Public interfaceISupportsEdgeGridTPoint
Indicates that a grid supports an edge grid.
Public interfaceISupportsEdgesTVertexPoint
Used to indicated that grids of this point type can support edge grids. Replaces ISupportsEdgeGrid that is now applied to grids, not Interface
Public interfaceISupportsVertexGridTPoint
Indicates that a grid supports an vertex grid.
Public interfaceISupportsVerticesTVertexPoint
Used to indicate hat grids of this point type can support vertex grids. Replaces ISupportsVertexGrid that is now aplied to grids and not points.
Public interfaceITileGridTPoint
An interface that all tile grid builder implement. This gives common hooks that are used by the grid editors.
Public interfaceIVectorGridTCell, TPoint, TBasePoint
IVectorGrids are build on (spliced) vector points. They are regular and uniform.
Public interfaceIVectorPointTPoint
A VectorPoint is a point that is also an algebraic vector.
Public interfaceIVertexTPoint
This point type is the type of vertex anchor point of the type parmater. The vertex anchor is the point from which all the vertices are calculated. For example, if TriPoint implements ISupportsVertexGrid<HexPoint>, then HexPoint will implement IVertex<TriPoint>. (This class replaces IVertexAnchor).
Enumerations
  EnumerationDescription
Public enumerationCairoTileGridBuilderMapType
Public enumerationCairoTileGridBuilderShape
Public enumerationDiamondMeshGridBuilderMapType
Public enumerationDiamondMeshGridBuilderShape
Public enumerationDiamondTileGridBuilderMapType
Public enumerationDiamondTileGridBuilderShape
Public enumerationFlatHexMeshGridBuilderMapType
Public enumerationFlatHexMeshGridBuilderShape
Public enumerationFlatHexTileGridBuilderMapType
Public enumerationFlatHexTileGridBuilderShape
Public enumerationFlatRhombTileGridBuilderMapType
Public enumerationFlatRhombTileGridBuilderShape
Public enumerationFlatTriTileGridBuilderMapType
Public enumerationFlatTriTileGridBuilderShape
Public enumerationLineTileGridBuilderMapType
Public enumerationLineTileGridBuilderShape
Public enumerationMapAlignment
Public enumerationMapPlane
An enumeration of the two basic types of 2D planes (in 3D space) used in the library.
Public enumerationPointListTileGridBuilderMapType
Public enumerationPointListTileGridBuilderShape
Public enumerationPointyHexMeshGridBuilderMapType
Public enumerationPointyHexMeshGridBuilderShape
Public enumerationPointyHexTileGridBuilderMapType
Public enumerationPointyHexTileGridBuilderShape
Public enumerationPointyRhombTileGridBuilderMapType
Public enumerationPointyRhombTileGridBuilderShape
Public enumerationPointyTriTileGridBuilderMapType
Public enumerationPointyTriTileGridBuilderShape
Public enumerationPolarFlatBrickTileGridBuilderMapType
Public enumerationPolarFlatBrickTileGridBuilderShape
Public enumerationPolarPointyBrickTileGridBuilderMapType
Public enumerationPolarPointyBrickTileGridBuilderShape
Public enumerationPolarRectTileGridBuilderMapType
Public enumerationPolarRectTileGridBuilderShape
Public enumerationRectMeshGridBuilderMapType
Public enumerationRectMeshGridBuilderShape
Public enumerationRectNeighborType
Public enumerationRectTileGridBuilderMapType
Public enumerationRectTileGridBuilderShape
Public enumerationUpdateType