private List <OuterSuperStrand> GetOuterSuperStrands(PermutationSourceInputKrystal source, uint permutationLevel) { List <OuterSuperStrand> outerSuperStrands = new List <OuterSuperStrand>(); int originalMomentNumber = 1; OuterSuperStrand outerSuperStrand = new OuterSuperStrand(permutationLevel); foreach (Strand strand in source.Strands) { StrandObj strandObj = new StrandObj(strand, originalMomentNumber++); if (strand.Level > 1 && strand.Level <= permutationLevel) { outerSuperStrands.Add(outerSuperStrand); outerSuperStrand = new OuterSuperStrand(permutationLevel); } outerSuperStrand.StrandObjs.Add(strandObj); } outerSuperStrands.Add(outerSuperStrand); foreach (OuterSuperStrand gStrand in outerSuperStrands) { gStrand.SetInnerSuperStrands(); } return(outerSuperStrands); }
private List<OuterSuperStrand> GetOuterSuperStrands(PermutationSourceInputKrystal source, uint permutationLevel) { List<OuterSuperStrand> outerSuperStrands = new List<OuterSuperStrand>(); int originalMomentNumber = 1; OuterSuperStrand outerSuperStrand = new OuterSuperStrand(permutationLevel); foreach(Strand strand in source.Strands) { StrandObj strandObj = new StrandObj(strand, originalMomentNumber++); if(strand.Level > 1 && strand.Level <= permutationLevel) { outerSuperStrands.Add(outerSuperStrand); outerSuperStrand = new OuterSuperStrand(permutationLevel); } outerSuperStrand.StrandObjs.Add(strandObj); } outerSuperStrands.Add(outerSuperStrand); foreach(OuterSuperStrand gStrand in outerSuperStrands) { gStrand.SetInnerSuperStrands(); } return outerSuperStrands; }