//removes duplicate lines from a list, based on the lines from another list
        internal static List <Line2d> RemoveDuplicateLinesBasedOnMidPt(List <Line2d> lineListOrig, List <Line2d> otherLineList)
        {
            List <Line2d> lineEditedList = new List <Line2d>();

            for (int i = 0; i < lineListOrig.Count; i++)
            {
                lineEditedList.Add(lineListOrig[i]);
            }
            List <bool> duplicateTagList = new List <bool>();

            for (int i = 0; i < lineListOrig.Count; i++)
            {
                bool duplicate = false;
                for (int j = 0; j < otherLineList.Count; j++)
                {
                    Point2d midPtOrig  = LineUtility.LineMidPoint(lineListOrig[i]);
                    Point2d midPtOther = LineUtility.LineMidPoint(otherLineList[j]);
                    //if (midPtOrig.Compare(midPtOther)) { duplicate = true; break; }
                    if (ValidateObject.CheckPointsWithinRange(midPtOrig, midPtOther, 4))
                    {
                        duplicate = true; break;
                    }
                }
                duplicateTagList.Add(duplicate);
            }
            int count = 0;

            for (int i = 0; i < duplicateTagList.Count; i++)
            {
                if (duplicateTagList[i])
                {
                    lineEditedList.RemoveAt(i - count);
                    count += 1;
                }
            }
            return(lineEditedList);
        }