private void Add(Edge edge, int geomIndex) { MonotoneChainEdge mce = edge.GetMonotoneChainEdge(); int[] startIndex = mce.StartIndex; for (int i = 0; i < startIndex.Length - 1; i++) { MonotoneChain mc = new MonotoneChain( mce, i, geomIndex ); SweepLineEvent insertEvent = new SweepLineEvent( geomIndex, mce.GetMinX(i), null, mc); _events.Add( insertEvent ); _events.Add( new SweepLineEvent( geomIndex, mce.GetMaxX(i), insertEvent, mc) ); } }