From d67418d0cfd4ad37e56523a1628333b4388c2733 Mon Sep 17 00:00:00 2001
From: cloudflight <cloudflight@126.com>
Date: 星期六, 02 十二月 2023 18:50:00 +0800
Subject: [PATCH] 添加计算类

---
 Hydro.Core/Node/JunctionModel.cs  |    2 +-
 Hydro.Core/Base/LinkCalcModel.cs  |   18 ++++++++++++++++++
 Hydro.Core/Hydro.Core.csproj      |    4 ++--
 Hydro.Core/Link/PipeModel.cs      |    2 +-
 Hydro.Core/Node/MeterModel.cs     |    2 +-
 Hydro.Core/Link/ValveModel.cs     |    2 +-
 Hydro.Core/Link/PumpModel.cs      |    2 +-
 Hydro.Core/Node/TankModel.cs      |    2 +-
 Hydro.Core/Base/NodeCalcModel.cs  |   16 +++++++++++++++-
 Hydro.Core/Node/NozzleModel.cs    |    2 +-
 Hydro.Core/Node/ReservoisModel.cs |    2 +-
 11 files changed, 43 insertions(+), 11 deletions(-)

diff --git a/Hydro.Core/Base/LinkModel.cs b/Hydro.Core/Base/LinkCalcModel.cs
similarity index 73%
rename from Hydro.Core/Base/LinkModel.cs
rename to Hydro.Core/Base/LinkCalcModel.cs
index 7b786d3..b416dfb 100644
--- a/Hydro.Core/Base/LinkModel.cs
+++ b/Hydro.Core/Base/LinkCalcModel.cs
@@ -63,4 +63,22 @@
             return "";
         }
     }
+    public class LinkCalcModel : LinkModel
+    {
+        public LinkCalcModel() { }
+
+        public LinkCalcModel(LinkCalcModel model) : base(model)
+        {
+            this.Node1 = model.Node1;
+            this.Node2 = model.Node2;
+            this.Diameter = model.Diameter;
+            this.Length = model.Length;
+            this.Roughness = model.Roughness;
+            this.MinorLoss = model.MinorLoss;
+        }
+        
+        public NodeCalcModel StartNode { get; set; }
+
+        public NodeCalcModel EndNode { get; set; }
+    }
 }
diff --git a/Hydro.Core/Base/NodeModel.cs b/Hydro.Core/Base/NodeCalcModel.cs
similarity index 69%
rename from Hydro.Core/Base/NodeModel.cs
rename to Hydro.Core/Base/NodeCalcModel.cs
index c2c09d2..1e79abc 100644
--- a/Hydro.Core/Base/NodeModel.cs
+++ b/Hydro.Core/Base/NodeCalcModel.cs
@@ -26,11 +26,25 @@
         /// </summary>
         public virtual float Elev { get; set; }
 
-        
+
 
         public virtual string ToCoorString()
         {
             return $"{ID}\t{X}\t{Y}";
         }
     }
+    public class NodeCalcModel : NodeModel
+    {
+        public NodeCalcModel() { }
+
+        public NodeCalcModel(NodeCalcModel model) : base(model)
+        {
+            this.X = model.X;
+            this.Y = model.Y;
+            this.Elev = model.Elev;
+        }
+        public List<LinkCalcModel> Links;
+
+
+    }
 }
diff --git a/Hydro.Core/Hydro.Core.csproj b/Hydro.Core/Hydro.Core.csproj
index b76b6eb..66edb90 100644
--- a/Hydro.Core/Hydro.Core.csproj
+++ b/Hydro.Core/Hydro.Core.csproj
@@ -44,8 +44,8 @@
   </ItemGroup>
   <ItemGroup>
     <Compile Include="Base\BaseModel.cs" />
-    <Compile Include="Base\LinkModel.cs" />
-    <Compile Include="Base\NodeModel.cs" />
+    <Compile Include="Base\LinkCalcModel.cs" />
+    <Compile Include="Base\NodeCalcModel.cs" />
     <Compile Include="Common\CheckModel.cs" />
     <Compile Include="Common\Coor.cs" />
     <Compile Include="Common\FlowCurve.cs" />
