| | |
| | | using HyView = Hydro.MapView; |
| | | using HyCore = Hydro.Core.Model; |
| | | using System.Globalization; |
| | | using Hydro.MapView; |
| | | |
| | | namespace HStation.WinFrmUI |
| | | namespace HStation.WinFrmUI |
| | | { |
| | | /// <summary> |
| | | /// |
| | |
| | | /// </summary> |
| | | /// <param name="info">模型信息</param> |
| | | /// <returns></returns> |
| | | public static HyView.MapViewNetWork Transfer(Yw.Model.HydroModelInfo info) |
| | | public static object Transfer(Yw.Model.HydroModelInfo info) |
| | | { |
| | | if (info == null) |
| | | { |
| | | return default; |
| | | } |
| | | var netWork = new HyView.MapViewNetWork(); |
| | | netWork.Nodes = new HyView.NodeViewModelList(); |
| | | netWork.Links = new HyView.LinkViewModelList(); |
| | | //var netWork = new HyView.MapViewNetWork(); |
| | | //netWork.Nodes = new HyView.NodeViewModelList(); |
| | | //netWork.Links = new HyView.LinkViewModelList(); |
| | | |
| | | //连接节点 |
| | | if (info.Junctions != null && info.Junctions.Count > 0) |
| | | { |
| | | foreach (var junction in info.Junctions) |
| | | { |
| | | var junctionModel = new HyView.JunctionViewModel(); |
| | | junctionModel.ID = junction.Code; |
| | | junctionModel.Name = junction.Name; |
| | | junctionModel.X = (float)junction.Position3d.X; |
| | | junctionModel.Y = (float)junction.Position3d.Y; |
| | | //junctionModel.Z = (float)junction.Position3d.Z; |
| | | junctionModel.Position3D = new HyView.PointF3D((float)junction.Position3d.X, (float)junction.Position3d.Y, (float)junction.Position3d.Z); |
| | | junctionModel.Elev = (float)junction.Elev; |
| | | junctionModel.Demand = junction.Demand.HasValue ? (float)junction.Demand.Value : 0; |
| | | junctionModel.PatternID = junction.DemandPattern; |
| | | //junctionModel.Status = StatusType.DEFAULT; |
| | | netWork.Nodes.Add(junctionModel); |
| | | //var junctionModel = new HyView.JunctionViewModel(); |
| | | //junctionModel.UserID = junction.Code; |
| | | //junctionModel.Name = junction.Name; |
| | | //junctionModel.X = (float)junction.Position3d.X; |
| | | //junctionModel.Y = (float)junction.Position3d.Y; |
| | | ////junctionModel.Z = (float)junction.Position3d.Z; |
| | | //junctionModel.Position3D = new HyView.PointF3D((float)junction.Position3d.X, (float)junction.Position3d.Y, (float)junction.Position3d.Z); |
| | | //junctionModel.Elev = (float)junction.Elev; |
| | | //junctionModel.Demand = junction.Demand.HasValue ? (float)junction.Demand.Value : 0; |
| | | //junctionModel.PatternID = junction.DemandPattern; |
| | | ////junctionModel.Status = StatusType.DEFAULT; |
| | | //netWork.Nodes.Add(junctionModel); |
| | | |
| | | netWork.Nodes.Add(junctionModel); |
| | | //netWork.Nodes.Add(junctionModel); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | foreach (var reservoir in info.Reservoirs) |
| | | { |
| | | var reservoirModel = new HyView.ReservoirViewModel(); |
| | | reservoirModel.ID = reservoir.Code; |
| | | reservoirModel.Name = reservoir.Name; |
| | | reservoirModel.X = (float)reservoir.Position3d.X; |
| | | reservoirModel.Y = (float)reservoir.Position3d.Y; |
| | | //reservoirModel.Z = (float)reservoir.Position3d.Z; |
| | | reservoirModel.Demand = 0; |
| | | reservoirModel.Head = (float)reservoir.Head; |
| | | reservoirModel.PatternID = reservoir.HeadPattern; |
| | | reservoirModel.Position3D = new HyView.PointF3D((float)reservoir.Position3d.X, (float)reservoir.Position3d.Y, (float)reservoir.Position3d.Z); |
| | | netWork.Nodes.Add(reservoirModel); |
| | | //var reservoirModel = new HyView.ReservoirViewModel(); |
| | | //reservoirModel.UserID = reservoir.Code; |
| | | //reservoirModel.Name = reservoir.Name; |
| | | //reservoirModel.X = (float)reservoir.Position3d.X; |
| | | //reservoirModel.Y = (float)reservoir.Position3d.Y; |
| | | ////reservoirModel.Z = (float)reservoir.Position3d.Z; |
| | | //reservoirModel.Demand = 0; |
| | | //reservoirModel.Head = (float)reservoir.Head; |
| | | //reservoirModel.PatternID = reservoir.HeadPattern; |
| | | //reservoirModel.Position3D = new HyView.PointF3D((float)reservoir.Position3d.X, (float)reservoir.Position3d.Y, (float)reservoir.Position3d.Z); |
| | | //netWork.Nodes.Add(reservoirModel); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | foreach (var tank in info.Tanks) |
| | | { |
| | | var tankModel = new HyView.TankViewModel(); |
| | | tankModel.ID = tank.Code; |
| | | tankModel.Name = tank.Name; |
| | | tankModel.X = (float)tank.Position3d.X; |
| | | tankModel.Y = (float)tank.Position3d.Y; |
| | | //tankModel.Z = (float)tank.Position3d.Z; |
| | | tankModel.Demand = 0; |
| | | tankModel.Diameter = (float)tank.Diameter; |
| | | tankModel.Elev = (float)tank.PoolElev; |
| | | tankModel.InitLevel = (float)tank.InitLevel; |
| | | tankModel.MinLevel = (float)tank.MinLevel; |
| | | tankModel.MaxLevel = (float)tank.MaxLevel; |
| | | tankModel.MinVol = (float)tank.MinVol; |
| | | tankModel.VolCurve = tank.VolCurve; |
| | | tankModel.Position3D = new HyView.PointF3D((float)tank.Position3d.X, (float)tank.Position3d.Y, (float)tank.Position3d.Z); |
| | | netWork.Nodes.Add(tankModel); |
| | | //var tankModel = new HyView.TankViewModel(); |
| | | //tankModel.UserID = tank.Code; |
| | | //tankModel.Name = tank.Name; |
| | | //tankModel.X = (float)tank.Position3d.X; |
| | | //tankModel.Y = (float)tank.Position3d.Y; |
| | | ////tankModel.Z = (float)tank.Position3d.Z; |
| | | //tankModel.Demand = 0; |
| | | //tankModel.Diameter = (float)tank.Diameter; |
| | | //tankModel.Elev = (float)tank.PoolElev; |
| | | //tankModel.InitLevel = (float)tank.InitLevel; |
| | | //tankModel.MinLevel = (float)tank.MinLevel; |
| | | //tankModel.MaxLevel = (float)tank.MaxLevel; |
| | | //tankModel.MinVol = (float)tank.MinVol; |
| | | //tankModel.VolCurve = tank.VolCurve; |
| | | //tankModel.Position3D = new HyView.PointF3D((float)tank.Position3d.X, (float)tank.Position3d.Y, (float)tank.Position3d.Z); |
| | | //netWork.Nodes.Add(tankModel); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | foreach (var pipe in info.Pipes) |
| | | { |
| | | var pipeModel = new HyView.PipeViewModel(); |
| | | pipeModel.ID = pipe.Code; |
| | | pipeModel.Name = pipe.Name; |
| | | // pipeModel.Status = StatusType.OPEN; |
| | | pipeModel.StartNode = netWork.Nodes.Find(x => x.ID == pipe.StartCode); |
| | | pipeModel.EndNode = netWork.Nodes.Find(x => x.ID == pipe.EndCode); |
| | | pipeModel.Diameter = (float)pipe.Diameter; |
| | | pipeModel.Length = (float)pipe.Length; |
| | | pipeModel.Roughness = (float)pipe.Roughness; |
| | | pipeModel.MinorLoss = (float)pipe.MinorLoss; |
| | | //var pipeModel = new HyView.PipeViewModel(); |
| | | //pipeModel.UserID = pipe.Code; |
| | | //pipeModel.Name = pipe.Name; |
| | | //// pipeModel.Status = StatusType.OPEN; |
| | | //pipeModel.StartNode = netWork.Nodes.Find(x => x.UserID == pipe.StartCode); |
| | | //pipeModel.EndNode = netWork.Nodes.Find(x => x.UserID == pipe.EndCode); |
| | | //pipeModel.Diameter = (float)pipe.Diameter; |
| | | //pipeModel.Length = (float)pipe.Length; |
| | | //pipeModel.Roughness = (float)pipe.Roughness; |
| | | //pipeModel.MinorLoss = (float)pipe.MinorLoss; |
| | | |
| | | netWork.Links.Add(pipeModel); |
| | | //netWork.Links.Add(pipeModel); |
| | | |
| | | } |
| | | } |
| | |
| | | { |
| | | foreach (var pump in info.Pumps) |
| | | { |
| | | var pumpModel = new HyView.PumpViewModel(); |
| | | pumpModel.ID = pump.Code; |
| | | pumpModel.Name = pump.Name; |
| | | //pumpModel.Status = StatusType.OPEN; |
| | | pumpModel.StartNode = netWork.Nodes.Find(x => x.ID == pump.StartCode); |
| | | pumpModel.EndNode = netWork.Nodes.Find(x => x.ID == pump.EndCode); |
| | | pumpModel.HeadCurve = pump.CurveQH; |
| | | //var pumpModel = new HyView.PumpViewModel(); |
| | | //pumpModel.UserID = pump.Code; |
| | | //pumpModel.Name = pump.Name; |
| | | ////pumpModel.Status = StatusType.OPEN; |
| | | //pumpModel.StartNode = netWork.Nodes.Find(x => x.UserID == pump.StartCode); |
| | | //pumpModel.EndNode = netWork.Nodes.Find(x => x.UserID == pump.EndCode); |
| | | //pumpModel.HeadCurve = pump.CurveQH; |
| | | |
| | | |
| | | netWork.Links.Add(pumpModel); |
| | | //netWork.Links.Add(pumpModel); |
| | | |
| | | } |
| | | } |
| | |
| | | { |
| | | foreach (var valve in info.Valves) |
| | | { |
| | | var valveModel = new HyView.ValveViewModel(); |
| | | valveModel.ID = valve.Code; |
| | | valveModel.Name = valve.Name; |
| | | //valveModel.Status = StatusType.OPEN; |
| | | valveModel.StartNode = netWork.Nodes.Find(x => x.ID == valve.StartCode); |
| | | valveModel.EndNode = netWork.Nodes.Find(x => x.ID == valve.EndCode); |
| | | valveModel.Diameter = (float)valve.Diameter; |
| | | valveModel.Type = valve.ValveType; |
| | | valveModel.Setting = valve.ValveSetting; |
| | | //var valveModel = new HyView.ValveViewModel(); |
| | | //valveModel.UserID = valve.Code; |
| | | //valveModel.Name = valve.Name; |
| | | ////valveModel.Status = StatusType.OPEN; |
| | | //valveModel.StartNode = netWork.Nodes.Find(x => x.UserID == valve.StartCode); |
| | | //valveModel.EndNode = netWork.Nodes.Find(x => x.UserID == valve.EndCode); |
| | | //valveModel.Diameter = (float)valve.Diameter; |
| | | //valveModel.Type = valve.ValveType; |
| | | //valveModel.Setting = valve.ValveSetting; |
| | | |
| | | |
| | | netWork.Links.Add(valveModel); |
| | | //netWork.Links.Add(valveModel); |
| | | |
| | | } |
| | | } |
| | | |
| | | return netWork; |
| | | return default; |
| | | } |
| | | |
| | | } |