namespace Yw.WinFrmUI.HydroL2d
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public partial class Network
|
{
|
|
/// <summary>
|
/// 判断是否存在
|
/// </summary>
|
public bool IsExist(string id)
|
{
|
return _parters.Exists(x => x.Id == id);
|
}
|
|
/// <summary>
|
/// 获取边界
|
/// </summary>
|
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;
|
}
|
|
/// <summary>
|
/// 绘制
|
/// </summary>
|
public void Draw(Graphics g)
|
{
|
foreach (var link in this.Links)
|
{
|
link.Draw(g);
|
}
|
foreach (var node in this.Nodes)
|
{
|
node.Draw(g);
|
}
|
}
|
|
|
}
|
}
|