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