using System; namespace Oni.Akira { internal class PolygonEdge { private static readonly PolygonEdge[] emptyEdges = new PolygonEdge[0]; private readonly Polygon polygon; private readonly int index; private PolygonEdge[] adjacency = emptyEdges; public PolygonEdge(Polygon polygon, int index) { this.polygon = polygon; this.index = index; } public Polygon Polygon => polygon; public int Index => index; public int EndIndex => (index + 1) % polygon.Edges.Length; public int Point0Index => polygon.PointIndices[index]; public int Point1Index => polygon.PointIndices[EndIndex]; public PolygonEdge[] Adjancency { get { return adjacency; } set { adjacency = value; } } } }