示例#1
0
        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);
        }
示例#2
0
        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;
        }