public static Rect2D PolygonBoundary(IPolygonReader[] apoly, ITransEngine2D mat) { if (apoly == null) { throw (new ArgumentNullException("PolygonsBoundary(apoly)")); } Rect2D ret = Rect.Empty; Rect2D p; for (int i = 0; i < apoly.Length; i++) { p = PolygonBoundary(apoly[i], mat); if (ret.IsEmpty) { ret = p; } else { ret.Union(p); } } return(ret); }