using System.Windows.Forms.Integration; using Yw.Settings; using Yw.WpfUI.Hydro; namespace Yw.WinFrmUI.Hydro { public partial class ViewerL3d2 : UserControl { public ViewerL3d2() { InitializeComponent(); } #region 事件集合 /// /// 选择改变事件 /// public event Action> SelectionChangedEvent; #endregion #region 私有字段 private Yw.WpfUI.Hydro.ViewerL3d _wpfViewer = null;//wpf控件 #endregion #region 初始化 /// /// 初始化 /// public void Initial(Yw.WpfUI.Hydro.NetworkL3d nw) { InitialWpfControl(); _wpfViewer.Initial(nw); } //初始化wpf控件 private void InitialWpfControl() { _wpfViewer = new WpfUI.Hydro.ViewerL3d(); _wpfViewer.SelectionChangedEvent += (visuals) => this.SelectionChangedEvent?.Invoke(visuals); var elementHost = new ElementHost(); elementHost.Dock = DockStyle.Fill; elementHost.Child = _wpfViewer; this.Controls.Clear(); this.Controls.Add(elementHost); } #endregion #region 工作面板 /// /// 显示工作面板 /// public void ShowWorkPanel() { _wpfViewer?.ShowWorkPanel(); } /// /// 隐藏工作面板 /// public void HideWorkPanel() { _wpfViewer?.HideWorkPanel(); } /// /// 工作面板可见性 /// public bool WorkPanelVisible { get { return _wpfViewer == null ? false : _wpfViewer.WorkPanelVisible; } set { if (_wpfViewer != null) { _wpfViewer.WorkPanelVisible = value; } } } /// /// 设置工作面板 /// public void SetWorkPanel(WorkPanelL3d workPanel) { _wpfViewer?.SetWorkPanel(workPanel); } #endregion #region 图片背景 /// /// 显示图片背景 /// public void ShowBackground() { _wpfViewer?.ShowBackground(); } /// /// 隐藏图片背景 /// public void HideBackground() { _wpfViewer?.HideBackground(); } /// /// 图片背景可见性 /// public bool BackgroundVisible { get { return _wpfViewer == null ? false : _wpfViewer.BackgroundVisible; } set { if (_wpfViewer != null) { _wpfViewer.BackgroundVisible = value; } } } /// /// 设置图片背景 /// public void SetBackground(BackgroundL3d bc) { _wpfViewer?.SetBackground(bc); } /// /// 设置图片背景 /// public void SetBackground(string url) { _wpfViewer?.SetBackground(url); } #endregion #region 相机视角 /// /// 显示上视图 /// public void ShowTopView() { _wpfViewer?.ShowTopView(); } /// /// 显示下视图 /// public void ShowBottomView() { _wpfViewer?.ShowBottomView(); } /// /// 显示左视图 /// public void ShowLeftView() { _wpfViewer?.ShowLeftView(); } /// /// 显示右视图 /// public void ShowRightView() { _wpfViewer?.ShowRightView(); } /// /// 显示前视图 /// public void ShowFrontView() { _wpfViewer?.ShowFrontView(); } /// /// 显示后视图 /// public void ShowBackView() { _wpfViewer?.ShowBackView(); } /// /// 显示西南视角 /// 从物体的左前下方观察 /// public void ShowSouthWestView() { _wpfViewer?.ShowSouthWestView(); } /// /// 显示东南视角 /// 从物体的右前下方观察 /// public void ShowSouthEastView() { _wpfViewer?.ShowSouthEastView(); } /// /// 显示东北视角 /// 从物体的右后上方观察 /// public void ShowNorthEastView() { _wpfViewer?.ShowNorthEastView(); } /// /// 显示西北视角 /// 从物体的左后上方观察 /// public void ShowNorthWestView() { _wpfViewer?.ShowNorthWestView(); } #endregion #region 关联缩放 /// /// 缩放至可见构件 /// public void ZoomToVisual(string Id) { _wpfViewer?.ZoomToVisual(Id); } /// /// 缩放至可见构件 /// public void ZoomToVisual(List Ids) { _wpfViewer?.ZoomToVisual(Ids); } #endregion #region 选择构件 /// /// 选择构件 /// public void SelectVisual(string Id) { _wpfViewer?.SelectVisual(Id); } /// /// 选择构件 /// public void SelectVisual(List Ids) { _wpfViewer?.SelectVisual(Ids); } #endregion #region 缩放并选择构件 /// /// 缩放并选择构件 /// public void ZoomAndSelectVisual(string Id) { _wpfViewer?.ZoomAndSelectVisual(Id); } /// /// 缩放并选择构件 /// public void ZoomAndSelectVisual(List Ids) { _wpfViewer?.ZoomAndSelectVisual(Ids); } #endregion #region 颜色覆盖 /// /// 设置颜色 /// public void SetColor(string Id, string htmlColor) { _wpfViewer?.SetColor(Id, htmlColor); } /// /// 设置颜色 /// public void SetColor(List Ids, string htmlColor) { _wpfViewer?.SetColor(Ids, htmlColor); } /// /// 设置颜色 /// public void SetColor(List list) { _wpfViewer?.SetColor(list); } /// /// 清除颜色 /// public void ClearColor(string Id) { _wpfViewer?.ClearColor(Id); } /// /// 清除颜色 /// public void ClearColor(List Ids) { _wpfViewer?.ClearColor(Ids); } /// /// 清除颜色 /// public void ClearColor() { _wpfViewer?.ClearColor(); } #endregion #region 透明度 /// /// 设置透明度 /// public void SetOpacity(string Id, double opacity) { _wpfViewer?.SetOpacity(Id, opacity); } /// /// 设置透明度 /// public void SetOpacity(List Ids, double opacity) { _wpfViewer?.SetOpacity(Ids, opacity); } /// /// 设置透明度 /// public void SetOpacity(List list) { _wpfViewer?.SetOpacity(list); } /// /// 清除透明度 /// public void ClearOpacity(string Id) { _wpfViewer?.ClearOpacity(Id); } /// /// 清除透明度 /// public void ClearOpacity(List Ids) { _wpfViewer?.ClearOpacity(Ids); } /// /// 清除透明度 /// public void ClearOpacity() { _wpfViewer?.ClearOpacity(); } #endregion #region 可见性 /// /// 设置可见性 /// public void SetVisible(string Id, bool visible) { _wpfViewer?.SetVisible(Id, visible); } /// /// 设置可见性 /// public void SetVisible(List Ids, bool visible) { _wpfViewer?.SetVisible(Ids, visible); } /// /// 设置可见性 /// public void SetVisible(List list) { _wpfViewer?.SetVisible(list); } /// /// 清除可见性 /// public void ClearVisible(string Id) { _wpfViewer?.ClearVisible(Id); } /// /// 清除可见性 /// public void ClearVisible(List Ids) { _wpfViewer?.ClearVisible(Ids); } /// /// 清除可见性 /// public void ClearVisible() { _wpfViewer?.ClearVisible(); } #endregion #region 公告文本 /// /// 显示公告文本 /// public void ShowBillboardText() { _wpfViewer?.ShowBillboardText(); } /// /// 隐藏公告文本 /// public void HideBillboardText() { _wpfViewer?.HideBillboardText(); } /// /// 公告文本可见性 /// public bool BillboardTextVisible { get { return _wpfViewer == null ? false : _wpfViewer.BillboardTextVisible; } set { if (_wpfViewer != null) { _wpfViewer.BillboardTextVisible = value; } } } /// /// 设置公告文本 /// public void SetBillboardText(TextL3d item) { _wpfViewer.SetBillboardText(item); } /// /// 设置公告文本 /// public void SetBillboardText(List items) { _wpfViewer.SetBillboardText(items); } /// /// 清理公告文本 /// public void ClearBillboardText() { _wpfViewer.ClearBillboardText(); } #endregion #region 水流方向 /// /// 显示水流方向 /// public void ShowFlowDirection() { _wpfViewer?.ShowFlowDirection(); } /// /// 隐藏水流方向 /// public void HideFlowDirection() { _wpfViewer?.HideFlowDirection(); } /// /// 水流方向可见性 /// public bool FlowDirectionVisible { get { return _wpfViewer == null ? false : _wpfViewer.FlowDirectionVisible; } set { if (_wpfViewer != null) { _wpfViewer.FlowDirectionVisible = value; } } } /// /// 设置水流方向 /// public void SetFlowDirection(FlowDirectionL3d item) { _wpfViewer.SetFlowDirection(item); } /// /// 设置水流方向 /// public void SetFlowDirection(List items) { _wpfViewer.SetFlowDirection(items); } /// /// 清理水流方向 /// public void ClearFlowDirection() { _wpfViewer.ClearFlowDirection(); } #endregion } }