lixiaojun
9 天以前 1c4e474ff6a0ae6cf1b1f7a9de71b3246aba29b6
Yw.WpfUI.Hydro.L3d.Core/03-draw/03-control/EditerL3d.xaml.cs
@@ -10,6 +10,7 @@
        public EditerL3d()
        {
            InitializeComponent();
            this.Unloaded += OnUnloaded;
        }
        #region 事件集合
@@ -18,6 +19,18 @@
        /// 选择改变事件
        /// </summary>
        public event Action<List<VisualL3d>> SelectionChangedEvent;
        /// <summary>
        /// 添加改变事件
        /// </summary>
        public event Action<VisualL3d> AddChangedEvent;
        /// <summary>
        /// 编辑改变事件
        /// </summary>
        public event Action<List<VisualL3d>> EditChangedEvent;
        /// <summary>
        /// 移除改变事件
        /// </summary>
        public event Action<List<VisualL3d>> RemoveChangedEvent;
        #endregion
@@ -29,7 +42,6 @@
        #region 初始化
        /// <summary>
        /// 初始化
        /// </summary>
@@ -37,9 +49,11 @@
        {
            _manager = new DrawEditManager(this.viewport);
            _manager.Initial(nw);
            _manager.SelectionChangedEvent += (List<VisualL3d> visuals) => this.SelectionChangedEvent?.Invoke(visuals);
            _manager.SelectionChangedEvent += OnSelectionChanged;
            _manager.AddChangedEvent += OnAddChanged;
            _manager.EditChangedEvent += OnEditChanged;
            _manager.RemoveChangedEvent += OnRemoveChanged;
        }
        #endregion
@@ -295,6 +309,12 @@
            _manager?.SelectVisual(Ids);
        }
        //处理选择改变
        private void OnSelectionChanged(List<VisualL3d> visuals)
        {
            this.SelectionChangedEvent?.Invoke(visuals);
        }
        #endregion
        #region 缩放并选择构件
@@ -318,6 +338,162 @@
        #endregion
        #region 颜色覆盖
        /// <summary>
        /// 设置颜色
        /// </summary>
        public void SetColor(string Id, string htmlColor)
        {
            _manager?.SetColor(Id, htmlColor);
        }
        /// <summary>
        /// 设置颜色
        /// </summary>
        public void SetColor(List<string> Ids, string htmlColor)
        {
            _manager?.SetColor(Ids, htmlColor);
        }
        /// <summary>
        /// 设置颜色
        /// </summary>
        public void SetColor(List<ColorL3d> list)
        {
            _manager?.SetColor(list);
        }
        /// <summary>
        /// 设置颜色
        /// </summary>
        public void ClearColor(string Id)
        {
            _manager?.ClearColor(Id);
        }
        /// <summary>
        /// 设置颜色
        /// </summary>
        public void ClearColor(List<string> Ids)
        {
            _manager?.ClearColor(Ids);
        }
        /// <summary>
        /// 清除颜色
        /// </summary>
        public void ClearColor()
        {
            _manager?.ClearColor();
        }
        #endregion
        #region 透明度
        /// <summary>
        /// 设置透明度
        /// </summary>
        public void SetOpacity(string Id, double opacity)
        {
            _manager?.SetOpacity(Id, opacity);
        }
        /// <summary>
        /// 设置透明度
        /// </summary>
        public void SetOpacity(List<string> Ids, double opacity)
        {
            _manager?.SetOpacity(Ids, opacity);
        }
        /// <summary>
        /// 设置透明度
        /// </summary>
        public void SetOpacity(List<OpacityL3d> list)
        {
            _manager?.SetOpacity(list);
        }
        /// <summary>
        /// 清除透明度
        /// </summary>
        public void ClearOpacity(string Id)
        {
            _manager?.ClearOpacity(Id);
        }
        /// <summary>
        /// 清除透明度
        /// </summary>
        public void ClearOpacity(List<string> Ids)
        {
            _manager?.ClearOpacity(Ids);
        }
        /// <summary>
        /// 清除透明度
        /// </summary>
        public void ClearOpacity()
        {
            _manager?.ClearOpacity();
        }
        #endregion
        #region 可见性
        /// <summary>
        /// 设置可见性
        /// </summary>
        public void SetVisible(string Id, bool visible)
        {
            _manager?.SetVisible(Id, visible);
        }
        /// <summary>
        /// 设置可见性
        /// </summary>
        public void SetVisible(List<string> Ids, bool visible)
        {
            _manager?.SetVisible(Ids, visible);
        }
        /// <summary>
        /// 设置可见性
        /// </summary>
        public void SetVisible(List<VisibleL3d> list)
        {
            _manager?.SetVisible(list);
        }
        /// <summary>
        /// 清除可见性
        /// </summary>
        public void ClearVisible(string Id)
        {
            _manager?.ClearVisible(Id);
        }
        /// <summary>
        /// 清除可见性
        /// </summary>
        public void ClearVisible(List<string> Ids)
        {
            _manager?.ClearVisible(Ids);
        }
        /// <summary>
        /// 清除可见性
        /// </summary>
        public void ClearVisible()
        {
            _manager?.ClearVisible();
        }
        #endregion
        #region 公告文本
        /// <summary>
