using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace Yw.WpfUI.Hydro { /// /// LogicalViewerL3d.xaml 的交互逻辑 /// public partial class LogicalViewerL3d : UserControl { public LogicalViewerL3d() { InitializeComponent(); } #region 事件集合 /// /// 选择改变事件 /// public event Action> SelectionChangedEvent; #endregion #region 私有字段 private LogicalViewManager _manager = null;//管理器 #endregion #region 初始化 /// /// 初始化 /// public void Initial(NetworkL3d nw) { _manager = new LogicalViewManager(this.viewport); _manager.Initial(nw); _manager.SelectionChangedEvent += (List visuals) => this.SelectionChangedEvent?.Invoke(visuals); } #endregion #region 相机视角 /// /// 设置上视图 /// public void SetTopView() { _manager?.SetTopView(); } /// /// 设置下视图 /// public void SetBottomView() { _manager?.SetBottomView(); } /// /// 设置左视图 /// public void SetLeftView() { _manager?.SetLeftView(); } /// /// 设置右视图 /// public void SetRightView() { _manager?.SetRightView(); } /// /// 设置前视图 /// public void SetFrontView() { _manager?.SetFrontView(); } /// /// 设置后视图 /// public void SetBackView() { _manager?.SetBackView(); } /// /// 西南视角 /// 从物体的左前下方观察 /// public void SetSouthWestView() { _manager?.SetSouthWestView(); } /// /// 东南视角 /// 从物体的右前下方观察 /// public void SetSouthEastView() { _manager?.SetSouthEastView(); } /// /// 东北视角 /// 从物体的右后上方观察 /// public void SetNorthEastView() { _manager?.SetNorthEastView(); } /// /// 西北视角 /// 从物体的左后上方观察 /// public void SetNorthWestView() { _manager?.SetNorthWestView(); } #endregion #region 网格线 /// /// 显示网格线 /// public void ShowGridLines() { _manager?.ShowGridLines(); } /// /// 隐藏网格线 /// public void HideGridLines() { _manager?.HideGridLines(); } /// /// 网格线可见性 /// public bool GridLinesVisible { get { return _manager == null ? false : _manager.GridLinesVisible; } set { if (_manager != null) { _manager.GridLinesVisible = value; } } } #endregion #region 缩放至构件 /// /// 缩放至可见构件 /// public void ZoomToVisual(string Id) { _manager?.ZoomToVisual(Id); } /// /// 缩放至可见构件 /// public void ZoomToVisual(List Ids) { _manager?.ZoomToVisual(Ids); } #endregion #region 选择构件 /// /// 选择构件 /// public void SelectVisual(string Id) { _manager?.SelectVisual(Id); } /// /// 选择构件 /// public void SelectVisual(List Ids) { _manager?.SelectVisual(Ids); } #endregion #region 缩放并选择构件 /// /// 缩放并选择构件 /// public void ZoomAndSelectVisual(string Id) { _manager?.ZoomAndSelectVisual(Id); } /// /// 缩放并选择构件 /// public void ZoomAndSelectVisual(List Ids) { _manager?.ZoomAndSelectVisual(Ids); } #endregion } }