/// <summary>
 /// Удаляет из списка указанный объект MArc
 /// </summary>
 /// <param name="arc">Удаляемый объект</param>
 /// <param name="arcs">Список из которого надо удалить</param>
 /// <returns>Результат удаления из списка</returns>
 public bool removeLink(MArc arc, List <MArc> arcs)
 {
     try
     {
         arcs.Remove(arc);
         return(true);
     }
     catch { return(false); }
 }
 /// <summary>
 /// Добавление арки в один из листов объекта mTransition: inPlaces, outPlaces,
 /// т.е добавление указаного объекта MArc в нужный список.
 /// </summary>
 /// <param name="mTransition">Объекта класса MTransition в свойства которого добавлется MArc </param>
 /// <param name="arc">Добавляемый объекты MArc в указаный список mTransition</param>
 /// <returns>Результат добавление объекта MArc в список mTransition(true-успех, false - неудача)</returns>
 public bool addArc(MTransition mTransition, MArc arc)
 {
     if (arc.edge.isInEdge)
     {
         return(mTransition.addArc(arc, mTransition.inPlaces));
     }
     else
     {
         return(mTransition.addArc(arc, mTransition.outPlaces));
     }
 }
 /// <summary>
 /// Добавление арки MArc в соответсвующий лист Арок: inPlaces или outPlaces
 /// </summary>
 /// <param name="arc">добавляемая арка MArc</param>
 /// <param name="places">лист арок в который происходит добавление</param>
 /// <returns>Успешно ли прошло добавление (Если уже есть такая арка, то false)</returns>
 public bool addArc(MArc arc, List <MArc> places)
 {
     foreach (var place in places)
     {
         if (place.edge.edge.Item1.label == arc.edge.edge.Item1.label)
         {
             if (place.edge.edge.Item2.label == arc.edge.edge.Item2.label)
             {
                 return(false);
             }
         }
     }
     places.Add(arc);
     return(true);
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Метод удаления зависимостей из данного листа объекто типа MArc
 /// </summary>
 /// <param name="arc">арка с объекто MPlace для которого удаляем зависимость</param>
 /// <param name="arcs">Список откдуа удаляем зависимость</param>
 /// <returns>Результат удаления</returns>
 private bool deleteReference(MArc arc, List <MArc> arcs)
 {
     return(PetriNetsClassLibrary.PetriNet.CTransition.removeLink(arc, arcs));
 }
 /// <summary>
 /// Конструктор выставляющий по дефолту некоторые переменные
 /// </summary>
 public Line(bool isInhibitor)
 {
     LineWidth        = 2; LineColor = Color.Black; points = new List <PointF>(); mArc = new MArc(isInhibitor);
     this.isInhibitor = isInhibitor;
 }