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
}
}