From b0c978129ba55cf81e8470b6c9326745a5dbc7d1 Mon Sep 17 00:00:00 2001
From: Shuxia Ning <NingShuxia0927@outlook.com>
Date: 星期四, 19 十二月 2024 15:26:30 +0800
Subject: [PATCH] 曲线修改

---
 WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/00-core/02-extensions/PhartVmoExtensions.cs |   76 +++++++++++++++++++++++++------------
 1 files changed, 51 insertions(+), 25 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/00-core/02-extensions/PhartVmoExtensions.cs b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/00-core/02-extensions/PhartVmoExtensions.cs
index 2f2d4d8..5af4e75 100644
--- a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/00-core/02-extensions/PhartVmoExtensions.cs
+++ b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/00-core/02-extensions/PhartVmoExtensions.cs
@@ -35,7 +35,7 @@
         /// <summary>
         /// 鑾峰彇榛樿鐨勬车鏇茬嚎
         /// </summary>
-        public static PumpCurveViewModel GetDefaultPumpCurveViewMdoel(this List<HStation.Vmo.PhartGraphVmo> vmo_list)
+        public static PumpCurveViewModel GetDefaultPumpCurveViewMdoel(this List<Yw.Vmo.PhartGraphVmo> vmo_list)
         {
             if (vmo_list == null || !vmo_list.Any())
             {
@@ -53,41 +53,65 @@
         /// <summary>
         /// 鑾峰彇娉垫洸绾垮垪琛�
         /// </summary> 
-        public static List<PumpCurveViewModel> GetPumpCurveViewMdoelList(this List<HStation.Vmo.PhartGraphVmo> vmo_list)
+        public static List<PumpCurveViewModel> GetPumpCurveViewMdoelList(this HStation.Vmo.PhartDiagramRelationExtensionsVmo vmo)
+        {
+
+            if (vmo == null)
+            {
+                return default;
+            }
+            var diagram = vmo.Diagram;
+            if (diagram == null)
+            {
+                return default;
+            }
+            var graph_list = diagram.GraphList;
+            if (graph_list == null || !graph_list.Any())
+            {
+                return default;
+            }
+
+            return graph_list.GetPumpCurveViewMdoelList();
+        }
+
+        /// <summary>
+        /// 鑾峰彇娉垫洸绾垮垪琛�
+        /// </summary> 
+        public static List<PumpCurveViewModel> GetPumpCurveViewMdoelList(this List<Yw.Vmo.PhartGraphVmo> vmo_list)
         {
             if (vmo_list == null || !vmo_list.Any())
             {
                 return default;
             }
 
-            var filter_list = new List<(double, double, Yw.Ahart.PerformCurveBase)>();
+            var filter_list = new List<(double, double, Yw.Ahart.eCurveType, object)>();
             foreach (var vmo in vmo_list)
             {
-                if (vmo.GraphType == HStation.PhartRelation.eGraphType.QH)
+                if (vmo.GraphType == (int)HStation.PhartRelation.eGraphType.QH)
                 {
                     var paras = HStation.Model.QHGraphParasModel.ToModel(vmo.GraphParas);
                     if (paras != null)
                     {
-                        var curve = vmo.GetPerformCurve();
-                        filter_list.Add((paras.Hz, paras.N, curve));
+                        var curve = Yw.Pump.CurveQHHelper.ToModel(vmo.GeometryInfo);
+                        filter_list.Add((paras.Hz, paras.N, Yw.Ahart.eCurveType.QH, curve));
                     }
                 }
-                else if (vmo.GraphType == HStation.PhartRelation.eGraphType.QE)
+                else if (vmo.GraphType == (int)HStation.PhartRelation.eGraphType.QE)
                 {
                     var paras = HStation.Model.QEGraphParasModel.ToModel(vmo.GraphParas);
                     if (paras != null)
                     {
-                        var curve = vmo.GetPerformCurve();
-                        filter_list.Add((paras.Hz, paras.N, curve));
+                        var curve = Yw.Pump.CurveQEHelper.ToModel(vmo.GeometryInfo);
+                        filter_list.Add((paras.Hz, paras.N, Yw.Ahart.eCurveType.QE, curve));
                     }
                 }
-                else if (vmo.GraphType == HStation.PhartRelation.eGraphType.QP)
+                else if (vmo.GraphType == (int)HStation.PhartRelation.eGraphType.QP)
                 {
                     var paras = HStation.Model.QPGraphParasModel.ToModel(vmo.GraphParas);
                     if (paras != null)
                     {
-                        var curve = vmo.GetPerformCurve();
-                        filter_list.Add((paras.Hz, paras.N, curve));
+                        var curve = Yw.Pump.CurveQPHelper.ToModel(vmo.GeometryInfo);
+                        filter_list.Add((paras.Hz, paras.N, Yw.Ahart.eCurveType.QP, curve));
                     }
                 }
             }
@@ -103,11 +127,11 @@
             {
                 var hz = item_list.Key.Item1;
                 var n = item_list.Key.Item2;
-                var curve_list = item_list.Select(x => x.Item3).ToList();
+                var curve_list = item_list.Select(x => x.Item4).ToList();
 
-                var qh = curve_list.Find(x => x is Yw.Pump.CurveQH) as Yw.Pump.CurveQH;
-                var qe = curve_list.Find(x => x is Yw.Pump.CurveQE) as Yw.Pump.CurveQE;
-                var qp = curve_list.Find(x => x is Yw.Pump.CurveQP) as Yw.Pump.CurveQP;
+                var qh = (Yw.Pump.CurveQH)curve_list.Find(x => x is Yw.Pump.CurveQH);
+                 var qe = (Yw.Pump.CurveQE)curve_list.Find(x => x is Yw.Pump.CurveQE);
+                var qp = (Yw.Pump.CurveQP)curve_list.Find(x => x is Yw.Pump.CurveQP);
 
                 if (qh == null)
                     continue;
@@ -159,9 +183,9 @@
         /// <summary>
         /// 鑾峰彇绛夋晥绾垮垪琛�
         /// </summary> 
-        public static List<CurveEqualEViewModel> GetCurveEqualEViewMdoelList(this List<HStation.Vmo.PhartGraphVmo> vmo_list)
+        public static List<CurveEqualEViewModel> GetCurveEqualEViewMdoelList(this List<Yw.Vmo.PhartGraphVmo> vmo_list)
         {
-            vmo_list = vmo_list?.Where(x => x.GraphType == HStation.PhartRelation.eGraphType.EqualE).ToList();
+            vmo_list = vmo_list?.Where(x => x.GraphType == (int)HStation.PhartRelation.eGraphType.EqualE).ToList();
             if (vmo_list == null || !vmo_list.Any())
             {
                 return default;
@@ -211,9 +235,9 @@
         /// <summary>
         /// 鑾峰彇绛夊姛绾垮垪琛�
         /// </summary> 
-        public static List<CurveEqualPViewModel> GetCurveEqualPViewMdoelList(this List<HStation.Vmo.PhartGraphVmo> vmo_list)
+        public static List<CurveEqualPViewModel> GetCurveEqualPViewMdoelList(this List<Yw.Vmo.PhartGraphVmo> vmo_list)
         {
-            vmo_list = vmo_list?.Where(x => x.GraphType == HStation.PhartRelation.eGraphType.EqualP).ToList();
+            vmo_list = vmo_list?.Where(x => x.GraphType == (int)HStation.PhartRelation.eGraphType.EqualP).ToList();
             if (vmo_list == null || !vmo_list.Any())
             {
                 return default;
@@ -242,29 +266,31 @@
         /// <summary>
         /// 鑾峰彇鐗规�ф洸绾�
         /// </summary>
-        public static Yw.Ahart.PerformCurveBase GetPerformCurve(this HStation.Vmo.PhartGraphVmo vmo)
+        public static Yw.Ahart.PerformCurveBase GetPerformCurve(this Yw.Vmo.PhartGraphVmo vmo)
         {
             if (vmo == null)
                 return default;
-            var performCurve = HStation.Service.PhartRelation.PhartGraphHelper.GetPerformCurve(vmo.GeometryStyle, vmo.GeometryInfo);
+            var performCurve = HStation.Service.PhartRelation.PhartGraphHelper.GetPerformCurve( (HStation.PhartRelation.eGeometryStyle) vmo.GeometryStyle, vmo.GeometryInfo);
             return performCurve;
         }
 
         /// <summary>
         /// 鑾峰彇鎬ц兘鐐瑰垪琛�
         /// </summary>
-        public static List<Yw.Geometry.Point2d> GetFeatPointList(this HStation.Vmo.PhartGraphVmo vmo, int point_number = 12, double min_space = 0.0001)
+        public static List<Yw.Geometry.Point2d> GetFeatPointList(this Yw.Vmo.PhartGraphVmo vmo, int point_number = 12, double min_space = 0.0001)
         {
             if (vmo == null)
                 return default;
             var graph_type = vmo.GraphType;
             var geometry_info = vmo.GeometryInfo;
-            var pts = HStation.Service.PhartRelation.PhartGraphHelper.GetFeatPointList(graph_type, geometry_info, point_number, min_space);
+            var pts = HStation.Service.PhartRelation.PhartGraphHelper.GetFeatPointList((HStation.PhartRelation.eGraphType)graph_type, geometry_info, point_number, min_space);
             return pts?.ToList();
         }
 
+
+      
         #endregion
-         
+
     }
 
 }

--
Gitblit v1.9.3