diff --git a/Hydro.Core/Link/PipeModel.cs b/Hydro.Core/Link/PipeModel.cs
index 95d3cfa..4242a6a 100644
--- a/Hydro.Core/Link/PipeModel.cs
+++ b/Hydro.Core/Link/PipeModel.cs
@@ -6,7 +6,7 @@
 
 namespace Hydro.Core.Model
 {
-    public class PipeModel:LinkModel
+    public class PipeModel:LinkCalcModel
     {
         public override string ToString()
         {
diff --git a/Hydro.Core/Link/PumpModel.cs b/Hydro.Core/Link/PumpModel.cs
index 485c156..6160750 100644
--- a/Hydro.Core/Link/PumpModel.cs
+++ b/Hydro.Core/Link/PumpModel.cs
@@ -10,7 +10,7 @@
 
 namespace Hydro.Core.Model
 {
-    public class PumpModel : LinkModel
+    public class PumpModel : LinkCalcModel
     {
         /// <summary>
         /// 娉电被鍨�
diff --git a/Hydro.Core/Link/ValveModel.cs b/Hydro.Core/Link/ValveModel.cs
index 5d92c57..2e20f71 100644
--- a/Hydro.Core/Link/ValveModel.cs
+++ b/Hydro.Core/Link/ValveModel.cs
@@ -7,7 +7,7 @@
 namespace Hydro.Core.Model
 
 {
-    public class ValveModel:LinkModel
+    public class ValveModel:LinkCalcModel
     {
         /// <summary>
         /// 绫诲瀷
diff --git a/Hydro.Core/Node/JunctionModel.cs b/Hydro.Core/Node/JunctionModel.cs
index cef94fb..dbb5773 100644
--- a/Hydro.Core/Node/JunctionModel.cs
+++ b/Hydro.Core/Node/JunctionModel.cs
@@ -6,7 +6,7 @@
 
 namespace Hydro.Core.Model
 {
-    public class JunctionModel : NodeModel
+    public class JunctionModel : NodeCalcModel
     {
         /// <summary>
         /// 闇�姘撮噺
diff --git a/Hydro.Core/Node/MeterModel.cs b/Hydro.Core/Node/MeterModel.cs
index f1b08d1..bb49e51 100644
--- a/Hydro.Core/Node/MeterModel.cs
+++ b/Hydro.Core/Node/MeterModel.cs
@@ -7,7 +7,7 @@
 
 namespace Hydro.Core.Model
 {
-    public class MeterModel : NodeModel
+    public class MeterModel : NodeCalcModel
     {
         /// <summary>
         /// 闇�姘撮噺
diff --git a/Hydro.Core/Node/NozzleModel.cs b/Hydro.Core/Node/NozzleModel.cs
index fb10059..3d6827e 100644
--- a/Hydro.Core/Node/NozzleModel.cs
+++ b/Hydro.Core/Node/NozzleModel.cs
@@ -6,7 +6,7 @@
 
 namespace Hydro.Core.Model
 {
-    public class NozzleModel : NodeModel
+    public class NozzleModel : NodeCalcModel
     {
         /// <summary>
         /// 娴侀噺绯绘暟K
diff --git a/Hydro.Core/Node/ReservoisModel.cs b/Hydro.Core/Node/ReservoisModel.cs
index 5f22c29..1dfe672 100644
--- a/Hydro.Core/Node/ReservoisModel.cs
+++ b/Hydro.Core/Node/ReservoisModel.cs
@@ -6,7 +6,7 @@
 
 namespace Hydro.Core.Model
 {
-    public class ReservoisModel:NodeModel
+    public class ReservoisModel:NodeCalcModel
     {
         /// <summary>
         /// 鎬绘按澶磡缁濆姘村帇   
diff --git a/Hydro.Core/Node/TankModel.cs b/Hydro.Core/Node/TankModel.cs
index 9db983d..bf5a260 100644
--- a/Hydro.Core/Node/TankModel.cs
+++ b/Hydro.Core/Node/TankModel.cs
@@ -6,7 +6,7 @@
 
 namespace Hydro.Core.Model
 {
-    public class TankModel : NodeModel
+    public class TankModel : NodeCalcModel
     {
         /// <summary>
         /// 鍒濆姘翠綅

--
Gitblit v1.9.3