| | |
| | | public ViewerL3d() |
| | | { |
| | | InitializeComponent(); |
| | | this.Unloaded += OnUnloaded; |
| | | } |
| | | |
| | | #region 事件集合 |
| | |
| | | { |
| | | _manager = new DrawViewManager(this.viewport); |
| | | _manager.Initial(nw); |
| | | _manager.SelectionChangedEvent += (List<VisualL3d> visuals) => this.SelectionChangedEvent?.Invoke(visuals); |
| | | _manager.SelectionChangedEvent += OnSelectionChanged; |
| | | } |
| | | |
| | | #endregion |
| | |
| | | |
| | | #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 |
| | |
| | | /// <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 |
| | |
| | | /// <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 |
| | |
| | | public void SelectVisual(List<string> Ids) |
| | | { |
| | | _manager?.SelectVisual(Ids); |
| | | } |
| | | |
| | | //处理选择改变 |
| | | private void OnSelectionChanged(List<VisualL3d> visuals) |
| | | { |
| | | this.SelectionChangedEvent?.Invoke(visuals); |
| | | } |
| | | |
| | | #endregion |
| | |
| | | |
| | | #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; |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |