public void SetInnerSuperStrands() { Debug.Assert(StrandObjs.Count > 0); _topLevel = StrandObjs[0].Strand.Level; InnerSuperStrand innerSuperStrand = new InnerSuperStrand(); _innerSuperStrands.Clear(); uint containedLevel = _permutationLevel + 2; uint topLevel = 0; foreach (StrandObj strandobj in StrandObjs) { if (strandobj.Strand.Level > _topLevel && strandobj.Strand.Level < containedLevel) { topLevel = innerSuperStrand.StrandObjs[0].Strand.Level; innerSuperStrand.SetNumberOfValues(topLevel); _innerSuperStrands.Add(innerSuperStrand); innerSuperStrand = new InnerSuperStrand(); } innerSuperStrand.StrandObjs.Add(strandobj); } topLevel = innerSuperStrand.StrandObjs[0].Strand.Level; innerSuperStrand.SetNumberOfValues(topLevel); _innerSuperStrands.Add(innerSuperStrand); Debug.Assert(_innerSuperStrands.Count <= 7); }
public void SetInnerSuperStrands() { Debug.Assert(StrandObjs.Count > 0); _topLevel = StrandObjs[0].Strand.Level; InnerSuperStrand innerSuperStrand = new InnerSuperStrand(); _innerSuperStrands.Clear(); uint containedLevel = _permutationLevel + 2; uint topLevel = 0; foreach(StrandObj strandobj in StrandObjs) { if(strandobj.Strand.Level > _topLevel && strandobj.Strand.Level < containedLevel) { topLevel = innerSuperStrand.StrandObjs[0].Strand.Level; innerSuperStrand.SetNumberOfValues(topLevel); _innerSuperStrands.Add(innerSuperStrand); innerSuperStrand = new InnerSuperStrand(); } innerSuperStrand.StrandObjs.Add(strandobj); } topLevel = innerSuperStrand.StrandObjs[0].Strand.Level; innerSuperStrand.SetNumberOfValues(topLevel); _innerSuperStrands.Add(innerSuperStrand); Debug.Assert(_innerSuperStrands.Count <= 7); }