/// <summary> /// Удалить выбранный дочерний узел. /// </summary> /// <param name="component">Удаляемый узел.</param> public override void Remove(Component component) { if (_children == component) { component.SetParent(null); _children = null; } }
/// <summary> /// Добавить новый дочерний узел. /// </summary> /// <param name="component">Добавляемый узел.</param> public override void Add(Component component) { if (component.GetType() != typeof(PressureNode)) { _children = component; component.SetParent(this); component.SetLevel(Level + 1); } else throw new Exception("Нельзя подключать к трубе узел давления в качестве дочернего элемента."); }
/// <summary> /// Добавить дочерний узел. /// </summary> /// <param name="component">Добавляемый узел.</param> public override void Add(Component component) { if (component.GetType() == typeof(FlowPath)) { if (_children.All(x => x.Name != component.Name)) { _children.Add(component); component.SetParent(this); component.SetLevel(Level + 1); } } else throw new Exception("К узлу переноса массы можно подключить только трубу в качестве дочернего элемента."); }
/// <summary> /// Задать компонент, над которым будет происходить рассчет. /// </summary> /// <param name="component">Компонент, над которым происходит обработка прохода.</param> public void SetComponent(Component component) { _component = component; }
/// <summary> /// Добавить новый дочерний узел. /// </summary> /// <param name="component">Добавляемый узел.</param> public abstract void Add(Component component);
/// <summary> /// Задать родительский элемент. /// </summary> /// <param name="parent">Родительский узел.</param> public void SetParent(Component parent) { Parent = parent; }
/// <summary> /// Удалить выбранный дочерний узел. /// </summary> /// <param name="component">Удаляемый узел.</param> public abstract void Remove(Component component);
/// <summary> /// Удалить выбранный дочерний узел. /// </summary> /// <param name="component">Удаляемый узел.</param> public override void Remove(Component component) { if (_children.Any(x => x.Name == component.Name)) { component.SetParent(null); _children.Remove(component); } }
/// <summary> /// Удалить выбранный дочерний узел. /// </summary> /// <param name="component">Удаляемый узел.</param> /// <remarks> /// У закрытого узла нельзя удалить дочерние элементы. /// </remarks> public override sealed void Remove(Component component) { throw new Exception("У закрытого узла нельзя удалить дочерние элементы."); }
/// <summary> /// Добавить дочерний узел. /// </summary> /// <param name="component">Добавляемый узел.</param> /// <remarks> /// К закрытому узлу нельзя добавлять дочерние элементы. /// </remarks> public override sealed void Add(Component component) { throw new Exception("К закрытому узлу нельзя добавлять дочерние элементы."); }