Class RectFEV
public static class RectFEV
- Inheritance
-
RectFEV
- Inherited Members
Methods
AverageDistance(IEnumerable<GridPoint2>, Wall)
public static float AverageDistance(IEnumerable<GridPoint2> path, RectFEV.Wall wall)
Parameters
pathIEnumerable<GridPoint2>wallRectFEV.Wall
Returns
ContainsEdge(IImplicitShape<GridPoint2>, GridPoint2)
public static bool ContainsEdge(IImplicitShape<GridPoint2> faceShape, GridPoint2 edgeInEdgeSpace)
Parameters
faceShapeIImplicitShape<GridPoint2>edgeInEdgeSpaceGridPoint2
Returns
ContainsFEV(IImplicitShape<GridPoint2>, GridPoint2)
public static bool ContainsFEV(IImplicitShape<GridPoint2> faceShape, GridPoint2 fevInFEVSpace)
Parameters
faceShapeIImplicitShape<GridPoint2>fevInFEVSpaceGridPoint2
Returns
ContainsVertex(IImplicitShape<GridPoint2>, GridPoint2)
public static bool ContainsVertex(IImplicitShape<GridPoint2> faceShape, GridPoint2 vertexInVertexSpace)
Parameters
faceShapeIImplicitShape<GridPoint2>vertexInVertexSpaceGridPoint2
Returns
ContinueMaze(IGrid<GridPoint2, MazeType>, Symmetry)
Continue Maze process a maze and and creates the paths between unconnected sets if any potential one is found.
public static void ContinueMaze(IGrid<GridPoint2, RectFEV.MazeType> maze, RectFEV.Symmetry symmetry)
Parameters
EdgeBetween(GridPoint2, GridPoint2)
public static Vector2 EdgeBetween(GridPoint2 point1, GridPoint2 point2)
Parameters
point1GridPoint2point2GridPoint2
Returns
EdgeShape(IExplicitShape<GridPoint2>)
public static IExplicitShape<GridPoint2> EdgeShape(this IExplicitShape<GridPoint2> faceShape)
Parameters
faceShapeIExplicitShape<GridPoint2>
Returns
EdgeToFace(Vector2)
public static Vector2 EdgeToFace(Vector2 point)
Parameters
pointVector2
Returns
EdgeTowards(GridPoint2, GridPoint2)
public static Vector2 EdgeTowards(GridPoint2 point, GridPoint2 direction)
Parameters
pointGridPoint2directionGridPoint2
Returns
EdgesOfFace(Vector2)
public static Vector2[] EdgesOfFace(Vector2 faceInFaceSpace)
Parameters
faceInFaceSpaceVector2
Returns
- Vector2[]
FEVShape(IExplicitShape<GridPoint2>)
public static IExplicitShape<GridPoint2> FEVShape(this IExplicitShape<GridPoint2> faceShape)
Parameters
faceShapeIExplicitShape<GridPoint2>
Returns
FEVToFace(Vector2)
public static Vector2 FEVToFace(Vector2 point)
Parameters
pointVector2
Returns
FEVsOfFace(Vector2)
public static Vector2[] FEVsOfFace(Vector2 faceInFaceSpace)
Parameters
faceInFaceSpaceVector2
Returns
- Vector2[]
FaceToEdge(Vector2)
public static Vector2 FaceToEdge(Vector2 point)
Parameters
pointVector2
Returns
FaceToEdgeMap()
public static IMap<Vector2, Vector2> FaceToEdgeMap()
Returns
FaceToFEV(Vector2)
public static Vector2 FaceToFEV(Vector2 point)
Parameters
pointVector2
Returns
FaceToFEVMap()
public static IMap<Vector2, Vector2> FaceToFEVMap()
Returns
FaceToVertex(Vector2)
public static Vector2 FaceToVertex(Vector2 face)
Parameters
faceVector2
Returns
FaceToVertexMap()
public static IMap<Vector2, Vector2> FaceToVertexMap()
Returns
FacesOfEdge(Vector2)
public static Vector2[] FacesOfEdge(Vector2 edgeInFaceSpace)
Parameters
edgeInFaceSpaceVector2
Returns
- Vector2[]
FacesOfFEV(Vector2)
public static Vector2[] FacesOfFEV(Vector2 fev)
Parameters
fevVector2
Returns
- Vector2[]
FacesOfVertex(Vector2)
public static Vector2[] FacesOfVertex(Vector2 vertexInFaceSpace)
Parameters
vertexInFaceSpaceVector2
Returns
- Vector2[]
GenerateMaze(IExplicitShape<GridPoint2>, Symmetry)
Generate Maze generates a maze on a grid using a symmetry mode.
public static IGrid<GridPoint2, RectFEV.MazeType> GenerateMaze(IExplicitShape<GridPoint2> fevGrid, RectFEV.Symmetry symmetry)
Parameters
fevGridIExplicitShape<GridPoint2>symmetryRectFEV.Symmetry
Returns
GenerateMaze3<TCell>(IGrid<GridPoint2, TCell>)
public static IGrid<GridPoint2, bool> GenerateMaze3<TCell>(IGrid<GridPoint2, TCell> fevGrid)
Parameters
fevGridIGrid<GridPoint2, TCell>
Returns
Type Parameters
TCell
GenerateMaze5<TCell>(IGrid<GridPoint2, TCell>)
public static IGrid<GridPoint2, bool> GenerateMaze5<TCell>(IGrid<GridPoint2, TCell> fevGrid)
Parameters
fevGridIGrid<GridPoint2, TCell>
Returns
Type Parameters
TCell
GenerateMaze9<TCell>(IGrid<GridPoint2, TCell>)
public static IGrid<GridPoint2, bool> GenerateMaze9<TCell>(IGrid<GridPoint2, TCell> fevGrid)
Parameters
fevGridIGrid<GridPoint2, TCell>
Returns
Type Parameters
TCell
GenerateMaze9b<TCell>(IGrid<GridPoint2, TCell>)
public static IGrid<GridPoint2, bool> GenerateMaze9b<TCell>(IGrid<GridPoint2, TCell> fevGrid)
Parameters
fevGridIGrid<GridPoint2, TCell>
Returns
Type Parameters
TCell
GenerateMaze9c<TCell>(IGrid<GridPoint2, TCell>)
public static IGrid<GridPoint2, bool> GenerateMaze9c<TCell>(IGrid<GridPoint2, TCell> fevGrid)
Parameters
fevGridIGrid<GridPoint2, TCell>
Returns
Type Parameters
TCell
GenerateMaze_Reference<TCell>(IGrid<GridPoint2, TCell>, Symmetry)
public static IGrid<GridPoint2, bool> GenerateMaze_Reference<TCell>(IGrid<GridPoint2, TCell> fevGrid, RectFEV.Symmetry symmetry)
Parameters
fevGridIGrid<GridPoint2, TCell>symmetryRectFEV.Symmetry
Returns
Type Parameters
TCell
GenerateMaze<TCell>(IGrid<GridPoint2, TCell>, Func<GridPoint2, int>, Wall[], GridPoint2[][])
public static IGrid<GridPoint2, bool> GenerateMaze<TCell>(IGrid<GridPoint2, TCell> fevGrid, Func<GridPoint2, int> getColoring, RectFEV.Wall[] wallDirections, GridPoint2[][] faceDirections)
Parameters
fevGridIGrid<GridPoint2, TCell>getColoringFunc<GridPoint2, int>wallDirectionsWall[]faceDirectionsGridPoint2[][]
Returns
Type Parameters
TCell
Get1234Coloring(GridPoint2)
public static int Get1234Coloring(GridPoint2 point)
Parameters
pointGridPoint2
Returns
Get5Coloring(GridPoint2)
public static int Get5Coloring(GridPoint2 point)
Parameters
pointGridPoint2
Returns
Get9Coloring(GridPoint2)
public static int Get9Coloring(GridPoint2 point)
Parameters
pointGridPoint2
Returns
Get9bColoring(GridPoint2)
public static int Get9bColoring(GridPoint2 point)
Parameters
pointGridPoint2
Returns
Get9cColoring(GridPoint2)
public static int Get9cColoring(GridPoint2 point)
Parameters
pointGridPoint2
Returns
GetCheckboardColoring(GridPoint2)
public static int GetCheckboardColoring(GridPoint2 point)
Parameters
pointGridPoint2
Returns
GetType(GridPoint2)
public static RectFEV.FEVType GetType(GridPoint2 point)
Parameters
pointGridPoint2
Returns
IsRoom(GridPoint2)
public static bool IsRoom(GridPoint2 p)
Parameters
Returns
NthOrLast<T>(IEnumerable<T>, int)
public static T NthOrLast<T>(this IEnumerable<T> source, int n)
Parameters
sourceIEnumerable<T>nint
Returns
- T
Type Parameters
T
RandomItem<T>(IEnumerable<T>, float)
Returns a random element from a source.
public static T RandomItem<T>(this IEnumerable<T> source, float p)
Parameters
sourceIEnumerable<T>The list.
pfloat
Returns
- T
A item randomly selected from the source.
Type Parameters
TThe type of items generated from the source.
SampleRandom<T>(IEnumerable<T>)
public static IEnumerable<T> SampleRandom<T>(this IEnumerable<T> source)
Parameters
sourceIEnumerable<T>
Returns
- IEnumerable<T>
Type Parameters
T
VertexBetween(GridPoint2, GridPoint2)
public static Vector2 VertexBetween(GridPoint2 point1, GridPoint2 point2)
Parameters
point1GridPoint2point2GridPoint2
Returns
VertexShape(IExplicitShape<GridPoint2>)
public static IExplicitShape<GridPoint2> VertexShape(this IExplicitShape<GridPoint2> faceShape)
Parameters
faceShapeIExplicitShape<GridPoint2>
Returns
VertexToFace(Vector2)
public static Vector2 VertexToFace(Vector2 edge)
Parameters
edgeVector2
Returns
VertexTowards(GridPoint2, GridPoint2)
public static Vector2 VertexTowards(GridPoint2 point1, GridPoint2 direction)
Parameters
point1GridPoint2directionGridPoint2
Returns
VerticesOfFace(Vector2)
public static Vector2[] VerticesOfFace(Vector2 faceInFaceSpace)
Parameters
faceInFaceSpaceVector2
Returns
- Vector2[]