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