From 5fa6947054206e2e781eadd4effdcdf52eda28c4 Mon Sep 17 00:00:00 2001
From: cloudflight <cloudflight@126.com>
Date: 星期二, 26 十二月 2023 11:02:28 +0800
Subject: [PATCH] 2023年12月26日

---
 Hydro.MapBase/Map/MapViewer.cs |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/Hydro.MapBase/Map/MapViewer.cs b/Hydro.MapBase/Map/MapViewer.cs
index d0d4eba..ea7fcb8 100644
--- a/Hydro.MapBase/Map/MapViewer.cs
+++ b/Hydro.MapBase/Map/MapViewer.cs
@@ -690,8 +690,8 @@
         void Draw(Graphics bufferG, Template template)
         {
             if (template == null) return;
-            var _Nodes = template.network.Nodes;
-            var _Links = template.network.Links;
+            var _Nodes = template.network.Nodes.ViewNodes;
+            var _Links = template.network.Links.ViewLinks;
 
             var Cpoints = getCurclePoints(64).ToList();
 
@@ -801,7 +801,7 @@
             using (Pen pen0 = new Pen(Color.FromArgb(0, 0, 255), 2 * r))
             {
 
-                foreach (var link in _Links.Select(link => (LinkViewModel)link).ToList())
+                foreach (var link in _Links)
                 {
                     if (!link.Visible) continue;
                     if (link.Elev < minElve || link.Elev >= maxElve) continue;
@@ -987,7 +987,7 @@
             using (Pen pen = new Pen(Color.FromArgb(255, 0, 0), 1 * r))
             {
                 Brush brush = pen.Brush;
-                foreach (NodeViewModel node in _Nodes.Select(node => (NodeViewModel)node).ToList())
+                foreach (NodeViewModel node in _Nodes)
                 {
                     if (!node.Visible) continue;
                     if (node.Elev < minElve || node.Elev >= maxElve) continue;
@@ -1654,7 +1654,6 @@
                 _NewNet.Clear();
 
                 _Network.BuildRelation();
-
 
                 selectedObjs.ForEach(o => o.Selected = false);
                 selectedObjs.Clear();
@@ -2813,6 +2812,7 @@
                     if (p.StartNode == obj)
                     {
                         p.StartNode = junc;
+                        
                     }
                     else if (p.EndNode == obj)
                     {
@@ -2992,13 +2992,15 @@
                 MessageBox.Show("鍥寸粫閫変腑鑺傜偣杩涜涓夌淮缂╂斁锛岃鍦ㄥ睘鎬у垪琛ㄤ腑閫変腑涓�涓缉鏀句腑蹇冨璞�");
                 return;
             }
-            if (!(selectobjs[0] as IBaseViewModel).isNode())
+            //if (!(selectobjs[0] as IBaseViewModel).isNode())
+            var list = objs.FindAll(o => o.ID == selectobjs[0]);
+            if (list.Count>=1 && !list[0].isNode())
             {
                 MessageBox.Show("鍥寸粫閫変腑鑺傜偣杩涜涓夌淮缂╂斁锛岃鍦ㄥ睘鎬у垪琛ㄤ腑閫変腑涓�涓猍鑺傜偣绫籡缂╂斁涓績瀵硅薄");
                 return;
             }
 
-            NodeViewModel origin = selectobjs[0] as NodeViewModel;
+            NodeViewModel origin = list[0] as NodeViewModel;
             var nodes = objs.FindAll(o => o.isNode()).Select(o => o as NodeViewModel).ToList();
 
             ToolStripMenuItem item = sender as ToolStripMenuItem;
@@ -3870,7 +3872,7 @@
                 //net.Nodes.ForEach(o => o.Selected = false);
                 //net.Links.ForEach(o => o.Selected = false);
                 selectedObjs.AddRange(net.Nodes.Select(n=>(NodeViewModel)n));
-                selectedObjs.AddRange(net.Links.Select(n => (LinkViewModel)n));
+                selectedObjs.AddRange(net.Links.ViewLinks);
                 //net.Nodes.ForEach(o => selectedNodes.);
                 //net.Links.ForEach(o => o.Selected = false) ;
                 var list = _Network.Add(net);
@@ -4143,7 +4145,7 @@
         {
             _Template.network.MapObjects.ForEach(o => o.Selected = false) ;
             selectedObjs.Clear();
-            _Template.network.ViewLinks.ForEach(link => 
+            _Template.network.Links.ForEach(link => 
             {
                 if (link.EN_FLOW != 0)
                 {

--
Gitblit v1.9.3