private void EliminateCoincideLines(List <Line2D> oldLines)
        {
            int           k           = 0;
            List <Line2D> removeLines = new List <Line2D>();

            for (int i = 0; i < oldLines.Count; i++)
            {
                k = 0;
                for (int j = i + 1; j < oldLines.Count; j++)
                {
                    GraphicAlgorithm.TwoParallelLines2D twoLines = new GraphicAlgorithm.TwoParallelLines2D(oldLines[i], oldLines[j]);
                    if (twoLines.Relationship == GraphicAlgorithm.TwoParallelLinesRelationship.完全相同)
                    {
                        k++;
                        removeLines.Add(oldLines[j]);
                        break;
                    }
                }
                if (k > 0)
                {
                    break;
                }
            }
            if (k > 0)
            {
                removeLines.ForEach(x => oldLines.Remove(x));
                EliminateCoincideLines(oldLines);
            }
        }
        public List <Line2D> GetAddedLines(List <Rectangle2D> miniRectangles)
        {
            List <Line2D> addedLines = new List <Line2D>();
            //miniRectangles = GetMinRectangle();
            List <Line2D> originalLines = GetAllLineInsideFloorRegion();
            List <Line2D> tempLines     = new List <Line2D>();

            miniRectangles.ForEach(x => tempLines.AddRange(x.GetEdges()));
            EliminateCoincideLines(tempLines);
            foreach (var item in tempLines)
            {
                foreach (var line in originalLines)
                {
                    GraphicAlgorithm.TwoParallelLines2D twoLines = new GraphicAlgorithm.TwoParallelLines2D(item, line);
                    if (twoLines.Relationship == GraphicAlgorithm.TwoParallelLinesRelationship.线段1全在线段2内 ||
                        twoLines.Relationship == GraphicAlgorithm.TwoParallelLinesRelationship.完全相同)
                    {
                        addedLines.Add(item);
                    }
                }
            }
            addedLines.ForEach(x => tempLines.Remove(x));
            return(tempLines);
        }