| | |
| | | return default; |
| | | } |
| | | var vm = new NetworkViewModel(); |
| | | |
| | | if (rhs.Reservoirs != null && rhs.Reservoirs.Count > 0) |
| | | { |
| | | foreach (var reservoir in rhs.Reservoirs) |
| | | { |
| | | var reservoirViewModel = new ReservoirViewModel(); |
| | | reservoirViewModel.ID = reservoir.Code; |
| | | reservoirViewModel.Name = reservoir.Name; |
| | | reservoirViewModel.Position3D = new PointF3D((float)reservoir.Position3d.X, (float)reservoir.Position3d.Y, (float)reservoir.Position3d.Z); |
| | | vm.Nodes.Add(reservoirViewModel); |
| | | } |
| | | } |
| | | if (rhs.Tanks != null && rhs.Tanks.Count > 0) |
| | | { |
| | | foreach (var tank in rhs.Tanks) |
| | | { |
| | | var tankViewModel = new TankViewModel(); |
| | | tankViewModel.ID = tank.Code; |
| | | tankViewModel.Name = tank.Name; |
| | | tankViewModel.Position3D = new PointF3D((float)tank.Position3d.X, (float)tank.Position3d.Y, (float)tank.Position3d.Z); |
| | | vm.Nodes.Add(tankViewModel); |
| | | } |
| | | } |
| | | if (rhs.Waterboxs != null && rhs.Waterboxs.Count > 0) |
| | | { |
| | | foreach (var waterbox in rhs.Waterboxs) |
| | | { |
| | | var waterboxViewModel = new TankViewModel(); |
| | | waterboxViewModel.ID = waterbox.Code; |
| | | waterboxViewModel.Name = waterbox.Name; |
| | | waterboxViewModel.Position3D = new PointF3D((float)waterbox.Position3d.X, (float)waterbox.Position3d.Y, (float)waterbox.Position3d.Z); |
| | | vm.Nodes.Add(waterboxViewModel); |
| | | } |
| | | } |
| | | if (rhs.Junctions != null && rhs.Junctions.Count > 0) |
| | | { |
| | | foreach (var junction in rhs.Junctions) |
| | |
| | | hydrantViewModel.Name = hydrant.Name; |
| | | hydrantViewModel.Position3D = new PointF3D((float)hydrant.Position3d.X, (float)hydrant.Position3d.Y, (float)hydrant.Position3d.Z); |
| | | vm.Nodes.Add(hydrantViewModel); |
| | | } |
| | | } |
| | | if (rhs.Coolings != null && rhs.Coolings.Count > 0) |
| | | { |
| | | foreach (var cooling in rhs.Coolings) |
| | | { |
| | | var coolingViewModel = new JunctionViewModel(); |
| | | coolingViewModel.ID = cooling.Code; |
| | | coolingViewModel.Name = cooling.Name; |
| | | coolingViewModel.Position3D = new PointF3D((float)cooling.Position3d.X, (float)cooling.Position3d.Y, (float)cooling.Position3d.Z); |
| | | vm.Nodes.Add(coolingViewModel); |
| | | } |
| | | } |
| | | if (rhs.Bluntheads != null && rhs.Bluntheads.Count > 0) |
| | | { |
| | | foreach (var blunthead in rhs.Bluntheads) |
| | | { |
| | | var bluntheadViewModel = new JunctionViewModel(); |
| | | bluntheadViewModel.ID = blunthead.Code; |
| | | bluntheadViewModel.Name = blunthead.Name; |
| | | bluntheadViewModel.Position3D = new PointF3D((float)blunthead.Position3d.X, (float)blunthead.Position3d.Y, (float)blunthead.Position3d.Z); |
| | | vm.Nodes.Add(bluntheadViewModel); |
| | | } |
| | | } |
| | | if (rhs.Elbows != null && rhs.Elbows.Count > 0) |
| | |
| | | vm.Nodes.Add(pressmeterViewModel); |
| | | } |
| | | } |
| | | if (rhs.Bluntheads != null && rhs.Bluntheads.Count > 0) |
| | | { |
| | | foreach (var blunthead in rhs.Bluntheads) |
| | | { |
| | | var bluntheadViewModel = new JunctionViewModel(); |
| | | bluntheadViewModel.ID = blunthead.Code; |
| | | bluntheadViewModel.Name = blunthead.Name; |
| | | bluntheadViewModel.Position3D = new PointF3D((float)blunthead.Position3d.X, (float)blunthead.Position3d.Y, (float)blunthead.Position3d.Z); |
| | | vm.Nodes.Add(bluntheadViewModel); |
| | | } |
| | | } |
| | | |
| | | if (rhs.Reservoirs != null && rhs.Reservoirs.Count > 0) |
| | | { |
| | | foreach (var reservoir in rhs.Reservoirs) |
| | | { |
| | | var reservoirViewModel = new ReservoirViewModel(); |
| | | reservoirViewModel.ID = reservoir.Code; |
| | | reservoirViewModel.Name = reservoir.Name; |
| | | reservoirViewModel.Position3D = new PointF3D((float)reservoir.Position3d.X, (float)reservoir.Position3d.Y, (float)reservoir.Position3d.Z); |
| | | vm.Nodes.Add(reservoirViewModel); |
| | | } |
| | | } |
| | | if (rhs.Tanks != null && rhs.Tanks.Count > 0) |
| | | { |
| | | foreach (var tank in rhs.Tanks) |
| | | { |
| | | var tankViewModel = new TankViewModel(); |
| | | tankViewModel.ID = tank.Code; |
| | | tankViewModel.Name = tank.Name; |
| | | tankViewModel.Position3D = new PointF3D((float)tank.Position3d.X, (float)tank.Position3d.Y, (float)tank.Position3d.Z); |
| | | vm.Nodes.Add(tankViewModel); |
| | | } |
| | | } |
| | | if (rhs.Waterboxs != null && rhs.Waterboxs.Count > 0) |
| | | { |
| | | foreach (var waterbox in rhs.Waterboxs) |
| | | { |
| | | var waterboxViewModel = new TankViewModel(); |
| | | waterboxViewModel.ID = waterbox.Code; |
| | | waterboxViewModel.Name = waterbox.Name; |
| | | waterboxViewModel.Position3D = new PointF3D((float)waterbox.Position3d.X, (float)waterbox.Position3d.Y, (float)waterbox.Position3d.Z); |
| | | vm.Nodes.Add(waterboxViewModel); |
| | | } |
| | | } |
| | | |
| | | if (rhs.Pipes != null && rhs.Pipes.Count > 0) |
| | | { |
| | |
| | | translationViewModel.StartNode = vm.Nodes.Find(x => x.ID == translation.StartCode); |
| | | translationViewModel.EndNode = vm.Nodes.Find(x => x.ID == translation.EndCode); |
| | | vm.Links.Add(translationViewModel); |
| | | } |
| | | } |
| | | if (rhs.Exchangers != null && rhs.Exchangers.Count > 0) |
| | | { |
| | | foreach (var exchanger in rhs.Exchangers) |
| | | { |
| | | var exchangerViewModel = new PipeViewModel(); |
| | | exchangerViewModel.ID = exchanger.Code; |
| | | exchangerViewModel.Name = exchanger.Name; |
| | | exchangerViewModel.StartNode = vm.Nodes.Find(x => x.ID == exchanger.StartCode); |
| | | exchangerViewModel.EndNode = vm.Nodes.Find(x => x.ID == exchanger.EndCode); |
| | | vm.Links.Add(exchangerViewModel); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | if (rhs.Exchangers != null && rhs.Exchangers.Count > 0) |
| | | { |
| | | foreach (var exchanger in rhs.Exchangers) |
| | | { |
| | | var exchangerViewModel = new PipeViewModel(); |
| | | exchangerViewModel.ID = exchanger.Code; |
| | | exchangerViewModel.Name = exchanger.Name; |
| | | exchangerViewModel.StartNode = vm.Nodes.Find(x => x.ID == exchanger.StartCode); |
| | | exchangerViewModel.EndNode = vm.Nodes.Find(x => x.ID == exchanger.EndCode); |
| | | vm.Links.Add(exchangerViewModel); |
| | | } |
| | | } |
| | | if (rhs.Compressors != null && rhs.Compressors.Count > 0) |
| | | { |
| | | foreach (var compressor in rhs.Compressors) |
| | | { |
| | | var compresorViewModel = new PipeViewModel(); |
| | | compresorViewModel.ID = compressor.Code; |
| | | compresorViewModel.Name = compressor.Name; |
| | | compresorViewModel.StartNode = vm.Nodes.Find(x => x.ID == compressor.StartCode); |
| | | compresorViewModel.EndNode = vm.Nodes.Find(x => x.ID == compressor.EndCode); |
| | | vm.Links.Add(compresorViewModel); |
| | | } |
| | | } |
| | | |
| | | |
| | | return vm; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 转换 |
| | | /// </summary> |
| | | /// <param name="info">模型信息</param> |
| | | /// <returns></returns> |
| | | 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; |
| | | } |
| | | |
| | | } |
| | | } |