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
path
IEnumerable<GridPoint2>wall
RectFEV.Wall
Returns
ContainsEdge(IImplicitShape<GridPoint2>, GridPoint2)
public static bool ContainsEdge(IImplicitShape<GridPoint2> faceShape, GridPoint2 edgeInEdgeSpace)
Parameters
faceShape
IImplicitShape<GridPoint2>edgeInEdgeSpace
GridPoint2
Returns
ContainsFEV(IImplicitShape<GridPoint2>, GridPoint2)
public static bool ContainsFEV(IImplicitShape<GridPoint2> faceShape, GridPoint2 fevInFEVSpace)
Parameters
faceShape
IImplicitShape<GridPoint2>fevInFEVSpace
GridPoint2
Returns
ContainsVertex(IImplicitShape<GridPoint2>, GridPoint2)
public static bool ContainsVertex(IImplicitShape<GridPoint2> faceShape, GridPoint2 vertexInVertexSpace)
Parameters
faceShape
IImplicitShape<GridPoint2>vertexInVertexSpace
GridPoint2
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
point1
GridPoint2point2
GridPoint2
Returns
EdgeShape(IExplicitShape<GridPoint2>)
public static IExplicitShape<GridPoint2> EdgeShape(this IExplicitShape<GridPoint2> faceShape)
Parameters
faceShape
IExplicitShape<GridPoint2>
Returns
EdgeToFace(Vector2)
public static Vector2 EdgeToFace(Vector2 point)
Parameters
point
Vector2
Returns
EdgeTowards(GridPoint2, GridPoint2)
public static Vector2 EdgeTowards(GridPoint2 point, GridPoint2 direction)
Parameters
point
GridPoint2direction
GridPoint2
Returns
EdgesOfFace(Vector2)
public static Vector2[] EdgesOfFace(Vector2 faceInFaceSpace)
Parameters
faceInFaceSpace
Vector2
Returns
- Vector2[]
FEVShape(IExplicitShape<GridPoint2>)
public static IExplicitShape<GridPoint2> FEVShape(this IExplicitShape<GridPoint2> faceShape)
Parameters
faceShape
IExplicitShape<GridPoint2>
Returns
FEVToFace(Vector2)
public static Vector2 FEVToFace(Vector2 point)
Parameters
point
Vector2
Returns
FEVsOfFace(Vector2)
public static Vector2[] FEVsOfFace(Vector2 faceInFaceSpace)
Parameters
faceInFaceSpace
Vector2
Returns
- Vector2[]
FaceToEdge(Vector2)
public static Vector2 FaceToEdge(Vector2 point)
Parameters
point
Vector2
Returns
FaceToEdgeMap()
public static IMap<Vector2, Vector2> FaceToEdgeMap()
Returns
FaceToFEV(Vector2)
public static Vector2 FaceToFEV(Vector2 point)
Parameters
point
Vector2
Returns
FaceToFEVMap()
public static IMap<Vector2, Vector2> FaceToFEVMap()
Returns
FaceToVertex(Vector2)
public static Vector2 FaceToVertex(Vector2 face)
Parameters
face
Vector2
Returns
FaceToVertexMap()
public static IMap<Vector2, Vector2> FaceToVertexMap()
Returns
FacesOfEdge(Vector2)
public static Vector2[] FacesOfEdge(Vector2 edgeInFaceSpace)
Parameters
edgeInFaceSpace
Vector2
Returns
- Vector2[]
FacesOfFEV(Vector2)
public static Vector2[] FacesOfFEV(Vector2 fev)
Parameters
fev
Vector2
Returns
- Vector2[]
FacesOfVertex(Vector2)
public static Vector2[] FacesOfVertex(Vector2 vertexInFaceSpace)
Parameters
vertexInFaceSpace
Vector2
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
fevGrid
IExplicitShape<GridPoint2>symmetry
RectFEV.Symmetry
Returns
GenerateMaze3<TCell>(IGrid<GridPoint2, TCell>)
public static IGrid<GridPoint2, bool> GenerateMaze3<TCell>(IGrid<GridPoint2, TCell> fevGrid)
Parameters
fevGrid
IGrid<GridPoint2, TCell>
Returns
Type Parameters
TCell
GenerateMaze5<TCell>(IGrid<GridPoint2, TCell>)
public static IGrid<GridPoint2, bool> GenerateMaze5<TCell>(IGrid<GridPoint2, TCell> fevGrid)
Parameters
fevGrid
IGrid<GridPoint2, TCell>
Returns
Type Parameters
TCell
GenerateMaze9<TCell>(IGrid<GridPoint2, TCell>)
public static IGrid<GridPoint2, bool> GenerateMaze9<TCell>(IGrid<GridPoint2, TCell> fevGrid)
Parameters
fevGrid
IGrid<GridPoint2, TCell>
Returns
Type Parameters
TCell
GenerateMaze9b<TCell>(IGrid<GridPoint2, TCell>)
public static IGrid<GridPoint2, bool> GenerateMaze9b<TCell>(IGrid<GridPoint2, TCell> fevGrid)
Parameters
fevGrid
IGrid<GridPoint2, TCell>
Returns
Type Parameters
TCell
GenerateMaze9c<TCell>(IGrid<GridPoint2, TCell>)
public static IGrid<GridPoint2, bool> GenerateMaze9c<TCell>(IGrid<GridPoint2, TCell> fevGrid)
Parameters
fevGrid
IGrid<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
fevGrid
IGrid<GridPoint2, TCell>symmetry
RectFEV.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
fevGrid
IGrid<GridPoint2, TCell>getColoring
Func<GridPoint2, int>wallDirections
Wall[]faceDirections
GridPoint2[][]
Returns
Type Parameters
TCell
Get1234Coloring(GridPoint2)
public static int Get1234Coloring(GridPoint2 point)
Parameters
point
GridPoint2
Returns
Get5Coloring(GridPoint2)
public static int Get5Coloring(GridPoint2 point)
Parameters
point
GridPoint2
Returns
Get9Coloring(GridPoint2)
public static int Get9Coloring(GridPoint2 point)
Parameters
point
GridPoint2
Returns
Get9bColoring(GridPoint2)
public static int Get9bColoring(GridPoint2 point)
Parameters
point
GridPoint2
Returns
Get9cColoring(GridPoint2)
public static int Get9cColoring(GridPoint2 point)
Parameters
point
GridPoint2
Returns
GetCheckboardColoring(GridPoint2)
public static int GetCheckboardColoring(GridPoint2 point)
Parameters
point
GridPoint2
Returns
GetType(GridPoint2)
public static RectFEV.FEVType GetType(GridPoint2 point)
Parameters
point
GridPoint2
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
source
IEnumerable<T>n
int
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
source
IEnumerable<T>The list.
p
float
Returns
- T
A item randomly selected from the source.
Type Parameters
T
The type of items generated from the source.
SampleRandom<T>(IEnumerable<T>)
public static IEnumerable<T> SampleRandom<T>(this IEnumerable<T> source)
Parameters
source
IEnumerable<T>
Returns
- IEnumerable<T>
Type Parameters
T
VertexBetween(GridPoint2, GridPoint2)
public static Vector2 VertexBetween(GridPoint2 point1, GridPoint2 point2)
Parameters
point1
GridPoint2point2
GridPoint2
Returns
VertexShape(IExplicitShape<GridPoint2>)
public static IExplicitShape<GridPoint2> VertexShape(this IExplicitShape<GridPoint2> faceShape)
Parameters
faceShape
IExplicitShape<GridPoint2>
Returns
VertexToFace(Vector2)
public static Vector2 VertexToFace(Vector2 edge)
Parameters
edge
Vector2
Returns
VertexTowards(GridPoint2, GridPoint2)
public static Vector2 VertexTowards(GridPoint2 point1, GridPoint2 direction)
Parameters
point1
GridPoint2direction
GridPoint2
Returns
VerticesOfFace(Vector2)
public static Vector2[] VerticesOfFace(Vector2 faceInFaceSpace)
Parameters
faceInFaceSpace
Vector2
Returns
- Vector2[]