| | |
| | | List<PointF3D> newPositons = selectedNodes.Select(n => n.Position3D).ToList(); |
| | | List<PointF3D> oldPositons = newPositons.Select(n => new PointF3D(n.X - dx, n.Y - dy, n.Z - dz)).ToList(); |
| | | MapObjectExtensions.AddCommand(selectedNodes, "Position3D", oldPositons, newPositons); |
| | | var l = new List<IBaseViewModel>(); |
| | | l.Add(_Network.AddPipe(_OperaNode, minNode)); |
| | | if (l.Count > 0) MapObjectExtensions.AddCommand(_Network, "Add", null, l); |
| | | |
| | | _OperaNode = null; |
| | | _NewNet.Clear(); |
| | | } |
| | |
| | | } |
| | | else |
| | | { |
| | | getPointAndHeight(e, _select_junction1, out p, out z); |
| | | var l = AddLink(new PointF(e.X, e.Y), isdoubleClick, p, z); |
| | | if (l.Count > 0) MapObjectExtensions.AddCommand(_Network, "Add", null, l); |
| | | if (mapOption.IsOrtho) |
| | | { |
| | | var wPos = GetZZWorldPoint(_select_junction1.Position3D, _MousePosition, new Vector3(1, 1, 0)); |
| | | //getPointAndHeight(e, _select_junction1, out p, out z); |
| | | p = new PointF(wPos.X, wPos.Y); |
| | | var l = AddLink(new PointF(e.X, e.Y), isdoubleClick, p, wPos.Z); |
| | | if (l.Count > 0) MapObjectExtensions.AddCommand(_Network, "Add", null, l); |
| | | } |
| | | else |
| | | { |
| | | getPointAndHeight(e, _select_junction1, out p, out z); |
| | | var l = AddLink(new PointF(e.X, e.Y), isdoubleClick, p,z); |
| | | if (l.Count > 0) MapObjectExtensions.AddCommand(_Network, "Add", null, l); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | |
| | | public void 粘贴ToolStripMenuItem1_Click(object sender, EventArgs e) |
| | | { |
| | | { |
| | | |
| | | var net = new MapViewNetWork(); |
| | | string json = Clipboard.GetText(); |
| | | net.ReadFromJson(json); |
| | | if (net.StartPoint == null) return; |
| | | string SID = net.StartPoint.ID; |
| | | net.StartPoint=net.Nodes.Find(n => n.ID == SID); |
| | | PointF minPoint = new PointF(net.StartPoint.X, net.StartPoint.Y); |
| | | Point controlLocation = this.PointToScreen(new Point(0, 0)); |
| | | int offsetX = Cursor.Position.X - controlLocation.X; |
| | |
| | | var position = new Point(offsetX, offsetY); |
| | | |
| | | net.BuildRelation(); |
| | | var basePoint = MapPointToWorldPoint(ScreenToMap(position, net.StartPoint.Elev), net.StartPoint.Elev); |
| | | net.Nodes.ForEach(obj => |
| | | //var basePoint = MapPointToWorldPoint(ScreenToMap(position, net.StartPoint.Elev), net.StartPoint.Elev); |
| | | var mPos = _MousePosition; |
| | | if (hoveredObjs.Count>0 && hoveredObjs[0] is NodeViewModel minNode) |
| | | { |
| | | obj.X = obj.X + basePoint.X - minPoint.X; |
| | | obj.Y = obj.Y + basePoint.Y - minPoint.Y; |
| | | }); |
| | | selectedObjs.ForEach(o => o.Selected = false); |
| | | selectedObjs.Clear(); |
| | | selectedObjs.AddRange(net.Nodes.Select(n => (NodeViewModel)n)); |
| | | selectedObjs.AddRange(net.Links.ViewLinks); |
| | | var list = _Network.Add(net); |
| | | MapObjectExtensions.AddCommand(_Network, "Add", null, list); |
| | | SetMapInvalidate(); |
| | | |
| | | var basePoint = minNode.Position; |
| | | net.Nodes.ForEach(obj => |
| | | { |
| | | obj.X = obj.X + basePoint.X - minPoint.X; |
| | | obj.Y = obj.Y + basePoint.Y - minPoint.Y; |
| | | }); |
| | | |
| | | selectedObjs.ForEach(o => o.Selected = false); |
| | | selectedObjs.Clear(); |
| | | selectedObjs.AddRange(net.Nodes.Select(n => (NodeViewModel)n)); |
| | | selectedObjs.AddRange(net.Links.ViewLinks); |
| | | var list = _Network.Add(net,null,false,minNode); |
| | | |
| | | //list.Add(_Network.AddPipe(Snode, minNode)); |
| | | MapObjectExtensions.AddCommand(_Network, "Add", null, list); |
| | | SetMapInvalidate(); |
| | | } |
| | | else |
| | | { |
| | | var basePoint = MapPointToWorldPoint(_MousePosition, net.StartPoint.Elev); |
| | | net.Nodes.ForEach(obj => |
| | | { |
| | | obj.X = obj.X + basePoint.X - minPoint.X; |
| | | obj.Y = obj.Y + basePoint.Y - minPoint.Y; |
| | | }); |
| | | selectedObjs.ForEach(o => o.Selected = false); |
| | | selectedObjs.Clear(); |
| | | selectedObjs.AddRange(net.Nodes.Select(n => (NodeViewModel)n)); |
| | | selectedObjs.AddRange(net.Links.ViewLinks); |
| | | var list = _Network.Add(net); |
| | | MapObjectExtensions.AddCommand(_Network, "Add", null, list); |
| | | SetMapInvalidate(); |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | private void 增量保存ToolStripMenuItem_Click(object sender, EventArgs e) |