public static Polygon2D[] smethod_9( Interface28 xInterval, Interface28 yInterval, Polygon2D[] outer, Polygon2D[] holes, bool right, double epsilon) { if (xInterval.IsUnbound || yInterval.IsUnbound) { Bounds2D bounds2D = new Bounds2D(); foreach (Polygon2D polygon2D in outer) { bounds2D.Update((IList <Point2D>)polygon2D); } if (!bounds2D.Initialized) { return((Polygon2D[])null); } if (xInterval.IsUnbound) { xInterval = (Interface28) new Class438(xInterval.HasUnboundStart ? bounds2D.Min.X : xInterval.Start, xInterval.HasUnboundEnd ? bounds2D.Max.X : xInterval.End, xInterval.PeriodicLength); } if (yInterval.IsUnbound) { yInterval = (Interface28) new Class438(yInterval.HasUnboundStart ? bounds2D.Min.Y : yInterval.Start, yInterval.HasUnboundEnd ? bounds2D.Max.Y : yInterval.End, yInterval.PeriodicLength); } } List <Polygon2D> polygon2DList = new List <Polygon2D>(); Polygon2D[] polygon2DArray1 = Class794.smethod_10(outer, right, true, xInterval, yInterval, epsilon); polygon2DList.AddRange((IEnumerable <Polygon2D>)polygon2DArray1); Polygon2D[] polygon2DArray2 = Class794.smethod_10(holes, right, false, xInterval, yInterval, epsilon); polygon2DList.AddRange((IEnumerable <Polygon2D>)polygon2DArray2); return(polygon2DList.ToArray()); }