Class BaseSubstitutionTilingGrid
Base class for SubstitutionTilingGrid
This contains common utilities and calculations that do no rely on caching.
Inheritance
System.Object
BaseSubstitutionTilingGrid
Assembly: Sylves.dll
Syntax
public abstract class BaseSubstitutionTilingGrid : Object, IGrid
Constructors
BaseSubstitutionTilingGrid(BaseSubstitutionTilingGrid, SubstitutionTilingBound)
Declaration
protected BaseSubstitutionTilingGrid(BaseSubstitutionTilingGrid other, SubstitutionTilingBound bound)
Parameters
BaseSubstitutionTilingGrid(BaseSubstitutionTilingGrid, Func<Int32, BaseSubstitutionTilingGrid.InternalPrototile>, Matrix4x4)
Declaration
protected BaseSubstitutionTilingGrid(BaseSubstitutionTilingGrid other, Func<int, BaseSubstitutionTilingGrid.InternalPrototile> hierarchy, Matrix4x4 baseTransform)
Parameters
BaseSubstitutionTilingGrid(Prototile[], Func<Int32, String>, SubstitutionTilingBound)
Declaration
public BaseSubstitutionTilingGrid(Prototile[] prototiles, Func<int, string> hierarchy, SubstitutionTilingBound bound = null)
Parameters
BaseSubstitutionTilingGrid(Prototile[], String[], SubstitutionTilingBound)
Declaration
public BaseSubstitutionTilingGrid(Prototile[] prototiles, string[] hierarchy, SubstitutionTilingBound bound = null)
Parameters
Fields
Declaration
protected Matrix4x4 baseTransform
Field Value
bound
Declaration
protected SubstitutionTilingBound bound
Field Value
cellTypes
Declaration
protected List<ICellType> cellTypes
Field Value
Type |
Description |
System.Collections.Generic.List<ICellType> |
|
DeadZone
Declaration
protected const int DeadZone = 3
Field Value
Type |
Description |
System.Int32 |
|
hierarchy
Declaration
protected Func<int, BaseSubstitutionTilingGrid.InternalPrototile> hierarchy
Field Value
prototileBits
Declaration
protected int prototileBits
Field Value
Type |
Description |
System.Int32 |
|
prototiles
Declaration
protected readonly BaseSubstitutionTilingGrid.InternalPrototile[] prototiles
Field Value
tileBits
Declaration
Field Value
Type |
Description |
System.Int32 |
|
Properties
CoordinateDimension
Declaration
public int CoordinateDimension { get; }
Property Value
Type |
Description |
System.Int32 |
|
IndexCount
Declaration
public int IndexCount { get; }
Property Value
Type |
Description |
System.Int32 |
|
Is2d
Declaration
public bool Is2d { get; }
Property Value
Type |
Description |
System.Boolean |
|
Is3d
Declaration
public bool Is3d { get; }
Property Value
Type |
Description |
System.Boolean |
|
IsFinite
Declaration
public bool IsFinite { get; }
Property Value
Type |
Description |
System.Boolean |
|
IsOrientable
Declaration
public bool IsOrientable { get; }
Property Value
Type |
Description |
System.Boolean |
|
IsPlanar
Declaration
public bool IsPlanar { get; }
Property Value
Type |
Description |
System.Boolean |
|
IsRepeating
Declaration
public bool IsRepeating { get; }
Property Value
Type |
Description |
System.Boolean |
|
IsSingleCellType
Declaration
public bool IsSingleCellType { get; }
Property Value
Type |
Description |
System.Boolean |
|
Unbounded
Declaration
public abstract IGrid Unbounded { get; }
Property Value
Unwrapped
Declaration
public IGrid Unwrapped { get; }
Property Value
Methods
BoundBy(IBound)
Declaration
public abstract IGrid BoundBy(IBound bound)
Parameters
Type |
Name |
Description |
IBound |
bound |
|
Returns
Down(Matrix4x4, BaseSubstitutionTilingGrid.InternalPrototile, Int32)
Declaration
protected (Matrix4x4, BaseSubstitutionTilingGrid.InternalPrototile) Down(Matrix4x4 transform, BaseSubstitutionTilingGrid.InternalPrototile prototile, int child)
Parameters
Returns
FindBasicPath(Cell, Cell)
Declaration
public IEnumerable<(Cell, CellDir)> FindBasicPath(Cell startCell, Cell destCell)
Parameters
Type |
Name |
Description |
Cell |
startCell |
|
Cell |
destCell |
|
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<System.ValueTuple<Cell, CellDir>> |
|
FindCell(Matrix4x4, out Cell, out CellRotation)
Declaration
public abstract bool FindCell(Matrix4x4 matrix, out Cell cell, out CellRotation rotation)
Parameters
Returns
Type |
Description |
System.Boolean |
|
FindCell(Vector3, out Cell)
Declaration
public abstract bool FindCell(Vector3 position, out Cell cell)
Parameters
Returns
Type |
Description |
System.Boolean |
|
FindGridSymmetry(ISet<Cell>, ISet<Cell>, Cell, CellRotation)
Declaration
public GridSymmetry FindGridSymmetry(ISet<Cell> src, ISet<Cell> dest, Cell srcCell, CellRotation cellRotation)
Parameters
Type |
Name |
Description |
System.Collections.Generic.ISet<Cell> |
src |
|
System.Collections.Generic.ISet<Cell> |
dest |
|
Cell |
srcCell |
|
CellRotation |
cellRotation |
|
Returns
GetBound()
Declaration
Returns
GetBound(IEnumerable<Cell>)
Declaration
public IBound GetBound(IEnumerable<Cell> cells)
Parameters
Type |
Name |
Description |
System.Collections.Generic.IEnumerable<Cell> |
cells |
|
Returns
GetCellByIndex(Int32)
Declaration
public Cell GetCellByIndex(int index)
Parameters
Type |
Name |
Description |
System.Int32 |
index |
|
Returns
GetCellCenter(Cell)
Declaration
public abstract Vector3 GetCellCenter(Cell cell)
Parameters
Type |
Name |
Description |
Cell |
cell |
|
Returns
GetCellCorner(Cell, CellCorner)
Declaration
public Vector3 GetCellCorner(Cell cell, CellCorner cellCorner)
Parameters
Returns
GetCellCorners(Cell)
Declaration
public IEnumerable<CellCorner> GetCellCorners(Cell cell)
Parameters
Type |
Name |
Description |
Cell |
cell |
|
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<CellCorner> |
|
GetCellDirs(Cell)
Declaration
public IEnumerable<CellDir> GetCellDirs(Cell cell)
Parameters
Type |
Name |
Description |
Cell |
cell |
|
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<CellDir> |
|
GetCells()
Declaration
public IEnumerable<Cell> GetCells()
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<Cell> |
|
GetCellsInBounds(IBound)
Declaration
public IEnumerable<Cell> GetCellsInBounds(IBound bound)
Parameters
Type |
Name |
Description |
IBound |
bound |
|
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<Cell> |
|
GetCellsIntersectsApprox(Vector3, Vector3)
Declaration
public abstract IEnumerable<Cell> GetCellsIntersectsApprox(Vector3 min, Vector3 max)
Parameters
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<Cell> |
|
GetCellType(Cell)
Declaration
public abstract ICellType GetCellType(Cell cell)
Parameters
Type |
Name |
Description |
Cell |
cell |
|
Returns
GetCellTypes()
Declaration
public IEnumerable<ICellType> GetCellTypes()
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<ICellType> |
|
Declaration
public Deformation GetDeformation(Cell cell)
Parameters
Type |
Name |
Description |
Cell |
cell |
|
Returns
GetDual()
Declaration
public virtual IDualMapping GetDual()
Returns
GetIndex(Cell)
Declaration
public int GetIndex(Cell cell)
Parameters
Type |
Name |
Description |
Cell |
cell |
|
Returns
Type |
Description |
System.Int32 |
|
GetMeshData(Cell, out MeshData, out Matrix4x4)
Declaration
public void GetMeshData(Cell cell, out MeshData meshData, out Matrix4x4 transform)
Parameters
GetPolygon(Cell, out Vector3[], out Matrix4x4)
Declaration
public abstract void GetPolygon(Cell cell, out Vector3[] vertices, out Matrix4x4 transform)
Parameters
GetPrototile(Cell, Int32)
Declaration
protected abstract BaseSubstitutionTilingGrid.InternalPrototile GetPrototile(Cell cell, int height)
Parameters
Type |
Name |
Description |
Cell |
cell |
|
System.Int32 |
height |
|
Returns
GetTriangleMesh(Cell)
Declaration
public IEnumerable<(Vector3, Vector3, Vector3, CellDir)> GetTriangleMesh(Cell cell)
Parameters
Type |
Name |
Description |
Cell |
cell |
|
Returns
GetTRS(BaseSubstitutionTilingGrid.InternalPrototile, Matrix4x4, Int32)
Declaration
protected Matrix4x4 GetTRS(BaseSubstitutionTilingGrid.InternalPrototile prototile, Matrix4x4 transform, int childTile)
Parameters
Returns
GetTRS(Cell)
Declaration
public abstract TRS GetTRS(Cell cell)
Parameters
Type |
Name |
Description |
Cell |
cell |
|
Returns
IntersectBounds(IBound, IBound)
Declaration
public IBound IntersectBounds(IBound bound, IBound other)
Parameters
Returns
IsCellInBound(Cell, IBound)
Declaration
public bool IsCellInBound(Cell cell, IBound bound)
Parameters
Returns
Type |
Description |
System.Boolean |
|
IsCellInGrid(Cell)
Declaration
public abstract bool IsCellInGrid(Cell cell)
Parameters
Type |
Name |
Description |
Cell |
cell |
|
Returns
Type |
Description |
System.Boolean |
|
ParallelTransport(IGrid, Cell, Cell, Cell, CellRotation, out Cell, out CellRotation)
Declaration
public bool ParallelTransport(IGrid aGrid, Cell aSrcCell, Cell aDestCell, Cell srcCell, CellRotation startRotation, out Cell destCell, out CellRotation destRotation)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Raycast(Vector3, Vector3, Single)
Declaration
public abstract IEnumerable<RaycastInfo> Raycast(Vector3 origin, Vector3 direction, float maxDistance = InfinityF)
Parameters
Type |
Name |
Description |
Vector3 |
origin |
|
Vector3 |
direction |
|
System.Single |
maxDistance |
|
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<RaycastInfo> |
|
TryApplySymmetry(GridSymmetry, Cell, out Cell, out CellRotation)
Declaration
public bool TryApplySymmetry(GridSymmetry s, Cell src, out Cell dest, out CellRotation r)
Parameters
Returns
Type |
Description |
System.Boolean |
|
TryApplySymmetry(GridSymmetry, IBound, out IBound)
Declaration
public bool TryApplySymmetry(GridSymmetry s, IBound srcBound, out IBound destBound)
Parameters
Returns
Type |
Description |
System.Boolean |
|
TryMove(Cell, CellDir, out Cell, out CellDir, out Connection)
Declaration
public abstract bool TryMove(Cell cell, CellDir dir, out Cell dest, out CellDir inverseDir, out Connection connection)
Parameters
Returns
Type |
Description |
System.Boolean |
|
TryMoveByOffset(Cell, Vector3Int, Vector3Int, CellRotation, out Cell, out CellRotation)
Declaration
public bool TryMoveByOffset(Cell startCell, Vector3Int startOffset, Vector3Int destOffset, CellRotation startRotation, out Cell destCell, out CellRotation destRotation)
Parameters
Returns
Type |
Description |
System.Boolean |
|
UnionBounds(IBound, IBound)
Declaration
public IBound UnionBounds(IBound bound, IBound other)
Parameters
Returns
Up(Matrix4x4, BaseSubstitutionTilingGrid.InternalPrototile)
Declaration
protected Matrix4x4 Up(Matrix4x4 transform, BaseSubstitutionTilingGrid.InternalPrototile parent)
Parameters
Returns
Implements