public static void CalculatePerimeter(IGeometricalShape shape) { double perimeter = 0.0; if (shape is Line) { perimeter = CalculateLineLength(shape.GeometricalObjectExtremities[0], shape.GeometricalObjectExtremities[1]); } else if (shape is Triangle) { perimeter = CalculateLineLength(shape.GeometricalObjectExtremities[0], shape.GeometricalObjectExtremities[1]) + CalculateLineLength(shape.GeometricalObjectExtremities[1], shape.GeometricalObjectExtremities[2]) + CalculateLineLength(shape.GeometricalObjectExtremities[0], shape.GeometricalObjectExtremities[2]); } else if (shape is Rectangle) { perimeter = CalculateLineLength(shape.GeometricalObjectExtremities[0], shape.GeometricalObjectExtremities[1]) + CalculateLineLength(shape.GeometricalObjectExtremities[1], shape.GeometricalObjectExtremities[2]) + CalculateLineLength(shape.GeometricalObjectExtremities[2], shape.GeometricalObjectExtremities[3]) + CalculateLineLength(shape.GeometricalObjectExtremities[3], shape.GeometricalObjectExtremities[0]); } else { perimeter = 0; } Console.WriteLine($"The perimeter of the { shape.GetType().Name } is: { perimeter }"); }
public static void MoveGeometricalObjectsOnY(IGeometricalShape[] shapes, int distance) { if (shapes is null) { shapes = new IGeometricalShape[0]; } for (int i = 0; i < shapes.Length; i++) { shapes[i].MoveOnY(distance); } }
public static double GetAreaSize(IGeometricalShape shape) { return(shape.CalculateAreaSize()); }