From ccc0d2319b71cc41f4d9d2f86dff28da918987da Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期四, 06 六月 2024 13:51:37 +0800 Subject: [PATCH] 主页菜单功能替换 --- WinfrmUI/Hydro.MapView/MapViewNetWork.cs | 47 ++++++++++++++++++++++++++--------------------- 1 files changed, 26 insertions(+), 21 deletions(-) diff --git a/WinfrmUI/Hydro.MapView/MapViewNetWork.cs b/WinfrmUI/Hydro.MapView/MapViewNetWork.cs index ae3cc22..7669540 100644 --- a/WinfrmUI/Hydro.MapView/MapViewNetWork.cs +++ b/WinfrmUI/Hydro.MapView/MapViewNetWork.cs @@ -18,6 +18,7 @@ using System.Runtime.InteropServices; using Hydro.HydraulicOptimizer; using Hydro.Core; +using System.Xml.Linq; namespace Hydro.MapView { @@ -26,11 +27,11 @@ { bool use_old = false; public string Name; - private LinkViewModelList _links=new LinkViewModelList(); - public LinkViewModelList Links { get { return _links; } set { base.Links= _links = value; } } + private LinkViewModelList _links = new LinkViewModelList(); + public LinkViewModelList Links { get { return _links; } set { base.Links = _links = value; } } private NodeViewModelList _nodes = new NodeViewModelList(); - public NodeViewModelList Nodes { get { return _nodes; }set { base.Nodes = _nodes = value; } } + public NodeViewModelList Nodes { get { return _nodes; } set { base.Nodes = _nodes = value; } } public NodeViewModel StartPoint { get; set; } @@ -254,9 +255,9 @@ { return false; } - - + + } public string WriteToJson() { @@ -571,7 +572,7 @@ EndPoint = network.EndPoint; } } - public List<IBaseViewModel> Add(MapViewNetWork net0, PointF3D offset = null, bool isCopy = false) + public List<IBaseViewModel> Add(MapViewNetWork net0, PointF3D offset = null, bool isCopy = false, NodeViewModel ConnectNode = null) { if (offset == null) { @@ -615,6 +616,10 @@ Hash_ID.Add(l.ID); list.Add(l); }); + if (ConnectNode != null) + { + list.Add(AddPipe(ConnectNode, net.StartPoint)); + } //BuildRelation(); return list; } @@ -712,7 +717,7 @@ List<BaseModel> objects = new List<BaseModel>(); objects.AddRange(Nodes); objects.AddRange(Links); - return objects.Select(o=>(IBaseViewModel)o).ToList(); + return objects.Select(o => (IBaseViewModel)o).ToList(); } } public void Rename() @@ -731,7 +736,7 @@ public void LoadRepeaters(int MaxLevel, dict<string, dynamic> param, Dictionary<TemplateType, bool> viewModel, bool ViewMode = true) { - + repeaters.ForEach(r => { @@ -746,7 +751,7 @@ Add(r); r.Visible = false; } - + }); } @@ -765,7 +770,7 @@ // 瀹氫箟 visited 瀛楀吀璁板綍宸茶闂繃鐨勮妭鐐瑰拰寰呰闂殑鑺傜偣闃熷垪 Dictionary<NodeViewModel, bool> visited;//= new Dictionary<Node, bool>(); - private bool _isCalculated=false; + private bool _isCalculated = false; public void BFS(MapViewNetWork net, NodeViewModel startNode, Vector3 vector) { @@ -804,7 +809,7 @@ public List<NodeViewModel> GetNode(string node) { - return Nodes.FindAll(n => n.ID == node).Select(n=> (NodeViewModel)n).ToList(); + return Nodes.FindAll(n => n.ID == node).Select(n => (NodeViewModel)n).ToList(); } public List<TimePoint> Calc(string inpPath, string configPath = null) @@ -847,7 +852,7 @@ SetLinkFromWparam(this, list, "Velocity"); SetLinkFromWparam(this, list, "Headloss"); - Links.ForEach(l=> + Links.ForEach(l => { l.EN_HEADLOSS_MINOR = (float)Math.Round(l.MinorLoss * Math.Pow(l.EN_VELOCITY, 2) / 2 / 9.8, 4); l.EN_HEADLOSS_LINE = l.EN_HEADLOSS - l.EN_HEADLOSS_MINOR; @@ -887,10 +892,10 @@ calcParam.setVars = new List<SetVar>(); reservoirs.ForEach(r => { - calcParam.setVars.Add(new SetVar (r.ID,true,(int)EpanetEnum.NodeValueType.姘存睜姘翠綅,(float)val.ObjFunctionValue)); + calcParam.setVars.Add(new SetVar(r.ID, true, (int)EpanetEnum.NodeValueType.姘存睜姘翠綅, (float)val.ObjFunctionValue)); }); - wdnmoParam =wdo.CalcbyResult(calcParam, wdnmoParam); + wdnmoParam = wdo.CalcbyResult(calcParam, wdnmoParam); var list = wdnmoParam.ResultPoints; if (list == null) return list; list.Sort((a, b) => string.Compare(a.Key, b.Key)); @@ -1013,7 +1018,7 @@ //鏋勯�犱竴涓狶ist<LinkViewModel>绫伙紝鑳藉瀹炵幇List鐨勬墍鏈夊姛鑳� [Serializable] - public class LinkViewModelList:List<LinkCalcModel> + public class LinkViewModelList : List<LinkCalcModel> { //List<LinkCalcModel> base; Dictionary<string, LinkViewModel> dict;// @@ -1049,7 +1054,7 @@ /// </summary> public void UpdateDict() { - this.dict= new Dictionary<string, LinkViewModel>(); + this.dict = new Dictionary<string, LinkViewModel>(); base.ForEach(link => { if (!dict.ContainsKey(link.ID)) @@ -1061,13 +1066,13 @@ /// </summary> /// <param name="oldID"></param> /// <param name="newID"></param> - public void ChangeID(string oldID,string newID) + public void ChangeID(string oldID, string newID) { if (dict.ContainsKey(oldID)) { dict[oldID].ID = newID; dict.Add(newID, dict[oldID]); - dict.Remove(oldID); + dict.Remove(oldID); } } /// <summary> @@ -1092,7 +1097,7 @@ dict.Add(link.ID, link); }); } - + public bool RemoveAt(int index) { if (index < 0 || index >= base.Count) return false; @@ -1112,7 +1117,7 @@ { if (dict.ContainsKey(ID)) return dict[ID]; - else + else return (LinkViewModel)base.Find(l => l.ID == ID); } } @@ -1188,7 +1193,7 @@ { //List<NodeCalcModel> base; Dictionary<string, NodeCalcModel> dict;//=new Dictionary<string, NodeCalcModel>();// - public NodeViewModelList():base() + public NodeViewModelList() : base() { this.dict = new Dictionary<string, NodeCalcModel>(); } -- Gitblit v1.9.3