yangyin
2024-08-20 98e49c0dd42840a094837f7acae532bc237a719a
Desktop/HStation.Xhs.Hydro.Test.Core/Form2.cs
@@ -5,11 +5,12 @@
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Yw.EPAnet.Calcu;
using Yw.EPAnet;
using Yw.WinFrmUI.Q3d;
namespace Hydro.ClientTool
@@ -26,77 +27,21 @@
        private void Form2_Load(object sender, EventArgs e)
        {
            NetWork network = new NetWork();
            network.BuildFromInp(@"temp/temp.inp");
            NetworkViewModel mapNetwork = new NetworkViewModel();
            foreach (var node in network.Nodes)
            {
                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);
            }
            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);
            string inptxt=File.ReadAllText(@"D:\Desktop\D_Production\工具项目\ISupply\XHS.V1.0\Hydro\bin\debug\net6.0-windows\test.inp");
            Network network = InpInteropHelper.FromInpString(inptxt);
            }
            mapNetwork.BuildRelation();
            map.SetData(mapNetwork);
            NetworkViewModel net=new NetworkViewModel();
        }
        //帮我编写一个方法,将network转换为NetworkViewModel
        public NetworkViewModel ConvertNetworkToNetworkViewModel(Network network)
        {
            NetworkViewModel net = new NetworkViewModel();
            return net;
        }
        private void Form2_KeyDown(object sender, KeyEventArgs e)
        {
            map.MapViewer_KeyDown(sender, e);