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