From 30d1c646b63604b59ce9d665054bd748e56e171c Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期三, 14 八月 2024 18:27:20 +0800 Subject: [PATCH] 新增水力模拟界面 --- Desktop/HStation.Xhs.Hydro.Test.Core/Form2.cs | 94 +++++++++++++++++++++++++++++++++++++---------- 1 files changed, 74 insertions(+), 20 deletions(-) diff --git a/Desktop/HStation.Xhs.Hydro.Test.Core/Form2.cs b/Desktop/HStation.Xhs.Hydro.Test.Core/Form2.cs index 7d8492a..2edef43 100644 --- a/Desktop/HStation.Xhs.Hydro.Test.Core/Form2.cs +++ b/Desktop/HStation.Xhs.Hydro.Test.Core/Form2.cs @@ -1,4 +1,6 @@ -锘縰sing System; +锘� +using Newtonsoft.Json.Linq; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; @@ -7,9 +9,8 @@ using System.Text; using System.Threading.Tasks; using System.Windows.Forms; -using Hydro.MapUI; -using Hydro.MapView; -using Hydro.MapView.Common; +using Yw.EPAnet.Calcu; +using Yw.WinFrmUI.Q3d; namespace Hydro.ClientTool { @@ -21,31 +22,84 @@ InitializeComponent(); } - private void 鎵撳紑OToolStripMenuItem_Click(object sender, EventArgs e) - { - 妯℃澘绠$悊 form = new 妯℃澘绠$悊(); - if (form.ShowDialog() == DialogResult.OK) - { - var temp = TemplateList.GetTemplate(form.TemplateID); - mapViewer1.SetData(temp); - } - - } + private void Form2_Load(object sender, EventArgs e) { - this.mapViewer1.showToolBar = true; - if (TemplateList.Inited == false) + NetWork network = new NetWork(); + network.BuildFromInp(@"temp/temp.inp"); + NetworkViewModel mapNetwork = new NetworkViewModel(); + foreach (var node in network.Nodes) { - TemplateList.Init(); + NodeViewModel viewNode=null; + if (node is MeterModel meter) + { + viewNode = new MeterViewModel(); + viewNode.X = meter.X; + viewNode.Y = meter.Y; + viewNode.Name = meter.Name; + viewNode.ID = meter.ID; + viewNode.Z = meter.Elev; + viewNode.Demand = meter.Demand; + } + else if (node is JunctionModel j) + { + viewNode = new JunctionViewModel(); + viewNode.X = j.X; + viewNode.Y = j.Y; + viewNode.Name = j.Name; + viewNode.ID = j.ID; + viewNode.Z = j.Elev; + viewNode.Demand = j.Demand; + } + else if (node is ReservoisModel res) + { + viewNode= new ReservoirViewModel(); + viewNode.X = res.X; + viewNode.Y = res.Y; + viewNode.Name = res.Name; + viewNode.ID = res.ID; + viewNode.Z = res.Elev; + ((ReservoirViewModel)viewNode).Head = res.Head; + } + + mapNetwork.Nodes.Add(viewNode); } - GlobalObject.map = this.mapViewer1; - ////GlobalObject.PropertyForm = this.propertyForm1; + foreach(var link in network.Links) + { + LinkViewModel viewLink = null; + //鍒ゆ柇濡傛灉鏄閬� + if (link is PipeModel pipe) + { + viewLink = new PipeViewModel(); + viewLink.ID = pipe.ID; + viewLink.Node1 = pipe.Node1; + viewLink.Node2 = pipe.Node2; + viewLink.Diameter = pipe.Diameter; + viewLink.Length = pipe.Length; + viewLink.Roughness = pipe.Roughness; + + } + else if (link is ValveModel valve) + { + viewLink = new ValveViewModel(); + viewLink.ID= valve.ID; + viewLink.Node1 = valve.Node1; + viewLink.Node2 = valve.Node2; + viewLink.Diameter = valve.Diameter; + viewLink.Length = valve.Length; + viewLink.Roughness = valve.Roughness; + } + mapNetwork.Links.Add(viewLink); + + } + mapNetwork.BuildRelation(); + map.SetData(mapNetwork); } private void Form2_KeyDown(object sender, KeyEventArgs e) { - mapViewer1.MapViewer_KeyDown(sender, e); + map.MapViewer_KeyDown(sender, e); } } } -- Gitblit v1.9.3