using Hydro.Core.Model; using Hydro.MapView.Base; using Hydro.MapView; using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using static Hydro.MapView.MapViewEnum; using System.Windows.Forms; namespace Hydro.MapUI { partial class empty { } partial class DMap { #region 核心属性 public TContainer TC = new TContainer(); /// /// 地图选项 /// public MapDimensions mapOption { get { return TC.mapOption; } set { TC.mapOption = value; } } /// /// 地图选项_起始操作时 /// private MapDimensions mapOption0 = new MapDimensions(); /// /// 临时管网层 /// [Browsable(false)] public Template _newTemplate { get { return TC.newTemplate; } set { TC.newTemplate = value; } } [Browsable(false)] public Template _Template { get { return TC.template; } } #endregion //#region 交互属性 ///// ///// 悬停对象 ///// //private List hoveredObjs = new List(); ///// ///// 选中对象 ///// //public List selectedObjs = new List(); //private List selectedNodes => selectedObjs.FindAll(o => o is NodeViewModel).Select(o => (NodeViewModel)o).ToList(); //private List selectedLinks => selectedObjs.FindAll(o => o is LinkViewModel).Select(o => (LinkViewModel)o).ToList(); //MouseState _mouseState = MouseState.无; //private NodeViewModel _OperaNode = null; //public PointF mouseXY = new PointF(0, 0); //PointF DragStartPos; //PointF _ClickStartPos; //PointF RotaStartPos; //PointF BackGroudPicLeftPos; //bool _isPanning; ///// ///// 拖拽选择 ///// //bool _isDragging; //bool _isRotating; //bool _isPainting; //PointF mousePosition; //// control+鼠标中间按下缩放 //bool _isInsertingObject = false; //bool _isMovingObject = false; //bool _isPastingObject = false; //Cursor _lastCursor; //object _undoOldValue = null; //private List polygonPoints = new List(); //private bool _isDrawingPolygon; //#endregion //#region 新增管网(辅助) //MapViewNetWork _NewNet //{ // get // { // if (_newTemplate == null) _newTemplate = new Template(); // if (_newTemplate.network == null) _newTemplate.network = new MapViewNetWork(); // return _newTemplate.network; // } //} //#endregion //#region 显示选项(辅助) //private string _StartPoint = null; //private string _EndPoint = null; //private bool __isEditMode = true; //[Browsable(false)] //public bool _IsEditMode //{ // get { return __isEditMode; } // set // { // __isEditMode = value; // //toolStripComboBox_浏览模式.Text = __isEditMode ? "编辑模式" : "浏览模式"; // } //} //[Browsable(false)] //public float Link_multiply //{ // get // { // if (_Template == null || _Template.mapOption == null) return 1.0f; // return _Template.mapOption.Link_multiply; // } // set // { // if (_Template == null || _Template.mapOption == null) return; _Template.mapOption.Link_multiply = value; // } //} //[Browsable(false)] //public float junction_multiply //{ // get // { // if (_Template == null || _Template.mapOption == null) return 1.0f; // return _Template.mapOption.junction_multiply; // } // set // { // if (_Template == null || _Template.mapOption == null) return; _Template.mapOption.junction_multiply = value; // } //} //[DisplayName("显示阀门")] //public bool _ShowValve //{ // get // { // if (_Template == null || _Template.mapOption == null) return true; // return _Template.mapOption._ShowValve; // } // set // { // if (_Template == null || _Template.mapOption == null) return; _Template.mapOption._ShowValve = value; // } //} //[DisplayName("显示节点")] //public bool _ShowJunction //{ // get // { // if (_Template == null || _Template.mapOption == null) return true; // return _Template.mapOption._ShowJunction; // } // set // { // if (_Template == null || _Template.mapOption == null) return; _Template.mapOption._ShowJunction = value; // } //} //string _filePath //{ // get // { // if (string.IsNullOrEmpty(_Template?.filePath)) // return null; // string path = _Template.filePath.TrimStart('\\'); // return // Path.Combine(Directory.GetCurrentDirectory(), path); // } // //set // //{ // // _Template.路径 = value; // //} //} //private MapViewNetWork _Network //{ // get // { // return _Template?.network; // } //} //#endregion //#region 管网属性(辅助) //[Browsable(false)] //public List _Nodes //{ // get { return _Network?.Nodes ?? new List(); } //} //[Browsable(false)] //public List _Links //{ // get { return _Network?.Links ?? new List(); } //} //private List _areas = new List(); //[Browsable(false)] //public List _Areas //{ // get { return _areas; } //} //#endregion //#region 视角设置(辅助) //private const float MinZoom = 0.1f; //private const float MaxZoom = 1000.0f; //[DisplayName("缩放系数")] //public float zoom //{ // get // { // return mapOption.zoom; // } // set // { // //label_zoom.Text = $"Zoom:{zoom.ToString("0.000")}"; // mapOption.zoom = value; // } //} //public PointF Zoom //{ // get // { // return new PointF(zoom, -zoom); // } //} //[DisplayName("旋转角度")] //public double Rotation //{ // get // { // return mapOption.rotation; // } // set // { // //toolStripStatusLabel_rotation.Text = $"Rotation:({Rotation.ToString("0")},{RotationF.ToString("0")})"; // mapOption.rotation = value; // } //} //private double Rotation0 = 0; //[Browsable(false)] //public PointF MapCenter //{ // get // { // return mapOption.Center; // } // set // { // //label_center.Text = $"center:({MapCenter.X.ToString("0.00")} ,{MapCenter.Y.ToString("0.00")})"; // mapOption.Center = value; // } //} //private PointF MapCenter0; //private bool is3Dview = false; //double 俯视角度_start = 90; //public bool Lock2DView //{ // get // { // return mapOption.Lock2DView; // } // set // { // mapOption.Lock2DView = value; // } //} ///// ///// 俯视线与底面的夹角,投影用sin ///// //[DisplayName("俯视角度")] //public double RotationF //{ // get // { // return mapOption.rotationF; // } // set // { // mapOption.rotationF = value; // } //} //[Browsable(false)] //public double 俯视弧度 //{ // get // { // return RotationF / 180 * Math.PI; // } //} //private PointF Z(float z) //{ // return new PointF(0, 0); //} //#endregion //#region 颜色分级(辅助) //Colour _NodeColour //{ // get // { // return _Template?.Colours?.FirstOrDefault(cl => cl.isChoosed && cl.Type == mapOption.ColourNode); // } //} //Colour _LinkColour //{ // get // { // return _Template?.Colours?.FirstOrDefault(cl => cl.isChoosed && cl.Type == mapOption.ColourLink); // } //} ////private bool __isOrtho = true; //#endregion //#region 正交模式 //private bool _isOrtho //{ // get // { // return mapOption.IsOrtho; // } // set // { // mapOption.IsOrtho = value; // } //} //#endregion //#region 事件 ////按帧数判断是否重绘,减少计算量(每帧最多重绘一次) //bool _timerDraw = false; ////按帧数判断鼠标悬停对象,减少计算量(每帧最多判断一次) //bool _mouseHoverCheckFlag = false; //#endregion } }