/// <summary>
        /// en cas de changement d'etat d'une horloge ou d'un  pinin
        /// </summary>
        /// <param name="iN"></param>
        public void EvaluateCircuit(IN iN)
        {
            ICollection <Edge <Outils> > hs = new HashSet <Edge <Outils> >();

            foreach (Outils outil in iN.getEndListe())
            {
                this.Evaluate(outil, hs);
            }
        }
        public void RecupEntré(IN outils)
        {
            foreach (OutStruct outs in outils.getListesorties()[0].get_OutStruct())
            {
                this.nb_entrees++;
                ClasseEntree entree = outs.GetEntree();
                entree.setDispo(Disposition.left);
                entree.setRelated(false);
                outs.getOutils().end = true;
                this.liste_entrees.Add(entree);//on ajoute l'entrée
                //creation de la liste pour la sauvegarde aprés réutilisation
                this.Entrée.Add(new Point(outs.getOutils().id, outs.getOutils().getListeentrees().IndexOf(outs.GetEntree())));

                ((Grid)(entree.Parent)).Children.Remove(entree);
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Construire la liste de fin d'un element
        /// </summary>
        /// <param name="iN"></param>
        public void EndCircuit(IN iN, ICollection <Edge <Outils> > hs)
        {
            Outils o = this;

            if ((iN.circuit.getCircuit().OutEdges(o)).Any())
            {
                foreach (Edge <Outils> edge in iN.circuit.getCircuit().OutEdges(o))
                {
                    if (!hs.Contains(edge))
                    {
                        hs.Add(edge);
                        if ((edge.Target is PinOut) || edge.Target.Empty())
                        {
                            iN.getEndListe().Add(edge.Target);
                        }
                        else
                        {
                            edge.Target.EndCircuit(iN, hs);
                        }
                    }
                }
            }
        }