/// <summary> /// /// </summary> /// <param name="g"></param> /// <param name="li"></param> /// <param name="includeProper"></param> /// <returns></returns> public SegmentIntersector ComputeEdgeIntersections(GeometryGraph g, LineIntersector li, bool includeProper) { SegmentIntersector si = new SegmentIntersector(li, includeProper, true); si.SetBoundaryNodes(BoundaryNodes, g.BoundaryNodes); EdgeSetIntersector esi = CreateEdgeSetIntersector(); esi.ComputeIntersections(Edges, g.Edges, si); return si; }
} // public SegmentIntersector computeSelfNodes(LineIntersector li) /// <summary> /// /// </summary> /// <param name="g"></param> /// <param name="li"></param> /// <param name="includeProper"></param> /// <returns></returns> public SegmentIntersector ComputeEdgeIntersections( GeometryGraph g, LineIntersector li, bool includeProper) { SegmentIntersector si = new SegmentIntersector(li, includeProper, true); si.SetBoundaryNodes(GetBoundaryNodes(), g.GetBoundaryNodes()); EdgeSetIntersector esi = new SimpleMCSweepLineIntersector(); esi.ComputeIntersections(_edges, g.Edges, si); /* * foreach ( object obj in g ) * { * Edge e = (Edge) obj; * Trace.WriteLine( e.EdgeIntersectionList.ToString() ); * } */ return(si); } // public SegmentIntersector ComputeEdgeIntersections(...