public static double GetPerimeter(IGeometricShape shape) { Punct[] points = shape.GetAllPoints(); double totalPerimeter = 0; if (points.Length > 2) { for (int i = 0; i < points.Length; i++) { if (i == points.Length - 1) { totalPerimeter = totalPerimeter + DistanceBetween2Points(points[0], points[i]); } else { totalPerimeter = totalPerimeter + DistanceBetween2Points(points[i], points[i + 1]); } } } else if (points.Length == 2) { totalPerimeter = totalPerimeter + DistanceBetween2Points(points[0], points[1]); } return(totalPerimeter); }
public static IGeometricShape ShapeMove(IGeometricShape shape, int dx, int dy) { Punct[] points = shape.GetAllPoints(); for (int i = 0; i < points.Length; i++) { points[i].X = points[i].X + dx; points[i].Y = points[i].Y + dy; } return(shape); }