lixiaojun
13 小时以前 ebfbb8eeb03e38e6e15464967d7ab712a22e3f99
Yw.WpfUI.Hydro.L3d.Core/03-draw/03-control/ViewerL3d.xaml.cs
@@ -23,6 +23,7 @@
        public ViewerL3d()
        {
            InitializeComponent();
            this.Unloaded += OnUnloaded;
        }
        #region 事件集合
@@ -49,7 +50,7 @@
        {
            _manager = new DrawViewManager(this.viewport);
            _manager.Initial(nw);
            _manager.SelectionChangedEvent += (List<VisualL3d> visuals) => this.SelectionChangedEvent?.Invoke(visuals);
            _manager.SelectionChangedEvent += OnSelectionChanged;
        }
        #endregion
@@ -105,75 +106,52 @@
        #endregion
        #region 工作面板
        #region 相机视角
        #region 当前视角
        /// <summary>
        /// 显示工作面板
        /// 获取当前相机Setting
        /// </summary>
        public void ShowWorkPanel()
        public CameraSettingL3d GetCurrentCameraSetting()
        {
            _manager?.ShowWorkPanel();
        }
        /// <summary>
        /// 隐藏工作面板
        /// </summary>
        public void HideWorkPanel()
        {
            _manager?.HideWorkPanel();
        }
        /// <summary>
        /// 工作面板可见性
        /// </summary>
        public bool WorkPanelVisible
        {
            get { return _manager?.WorkPanelVisible ?? false; }
            set
            {
                if (_manager != null)
                {
                    _manager.WorkPanelVisible = value;
                }
            }
        }
        /// <summary>
        /// 设置工作面板
        /// </summary>
        public void SetWorkPanel(WorkPanelL3d workPanel)
        {
            _manager?.SetWorkPanel(workPanel);
            return _manager?.GetCurrentCameraSetting();
        }
        #endregion
        #region 相机视角
        #region 默认视角
        /// <summary>
        /// 显示默认视图
        /// </summary>
        public void ShowDefaultView()
        public bool ShowDefaultView()
        {
            _manager?.ShowDefaultView();
            return _manager?.ShowDefaultView() ?? false;
        }
        /// <summary>
        /// 设置默认视图
        /// </summary>
        public void SetDefaultView()
        public bool SetDefaultView(CameraInfoL3d info)
        {
            _manager?.SetDefaultView();
            return _manager?.SetDefaultView(info) ?? false;
        }
        /// <summary>
        /// 设置默认视图
        /// 设置默认视图名称
        /// </summary>
        public void SetDefaultView(string name)
        public bool SetDefaultViewName(string name)
        {
            _manager?.SetDefaultView(name);
            return _manager?.SetDefaultViewName(name) ?? false;
        }
        /// <summary>
        /// 设置默认视图Setting
        /// </summary>
        public bool SetDefaultViewSetting(CameraSettingL3d setting)
        {
            return _manager?.SetDefaultViewSetting(setting) ?? false;
        }
        #endregion
@@ -183,49 +161,49 @@
        /// <summary>
        /// 显示上视图
        /// </summary>
        public void ShowTopView()
        public bool ShowTopView()
        {
            _manager?.ShowTopView();
            return _manager?.ShowTopView() ?? false;
        }
        /// <summary>
        /// 显示下视图
        /// </summary>
        public void ShowBottomView()
        public bool ShowBottomView()
        {
            _manager?.ShowBottomView();
            return _manager?.ShowBottomView() ?? false;
        }
        /// <summary>
        /// 显示左视图
        /// </summary>
        public void ShowLeftView()
        public bool ShowLeftView()
        {
            _manager?.ShowLeftView();
            return _manager?.ShowLeftView() ?? false;
        }
        /// <summary>
        /// 显示右视图
        /// </summary>
        public void ShowRightView()
        public bool ShowRightView()
        {
            _manager?.ShowRightView();
            return _manager?.ShowRightView() ?? false;
        }
        /// <summary>
        /// 显示前视图
        /// </summary>
        public void ShowFrontView()
        public bool ShowFrontView()
        {
            _manager?.ShowFrontView();
            return _manager?.ShowFrontView() ?? false;
        }
        /// <summary>
        /// 显示后视图
        /// </summary>
        public void ShowBackView()
        public bool ShowBackView()
        {
            _manager?.ShowBackView();
            return _manager?.ShowBackView() ?? false;
        }
        #endregion
