Beispiel #1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="mc"></param>
 /// <param name="si"></param>
 public void ComputeIntersections(MonotoneChain mc, SegmentIntersector si)
 {
     this.mce.ComputeIntersectsForChain(chainIndex, mc.mce, mc.chainIndex, si);
 }
Beispiel #2
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="mc"></param>
 /// <param name="si"></param>
 public void ComputeIntersections(MonotoneChain mc, SegmentIntersector si)
 {
     this.mce.ComputeIntersectsForChain(chainIndex, mc.mce, mc.chainIndex, si);
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="edge"></param>
 /// <param name="edgeSet"></param>
 private void Add(Edge edge, object edgeSet)
 {
     MonotoneChainEdge mce = edge.MonotoneChainEdge;
     int[] startIndex = mce.StartIndexes;
     for (int i = 0; i < startIndex.Length - 1; i++)
     {
         MonotoneChain mc = new MonotoneChain(mce, i);
         SweepLineEvent insertEvent = new SweepLineEvent(edgeSet, mce.GetMinX(i), null, mc);
         events.Add(insertEvent);
         events.Add(new SweepLineEvent(edgeSet, mce.GetMaxX(i), insertEvent, mc));
     }
 }