private bool HasBadOutputIntersection(LineSegment candidateSeg) { IList querySegs = outputIndex.Query(candidateSeg); for (IEnumerator i = querySegs.GetEnumerator(); i.MoveNext();) { LineSegment querySeg = (LineSegment)i.Current; if (HasInteriorIntersection(querySeg, candidateSeg)) { return(true); } } return(false); }
private bool HasBadInputIntersection(TaggedLineString parentLine, int[] sectionIndex, LineSegment candidateSeg) { IList querySegs = inputIndex.Query(candidateSeg); for (IEnumerator i = querySegs.GetEnumerator(); i.MoveNext();) { TaggedLineSegment querySeg = (TaggedLineSegment)i.Current; if (HasInteriorIntersection(querySeg, candidateSeg)) { if (IsInLineSection(parentLine, sectionIndex, querySeg)) { continue; } return(true); } } return(false); }