/// <summary> /// Creates an intersection finder which finds all interior intersections. /// The intersections are recorded for later inspection. /// </summary> /// <param name="li">A line intersector.</param> /// <returns>a intersection finder which finds all interior intersections.</returns> public static NodingIntersectionFinder CreateAllIntersectionsFinder(LineIntersector li) { var finder = new NodingIntersectionFinder(li); finder.FindAllIntersections = true; return(finder); }
private void CheckInteriorIntersections() { /* * MD - It may even be reliable to simply check whether * end segments (of SegmentStrings) have an interior intersection, * since noding should have split any true interior intersections already. */ _isValid = true; _segInt = new NodingIntersectionFinder(_li); _segInt.FindAllIntersections = FindAllIntersections; var noder = new MCIndexNoder(_segInt); noder.ComputeNodes(_segStrings); //.ComputeNodes(segStrings); if (_segInt.HasIntersection) { _isValid = false; return; } }