From c390474980cea47189c1fcc962315b9867c9e2ce Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期日, 17 十一月 2024 16:03:18 +0800 Subject: [PATCH] 颜色分级梳理 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.cs | 211 +++++++++++++++++++++++++++++++++++----------------- 1 files changed, 142 insertions(+), 69 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 e689503..b1d455f 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 @@ -13,11 +13,11 @@ /// <summary> /// 姘村姏鐐瑰嚮浜嬩欢锛堝寘鍚乏閿拰鍙抽敭锛� /// </summary> - public event Action<Yw.Model.HydroParterInfo> HydroClickEvent; + public event Action<Yw.Model.HydroVisualInfo> HydroClickEvent; /// <summary> /// 姘村姏鐐瑰嚮浜嬩欢锛堜粎宸﹂敭锛� /// </summary> - public event Action<Yw.Model.HydroParterInfo> HydroMouseLeftClickEvent; + public event Action<Yw.Model.HydroVisualInfo> HydroMouseLeftClickEvent; /// <summary> /// 鍔犺浇瀹屾垚浜嬩欢 /// </summary> @@ -90,7 +90,7 @@ { return; } - var allParterList = hydroInfo.GetAllParters(); + var allParterList = hydroInfo.GetAllVisuals(); var parter = allParterList?.Find(x => x.Code == obj.ObjectId); this.HydroClickEvent.Invoke(parter); } @@ -112,7 +112,7 @@ { return; } - var allParterList = hydroInfo.GetAllParters(); + var allParterList = hydroInfo.GetAllVisuals(); var parter = allParterList?.Find(x => x.Code == obj.ObjectId); this.HydroMouseLeftClickEvent.Invoke(parter); } @@ -161,8 +161,6 @@ /// <summary> /// 鏄剧ず鏋勪欢 /// </summary> - /// <param name="elementIds">鏋勪欢id鍒楄〃</param> - /// <returns></returns> public async Task ShowComponents(List<string> elementIds) { if (_bimfaceInteropContainer == null) @@ -175,8 +173,6 @@ /// <summary> /// 闅愯棌鏋勪欢 /// </summary> - /// <param name="elementIds">鏋勪欢id鍒楄〃</param> - /// <returns></returns> public async Task HideComponents(List<string> elementIds) { if (_bimfaceInteropContainer == null) @@ -189,7 +185,6 @@ /// <summary> /// 鏄剧ず鎵�鏈夋瀯浠� /// </summary> - /// <returns></returns> public async Task ShowAllComponents() { if (_bimfaceInteropContainer == null) @@ -321,12 +316,20 @@ /// <summary> /// 缂╂斁鑷抽�夋嫨鏋勪欢 /// </summary> - public async Task ZoomAndSelectComponents(List<string> elementIds) + public async Task ZoomAndSelectComponent(string elementId) { - if (_bimfaceInteropContainer == null) + if (string.IsNullOrEmpty(elementId)) { return; } + await _bimfaceInteropContainer.ZoomAndSelectComponents(new List<string>() { elementId }); + } + + /// <summary> + /// 缂╂斁鑷抽�夋嫨鏋勪欢 + /// </summary> + public async Task ZoomAndSelectComponents(List<string> elementIds) + { await _bimfaceInteropContainer.ZoomAndSelectComponents(elementIds); } @@ -334,28 +337,31 @@ #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) { - if (_bimfaceInteropContainer == null) - { - return; - } - await _bimfaceInteropContainer.SetBlinkComponents(elementIds, color, transparency); + await _bimfaceInteropContainer?.SetBlinkComponents(elementIds, color, transparency); + } + + /// <summary> + /// 璁剧疆寮鸿皟鏋勪欢 + /// </summary> + public async Task SetBlinkComponents(List<string> elementIds) + { + await _bimfaceInteropContainer?.SetBlinkComponents(elementIds, _blinkColor, _blinkTransparency); } /// <summary> /// 娓呴櫎寮鸿皟鏋勪欢 /// </summary> - public async Task SetBlinkComponents() + public async Task ClearBlinkComponents() { - if (_bimfaceInteropContainer == null) - { - return; - } - await _bimfaceInteropContainer.ClearBlinkComponents(); + await _bimfaceInteropContainer?.ClearBlinkComponents(); } #endregion @@ -367,23 +373,39 @@ /// </summary> public async Task OverrideComponentsColor(List<string> elementIds, string color, double transparency) { - if (_bimfaceInteropContainer == null) + 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(elementIds, color, transparency); + 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) { - if (_bimfaceInteropContainer == null) + await _bimfaceInteropContainer?.RestoreComponentsColor(elementIds); + } + + /// <summary> + /// 鎭㈠鏋勪欢棰滆壊 + /// </summary> + public async Task RestoreComponentsColor(string elementId) + { + if (string.IsNullOrEmpty(elementId)) { return; } - await _bimfaceInteropContainer.RestoreComponentsColor(elementIds); + await _bimfaceInteropContainer?.RestoreComponentsColor(new List<string>() { elementId }); } #endregion @@ -409,37 +431,39 @@ await _bimfaceInteropContainer?.ClearLogicCalcuCustomLabels(); return; } - var obj = new List<CustomLabel>(); + var obj = new List<LogicCalcuCustomLabel>(); var allParterList = hydroInfo.GetAllParters(); allParterList?.ForEach(x => { if (x is Yw.Model.HydroPumpInfo pump) { - var hz = pump.RatedHz * pump.SpeedRatio; + var hz = Math.Round(pump.RatedHz * pump.SpeedRatio); 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(); + var pumpCustomLabel = new LogicCalcuCustomLabel(); pumpCustomLabel.Id = pump.Code; - pumpCustomLabel.Data = new List<CustomLabelItem>() + pumpCustomLabel.Distance = 10000; + pumpCustomLabel.Data = new List<LogicCalcuCustomLabelItem>() { - new CustomLabelItem(){ Name="鐘舵��",Value=HydroLinkStatusHelper.GetStatusName(pump.LinkStatus),Unit=string.Empty}, - new CustomLabelItem(){ Name="棰戠巼",Value=hz.ToString(),Unit=string.Empty}, - 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"}, + 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.Flow,1).ToString(),Unit="m鲁/h"}, + new LogicCalcuCustomLabelItem(){ Name="杩涘彛鍘嬪姏",Value=Math.Round(calcuPumpStart.Head,4).ToString(),Unit="m"}, + new LogicCalcuCustomLabelItem(){ Name="鍑哄彛鍘嬪姏",Value=Math.Round(calcuPumpEnd.Head,4).ToString(),Unit="m"}, }; obj.Add(pumpCustomLabel); } else if (x is Yw.Model.HydroEmitterInfo emitter) { var calcuEmitter = calcuResult.NodeList.Find(x => x.Id == emitter.Code); - var emitterCustomLabel = new CustomLabel(); + var emitterCustomLabel = new LogicCalcuCustomLabel(); emitterCustomLabel.Id = emitter.Code; - emitterCustomLabel.Data = new List<CustomLabelItem>() + emitterCustomLabel.Distance = 10000; + emitterCustomLabel.Data = new List<LogicCalcuCustomLabelItem>() { - new CustomLabelItem(){ Name="娴侀噺",Value=Math.Round(calcuEmitter.Demand,1).ToString(),Unit="m鲁/h"}, - new CustomLabelItem(){ Name="鍘嬪姏",Value=Math.Round(calcuEmitter.Head,4).ToString(),Unit="m"} + new LogicCalcuCustomLabelItem(){ Name="娴侀噺",Value=Math.Round(calcuEmitter.Demand,1).ToString(),Unit="m鲁/h"}, + new LogicCalcuCustomLabelItem(){ Name="鍘嬪姏",Value=Math.Round(calcuEmitter.Head,4).ToString(),Unit="m"} }; obj.Add(emitterCustomLabel); } @@ -468,6 +492,22 @@ } /// <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() @@ -477,8 +517,57 @@ #endregion - #region 涓氬姟 + #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 杩炴帴鏋勪欢棰滆壊 @@ -550,41 +639,25 @@ #endregion - #region 璁剧疆Open鏋勪欢棰滆壊 - - private const string _openComponentColor = "#2E8B57"; - private const double _openComponentTransparency = 0.8; - private List<string> _openComponentIds = null;//Open鏋勪欢id鍒楄〃 + #region 涓氬姟鐩戞祴鐐� /// <summary> - /// 璁剧疆Open鏋勪欢棰滆壊 + /// 璁剧疆涓氬姟鐩戞祴鐐� /// </summary> - public async Task SetOpenComponentsColor(List<string> elementIds) + public async Task SetLogicMonitors(List<LogicMonitor> obj) { - if (_openComponentIds != null && _openComponentIds.Count > 0) - { - await _bimfaceInteropContainer.RestoreComponentsColor(_openComponentIds); - } - _openComponentIds = elementIds; - if (elementIds == null || elementIds.Count < 1) - { - return; - } - if (_bimfaceInteropContainer == null) - { - return; - } - await _bimfaceInteropContainer.OverrideComponentsColor(elementIds, _openComponentColor, _openComponentTransparency); + await _bimfaceInteropContainer?.SetLogicMonitors(obj); + } + + /// <summary> + /// 娓呴櫎涓氬姟鐩戞祴鐐� + /// </summary> + public async Task ClearLogicMonitors() + { + await _bimfaceInteropContainer?.ClearLogicMonitors(); } #endregion - - - - - #endregion - - } } -- Gitblit v1.9.3