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