cloudflight
2025-01-13 02c14c9c57dbde72d9c771bd8b0fab1cd023047d
上下游纵断面分析
已修改2个文件
16 ■■■■ 文件已修改
Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkPathAnalyseExtensions.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/18-loss/01-curve/HydroSingleWorkingLossCurveCtrl.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkPathAnalyseExtensions.cs
@@ -178,12 +178,16 @@
        /// <param name="network"></param>
        /// <param name="startJunc"></param>
        /// <returns></returns>
        public static List<Link> AnalyzeUpstreamPath(this Network network, Junction startJunc, CalcuResult calcuResult)
        public static List<Link> AnalyzeUpstreamPath(this Network network, Node startJunc, CalcuResult calcuResult)
        {
            var dictLinks = calcuResult.LinkList.ToDictionary(p => p.Id);
            var dictNodes = calcuResult.NodeList.ToDictionary(p => p.Id);
            var visitedNodes = new HashSet<Node>();
            var maxlink = startJunc.GetPrevLinks(calcuResult.LinkList).OrderByDescending(o => Math.Abs(dictLinks[o.Id].Flow)).ToList()[0];
            visitedNodes.Add(startJunc);
            var prevLinks = startJunc.GetPrevLinks(calcuResult.LinkList);
            if (prevLinks == null || prevLinks.Count <= 0) return prevLinks;
            var maxlink = prevLinks.OrderByDescending(o => Math.Abs(dictLinks[o.Id].Flow)).ToList()[0];
            return network.TraversePipeNetworkALL(maxlink, visitedNodes, -1, true, calcuResult);
        }
        /// <summary>
@@ -249,6 +253,10 @@
                }
            }
            if (direction <0)
            {
                _links主要路径.Reverse();
            }
            return _links主要路径;
WinFrmUI/Yw.WinFrmUI.Hydro.Core/18-loss/01-curve/HydroSingleWorkingLossCurveCtrl.cs
@@ -43,7 +43,9 @@
            {
                return;
            }
            var allPathList = network.AnalyzeDownstreamPath(node, calcuResult.EPAnetCalcuResult);
            var allPathList1 = network.AnalyzeUpstreamPath(node, calcuResult.EPAnetCalcuResult);
            var allPathList2 = network.AnalyzeDownstreamPath(node, calcuResult.EPAnetCalcuResult);
            var allPathList= allPathList1.Concat(allPathList2).ToList();
            var allEpaLossList = network.GetChartNodeByPathLinks(allPathList, calcuResult.EPAnetCalcuResult);
            var allNodeLossList = new List<HydroNodeLossViewModel>();
            allEpaLossList?.ForEach(x =>