/// <summary> /// Initializes a new instance of the Triangle class, cutting from another figure /// </summary> /// <param name="figure"> Figure for cutting</param> /// <param name="a"> First side of a triangle</param> /// <param name="b"> Second side of a triangle</param> /// <param name="c"> Third side of a triangle</param> public Triangle(Figure figure, float a, float b, float c) { if (figure == null) { throw new ArgumentNullException(nameof(figure)); } if (a <= 0 || b <= 0 || c <= 0) { throw new Exception("Invalid figure's parameters"); } if ((a + b) > c && (a + c) > b && (b + c) > a) { SideA = a; SideB = b; SideC = c; } else { throw new Exception("Such a triangle cannot exist."); } if (figure.GetArea() < GetArea()) { throw new Exception("The figure cannot be created."); } }
/// <summary> /// Initializes a new instance of the Circle class, cutting from another figure /// </summary> /// <param name="figure"> Figure for cutting</param> /// <param name="radius"> Circle radius</param> public Circle(Figure figure, float radius) { if (figure == null) { throw new ArgumentNullException(nameof(figure)); } if (radius <= 0) { throw new Exception("Invalid figure's parameters"); } Radius = radius; if (figure.GetArea() < GetArea()) { throw new Exception("The figure cannot be created."); } }
/// <summary> /// Initializes a new instance of the Rectangle class, cutting from another figure /// </summary> /// <param name="figure"> Figure for cutting</param> /// <param name="width"> Width of a rectangle</param> /// <param name="height"> Height of a rectangle</param> public Rectangle(Figure figure, float width, float height) { if (figure == null) { throw new ArgumentNullException(nameof(figure)); } if (width <= 0 || height <= 0) { throw new Exception("Invalid figure's parameters"); } Width = width; Height = height; if (figure.GetArea() < GetArea()) { throw new Exception("The figure cannot be created."); } }