|
using Newtonsoft.Json.Linq;
|
using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Drawing;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using System.Windows.Forms;
|
using Yw.EPAnet.Calcu;
|
using Yw.WinFrmUI.Q3D;
|
|
namespace Hydro.ClientTool
|
{
|
public partial class Form2 : Form
|
{
|
public Form2()
|
{
|
|
InitializeComponent();
|
}
|
|
|
|
private void Form2_Load(object sender, EventArgs e)
|
{
|
NetWork network = new NetWork();
|
network.BuildFromInp(@"temp/temp.inp");
|
MapViewNetWork mapNetwork = new MapViewNetWork();
|
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);
|
|
}
|
mapNetwork.BuildRelation();
|
map.SetData(mapNetwork);
|
}
|
|
private void Form2_KeyDown(object sender, KeyEventArgs e)
|
{
|
map.MapViewer_KeyDown(sender, e);
|
}
|
}
|
}
|