public static IEnumerable <Index2D> OscillateRange( Index2D startIndex, Index2D dimensions, OscillationOrder2D order = OscillationOrder2D.XY) { Contracts.Requires.That(dimensions.IsAllPositiveOrZero()); switch (order) { case OscillationOrder2D.XY: return(OscillateRangeXY(startIndex, dimensions)); case OscillationOrder2D.YX: return(OscillateRangeYX(startIndex, dimensions)); default: throw InvalidEnumArgument.CreateException(nameof(order), order); } }
public ChunkOverheadKeyCollection(IStageBounds bounds, OscillationOrder2D order) : this(bounds, (start, dimensions) => Index.OscillateRange(start, dimensions, order)) { }