lixiaojun
2024-12-11 be1dcb30e552fff6a2cf733d6577b103665edded
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;
        }