Class HexCellType
Cell type for a regular hexagon with 6 sides.
Supports both flat and pointy topped orientations.
CellDirs are PTHexDir/FTHexDir, integers 0 to 5.
CellCorners are PTHexCorner/FTHexCorner, integers 0 to 5.
The CellRotations are the numbers 0 to 5 for a CCW rotation of that many sides,
plus numbers ~0 to ~5 for the reflections, where rotation ~0 has dir 0 as a fix point.
The canonical shape (for use with deformations) is a regular hexagon with incircle diamater 1.0 in the XY centered at the origin, with normal pointing Z-forward.
Inheritance
System.Object
HexCellType
Assembly: Sylves.dll
Syntax
public class HexCellType : Object, ICellType
Properties
Orientation
Declaration
public HexOrientation Orientation { get; }
Property Value
ReflectX
Declaration
public CellRotation ReflectX { get; }
Property Value
ReflectY
Declaration
public CellRotation ReflectY { get; }
Property Value
RotateCCW
Declaration
public CellRotation RotateCCW { get; }
Property Value
RotateCW
Declaration
public CellRotation RotateCW { get; }
Property Value
Methods
Declaration
public string Format(CellCorner corner)
Parameters
Returns
Type |
Description |
System.String |
|
Declaration
public string Format(CellDir dir)
Parameters
Returns
Type |
Description |
System.String |
|
Declaration
public string Format(CellRotation rotation)
Parameters
Returns
Type |
Description |
System.String |
|
Get(HexOrientation)
Declaration
public static HexCellType Get(HexOrientation orientation)
Parameters
Returns
GetCellCorners()
Declaration
public IEnumerable<CellCorner> GetCellCorners()
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<CellCorner> |
|
GetCellDirs()
Declaration
public IEnumerable<CellDir> GetCellDirs()
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<CellDir> |
|
GetCornerPosition(CellCorner)
Declaration
public Vector3 GetCornerPosition(CellCorner corner)
Parameters
Returns
GetIdentity()
Declaration
public CellRotation GetIdentity()
Returns
GetMatrix(CellRotation)
Declaration
public Matrix4x4 GetMatrix(CellRotation cellRotation)
Parameters
Returns
GetRotations(Boolean)
Declaration
public IList<CellRotation> GetRotations(bool includeReflections = false)
Parameters
Type |
Name |
Description |
System.Boolean |
includeReflections |
|
Returns
Type |
Description |
System.Collections.Generic.IList<CellRotation> |
|
Invert(CellDir)
Declaration
public Nullable<CellDir> Invert(CellDir dir)
Parameters
Returns
Type |
Description |
System.Nullable<CellDir> |
|
Invert(CellRotation)
Declaration
public CellRotation Invert(CellRotation a)
Parameters
Returns
Multiply(CellRotation, CellRotation)
Declaration
public CellRotation Multiply(CellRotation a, CellRotation b)
Parameters
Returns
Rotate(CellCorner, CellRotation)
Declaration
public CellCorner Rotate(CellCorner corner, CellRotation rotation)
Parameters
Returns
Rotate(CellDir, CellRotation)
Declaration
public CellDir Rotate(CellDir dir, CellRotation rotation)
Parameters
Returns
Rotate(CellDir, CellRotation, out CellDir, out Connection)
Declaration
public void Rotate(CellDir dir, CellRotation rotation, out CellDir resultDir, out Connection connection)
Parameters
TryGetRotation(CellDir, CellDir, Connection, out CellRotation)
Declaration
public bool TryGetRotation(CellDir fromDir, CellDir toDir, Connection connection, out CellRotation rotation)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Implements