| | |
| | | using DevExpress.XtraEditors.Filtering; |
| | | using Yw.WinFrmUI.Q3D; |
| | | using Yw.WinFrmUI.Q3D; |
| | | |
| | | using Newtonsoft.Json; |
| | | using System; |
| | |
| | | public Map() |
| | | { |
| | | |
| | | |
| | | |
| | | InitializeComponent(); |
| | | this.DoubleBuffered = true; |
| | | MapCenter = PointF.Empty; |
| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | this.TC = TC; |
| | | this.DrawNet = Draw; |
| | |
| | | // } |
| | | // TCCube.settings.network.Areas.Add(area); |
| | | //} |
| | | |
| | | |
| | | } |
| | | |
| | | #endregion |
| | |
| | | { |
| | | _network = new MapViewNetWork(); |
| | | } |
| | | |
| | | |
| | | SuspendLayout(); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | SetStartEndPoint(_Template.Node1, _Template.Node2); |
| | |
| | | SetMapInvalidate(); |
| | | } |
| | | |
| | | |
| | | |
| | | public void SetData(MapViewNetWork netWork,Settings template=null) |
| | | |
| | | public void SetData(MapViewNetWork netWork, Settings template = null) |
| | | { |
| | | |
| | | |
| | | bool reLoad = _network == netWork; |
| | | this._Template = template; |
| | | this._network = netWork; |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | //将$"{MapCenter.X.ToString("0.00")},{MapCenter.Y.ToString("0.00")}"通过CenterChanged传出 |
| | | CenterChanged?.Invoke(this, $"{MapCenter.X.ToString("0.00")},{MapCenter.Y.ToString("0.00")}"); |
| | | //将zoom.ToString("0.000")通过ZoomChanged传出 |
| | |
| | | if (needInvalidate) this.SetMapInvalidate(); |
| | | //将$"{e.X.ToString("0")},{e.Y.ToString("0")}"通过MousePositionChanged传出 |
| | | MousePositionChanged?.Invoke(this, $"{_MousePosition.X.ToString("0.00")},{_MousePosition.Y.ToString("0.00")}"); |
| | | |
| | | |
| | | _lastMouseX = e.X; |
| | | _lastMouseY = e.Y; |
| | | } |
| | |
| | | int doubleClick_Delay = 500;//毫秒 |
| | | bool recordView = false; |
| | | |
| | | |
| | | |
| | | void mapMouseUp(MouseEventArgs e) |
| | | { |
| | | //BookMark :鼠标抬起事件 |
| | |
| | | SetMapInvalidate(); |
| | | return; |
| | | } |
| | | |
| | | |
| | | if /*多边形选择*/(_isDrawingPolygon && e.Button == MouseButtons.Left && ModifierKeys == Keys.None) |
| | | { |
| | | _isDrawingPolygon = false; |
| | |
| | | // 结束绘制多边形 |
| | | return; |
| | | } |
| | | |
| | | |
| | | if /*取消移动对象*/(_isMovingObject && !isMouseMoved && e.Button == MouseButtons.Left) |
| | | { |
| | | _isMovingObject = false; |
| | |
| | | _NewNet.Clear(); |
| | | return; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | if /*叠加框选*/(isMouseMoved && _mouseState == MouseState.无 && e.Button == MouseButtons.Left && ModifierKeys == Keys.Control) |
| | | { |
| | | |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | SelectedObjectsChanged?.Invoke(this, selectedObjs); |
| | | SetMapInvalidate(); |
| | | mousePosition = new PointF(0, 0); |
| | |
| | | selectedObjs.Add(link); |
| | | } |
| | | } |
| | | |
| | | |
| | | //将selectedObjs通过SelectedObjectsChanged传出 |
| | | SelectedObjectsChanged?.Invoke(this, selectedObjs); |
| | | SetMapInvalidate(); |
| | |
| | | selectedObjs.Clear(); |
| | | obj.Selected = true; |
| | | selectedObjs.Add(obj); |
| | | |
| | | |
| | | SelectedObjectsChanged?.Invoke(this, selectedObjs); |
| | | _OperaNode = null; |
| | | |
| | |
| | | |
| | | #region 视角工具 |
| | | // 显示点属性 |
| | | |
| | | |
| | | double 俯视角度_bak = 45; |
| | | private void tool视角_ButtonClick(object sender, EventArgs e) |
| | | { |
| | |
| | | SetMapInvalidate(); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | #region 分析工具 |
| | | |
| | | |
| | | |
| | | public List<PointF> GetRotatedPoints(List<PointF> points, PointF origin, float angle) |
| | | { |
| | | // 将角度转换为弧度 |
| | |
| | | obj.Selected = true; |
| | | selectedObjs.Add((LinkViewModel)obj); |
| | | }); |
| | | |
| | | |
| | | SelectedObjectsChanged?.Invoke(this, selectedObjs); |
| | | SetMapInvalidate(); |
| | | } |
| | |
| | | ResultForm.Controls.Add(listBox1); |
| | | ResultForm.MinimizeBox = false; |
| | | ResultForm.MaximizeBox = false; |
| | | |
| | | |
| | | ResultForm.Show(); |
| | | |
| | | } |
| | |
| | | { |
| | | MessageBox.Show("拓扑检查通过"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | List<LinkViewModel> LinksToFindSource = null; |
| | | Dictionary<LinkViewModel, List<IBaseViewModel>> Sets = null; |
| | | Dictionary<LinkViewModel, bool> Sets_hasSource = null; |
| | |
| | | } |
| | | } |
| | | SelectedObjectsChanged?.Invoke(this, selectedObjs); |
| | | |
| | | |
| | | |
| | | } |
| | | private void TraversePipeNetwork(LinkViewModel startLink, HashSet<NodeViewModel> visitedNodes = null) |
| | |
| | | queue.Enqueue(startLink); |
| | | if (visitedNodes == null) |
| | | visitedNodes = new HashSet<NodeViewModel>(); |
| | | |
| | | |
| | | Sets.Add(startLink, new List<IBaseViewModel>()); |
| | | Sets_hasSource.Add(startLink, false); |
| | | while (queue.Count > 0) |
| | |
| | | public void buttonUndo_Click(object sender, EventArgs e) |
| | | { |
| | | SetMapInvalidate(); |
| | | |
| | | |
| | | SelectedObjectsChanged?.Invoke(this, null); |
| | | MapObjectExtensions.Undo(); |
| | | } |
| | |
| | | |
| | | bool _isSettingBackGroundPictur = false; |
| | | |
| | | |
| | | |
| | | private bool __needpaintall = false; |
| | | |
| | | |