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); }