using System.Windows.Forms.Integration;
namespace Yw.WinFrmUI.Hydro
{
public partial class LogicalViewerL3d2 : UserControl
{
public LogicalViewerL3d2()
{
InitializeComponent();
}
#region 事件集合
///
/// 选择改变事件
///
public event Action> SelectionChangedEvent;
#endregion
#region 私有字段
private Yw.WpfUI.Hydro.LogicalViewerL3d _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.LogicalViewerL3d();
_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 SetTopView()
{
_wpfViewer?.SetTopView();
}
///
/// 设置下视图
///
public void SetBottomView()
{
_wpfViewer?.SetBottomView();
}
///
/// 设置左视图
///
public void SetLeftView()
{
_wpfViewer?.SetLeftView();
}
///
/// 设置右视图
///
public void SetRightView()
{
_wpfViewer?.SetRightView();
}
///
/// 设置前视图
///
public void SetFrontView()
{
_wpfViewer?.SetFrontView();
}
///
/// 设置后视图
///
public void SetBackView()
{
_wpfViewer?.SetBackView();
}
///
/// 西南视角
/// 从物体的左前下方观察
///
public void SetSouthWestView()
{
_wpfViewer?.SetSouthWestView();
}
///
/// 东南视角
/// 从物体的右前下方观察
///
public void SetSouthEastView()
{
_wpfViewer?.SetSouthEastView();
}
///
/// 东北视角
/// 从物体的右后上方观察
///
public void SetNorthEastView()
{
_wpfViewer?.SetNorthEastView();
}
///
/// 西北视角
/// 从物体的左后上方观察
///
public void SetNorthWestView()
{
_wpfViewer?.SetNorthWestView();
}
#endregion
#region 网格线
///
/// 显示网格线
///
public void ShowGridLines()
{
_wpfViewer?.ShowGridLines();
}
///
/// 隐藏网格线
///
public void HideGridLines()
{
_wpfViewer?.HideGridLines();
}
///
/// 网格线可见性
///
public bool GridLinesVisible
{
get
{
return _wpfViewer == null ? false : _wpfViewer.GridLinesVisible;
}
set
{
if (_wpfViewer != null)
{
_wpfViewer.GridLinesVisible = value;
}
}
}
#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
}
}