using Yw.Model;
|
|
namespace HStation.WinFrmUI
|
{
|
/// <summary>
|
/// 可见列表辅助类
|
/// </summary>
|
public class SimulationVisualListHelper
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public SimulationVisualListHelper() { }
|
|
/// <summary>
|
/// 水力信息
|
/// </summary>
|
public HydroModelInfo HydroInfo
|
{
|
get { return _hydroInfo; }
|
private set { _hydroInfo = value; }
|
}
|
private HydroModelInfo _hydroInfo = null;
|
private Dictionary<string, HydroVisualInfo> _dict;//字典
|
|
/// <summary>
|
/// 初始化数据
|
/// </summary>
|
public void InitialData(HydroModelInfo hydroInfo)
|
{
|
this.HydroInfo = hydroInfo;
|
if (this.HydroInfo == null)
|
{
|
return;
|
}
|
_dict = hydroInfo?.GetVisualDict();
|
}
|
|
/// <summary>
|
/// 获取可见字典
|
/// </summary>
|
public Dictionary<string, HydroVisualInfo> GetVisualDict()
|
{
|
return _dict;
|
}
|
|
/// <summary>
|
/// 获取可见列表
|
/// </summary>
|
public List<HydroVisualInfo> GetVisualList()
|
{
|
return _dict?.Values.ToList();
|
}
|
|
/// <summary>
|
/// 获取节点列表
|
/// </summary>
|
public List<HydroNodeInfo> GetNodeList()
|
{
|
var nodes = _hydroInfo?.GetAllNodes();
|
return nodes;
|
}
|
|
/// <summary>
|
/// 获取水源列表
|
/// </summary>
|
public List<HydroSourceInfo> GetSourceList()
|
{
|
var sources = _hydroInfo?.GetAllSources();
|
return sources;
|
}
|
|
/// <summary>
|
/// 获取管段列表
|
/// </summary>
|
public List<HydroLinkInfo> GetLinkList()
|
{
|
var links = _hydroInfo?.GetAllLinks();
|
return links;
|
}
|
|
/// <summary>
|
/// 获取可视构件
|
/// </summary>
|
public HydroVisualInfo GetVisual(string code)
|
{
|
if (_dict == null || _dict.Count < 1)
|
{
|
return default;
|
}
|
if (_dict.ContainsKey(code))
|
{
|
return _dict[code];
|
}
|
return default;
|
}
|
|
/// <summary>
|
/// 获取可视构件列表
|
/// </summary>
|
public List<HydroVisualInfo> GetVisualList(List<string> codes)
|
{
|
if (codes == null || codes.Count < 1)
|
{
|
return default;
|
}
|
var list = codes.Select(x => GetVisual(x)).Where(x => x != null).ToList();
|
return list;
|
}
|
|
|
|
|
|
|
}
|
}
|