Example #1
0
        /// <summary>
        /// Aktivator. Einmal den Baum iterieren, um die
        /// Genrator, Mixer und Filter-Objekte zu instantiieren.
        /// </summary>
        private void Aktiviere(MusterNode node, MatrixParams mparams)
        {
            if (node is MixerNode)
            {
                MixerNode mnode = (MixerNode)node;
                // MixerNode evaluieren und somit erzeugen.
                try
                {
                    mnode.Inst.Initialize(mparams);
                }
                catch (System.Exception ex)
                {
                    throw new MusterPipelineException(mnode, ex);
                }
                foreach (var qnode in mnode.Quelle)
                {
                    // Rekursion
                    this.Aktiviere(qnode, mparams);
                }
            }

            if (node is GeneratorNode)
            {
                GeneratorNode gnode = (GeneratorNode)node;
                // Generatorinstanz erzeugen lassen.
                try
                {
                    gnode.Inst.Initialize(mparams);
                }
                catch (System.Exception ex)
                {
                    throw new MusterPipelineException(gnode, ex);
                }
            }

            if (node is FilterNode)
            {
                FilterNode fnode = (FilterNode)node;
                // Filterinstanz erzeugen durch Zugriff
                try
                {
                    fnode.Inst.Initialize(mparams);
                }
                catch (System.Exception ex)
                {
                    throw new MusterPipelineException(fnode, ex);
                }
                // Rekursion
                this.Aktiviere(fnode.Quelle, mparams);
            }
        }
Example #2
0
 /// <summary>
 /// Aufrufen nach Konstruktion, um die Matrixparameter bekannt zu machen
 /// und um alle beteiligten Objkete zu generieren. Dabei kann natürlich
 /// eine Menge schief gehen - Hier werden Exceptions geworfen.
 /// </summary>
 /// <param name="mparams"></param>
 public void Initialisiere(MatrixParams mparams)
 {
     this.Aktiviere(this.Root, mparams);
 }