/// <summary> /// Node the input segment strings once /// and create the split edges between the nodes. /// </summary> /// <param name="segStrings"></param> /// <param name="numInteriorIntersections"></param> private void Node(IList segStrings, int[] numInteriorIntersections) { IntersectionAdder si = new IntersectionAdder(li); MCIndexNoder noder = new MCIndexNoder(si); noder.ComputeNodes(segStrings); nodedSegStrings = noder.GetNodedSubstrings(); numInteriorIntersections[0] = si.NumInteriorIntersections; }
/// <summary> /// /// </summary> /// <param name="precisionModel"></param> /// <returns></returns> private INoder GetNoder(IPrecisionModel precisionModel) { if (workingNoder != null) return workingNoder; // otherwise use a fast (but non-robust) noder LineIntersector li = new RobustLineIntersector(); li.PrecisionModel = precisionModel; MCIndexNoder noder = new MCIndexNoder(new IntersectionAdder(li)); return noder; }