Ejemplo n.º 1
0
        public static List<FigSynthProblem> AddShape(Figure outerShape, ShapeType type)
        {
            List<FigSynthProblem> problems = new List<FigSynthProblem>();

            switch (type)
            {
                case ShapeType.TRIANGLE:
                    problems.AddRange(Triangle.AppendShape(outerShape, outerShape.GetCompleteSideSegments()));
                    break;

                case ShapeType.ISOSCELES_TRIANGLE:
                    problems.AddRange(IsoscelesTriangle.AppendShape(outerShape, outerShape.GetCompleteSideSegments()));
                    break;

                case ShapeType.RIGHT_TRIANGLE:
                    problems.AddRange(RightTriangle.AppendShape(outerShape, outerShape.GetCompleteSideSegments()));
                    break;
                //case ShapeType.ISO_RIGHT_TRIANGLE:
                //    problems.AddRange(Triangle.AppendShape(points);

                case ShapeType.EQUILATERAL_TRIANGLE:
                    problems.AddRange(EquilateralTriangle.AppendShape(outerShape, outerShape.GetCompleteSideSegments()));
                    break;
                case ShapeType.KITE:
                    problems.AddRange(Kite.AppendShape(outerShape, outerShape.GetCompleteSideSegments()));
                    break;
                case ShapeType.QUADRILATERAL:
                    problems.AddRange(Quadrilateral.AppendShape(outerShape, outerShape.GetCompleteSideSegments()));
                    break;
                case ShapeType.TRAPEZOID:
                    problems.AddRange(Trapezoid.AppendShape(outerShape, outerShape.GetCompleteSideSegments()));
                    break;
                case ShapeType.ISO_TRAPEZOID:
                    problems.AddRange(IsoscelesTrapezoid.AppendShape(outerShape, outerShape.GetCompleteSideSegments()));
                    break;

                case ShapeType.PARALLELOGRAM:
                    problems.AddRange(Parallelogram.AppendShape(outerShape, outerShape.GetCompleteSideSegments()));
                    break;

                case ShapeType.RECTANGLE:
                    problems.AddRange(Rectangle.AppendShape(outerShape, outerShape.GetCompleteSideSegments()));
                    break;

                case ShapeType.RHOMBUS:
                    problems.AddRange(Rhombus.AppendShape(outerShape, outerShape.GetCompleteSideSegments()));
                    break;

                case ShapeType.SQUARE:
                    problems.AddRange(Square.AppendShape(outerShape, outerShape.GetCompleteSideSegments()));
                    break;

                case ShapeType.CIRCLE:
                    problems.AddRange(Circle.AppendShape(outerShape, outerShape.GetCompleteSideSegments()));
                    break;

                case ShapeType.SECTOR:
                    problems.AddRange(Sector.AppendShape(outerShape, outerShape.GetCompleteSideSegments()));
                    break;
            }

            return problems;
        }