From be1dcb30e552fff6a2cf733d6577b103665edded Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期三, 11 十二月 2024 17:31:32 +0800
Subject: [PATCH] 增加能耗分析图片

---
 WinFrmUI/Yw.WinFrmUI.Hydro.Q3d.Core/Map/Drawer.Draw.cs |   63 ++++++++++++++++++++++++++++---
 1 files changed, 56 insertions(+), 7 deletions(-)

diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Q3d.Core/Map/Drawer.Draw.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Q3d.Core/Map/Drawer.Draw.cs
index b429704..be77b82 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Q3d.Core/Map/Drawer.Draw.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Q3d.Core/Map/Drawer.Draw.cs
@@ -310,10 +310,10 @@
                     }
 
                     Pen pen = pen0;
-#if DEBUG
-#else
-                    if (_Template != null && _Template.mapOption._ShowStatus && link.Status == Yw.WinFrmUI.Q3D.ObjectEnum.StatusType.CLOSED) pen = penClosed;
-#endif
+                    //#if DEBUG
+                    //#else
+                    if (_Template != null && _Template.mapOption._ShowStatus && link.Status == Yw.WinFrmUI.Q3d.ObjectEnum.StatusType.CLOSED) pen = penClosed;
+                    //#endif
 
                     if (link.Hovered) pen = penHovered;
                     float zoomAtMin = 0;
@@ -325,7 +325,56 @@
                         break;
                     }
                     if (zoomAtMin >= zoom) continue;
-                    if (link is ValveViewModel)
+                    if (link is HeatExchanger)
+                    {
+                        if (link.Selected || IsShowValve)
+                        {
+
+                            var c = new PointF((p1.X + p2.X) / 2, (p1.Y + p2.Y) / 2);
+                            bufferG.DrawLines(link.Selected ? penChoosed : pen, new PointF[] { p1, p2 });
+                            var valveShapeHeight = link.Selected ? 10 : 5;
+                            PointF[] points = new PointF[] {
+                                GraphHelper.getRotatePoint(c.X - valveShapeHeight * r, c.Y + valveShapeHeight * r,c,p1,p2),
+                                GraphHelper.getRotatePoint(c.X - valveShapeHeight * r, c.Y - valveShapeHeight * r,c,p1,p2),
+                                GraphHelper.getRotatePoint(c.X + valveShapeHeight * r, c.Y - valveShapeHeight * r,c,p1,p2),
+                                GraphHelper.getRotatePoint(c.X + valveShapeHeight * r, c.Y + valveShapeHeight * r,c,p1,p2),
+                                GraphHelper.getRotatePoint(c.X - valveShapeHeight * r, c.Y + valveShapeHeight * r,c,p1,p2),
+                                GraphHelper.getRotatePoint(c.X + valveShapeHeight * r, c.Y - valveShapeHeight * r,c,p1,p2),
+
+                            };
+
+                            bufferG.FillPolygon(link.Selected ? pen_valveChoosed.Brush : pen.Brush, points);
+
+                        }
+
+
+                    }
+                    else if (link is AirCompressor)
+                    {
+                        if (link.Selected || IsShowValve)
+                        {
+
+                            var c = new PointF((p1.X + p2.X) / 2, (p1.Y + p2.Y) / 2);
+                            bufferG.DrawLines(link.Selected ? penChoosed : pen, new PointF[] { p1, p2 });
+                            var valveShapeHeight = link.Selected ? 10 : 5;
+                            PointF[] points = new PointF[] {
+                                GraphHelper.getRotatePoint(c.X - valveShapeHeight * r, c.Y + valveShapeHeight * r,c,p1,p2),
+                                GraphHelper.getRotatePoint(c.X - valveShapeHeight * r, c.Y - valveShapeHeight * r,c,p1,p2),
+                                GraphHelper.getRotatePoint(c.X + valveShapeHeight * r, c.Y - valveShapeHeight * r,c,p1,p2),
+                                GraphHelper.getRotatePoint(c.X + valveShapeHeight * r, c.Y + valveShapeHeight * r,c,p1,p2),
+                                GraphHelper.getRotatePoint(c.X - valveShapeHeight * r, c.Y + valveShapeHeight * r,c,p1,p2),
+                                GraphHelper.getRotatePoint(c.X , c.Y + valveShapeHeight * r,c,p1,p2),
+                                GraphHelper.getRotatePoint(c.X + valveShapeHeight * r, c.Y - valveShapeHeight * r,c,p1,p2),
+
+                            };
+
+                            bufferG.FillPolygon(link.Selected ? pen_valveChoosed.Brush : pen.Brush, points);
+
+                        }
+
+
+                    }
+                    else if (link is ValveViewModel)
                     {
                         if (link.Selected || IsShowValve)
                         {
@@ -1025,7 +1074,7 @@
 
         }
 
-     
+
         /// <summary>
         /// 鑾峰彇鍦板浘鎶曞奖鍧愭爣
         /// </summary>
@@ -1040,7 +1089,7 @@
             //var n=new PointF((float)pointR.X - Z(z).X, (float)(pointR.Y - Z(z).Y));
             return pointT;
         }
-      
+
 
 
 

--
Gitblit v1.9.3