/// <summary> /// /// </summary> /// <param name="edges0"></param> /// <param name="edges1"></param> /// <param name="si"></param> public override void ComputeIntersections(IList <Edge> edges0, IList <Edge> edges1, SegmentIntersector si) { foreach (Edge edge0 in edges0) { foreach (Edge edge1 in edges1) { ComputeIntersects(edge0, edge1, si); } } }
/// <summary> /// Computes all self-intersections between edges in a set of edges, /// allowing client to choose whether self-intersections are computed. /// </summary> /// <param name="edges">A list of edges to test for intersections.</param> /// <param name="si">The SegmentIntersector to use.</param> /// <param name="testAllSegments"><c>true</c> if self-intersections are to be tested as well.</param> abstract public void ComputeIntersections(IList <Edge> edges, SegmentIntersector si, bool testAllSegments);
/// <summary> /// Computes all mutual intersections between two sets of edges. /// </summary> abstract public void ComputeIntersections(IList <Edge> edges0, IList <Edge> edges1, SegmentIntersector si);
/// <summary> /// /// </summary> /// <param name="edges0"></param> /// <param name="edges1"></param> /// <param name="si"></param> public override void ComputeIntersections(IList <Edge> edges0, IList <Edge> edges1, SegmentIntersector si) { Add(edges0, edges0); Add(edges1, edges1); ComputeIntersections(si); }