From 145dcc3a9ed1c3bcbc01c8da2b341aaa6ee5dbd2 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期一, 14 十月 2024 10:37:44 +0800 Subject: [PATCH] 优化link连接颜色 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs | 44 +++++++++++++++++++++++++++----------------- 1 files changed, 27 insertions(+), 17 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs index 865c0e5..1e4b136 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs @@ -1,5 +1,7 @@ 锘縢lobal using Yw.EPAnet; +using DevExpress.XtraMap.Drawing; using NetTaste; +using Org.BouncyCastle.Crypto.Engines; namespace HStation.WinFrmUI { @@ -108,8 +110,6 @@ //bimface鎺т欢 private XhsProjectSimulationBimfaceCtrl _bimfaceCtrl = null; - - //璁剧疆Bimface杩炴帴棰滆壊 private async void SetBimfaceLinkColor() { @@ -117,48 +117,58 @@ { return; } - var elementIds = new List<string>(); if (_parter != null) { - if (_parter is Yw.Model.HydroLinkInfo linker) + if (_parter is Yw.Model.HydroLinkInfo link) { - var allParterList = _hydroInfo.GetAllParters(); - var allLinkerList = _hydroInfo.GetAllLinks(); - var startParter = allParterList?.Find(x => x.Code == linker.StartCode); + await _bimfaceCtrl?.RestoreLinkComponentsColor(); + + var allVisualList = _hydroInfo.GetAllVisuals(); + var allLinkList = _hydroInfo.GetAllLinks(); + var startParter = allVisualList?.Find(x => x.Code == link.StartCode); if (startParter != null) { + var startElementIds = new List<string>(); if (startParter.GetType() == typeof(Yw.Model.HydroJunctionInfo)) { - var startLinkList = allLinkerList?.Where(x => x.StartCode == startParter.Code || x.EndCode == startParter.Code).ToList(); - if (startLinkList != null) + var startLinkList = allLinkList?.Where(x => x.StartCode == startParter.Code || x.EndCode == startParter.Code && x.Code != _parter.Code).ToList(); + if (startLinkList != null && startLinkList.Count > 0) { - elementIds.AddRange(startLinkList.Select(x => x.Code).Where(x => x != _parter.Code)); + startElementIds.AddRange(startLinkList.Select(x => x.Code)); } } else { - elementIds.Add(linker.StartCode); + startElementIds.Add(startParter.Code); + } + if (startElementIds.Count > 0) + { + await _bimfaceCtrl?.SetLinkStartComponentsColor(startElementIds); } } - var endParter = allParterList?.Find(x => x.Code == linker.EndCode); + var endParter = allVisualList?.Find(x => x.Code == link.EndCode); if (endParter != null) { + var endElementIds = new List<string>(); if (endParter.GetType() == typeof(Yw.Model.HydroJunctionInfo)) { - var endLinkList = allLinkerList?.Where(x => x.StartCode == endParter.Code || x.EndCode == endParter.Code).ToList(); - if (endLinkList != null) + var endLinkList = allLinkList?.Where(x => x.StartCode == endParter.Code || x.EndCode == endParter.Code && x.Code != _parter.Code).ToList(); + if (endLinkList != null && endLinkList.Count > 0) { - elementIds.AddRange(endLinkList.Select(x => x.Code).Where(x => x != _parter.Code)); + endElementIds.AddRange(endLinkList.Select(x => x.Code)); } } else { - elementIds.Add(linker.EndCode); + endElementIds.Add(endParter.Code); + } + if (endElementIds.Count > 0) + { + await _bimfaceCtrl?.SetLinkEndComponentsColor(endElementIds); } } } } - await _bimfaceCtrl?.SetLinkComponentsColor(elementIds); } #endregion -- Gitblit v1.9.3