Example #1
0
        public static void Draw(ShapeMaker a, DrawParams dParams, SelectShapeEnum fillMode, List<ILine> lines)
        {
            if (a.Shapes.Count == 0)
            {
                foreach (ILine line in lines)
                {
                    Draw(line, dParams);
                }
            }
            else
            {
                List<Shape> flatList = a.GetFlatListOfShapes();

                int [] fill = {-1, -1};

                switch (fillMode)
                {
                    case SelectShapeEnum.Largest:
                        fill[0] = a.FindLargestShape(flatList);
                        break;
                    case SelectShapeEnum.Smallest:
                        fill[0] = a.FindSmallestShape(flatList);
                        break;
                    case SelectShapeEnum.LargestAdjacentPair:
                        fill = a.FindLargestAdjacentPair(flatList);
                        break;
                }

                int nShape = flatList.Count;

                for (int i = 0; i < nShape; i++)
                {
                    Draw(flatList[i], dParams, fill[0] == i || fill[1] == i);
                }
            }
        }