Example #1
0
        public PetriNetFlow AddFlow(string name, PetriNetElement from, PetriNetElement to)
        {
            var id = Tuple.Create(from.Name, to.Name);

            if (!this.Flows.TryGetValue(id, out var result))
            {
                result = new PetriNetFlow(name, from, to);
                this.Flows.Add(id, result);
            }

            return(result);
        }
Example #2
0
        public PetriNetFlow(string name, PetriNetElement from, PetriNetElement to)
        {
            this.From = from;
            from.To.Add(this);

            this.To = to;
            to.From.Add(this);


            if (name == null)
            {
                this.Name = $"f{PetriNetFlow.Counter}";

                PetriNetFlow.Counter++;
            }
            else
            {
                this.Name = name;
            }
        }