internal DimensionDescription(int length, DimensionAssignment assignment, IndexGenerator indexGenerator) { this.length = length; Assignment = assignment; this.indexGenerator = indexGenerator; }
internal DimensionDescription(int max, DimensionAssignment assignment, IndexGenerator indexGenerator) { Max = max; Assignment = assignment; this.indexGenerator = indexGenerator; }
private static DimensionDescription CreateIncrementDescriptionSerpentine(int max, DimensionAssignment assignment, int breadth, Order startSubOrder) { var generator = new SequenceIndexGenerator(max, 0, breadth, startSubOrder); return new DimensionDescription(max, assignment, generator); }
private static DimensionDescription CreateIncrementDescriptionCircular(int max, DimensionAssignment assignment) { var generator = new CircularIndexGenerator(max, 0); return new DimensionDescription(max, assignment, generator); }
public static DimensionDescription CreateIncrementDescription(int max, DimensionAssignment assignment, TraverseMode mode, int breadth, Order startSubOrder) { switch (mode) { case TraverseMode.Serpentine: return CreateIncrementDescriptionSerpentine(max, assignment, breadth, startSubOrder); case TraverseMode.Circular: return CreateIncrementDescriptionCircular(max, assignment); default: throw new ArgumentException(); } }
public static DimensionDescription CreateIncrementDescription(int max, DimensionAssignment assignment, TraverseMode mode) { return CreateIncrementDescription(max, assignment, mode, 1, default(Order)); }
private static DimensionDescription CreateIncrementDescriptionSerpentine(int max, DimensionAssignment assignment) { var generator = new SequenceIndexGenerator(max, 0); return new DimensionDescription(max, assignment, generator); }