From d4898c5d7e1bbbbba384a0e29f29c066d6f502a7 Mon Sep 17 00:00:00 2001 From: Shuxia Ning <NingShuxia0927@outlook.com> Date: 星期一, 25 十一月 2024 17:44:18 +0800 Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.cs | 549 +++++++++++++++++++++++++++++++++++------------------- 1 files changed, 357 insertions(+), 192 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 1bb0450..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,44 +1,43 @@ -锘縰sing DevExpress.Office.Utils; -using 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(); - this.bimfaceInterop3dContainer1.LoadCompletedEvent += BimfaceInterop3dContainer1_LoadCompletedEvent; - this.bimfaceInterop3dContainer1.LoadViewCompletedEvent += BimfaceInterop3dContainer1_LoadViewCompletedEvent; - this.bimfaceInterop3dContainer1.ClickInEvent += BimfaceInterop3dContainer1_ClickInEvent; - this.bimfaceInterop3dContainer1.ClickOutEvent += BimfaceInterop3dContainer1_ClickOutEvent; } + + #region 浜嬩欢闆� /// <summary> /// 姘村姏鐐瑰嚮浜嬩欢 + /// 鍖呭惈宸﹂敭鍜屽彸閿� /// </summary> - public event Action<Yw.Model.HydroParterInfo> HydroClickEvent; + public event Action<string> HydroClickEvent; + /// <summary> + /// 姘村姏鐐瑰嚮浜嬩欢 + /// 浠呭乏閿� + /// </summary> + public event Action<string> HydroMouseLeftClickEvent; /// <summary> /// 鍔犺浇瀹屾垚浜嬩欢 /// </summary> public event Action LoadCompletedEvent; + #endregion - private HStation.Vmo.XhsProjectVmo _project = null; - private HStation.Vmo.XhsProjectSiteVmo _projectSite = null; - private Func<Yw.Model.HydroModelInfo> _hydroInfoFunc = null; - + //椤圭洰 + private XhsProjectVmo _project = null; + //椤圭洰绔� + private XhsProjectSiteVmo _projectSite = null; /// <summary> - /// 缁戝畾鏁版嵁 + /// 鍒濆鍖栨暟鎹� + /// 浠呮敮鎸佽皟鐢ㄤ竴娆� /// </summary> - public async Task SetBindingData - ( - HStation.Vmo.XhsProjectVmo project, - HStation.Vmo.XhsProjectSiteVmo projectSite, - Func<Yw.Model.HydroModelInfo> hydroInfoFunc - ) + public async Task InitialData(XhsProjectVmo project, XhsProjectSiteVmo projectSite) { if (project == null) { @@ -46,130 +45,155 @@ } _project = project; _projectSite = projectSite; - _hydroInfoFunc = hydroInfoFunc; if (_projectSite == null) { _projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(_project.ID); } - await this.bimfaceInterop3dContainer1.InitialContainer(); + var bimfaceInteropContainer = GetBimfaceInteropContainer(); + this.Controls.Clear(); + this.Controls.Add(bimfaceInteropContainer); + await bimfaceInteropContainer.InitialContainer(); } - //椤甸潰鍔犺浇瀹屾垚鍚庤Е鍙� - private async void BimfaceInterop3dContainer1_LoadCompletedEvent() + #region 浜や簰瀹瑰櫒 + + //bimface 浜や簰瀹瑰櫒 + private BimfaceInterop3dContainer _bimfaceInteropContainer = null; + + //鑾峰彇Bimface 浜や簰瀹瑰櫒 + private BimfaceInterop3dContainer GetBimfaceInteropContainer() { - if (_projectSite == null) + if (_bimfaceInteropContainer == null) { - return; - } - - var relation = await BLLFactory<Yw.BLL.BimfaceFileRelation>.Instance - .GetDefaultByObjectTypeAndObjectIDOfPurpose - (HStation.Xhs.DataType.XhsProjectSite, _projectSite.ID, HStation.Xhs.Purpose.Simulation); - if (relation == null) - { - return; - } - - var bimfaceFile = await BLLFactory<Yw.BLL.BimfaceFile>.Instance.GetByID(relation.BimfaceFileID); - if (bimfaceFile == null) - { - return; - } - - var viewToken = await BimfaceHelper.GetViewToken(bimfaceFile.BimfaceId); - if (string.IsNullOrEmpty(viewToken)) - { - return; - } - await this.bimfaceInterop3dContainer1.LoadView(viewToken); - } - - //椤甸潰瑙嗗浘鍔犺浇瀹屾垚鍚庤Е鍙� - private void BimfaceInterop3dContainer1_LoadViewCompletedEvent() - { - this.LoadCompletedEvent?.Invoke(); - } - - //鍐呴儴鐐瑰嚮 - private void BimfaceInterop3dContainer1_ClickInEvent(Yw.WinFrmUI.Bimface.ClickIn3dInfo obj) - { - if (obj == null) - { - return; - } - if (HydroClickEvent != null) - { - var hydroInfo = _hydroInfoFunc?.Invoke(); - if (hydroInfo == null) + _bimfaceInteropContainer = new BimfaceInterop3dContainer(); + _bimfaceInteropContainer.Dock = DockStyle.Fill; + _bimfaceInteropContainer.LoadCompletedEvent += async () => { - return; - } - var allParterList = hydroInfo.GetAllParters(); - var parter = allParterList?.Find(x => x.Code == obj.ObjectId); - this.HydroClickEvent.Invoke(parter); + if (_projectSite == null) + { + return; + } + + var relation = await BLLFactory<Yw.BLL.BimfaceFileRelation>.Instance + .GetDefaultByObjectTypeAndObjectIDOfPurpose + (HStation.Xhs.DataType.XhsProjectSite, _projectSite.ID, HStation.Xhs.Purpose.Simulation); + if (relation == null) + { + return; + } + + var bimfaceFile = await BLLFactory<Yw.BLL.BimfaceFile>.Instance.GetByID(relation.BimfaceFileID); + if (bimfaceFile == null) + { + return; + } + + var viewToken = await BimfaceHelper.GetViewToken(bimfaceFile.BimfaceId); + if (string.IsNullOrEmpty(viewToken)) + { + return; + } + await _bimfaceInteropContainer.LoadView(viewToken); + }; + _bimfaceInteropContainer.LoadFailedEvent += () => + { + TipFormHelper.ShowError("涓夌淮妯″瀷瀹瑰櫒鍔犺浇澶辫触"); + }; + _bimfaceInteropContainer.LoadViewCompletedEvent += () => + { + this.LoadCompletedEvent?.Invoke(); + }; + _bimfaceInteropContainer.LoadViewFailedEvent += (obj) => + { + TipFormHelper.ShowError($"涓夌淮妯″瀷鍔犺浇澶辫触"); + }; + _bimfaceInteropContainer.ClickInEvent += (obj) => + { + if (obj == null) + { + return; + } + this.HydroClickEvent?.Invoke(obj.ObjectId); + }; + _bimfaceInteropContainer.ClickOutEvent += (obj) => + { + this.HydroClickEvent?.Invoke(null); + }; + _bimfaceInteropContainer.MouseLeftClickInEvent += (obj) => + { + if (obj == null) + { + return; + } + this.HydroMouseLeftClickEvent?.Invoke(obj.ObjectId); + }; + _bimfaceInteropContainer.MouseLeftClickOutEvent += (obj) => + { + this.HydroMouseLeftClickEvent?.Invoke(null); + }; } - } - - //澶栭儴鐐瑰嚮 - private void BimfaceInterop3dContainer1_ClickOutEvent(ClickOut3dInfo obj) - { - this.HydroClickEvent?.Invoke(null); + return _bimfaceInteropContainer; } - #region 鏋勪欢鐨勬樉绀轰笌闅愯棌 + #endregion + + #region 鏄剧ず涓庨殣钘� /// <summary> /// 鏄剧ず鏋勪欢 /// </summary> - /// <param name="elementIds">鏋勪欢id鍒楄〃</param> - /// <returns></returns> public async Task ShowComponents(List<string> elementIds) { - await this.bimfaceInterop3dContainer1.ShowComponents(elementIds); + if (_bimfaceInteropContainer == null) + { + return; + } + await _bimfaceInteropContainer.ShowComponents(elementIds); } /// <summary> /// 闅愯棌鏋勪欢 /// </summary> - /// <param name="elementIds">鏋勪欢id鍒楄〃</param> - /// <returns></returns> public async Task HideComponents(List<string> elementIds) { - await this.bimfaceInterop3dContainer1.HideComponents(elementIds); + if (_bimfaceInteropContainer == null) + { + return; + } + await _bimfaceInteropContainer.HideComponents(elementIds); } /// <summary> /// 鏄剧ず鎵�鏈夋瀯浠� /// </summary> - /// <returns></returns> public async Task ShowAllComponents() { - await this.bimfaceInterop3dContainer1.ShowAllComponents(); + if (_bimfaceInteropContainer == null) + { + return; + } + await _bimfaceInteropContainer.ShowAllComponents(); } #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) { - await this.bimfaceInterop3dContainer1.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) { - await this.bimfaceInterop3dContainer1.OpaqueComponents(elementIds); + await _bimfaceInteropContainer?.OpaqueComponents(codes); } #endregion @@ -182,7 +206,11 @@ /// <returns></returns> public async Task SetSelectedComponents(List<string> elements) { - await this.bimfaceInterop3dContainer1.SetSelectedComponents(elements); + if (_bimfaceInteropContainer == null) + { + return; + } + await _bimfaceInteropContainer.SetSelectedComponents(elements); } /// <summary> @@ -192,7 +220,11 @@ /// <returns></returns> public async Task AddSelectedComponents(List<string> elements) { - await this.bimfaceInterop3dContainer1.AddSelectedComponents(elements); + if (_bimfaceInteropContainer == null) + { + return; + } + await _bimfaceInteropContainer.AddSelectedComponents(elements); } /// <summary> @@ -202,7 +234,11 @@ /// <returns></returns> public async Task RemoveSelectedComponents(List<string> elements) { - await this.bimfaceInterop3dContainer1.RemoveSelectedComponents(elements); + if (_bimfaceInteropContainer == null) + { + return; + } + await _bimfaceInteropContainer.RemoveSelectedComponents(elements); } /// <summary> @@ -212,19 +248,23 @@ /// <returns></returns> public async Task ClearSelectedComponents() { - await this.bimfaceInterop3dContainer1.ClearSelectedComponents(); + if (_bimfaceInteropContainer == null) + { + return; + } + await _bimfaceInteropContainer.ClearSelectedComponents(); } #endregion - #region 缂╂斁 + #region 缂╂斁涓庨�夋嫨 /// <summary> /// 缂╂斁鑷虫瀯浠� /// </summary> - public async Task ZoomToComponent(string elementId) + public async Task ZoomToComponent(string code) { - await this.bimfaceInterop3dContainer1.ZoomToComponent(elementId); + await _bimfaceInteropContainer?.ZoomToComponent(code); } /// <summary> @@ -232,35 +272,66 @@ /// </summary> public async Task ZoomToSelectedComponents() { - await this.bimfaceInterop3dContainer1.ZoomToSelectedComponents(); + await _bimfaceInteropContainer?.ZoomToSelectedComponents(); } /// <summary> /// 缂╂斁鑷抽�夋嫨鏋勪欢 /// </summary> - public async Task ZoomAndSelectComponents(List<string> elementIds) + public async Task ZoomAndSelectComponent(string code) { - await this.bimfaceInterop3dContainer1.ZoomAndSelectComponents(elementIds); + if (string.IsNullOrEmpty(code)) + { + return; + } + await _bimfaceInteropContainer?.ZoomAndSelectComponents(new List<string>() { code }); + } + + /// <summary> + /// 缂╂斁鑷抽�夋嫨鏋勪欢 + /// </summary> + public async Task ZoomAndSelectComponents(List<string> codes) + { + await _bimfaceInteropContainer?.ZoomAndSelectComponents(codes); } #endregion #region 寮鸿皟鏋勪欢 + private const string _blinkColor = "#32D3A6";//寮鸿皟鏋勪欢棰滆壊 + private const double _blinkTransparency = 0.8d; //寮鸿皟鏋勪欢閫忔槑搴� + /// <summary> /// 璁剧疆寮鸿皟鏋勪欢 /// </summary> - public async Task SetBlinkComponents(List<string> elementIds, string color, double transparency) + public async Task SetBlinkComponents(string elementId, string color = _blinkColor, double transparency = _blinkTransparency) { - await this.bimfaceInterop3dContainer1.SetBlinkComponents(elementIds, color, transparency); + if (string.IsNullOrEmpty(elementId)) + { + return; + } + await _bimfaceInteropContainer?.SetBlinkComponents(new List<string>() { elementId }, color, transparency); + } + + /// <summary> + /// 璁剧疆寮鸿皟鏋勪欢 + /// </summary> + public async Task SetBlinkComponents(List<string> elementIds, string color = _blinkColor, double transparency = _blinkTransparency) + { + if (elementIds == null || elementIds.Count < 1) + { + return; + } + await _bimfaceInteropContainer?.SetBlinkComponents(elementIds, color, transparency); } /// <summary> /// 娓呴櫎寮鸿皟鏋勪欢 /// </summary> - public async Task SetBlinkComponents() + public async Task ClearBlinkComponents() { - await this.bimfaceInterop3dContainer1.ClearBlinkComponents(); + await _bimfaceInteropContainer?.ClearBlinkComponents(); } #endregion @@ -272,45 +343,156 @@ /// </summary> public async Task OverrideComponentsColor(List<string> elementIds, string color, double transparency) { - await this.bimfaceInterop3dContainer1.OverrideComponentsColor(elementIds, color, transparency); + await _bimfaceInteropContainer?.OverrideComponentsColor(elementIds, color, transparency); + } + + /// <summary> + /// 璁剧疆寮鸿皟鏋勪欢 + /// </summary> + public async Task OverrideComponentsColor(string elementId, string color, double transparency) + { + if (string.IsNullOrEmpty(elementId)) + { + return; + } + await _bimfaceInteropContainer.OverrideComponentsColor(new List<string>() { elementId }, color, transparency); } /// <summary> /// 鎭㈠鏋勪欢棰滆壊 /// </summary> - public async Task SetBlinkComponents(List<string> elementIds) + public async Task RestoreComponentsColor(List<string> elementIds) { - await this.bimfaceInterop3dContainer1.RestoreComponentsColor(elementIds); + await _bimfaceInteropContainer?.RestoreComponentsColor(elementIds); + } + + /// <summary> + /// 鎭㈠鏋勪欢棰滆壊 + /// </summary> + public async Task RestoreComponentsColor(string elementId) + { + if (string.IsNullOrEmpty(elementId)) + { + return; + } + await _bimfaceInteropContainer?.RestoreComponentsColor(new List<string>() { elementId }); } #endregion - #region 鑷畾涔夋爣绛� + #region 涓氬姟璁$畻鑷畾涔夋爣绛� /// <summary> - /// 璁剧疆鑷畾涔夋爣绛� + /// 璁剧疆涓氬姟璁$畻鑷畾涔夋爣绛� /// </summary> - public async Task SetCustomLabels(List<CustomLabel> obj) + public async Task SetLogicCalcuCustomLabels(List<LogicCalcuCustomLabel> obj) { - await this.bimfaceInterop3dContainer1.SetCustomLabels(obj); + await _bimfaceInteropContainer?.SetLogicCalcuCustomLabels(obj); } /// <summary> - /// 娓呴櫎鑷畾涔夋爣绛� + /// 娓呴櫎涓氬姟璁$畻鑷畾涔夋爣绛� /// </summary> - public async Task ClearCustomLabels() + public async Task ClearLogicCalcuCustomLabels() { - await this.bimfaceInterop3dContainer1.ClearCustomLabels(); + await _bimfaceInteropContainer?.ClearLogicCalcuCustomLabels(); } - #endregion - #region 涓氬姟 + #region 妯″瀷鏍囨敞 + + /// <summary> + /// 璁剧疆涓氬姟鏍囨敞寮曠嚎鏍囩 + /// </summary> + public async Task SetLogicMarkLeadLabels(List<LogicMarkLeadLabel> obj) + { + await _bimfaceInteropContainer?.SetLogicMarkLeadLabels(obj); + } + + /// <summary> + /// 鏇存柊涓氬姟鏍囨敞寮曠嚎鏍囩 + /// </summary> + public async Task UpdateLogicMarkLeadLabel(LogicMarkLeadLabel obj) + { + await _bimfaceInteropContainer?.UpdateLogicMarkLeadLabel(obj); + } + + /// <summary> + /// 鏇存柊涓氬姟鏍囨敞寮曠嚎鏍囩 + /// </summary> + public async Task UpdateLogicMarkLeadLabels(List<LogicMarkLeadLabel> obj) + { + await _bimfaceInteropContainer?.UpdateLogicMarkLeadLabels(obj); + } + + /// <summary> + /// 娓呴櫎涓氬姟鏍囨敞寮曠嚎鏍囩 + /// </summary> + public async Task ClearLogicMarkLeadLabels() + { + await _bimfaceInteropContainer?.ClearLogicMarkLeadLabels(); + } + + #endregion + + #region 姘存祦鍔ㄧ敾 + + /// <summary> + /// 鍔犺浇姘存祦鍔ㄧ敾 + /// </summary> + public async Task LoadFlowEffect(LogicFlowEffect obj) + { + await _bimfaceInteropContainer?.LoadFlowEffect(obj); + } + + /// <summary> + /// 鍔犺浇姘存祦鍔ㄧ敾 + /// </summary> + public async Task LoadFlowEffect(List<LogicFlowEffect> obj) + { + await _bimfaceInteropContainer?.LoadFlowEffectList(obj); + } + + /// <summary> + /// 鏇存柊姘存祦鍔ㄧ敾 + /// </summary> + public async Task UpdateFlowEffect(LogicFlowEffect obj) + { + await _bimfaceInteropContainer?.UpdateFlowEffect(obj); + } + + /// <summary> + /// 鏇存柊姘存祦鍔ㄧ敾 + /// </summary> + public async Task UpdateFlowEffectList(List<LogicFlowEffect> obj) + { + await _bimfaceInteropContainer?.UpdateFlowEffectList(obj); + } + + /// <summary> + /// 鍗歌浇姘存祦鍔ㄧ敾 + /// </summary> + public async Task UnloadFlowEffect() + { + await _bimfaceInteropContainer?.UnloadFlowEffect(); + } + + /// <summary> + /// 閫氳繃Id鍗歌浇姘存祦鍔ㄧ敾 + /// </summary> + public async Task UnloadFlowEffectById(string Id) + { + await _bimfaceInteropContainer?.UnloadFlowEffectById(Id); + } + + #endregion #region 杩炴帴鏋勪欢棰滆壊 - private const string _linkComponentColor = "#008B00"; + private const string _linkComponentColor = "#008B00";//杩炴帴鏋勪欢棰滆壊 + private const string _linkStartComponentColor = "#094EF7";//杩炴帴寮�濮嬫瀯浠堕鑹� + private const string _linkEndComponentColor = "#ECBF08";//杩炴帴缁撴潫鏋勪欢棰滆壊 private const double _linkComponentTransparency = 0.8; private List<string> _linkComponentIds = null;//杩炴帴鏋勪欢id鍒楄〃 @@ -319,99 +501,82 @@ /// </summary> public async Task SetLinkComponentsColor(List<string> elementIds) { - if (_linkComponentIds != null && _linkComponentIds.Count > 0) - { - await this.bimfaceInterop3dContainer1.RestoreComponentsColor(_linkComponentIds); - } + await RestoreLinkComponentsColor(); _linkComponentIds = elementIds; + if (_linkComponentIds == null || _linkComponentIds.Count < 1) + { + return; + } + await _bimfaceInteropContainer?.OverrideComponentsColor(_linkComponentIds, _linkComponentColor, _linkComponentTransparency); + } + + /// <summary> + /// 鎭㈠杩炴帴鏋勪欢棰滆壊 + /// </summary> + public async Task RestoreLinkComponentsColor() + { + if (_linkComponentIds == null || _linkComponentIds.Count < 1) + { + return; + } + await _bimfaceInteropContainer?.RestoreComponentsColor(_linkComponentIds); + } + + /// <summary> + /// 璁剧疆杩炴帴寮�濮嬫瀯浠堕鑹� + /// </summary> + public async Task SetLinkStartComponentsColor(List<string> elementIds) + { if (elementIds == null || elementIds.Count < 1) { return; } - await this.bimfaceInterop3dContainer1.OverrideComponentsColor(elementIds, _linkComponentColor, _linkComponentTransparency); + if (_linkComponentIds == null) + { + _linkComponentIds = new List<string>(); + } + _linkComponentIds.AddRange(elementIds); + await _bimfaceInteropContainer?.OverrideComponentsColor(elementIds, _linkStartComponentColor, _linkComponentTransparency); } - #endregion - - #region 璁剧疆Open鏋勪欢棰滆壊 - - private const string _openComponentColor = "#2E8B57"; - private const double _openComponentTransparency = 0.8; - private List<string> _openComponentIds = null;//Open鏋勪欢id鍒楄〃 - /// <summary> - /// 璁剧疆Open鏋勪欢棰滆壊 + /// 璁剧疆杩炴帴缁撴潫鏋勪欢棰滆壊 /// </summary> - public async Task SetOpenComponentsColor(List<string> elementIds) + public async Task SetLinkEndComponentsColor(List<string> elementIds) { - if (_openComponentIds != null && _openComponentIds.Count > 0) - { - await this.bimfaceInterop3dContainer1.RestoreComponentsColor(_openComponentIds); - } - _openComponentIds = elementIds; if (elementIds == null || elementIds.Count < 1) { return; } - await this.bimfaceInterop3dContainer1.OverrideComponentsColor(elementIds, _openComponentColor, _openComponentTransparency); + if (_linkComponentIds == null) + { + _linkComponentIds = new List<string>(); + } + _linkComponentIds.AddRange(elementIds); + await _bimfaceInteropContainer?.OverrideComponentsColor(elementIds, _linkEndComponentColor, _linkComponentTransparency); } #endregion - #region 鑷畾涔夋爣绛� + #region 鐩戞祴鐐规爣璁� /// <summary> - /// 鏄剧ず璁$畻鑷畾涔夋爣绛� + /// 璁剧疆涓氬姟鐩戞祴鐐� /// </summary> - public async Task ShowCalcuCustomLabels(CalcuResult calcuResult) + public async Task SetLogicMonitors(List<LogicMonitorMarker> obj) { - var hydroInfo = _hydroInfoFunc?.Invoke(); - if (hydroInfo == null) - { - return; - } - if (calcuResult == null) - { - return; - } - if (!calcuResult.Succeed) - { - await this.bimfaceInterop3dContainer1.ClearCustomLabels(); - return; - } - var obj = new List<CustomLabel>(); - var allParterList = hydroInfo.GetAllParters(); - allParterList?.ForEach(x => - { - if (x is Yw.Model.HydroPumpInfo pump) - { - var calcuPump = calcuResult.LinkList.Find(x => x.Id == pump.Code); - var calcuPumpStart = calcuResult.NodeList.Find(x => x.Id == pump.StartCode); - var calcuPumpEnd = calcuResult.NodeList.Find(x => x.Id == pump.EndCode); - var pumpCustomLabel = new CustomLabel(); - pumpCustomLabel.Id = pump.Code; - pumpCustomLabel.Data = new List<CustomLabelItem>() - { - new CustomLabelItem(){ Name="娴侀噺",Value=Math.Round(calcuPump.Flow,1).ToString(),Unit="m鲁/h"}, - new CustomLabelItem(){ Name="杩涘彛鍘嬪姏",Value=Math.Round(calcuPumpStart.Head,4).ToString(),Unit="m"}, - new CustomLabelItem(){ Name="鍑哄彛鍘嬪姏",Value=Math.Round(calcuPumpEnd.Head,4).ToString(),Unit="m"}, - }; - obj.Add(pumpCustomLabel); - } - else if (x is Yw.Model.HydroEmitterInfo emitter) - { + await _bimfaceInteropContainer?.SetLogicMonitors(obj); + } - } - }); - - await this.bimfaceInterop3dContainer1.SetCustomLabels(obj); + /// <summary> + /// 娓呴櫎涓氬姟鐩戞祴鐐� + /// </summary> + public async Task ClearLogicMonitors() + { + await _bimfaceInteropContainer?.ClearLogicMonitors(); } #endregion - - #endregion - - } } -- Gitblit v1.9.3