/// <summary> /// /// </summary> /// <param name="edge"></param> /// <param name="edgeSet"></param> private void Add(Edge edge, object edgeSet) { var pts = edge.Coordinates; for (int i = 0; i < pts.Length - 1; i++) { var ss = new SweepLineSegment(edge, i); var insertEvent = new SweepLineEvent(edgeSet, ss.MinX, null); _events.Add(insertEvent); _events.Add(new SweepLineEvent(ss.MaxX, insertEvent)); } }
/// <summary> /// /// </summary> /// <param name="ss"></param> /// <param name="si"></param> public void ComputeIntersections(SweepLineSegment ss, SegmentIntersector si) { si.AddIntersections(edge, ptIndex, ss.edge, ss.ptIndex); }