public void SetVertex(LR.Side leftRight, Vertex v) { if (leftRight == LR.Side.Left) { LeftVertex = v; } else { RightVertex = v; } if (Vertex(LR.Other(leftRight)) != null) { OutEnd(); } }
HalfEdge Init(Edge edge, LR.Side lr) { Edge = edge; LeftRight = lr; EdgeListLeftNeighbor = null; EdgeListRightNeighbor = null; NextInPriorityQueue = null; Vertex = null; YStar = 0; return this; }
public Vertex Vertex(LR.Side leftRight) { return (leftRight == LR.Side.Left) ? LeftVertex : RightVertex; }
private HalfEdge(Edge edge, LR.Side lr) { Init(edge, lr); }
public static HalfEdge Create(Edge edge, LR.Side lr) { var he = new HalfEdge(edge, lr); return he; }