Example #1
0
        internal CChannels(CFlowMatrix aFlowMatrix)
        {
            var aChannels = new CChannel[aFlowMatrix.IoCount];

            for (var aRow = 0; aRow < aFlowMatrix.IoCount; ++aRow)
            {
                var aOutputs = new List <int>();
                for (var aCol = 0; aCol < aFlowMatrix.IoCount; ++aCol)
                {
                    if (aFlowMatrix.Coerced[aFlowMatrix.GetCellIdx(aCol, aRow)])
                    {
                        aOutputs.Add(aCol);
                    }
                }
                var aChannel = CChannel.New(this, aRow, aOutputs);
                aChannels[aRow] = aChannel;
            }
            var aMainOut = new CMainOut(this);

            this.Channels   = aChannels;
            this.MainOut    = aMainOut;
            this.FlowMatrix = aFlowMatrix;
        }
Example #2
0
 public abstract void Visit(CMainOut aMainOut);