@@ -235,33 +213,33 @@
        /// <summary>
        /// 西北视角
        /// </summary>
        public void ShowNorthWestView()
        public bool ShowNorthWestView()
        {
            _manager?.ShowNorthWestView();
            return _manager?.ShowNorthWestView() ?? false;
        }
        /// <summary>
        /// 东北视角
        /// </summary>
        public void ShowNorthEastView()
        public bool ShowNorthEastView()
        {
            _manager?.ShowNorthEastView();
            return _manager?.ShowNorthEastView() ?? false;
        }
        /// <summary>
        /// 西南视角
        /// </summary>
        public void ShowSouthWestView()
        public bool ShowSouthWestView()
        {
            _manager?.ShowSouthWestView();
            return _manager?.ShowSouthWestView() ?? false;
        }
        /// <summary>
        /// 东南视角
        /// </summary>
        public void ShowSouthEastView()
        public bool ShowSouthEastView()
        {
            _manager?.ShowSouthEastView();
            return _manager?.ShowSouthEastView() ?? false;
        }
        #endregion
@@ -304,6 +282,12 @@
        public void SelectVisual(List<string> Ids)
        {
            _manager?.SelectVisual(Ids);
        }
        //处理选择改变
        private void OnSelectionChanged(List<VisualL3d> visuals)
        {
            this.SelectionChangedEvent?.Invoke(visuals);
        }
        #endregion
@@ -381,5 +365,240 @@
        #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>
        /// 显示公告文本
        /// </summary>
        public void ShowBillboardText()
        {
            _manager?.ShowBillboardText();
        }
        /// <summary>
        /// 隐藏公告文本
        /// </summary>
        public void HideBillboardText()
        {
            _manager?.HideBillboardText();
        }
        /// <summary>
        /// 公告文本可见性
        /// </summary>
        public bool BillboardTextVisible
        {
            get { return _manager?.BillboardTextVisible ?? false; }
            set
            {
                if (_manager != null)
                {
                    _manager.BillboardTextVisible = value;
                }
            }
        }
        /// <summary>
        /// 设置公告文本
        /// </summary>
        public void SetBillboardText(TextL3d item)
        {
            _manager.SetBillboardText(item);
        }
        /// <summary>
        /// 设置公告文本
        /// </summary>
        public void SetBillboardText(List<TextL3d> items)
        {
            _manager.SetBillboardText(items);
        }
        /// <summary>
        /// 清理公告文本
        /// </summary>
        public void ClearBillboardText()
        {
            _manager.ClearBillboardText();
        }
        #endregion
        #region 水流方向
        /// <summary>
        /// 显示水流方向
        /// </summary>
        public void ShowFlowDirection()
        {
            _manager?.ShowFlowDirection();
        }
        /// <summary>
        /// 隐藏水流方向
        /// </summary>
        public void HideFlowDirection()
        {
            _manager?.HideFlowDirection();
        }
        /// <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 ClearFlowDirection()
        {
            _manager.ClearFlowDirection();
        }
        #endregion
        /// <summary>
        /// 卸载
        /// </summary>
        private void OnUnloaded(object sender, RoutedEventArgs e)
        {
            if (_manager != null)
            {
                _manager.SelectionChangedEvent -= OnSelectionChanged;
                _manager.Close();
                _manager = null;
            }
        }
    }
}