using System.Globalization; namespace HStation.WinFrmUI { /// /// /// public class HydroQ3dTransferHelper { /// /// 转换 /// /// 模型信息 /// 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(); //连接节点 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); //netWork.Nodes.Add(junctionModel); } } //水库 if (info.Reservoirs != null && info.Reservoirs.Count > 0) { 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); } } //水池 if (info.Tanks != null && info.Tanks.Count > 0) { 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); } } //管道 if (info.Pipes != null && info.Pipes.Count > 0) { 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; //netWork.Links.Add(pipeModel); } } //水泵 if (info.Pumps != null && info.Pumps.Count > 0) { 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; //netWork.Links.Add(pumpModel); } } //阀门 if (info.Valves != null && info.Valves.Count > 0) { 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; //netWork.Links.Add(valveModel); } } return default; } } }