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