Esempio n. 1
0
        public void Split(int count)
        {
            Outputs.Clear();
            int smallestPower = Context.GetSmallestPower(count);

            SplitIntoPower(smallestPower);
            //do the merging
            List <Output> finals       = GetFinalOutputs();
            List <Output> outputsToAdd = new List <Output>();

            for (int i = 0; i < smallestPower - count; i++)
            {
                outputsToAdd.Add(finals[i]);
            }
            if (outputsToAdd.Count > 0)
            {
                Node   oldInput = Inputs[0];
                Merger merger   = (oldInput as ICanInsertMergerAfter).InsertMergerAfter();
                merger.AddInputsSafe(outputsToAdd);
                merger.OutputRate = oldInput.OutputRate + oldInput.OutputRate / count * (smallestPower - count);
            }
        }