using System.Windows.Controls;
|
|
namespace Yw.WpfUI.Hydro
|
{
|
/// <summary>
|
/// EditerL3d.xaml 的交互逻辑
|
/// </summary>
|
public partial class EditerL3d : UserControl
|
{
|
public EditerL3d()
|
{
|
InitializeComponent();
|
this.Unloaded += OnUnloaded;
|
}
|
|
#region 事件集合
|
|
/// <summary>
|
/// 选择改变事件
|
/// </summary>
|
public event Action<List<VisualL3d>> SelectionChangedEvent;
|
|
#endregion
|
|
#region 私有字段
|
|
private DrawEditManager _manager = null;//管理器
|
|
#endregion
|
|
#region 初始化
|
|
|
/// <summary>
|
/// 初始化
|
/// </summary>
|
public void Initial(NetworkL3d nw)
|
{
|
_manager = new DrawEditManager(this.viewport);
|
_manager.Initial(nw);
|
_manager.SelectionChangedEvent += (List<VisualL3d> visuals) => this.SelectionChangedEvent?.Invoke(visuals);
|
}
|
|
|
#endregion
|
|
#region 图片背景
|
|
/// <summary>
|
/// 显示图片背景
|
/// </summary>
|
public void ShowBackground()
|
{
|
_manager?.ShowBackgroud();
|
}
|
|
/// <summary>
|
/// 隐藏图片背景
|
/// </summary>
|
public void HideBackground()
|
{
|
_manager?.HideBackgroud();
|
}
|
|
/// <summary>
|
/// 图片背景可见性
|
/// </summary>
|
public bool BackgroundVisible
|
{
|
get { return _manager?.BackgroudVisible ?? false; }
|
set
|
{
|
if (_manager != null)
|
{
|
_manager.BackgroudVisible = value;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 设置图片背景
|
/// </summary>
|
public void SetBackground(BackgroundL3d bc)
|
{
|
_manager?.SetBackground(bc);
|
}
|
|
/// <summary>
|
/// 设置图片背景
|
/// </summary>
|
public void SetBackground(string url)
|
{
|
_manager?.SetBackground(url);
|
}
|
|
#endregion
|
|
#region 工作面板
|
|
/// <summary>
|
/// 显示工作面板
|
/// </summary>
|
public void ShowWorkPanel()
|
{
|
_manager?.ShowWorkPanel();
|
}
|
|
/// <summary>
|
/// 隐藏工作面板
|
/// </summary>
|
public void HideWorkPanel()
|
{
|
_manager?.HideWorkPanel();
|
}
|
|
/// <summary>
|
/// 工作面板可见性
|
/// </summary>
|
public bool WorkPanelVisible
|
{
|
get { return _manager?.WorkPanelVisible ?? false; }
|
set
|
{
|
if (_manager != null)
|
{
|
_manager.WorkPanelVisible = value;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 设置工作面板
|
/// </summary>
|
public void SetWorkPanel(WorkPanelL3d workPanel)
|
{
|
_manager?.SetWorkPanel(workPanel);
|
}
|
|
#endregion
|
|
#region 相机视角
|
|
#region 默认视角
|
|
/// <summary>
|
/// 显示默认视图
|
/// </summary>
|
public void ShowDefaultView()
|
{
|
_manager?.ShowDefaultView();
|
}
|
|
/// <summary>
|
/// 设置默认视图
|
/// </summary>
|
public void SetDefaultView()
|
{
|
_manager?.SetDefaultView();
|
}
|
|
/// <summary>
|
/// 设置默认视图
|
/// </summary>
|
public void SetDefaultView(string name)
|
{
|
_manager?.SetDefaultView(name);
|
}
|
|
#endregion
|
|
#region 六视图
|
|
/// <summary>
|
/// 显示上视图
|
/// </summary>
|
public void ShowTopView()
|
{
|
_manager?.ShowTopView();
|
}
|
|
/// <summary>
|
/// 显示下视图
|
/// </summary>
|
public void ShowBottomView()
|
{
|
_manager?.ShowBottomView();
|
}
|
|
/// <summary>
|
/// 显示左视图
|
/// </summary>
|
public void ShowLeftView()
|
{
|
_manager?.ShowLeftView();
|
}
|
|
/// <summary>
|
/// 显示右视图
|
/// </summary>
|
public void ShowRightView()
|
{
|
_manager?.ShowRightView();
|
}
|
|
/// <summary>
|
/// 显示前视图
|
/// </summary>
|
public void ShowFrontView()
|
{
|
_manager?.ShowFrontView();
|
}
|
|
/// <summary>
|
/// 显示后视图
|
/// </summary>
|
public void ShowBackView()
|
{
|
_manager?.ShowBackView();
|
}
|
|
#endregion
|
|
#region 等轴视图
|
|
/// <summary>
|
/// 西北视角
|
/// </summary>
|
public void ShowNorthWestView()
|
{
|
_manager?.ShowNorthWestView();
|
}
|
|
/// <summary>
|
/// 东北视角
|
/// </summary>
|
public void ShowNorthEastView()
|
{
|
_manager?.ShowNorthEastView();
|
}
|
|
/// <summary>
|
/// 西南视角
|
/// </summary>
|
public void ShowSouthWestView()
|
{
|
_manager?.ShowSouthWestView();
|
}
|
|
/// <summary>
|
/// 东南视角
|
/// </summary>
|
public void ShowSouthEastView()
|
{
|
_manager?.ShowSouthEastView();
|
}
|
|
#endregion
|
|
#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
|
|
#region 颜色覆盖
|
|
/// <summary>
|
/// 设置颜色
|
/// </summary>
|
public void SetColor(string Id, string htmlColor)
|
{
|
_manager?.SetColor(Id, htmlColor);
|
}
|
|
/// <summary>
|
/// 设置颜色
|
/// </summary>
|
public void SetColor(List<string> Ids, string htmlColor)
|
{
|
_manager?.SetColor(Ids, htmlColor);
|
}
|
|
/// <summary>
|
/// 设置颜色
|
/// </summary>
|
public void SetColor(List<ColorL3d> list)
|
{
|
_manager?.SetColor(list);
|
}
|
|
/// <summary>
|
/// 设置颜色
|
/// </summary>
|
public void ClearColor(string Id)
|
{
|
_manager?.ClearColor(Id);
|
}
|
|
/// <summary>
|
/// 设置颜色
|
/// </summary>
|
public void ClearColor(List<string> Ids)
|
{
|
_manager?.ClearColor(Ids);
|
}
|
|
/// <summary>
|
/// 清除颜色
|
/// </summary>
|
public void ClearColor()
|
{
|
_manager?.ClearColor();
|
}
|
|
#endregion
|
|
#region 透明度
|
|
/// <summary>
|
/// 设置透明度
|
/// </summary>
|
public void SetOpacity(string Id, double opacity)
|
{
|
_manager?.SetOpacity(Id, opacity);
|
}
|
|
/// <summary>
|
/// 设置透明度
|
/// </summary>
|
public void SetOpacity(List<string> Ids, double opacity)
|
{
|
_manager?.SetOpacity(Ids, opacity);
|
}
|
|
/// <summary>
|
/// 设置透明度
|
/// </summary>
|
public void SetOpacity(List<OpacityL3d> list)
|
{
|
_manager?.SetOpacity(list);
|
}
|
|
/// <summary>
|
/// 清除透明度
|
/// </summary>
|
public void ClearOpacity(string Id)
|
{
|
_manager?.ClearOpacity(Id);
|
}
|
|
/// <summary>
|
/// 清除透明度
|
/// </summary>
|
public void ClearOpacity(List<string> Ids)
|
{
|
_manager?.ClearOpacity(Ids);
|
}
|
|
/// <summary>
|
/// 清除透明度
|
/// </summary>
|
public void ClearOpacity()
|
{
|
_manager?.ClearOpacity();
|
}
|
|
#endregion
|
|
#region 可见性
|
|
/// <summary>
|
/// 设置可见性
|
/// </summary>
|
public void SetVisible(string Id, bool visible)
|
{
|
_manager?.SetVisible(Id, visible);
|
}
|
|
/// <summary>
|
/// 设置可见性
|
/// </summary>
|
public void SetVisible(List<string> Ids, bool visible)
|
{
|
_manager?.SetVisible(Ids, visible);
|
}
|
|
/// <summary>
|
/// 设置可见性
|
/// </summary>
|
public void SetVisible(List<VisibleL3d> list)
|
{
|
_manager?.SetVisible(list);
|
}
|
|
/// <summary>
|
/// 清除可见性
|
/// </summary>
|
public void ClearVisible(string Id)
|
{
|
_manager?.ClearVisible(Id);
|
}
|
|
/// <summary>
|
/// 清除可见性
|
/// </summary>
|
public void ClearVisible(List<string> Ids)
|
{
|
_manager?.ClearVisible(Ids);
|
}
|
|
/// <summary>
|
/// 清除可见性
|
/// </summary>
|
public void ClearVisible()
|
{
|
_manager?.ClearVisible();
|
}
|
|
#endregion
|
|
#region 公告文本
|
|
/// <summary>
|
/// 显示公告文本
|
/// </summary>
|
public void ShowBillboardText()
|
{
|
_manager?.ShowBillboardText();
|
}
|
|
/// <summary>
|
/// 隐藏公告文本
|
/// </summary>
|
public void HideBillboardText()
|
{
|
_manager?.HideBillboardText();
|
}
|
|
/// <summary>
|
/// 公告文本可见性
|
/// </summary>
|
public bool BillboardTextVisible
|
{
|
get { return _manager?.BillboardTextVisible ?? false; }
|
set
|
{
|
if (_manager != null)
|
{
|
_manager.BillboardTextVisible = value;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 设置公告文本
|
/// </summary>
|
public void SetBillboardText(TextL3d item)
|
{
|
_manager.SetBillboardText(item);
|
}
|
|
/// <summary>
|
/// 设置公告文本
|
/// </summary>
|
public void SetBillboardText(List<TextL3d> items)
|
{
|
_manager.SetBillboardText(items);
|
}
|
|
/// <summary>
|
/// 清理公告文本
|
/// </summary>
|
public void ClearBillboardText()
|
{
|
_manager.ClearBillboardText();
|
}
|
|
#endregion
|
|
#region 水流方向
|
|
/// <summary>
|
/// 显示水流方向
|
/// </summary>
|
public void ShowFlowDirection()
|
{
|
_manager?.ShowFlowDirection();
|
}
|
|
/// <summary>
|
/// 隐藏水流方向
|
/// </summary>
|
public void HideFlowDirection()
|
{
|
_manager?.HideFlowDirection();
|
}
|
|
/// <summary>
|
/// 水流方向可见性
|
/// </summary>
|
public bool FlowDirectionVisible
|
{
|
get { return _manager?.FlowDirectionVisible ?? false; }
|
set
|
{
|
if (_manager != null)
|
{
|
_manager.FlowDirectionVisible = value;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 设置水流方向
|
/// </summary>
|
public void SetFlowDirection(FlowDirectionL3d item)
|
{
|
_manager.SetFlowDirection(item);
|
}
|
|
/// <summary>
|
/// 设置水流方向
|
/// </summary>
|
public void SetFlowDirection(List<FlowDirectionL3d> items)
|
{
|
_manager.SetFlowDirection(items);
|
}
|
|
/// <summary>
|
/// 清理水流方向
|
/// </summary>
|
public void ClearFlowDirection()
|
{
|
_manager.ClearFlowDirection();
|
}
|
|
#endregion
|
|
#region 添加模式
|
|
/// <summary>
|
/// 设置添加方式
|
/// </summary>
|
public void SetAddWay(eDrawAddWay addWay)
|
{
|
_manager?.SetAddWay(addWay);
|
}
|
|
/// <summary>
|
/// 设置添加类型
|
/// </summary>
|
public void SetAddType(eDrawAddType addType)
|
{
|
_manager?.SetAddType(addType);
|
}
|
|
#endregion
|
|
#region 编辑模式
|
|
/// <summary>
|
/// 开始编辑
|
/// </summary>
|
public void StartEdit()
|
{
|
_manager?.StartEdit();
|
}
|
|
/// <summary>
|
/// 结束编辑
|
/// </summary>
|
public void EndEdit()
|
{
|
_manager?.EndEdit();
|
}
|
|
#endregion
|
|
/// <summary>
|
/// 卸载
|
/// </summary>
|
private void OnUnloaded(object sender, RoutedEventArgs e)
|
{
|
_manager?.Close();
|
_manager = null;
|
}
|
|
}
|
}
|