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