namespace Yw.WinFrmUI.HydroL2d { /// /// /// public partial class Network { /// /// 判断是否存在 /// public bool IsExist(string id) { return _parters.Exists(x => x.Id == id); } /// /// 获取边界 /// public RectangleF GetBounds() { var result = RectangleF.Empty; bool firstPass = true; foreach (var node in this.Nodes) { var rectf = new RectangleF(node.Position, SizeF.Empty); if (firstPass) { result = rectf; firstPass = false; } else { result = RectangleF.Union(result, rectf); } } foreach (var link in this.Links) { foreach (var position in link.Positions) { var rectf = new RectangleF(link.StartPosition, SizeF.Empty); if (firstPass) { result = rectf; firstPass = false; } else { result = RectangleF.Union(result, rectf); } } } return result; } /// /// 绘制 /// public void Draw(Graphics g) { foreach (var link in this.Links) { link.Draw(g); } foreach (var node in this.Nodes) { node.Draw(g); } } } }