/// <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);
        }
Example #2
0
        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;
            }
        }