public void Case1(Sink sink, Edge edge, Trapezoid[] tList) { YNode yNode = new YNode(edge, Sink.Isink(tList[1]), Sink.Isink(tList[2])); XNode qNode = new XNode(edge.Q, yNode, Sink.Isink(tList[3])); XNode pNode = new XNode(edge.P, Sink.Isink(tList[0]), qNode); Replace(sink, pNode); }
private void Replace(Sink sink, Node node) { if (sink.ParentList.Count == 0) _head = node; else node.Replace(sink); }
public Trapezoid(Point leftPoint, Point rightPoint, Edge top, Edge bottom) { LeftPoint = leftPoint; RightPoint = rightPoint; Top = top; Bottom = bottom; UpperLeft = null; UpperRight = null; LowerLeft = null; LowerRight = null; Inside = true; Sink = null; }
public void Case3(Sink sink, Edge edge, Trapezoid[] tList) { YNode yNode = new YNode(edge, Sink.Isink(tList[0]), Sink.Isink(tList[1])); Replace(sink, yNode); }