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);
}
}
}
}