@@ -337,28 +513,34 @@
        }
        /// <summary>
        /// 公告文本可见性
        /// </summary>
        public bool BillboardTextVisible
        {
            get { return _manager?.BillboardTextVisible ?? false; }
            set
            {
                if (_manager != null)
                {
                    _manager.BillboardTextVisible = value;
                }
            }
        }
        /// <summary>
        /// 设置公告文本
        /// </summary>
        /// <param name="items"></param>
        public void SetBillboardText(TextL3d item)
        {
            _manager.SetBillboardText(item);
        }
        /// <summary>
        /// 设置公告文本
        /// </summary>
        public void SetBillboardText(List<TextL3d> items)
        {
            _manager.SetBillboardText(items);
        }
        /// <summary>
        /// 更新公告文本
        /// </summary>
        public void UpdateBillboardText(TextL3d item)
        {
            _manager.UpdateBillboardText(item);
        }
        /// <summary>
        /// 更新公告文本
        /// </summary>
        public void UpdateBillboardText(List<TextL3d> items)
        {
            _manager.UpdateBillboardText(items);
        }
        /// <summary>
@@ -390,27 +572,34 @@
        }
        /// <summary>
        /// 水流方向可见性
        /// </summary>
        public bool FlowDirectionVisible
        {
            get { return _manager?.FlowDirectionVisible ?? false; }
            set
            {
                if (_manager != null)
                {
                    _manager.FlowDirectionVisible = value;
                }
            }
        }
        /// <summary>
        /// 设置水流方向
        /// </summary>
        public void SetFlowDirection(FlowDirectionL3d item)
        {
            _manager.SetFlowDirection(item);
        }
        /// <summary>
        /// 设置水流方向
        /// </summary>
        public void SetFlowDirection(List<FlowDirectionL3d> items)
        {
            _manager.SetFlowDirection(items);
        }
        /// <summary>
        /// 更新水流方向
        /// </summary>
        public void UpdateFlowDirection(FlowDirectionL3d item)
        {
            _manager.UpdateFlowDirection(item);
        }
        /// <summary>
        /// 更新水流方向
        /// </summary>
        public void UpdateFlowDirection(List<FlowDirectionL3d> items)
        {
            _manager.UpdateFlowDirection(items);
        }
        /// <summary>
@@ -426,6 +615,14 @@
        #region 添加模式
        /// <summary>
        /// 设置添加模式
        /// </summary>
        public void SetAddMode(eDrawAddWay addWay, eDrawAddType addType)
        {
            _manager?.SetAddMode(addWay, addType);
        }
        /// <summary>
        /// 设置添加方式
        /// </summary>
        public void SetAddWay(eDrawAddWay addWay)
@@ -439,6 +636,16 @@
        public void SetAddType(eDrawAddType addType)
        {
            _manager?.SetAddType(addType);
        }
        //处理添加改变
        private void OnAddChanged(VisualL3d visual)
        {
            if (visual == null)
            {
                return;
            }
            this.AddChangedEvent?.Invoke(visual);
        }
        #endregion
@@ -461,8 +668,79 @@
            _manager?.EndEdit();
        }
        //处理编辑改变
        private void OnEditChanged(List<VisualL3d> visuals)
        {
            if (visuals == null || visuals.Count < 1)
            {
                return;
            }
            this.EditChangedEvent?.Invoke(visuals);
        }
        #endregion
        #region 移除模式
        /// <summary>
        /// 移除可见元素
        /// </summary>
        public bool RemoveVisual(string Id)
        {
            if (_manager == null)
            {
                return false;
            }
            if (string.IsNullOrEmpty(Id))
            {
                return false;
            }
            return _manager.RemoveVisual(Id);
        }
        /// <summary>
        /// 移除可见元素
        /// </summary>
        public bool RemoveVisual(List<string> Ids)
        {
            if (_manager == null)
            {
                return false;
            }
            if (Ids == null || Ids.Count < 1)
            {
                return false;
            }
            return _manager.RemoveVisual(Ids);
        }
        //处理移除改变
        private void OnRemoveChanged(List<VisualL3d> visuals)
        {
            if (visuals == null || visuals.Count < 1)
            {
                return;
            }
            this.RemoveChangedEvent?.Invoke(visuals);
        }
        #endregion
        /// <summary>
        /// 卸载
        /// </summary>
        private void OnUnloaded(object sender, RoutedEventArgs e)
        {
            if (_manager != null)
            {
                _manager.SelectionChangedEvent -= OnSelectionChanged;
                _manager.AddChangedEvent -= OnAddChanged;
                _manager.EditChangedEvent -= OnEditChanged;
                _manager.RemoveChangedEvent -= OnRemoveChanged;
                _manager?.Close();
                _manager = null;
            }
        }
    }
}