From 979fa511e23ad4cb8d7e25b813aade4aaec45535 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期六, 23 十一月 2024 00:12:34 +0800 Subject: [PATCH] 核心界面整理 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.cs | 225 +++++++++++++++++--------------------------------------- 1 files changed, 68 insertions(+), 157 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.cs index c016336..bc38493 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.cs @@ -1,34 +1,64 @@ -锘縰sing DevExpress.Xpo.Helpers; -using Yw.WinFrmUI.Bimface; +锘縰sing Yw.WinFrmUI.Bimface; namespace HStation.WinFrmUI { - public partial class XhsProjectSimulationBimfaceCtrl : DevExpress.XtraEditors.XtraUserControl + public partial class XhsProjectSimulationBimfaceCtrl : DevExpress.XtraEditors.XtraUserControl, ISimulationFlowEffectView, ISimulationVisualVisibleView, ISimulationMonitorMarkerView, ISimulationCalcuResultLabelView, ISimulationMarkView, ISimulationGradingView { public XhsProjectSimulationBimfaceCtrl() { InitializeComponent(); } + #region 浜嬩欢闆� + /// <summary> - /// 姘村姏鐐瑰嚮浜嬩欢锛堝寘鍚乏閿拰鍙抽敭锛� + /// 姘村姏鐐瑰嚮浜嬩欢 + /// 鍖呭惈宸﹂敭鍜屽彸閿� /// </summary> - public event Action<Yw.Model.HydroVisualInfo> HydroClickEvent; + public event Action<string> HydroClickEvent; /// <summary> - /// 姘村姏鐐瑰嚮浜嬩欢锛堜粎宸﹂敭锛� + /// 姘村姏鐐瑰嚮浜嬩欢 + /// 浠呭乏閿� /// </summary> - public event Action<Yw.Model.HydroVisualInfo> HydroMouseLeftClickEvent; + public event Action<string> HydroMouseLeftClickEvent; /// <summary> /// 鍔犺浇瀹屾垚浜嬩欢 /// </summary> public event Action LoadCompletedEvent; + #endregion + //椤圭洰 - private HStation.Vmo.XhsProjectVmo _project = null; + private XhsProjectVmo _project = null; //椤圭洰绔� - private HStation.Vmo.XhsProjectSiteVmo _projectSite = null; - //鑾峰彇姘村姏淇℃伅鏂规硶 - private Func<Yw.Model.HydroModelInfo> _hydroInfoFunc = null; + private XhsProjectSiteVmo _projectSite = null; + + /// <summary> + /// 鍒濆鍖栨暟鎹� + /// 浠呮敮鎸佽皟鐢ㄤ竴娆� + /// </summary> + public async Task InitialData(XhsProjectVmo project, XhsProjectSiteVmo projectSite) + { + if (project == null) + { + return; + } + _project = project; + _projectSite = projectSite; + if (_projectSite == null) + { + _projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(_project.ID); + } + var bimfaceInteropContainer = GetBimfaceInteropContainer(); + this.Controls.Clear(); + this.Controls.Add(bimfaceInteropContainer); + await bimfaceInteropContainer.InitialContainer(); + } + + #region 浜や簰瀹瑰櫒 + + //bimface 浜や簰瀹瑰櫒 + private BimfaceInterop3dContainer _bimfaceInteropContainer = null; //鑾峰彇Bimface 浜や簰瀹瑰櫒 private BimfaceInterop3dContainer GetBimfaceInteropContainer() @@ -83,17 +113,7 @@ { return; } - if (this.HydroClickEvent != null) - { - var hydroInfo = _hydroInfoFunc?.Invoke(); - if (hydroInfo == null) - { - return; - } - var allParterList = hydroInfo.GetAllVisuals(); - var parter = allParterList?.Find(x => x.Code == obj.ObjectId); - this.HydroClickEvent.Invoke(parter); - } + this.HydroClickEvent?.Invoke(obj.ObjectId); }; _bimfaceInteropContainer.ClickOutEvent += (obj) => { @@ -105,17 +125,7 @@ { return; } - if (this.HydroMouseLeftClickEvent != null) - { - var hydroInfo = _hydroInfoFunc?.Invoke(); - if (hydroInfo == null) - { - return; - } - var allParterList = hydroInfo.GetAllVisuals(); - var parter = allParterList?.Find(x => x.Code == obj.ObjectId); - this.HydroMouseLeftClickEvent.Invoke(parter); - } + this.HydroMouseLeftClickEvent?.Invoke(obj.ObjectId); }; _bimfaceInteropContainer.MouseLeftClickOutEvent += (obj) => { @@ -124,39 +134,11 @@ } return _bimfaceInteropContainer; } - //bimface 浜や簰瀹瑰櫒 - private BimfaceInterop3dContainer _bimfaceInteropContainer = null; - - /// <summary> - /// 鍒濆鍖栨暟鎹� - /// 浠呮敮鎸佽皟鐢ㄤ竴娆� - /// </summary> - public async Task InitialData - ( - HStation.Vmo.XhsProjectVmo project, - HStation.Vmo.XhsProjectSiteVmo projectSite, - Func<Yw.Model.HydroModelInfo> hydroInfoFunc - ) - { - if (project == null) - { - return; - } - _project = project; - _projectSite = projectSite; - _hydroInfoFunc = hydroInfoFunc; - if (_projectSite == null) - { - _projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(_project.ID); - } - var bimfaceInteropContainer = GetBimfaceInteropContainer(); - this.Controls.Clear(); - this.Controls.Add(bimfaceInteropContainer); - await bimfaceInteropContainer.InitialContainer(); - } - #region 鏋勪欢鐨勬樉绀轰笌闅愯棌 + #endregion + + #region 鏄剧ず涓庨殣钘� /// <summary> /// 鏄剧ず鏋勪欢 @@ -196,34 +178,22 @@ #endregion - #region 鏋勪欢鐨勫崐閫忔槑涓庡彇娑� + #region 鍗婇�忔槑 /// <summary> - /// 鍗婇�忔槑鏋勪欢 + /// 鍗婇�忔槑 /// </summary> - /// <param name="elementIds">鏋勪欢id鍒楄〃</param> - /// <returns></returns> - public async Task TranslucentComponents(List<string> elementIds) + public async Task TranslucentComponents(List<string> codes) { - if (_bimfaceInteropContainer == null) - { - return; - } - await _bimfaceInteropContainer.TranslucentComponents(elementIds); + await _bimfaceInteropContainer?.TranslucentComponents(codes); } /// <summary> - /// 鍙栨秷鏋勪欢鍗婇�忔槑 + /// 鍙栨秷鍗婇�忔槑 /// </summary> - /// <param name="elementIds">鏋勪欢id鍒楄〃</param> - /// <returns></returns> - public async Task OpaqueComponents(List<string> elementIds) + public async Task OpaqueComponents(List<string> codes) { - if (_bimfaceInteropContainer == null) - { - return; - } - await _bimfaceInteropContainer.OpaqueComponents(elementIds); + await _bimfaceInteropContainer?.OpaqueComponents(codes); } #endregion @@ -287,18 +257,14 @@ #endregion - #region 缂╂斁 + #region 缂╂斁涓庨�夋嫨 /// <summary> /// 缂╂斁鑷虫瀯浠� /// </summary> - public async Task ZoomToComponent(string elementId) + public async Task ZoomToComponent(string code) { - if (_bimfaceInteropContainer == null) - { - return; - } - await _bimfaceInteropContainer.ZoomToComponent(elementId); + await _bimfaceInteropContainer?.ZoomToComponent(code); } /// <summary> @@ -306,31 +272,27 @@ /// </summary> public async Task ZoomToSelectedComponents() { - if (_bimfaceInteropContainer == null) - { - return; - } - await _bimfaceInteropContainer.ZoomToSelectedComponents(); + await _bimfaceInteropContainer?.ZoomToSelectedComponents(); } /// <summary> /// 缂╂斁鑷抽�夋嫨鏋勪欢 /// </summary> - public async Task ZoomAndSelectComponent(string elementId) + public async Task ZoomAndSelectComponent(string code) { - if (string.IsNullOrEmpty(elementId)) + if (string.IsNullOrEmpty(code)) { return; } - await _bimfaceInteropContainer.ZoomAndSelectComponents(new List<string>() { elementId }); + await _bimfaceInteropContainer?.ZoomAndSelectComponents(new List<string>() { code }); } /// <summary> /// 缂╂斁鑷抽�夋嫨鏋勪欢 /// </summary> - public async Task ZoomAndSelectComponents(List<string> elementIds) + public async Task ZoomAndSelectComponents(List<string> codes) { - await _bimfaceInteropContainer.ZoomAndSelectComponents(elementIds); + await _bimfaceInteropContainer?.ZoomAndSelectComponents(codes); } #endregion @@ -421,61 +383,10 @@ #region 涓氬姟璁$畻鑷畾涔夋爣绛� /// <summary> - /// 鏄剧ず涓氬姟璁$畻鑷畾涔夋爣绛� + /// 璁剧疆涓氬姟璁$畻鑷畾涔夋爣绛� /// </summary> - public async Task SetLogicCalcuCustomLabelsCalcuResult(HydroCalcuResult calcuResult) + public async Task SetLogicCalcuCustomLabels(List<LogicCalcuCustomLabel> obj) { - var hydroInfo = _hydroInfoFunc?.Invoke(); - if (hydroInfo == null) - { - return; - } - if (calcuResult == null) - { - return; - } - if (!calcuResult.Succeed) - { - await _bimfaceInteropContainer?.ClearLogicCalcuCustomLabels(); - return; - } - var obj = new List<LogicCalcuCustomLabel>(); - var allParterList = hydroInfo.GetAllParters(); - allParterList?.ForEach(x => - { - if (x is Yw.Model.HydroPumpInfo pump) - { - var hz = Math.Round(pump.RatedHz * pump.SpeedRatio); - var calcuPump = calcuResult.LinkList.Find(x => x.Code == pump.Code); - var calcuPumpStart = calcuResult.NodeList.Find(x => x.Code == pump.StartCode); - var calcuPumpEnd = calcuResult.NodeList.Find(x => x.Code == pump.EndCode); - var pumpCustomLabel = new LogicCalcuCustomLabel(); - pumpCustomLabel.Id = pump.Code; - pumpCustomLabel.Distance = 10000; - pumpCustomLabel.Data = new List<LogicCalcuCustomLabelItem>() - { - new LogicCalcuCustomLabelItem(){ Name="鐘舵��",Value=HydroLinkStatusHelper.GetStatusName(pump.LinkStatus),Unit=string.Empty}, - new LogicCalcuCustomLabelItem(){ Name="棰戠巼",Value=hz.ToString(),Unit=string.Empty}, - new LogicCalcuCustomLabelItem(){ Name="娴侀噺",Value=Math.Round(calcuPump.CalcuFlow.Value,1).ToString(),Unit="m鲁/h"}, - new LogicCalcuCustomLabelItem(){ Name="杩涘彛鍘嬪姏",Value=Math.Round(calcuPumpStart.CalcuHead.Value,4).ToString(),Unit="m"}, - new LogicCalcuCustomLabelItem(){ Name="鍑哄彛鍘嬪姏",Value=Math.Round(calcuPumpEnd.CalcuHead.Value,4).ToString(),Unit="m"}, - }; - obj.Add(pumpCustomLabel); - } - else if (x is Yw.Model.HydroEmitterInfo emitter) - { - var calcuEmitter = calcuResult.NodeList.Find(x => x.Code == emitter.Code); - var emitterCustomLabel = new LogicCalcuCustomLabel(); - emitterCustomLabel.Id = emitter.Code; - emitterCustomLabel.Distance = 10000; - emitterCustomLabel.Data = new List<LogicCalcuCustomLabelItem>() - { - new LogicCalcuCustomLabelItem(){ Name="娴侀噺",Value=Math.Round(calcuEmitter.CalcuDemand.Value,1).ToString(),Unit="m鲁/h"}, - new LogicCalcuCustomLabelItem(){ Name="鍘嬪姏",Value=Math.Round(calcuEmitter.CalcuDemand.Value,4).ToString(),Unit="m"} - }; - obj.Add(emitterCustomLabel); - } - }); await _bimfaceInteropContainer?.SetLogicCalcuCustomLabels(obj); } @@ -489,7 +400,7 @@ #endregion - #region 涓氬姟鏍囨敞寮曠嚎鏍囩 + #region 妯″瀷鏍囨敞 /// <summary> /// 璁剧疆涓氬姟鏍囨敞寮曠嚎鏍囩 @@ -525,7 +436,7 @@ #endregion - #region 涓氬姟姘存祦鍔ㄧ敾 + #region 姘存祦鍔ㄧ敾 /// <summary> /// 鍔犺浇姘存祦鍔ㄧ敾 @@ -647,12 +558,12 @@ #endregion - #region 涓氬姟鐩戞祴鐐� + #region 鐩戞祴鐐规爣璁� /// <summary> /// 璁剧疆涓氬姟鐩戞祴鐐� /// </summary> - public async Task SetLogicMonitors(List<LogicMonitor> obj) + public async Task SetLogicMonitors(List<LogicMonitorMarker> obj) { await _bimfaceInteropContainer?.SetLogicMonitors(obj); } -- Gitblit v1.9.3