public bool TryAddLine(Line line, float distanceThreshold) { foreach (var l in lines) { if (LineUtils.LineLineDistance(l, line) < distanceThreshold && LineUtils.LineLineAngle(l, line) < Settings.lineAngleThreshold) { lines.Add(line); return(true); } } return(false); }
public bool TryMergeIgnoreAngle(ApproximatedLine approxLine) { foreach (var line in lines) { foreach (var sLine in approxLine.lines) { if (LineUtils.LineLineDistance(line, sLine) < Settings.lineDistanceThreshold) { lines.AddRange(approxLine.lines); return(true); } } } return(false); }