public override void ComputeIntersections(EdgeCollection edges, SegmentIntersector si, bool testAllSegments) { for (IEdgeEnumerator i0 = edges.GetEnumerator(); i0.MoveNext();) { Edge edge0 = i0.Current; for (IEdgeEnumerator i1 = edges.GetEnumerator(); i1.MoveNext();) { Edge edge1 = i1.Current; if (testAllSegments || edge0 != edge1) { ComputeIntersects(edge0, edge1, si); } } } }
private void InsertUniqueEdges(EdgeCollection edges) { for (IEdgeEnumerator i = edges.GetEnumerator(); i.MoveNext(); ) { Edge e = i.Current; InsertUniqueEdge(e); } }
private void Add(EdgeCollection edges, object edgeSet) { for (IEdgeEnumerator i = edges.GetEnumerator(); i.MoveNext();) { Edge edge = i.Current; Add(edge, edgeSet); } }
private void Add(EdgeCollection edges) { for (IEdgeEnumerator i = edges.GetEnumerator(); i.MoveNext();) { Edge edge = i.Current; // edge is its own group Add(edge, edge); } }
public override void ComputeIntersections(EdgeCollection edges0, EdgeCollection edges1, SegmentIntersector si) { for (IEdgeEnumerator i0 = edges0.GetEnumerator(); i0.MoveNext();) { Edge edge0 = i0.Current; for (IEdgeEnumerator i1 = edges1.GetEnumerator(); i1.MoveNext();) { Edge edge1 = i1.Current; ComputeIntersects(edge0, edge1, si); } } }
/// <summary> /// Update the IM with the sum of the IMs for each component. /// </summary> private void UpdateIM(IntersectionMatrix im) { for (IEdgeEnumerator ei = isolatedEdges.GetEnumerator(); ei.MoveNext();) { Edge e = ei.Current; e.UpdateIM(im); } for (IEnumerator ni = nodes.Iterator(); ni.MoveNext();) { RelateNode node = (RelateNode)ni.Current; node.UpdateIM(im); node.updateIMFromEdges(im); } }