| | |
| | | private void InitialWpfControl() |
| | | { |
| | | _wpfViewer = new WpfUI.Hydro.ViewerL3d(); |
| | | _wpfViewer.SelectionChangedEvent += (visuals) => this.SelectionChangedEvent?.Invoke(visuals); |
| | | _wpfViewer.SelectionChangedEvent += OnSelectionChanged; |
| | | var elementHost = new ElementHost(); |
| | | elementHost.Dock = DockStyle.Fill; |
| | | elementHost.Child = _wpfViewer; |
| | |
| | | _wpfViewer?.SelectVisual(Ids); |
| | | } |
| | | |
| | | //处理选择改变 |
| | | protected virtual void OnSelectionChanged(List<VisualL3d> visuals) |
| | | { |
| | | this.SelectionChangedEvent?.Invoke(visuals); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region 缩放并选择构件 |
| | |
| | | |
| | | #endregion |
| | | |
| | | #region 透明度 |
| | | |
| | | /// <summary> |
| | | /// 设置透明度 |
| | | /// </summary> |
| | | public void SetOpacity(string Id, double opacity) |
| | | { |
| | | _wpfViewer?.SetOpacity(Id, opacity); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设置透明度 |
| | | /// </summary> |
| | | public void SetOpacity(List<string> Ids, double opacity) |
| | | { |
| | | _wpfViewer?.SetOpacity(Ids, opacity); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设置透明度 |
| | | /// </summary> |
| | | public void SetOpacity(List<OpacityL3d> list) |
| | | { |
| | | _wpfViewer?.SetOpacity(list); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 清除透明度 |
| | | /// </summary> |
| | | public void ClearOpacity(string Id) |
| | | { |
| | | _wpfViewer?.ClearOpacity(Id); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 清除透明度 |
| | | /// </summary> |
| | | public void ClearOpacity(List<string> Ids) |
| | | { |
| | | _wpfViewer?.ClearOpacity(Ids); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 清除透明度 |
| | | /// </summary> |
| | | public void ClearOpacity() |
| | | { |
| | | _wpfViewer?.ClearOpacity(); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region 可见性 |
| | | |
| | | /// <summary> |
| | | /// 设置可见性 |
| | | /// </summary> |
| | | public void SetVisible(string Id, bool visible) |
| | | { |
| | | _wpfViewer?.SetVisible(Id, visible); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设置可见性 |
| | | /// </summary> |
| | | public void SetVisible(List<string> Ids, bool visible) |
| | | { |
| | | _wpfViewer?.SetVisible(Ids, visible); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设置可见性 |
| | | /// </summary> |
| | | public void SetVisible(List<VisibleL3d> list) |
| | | { |
| | | _wpfViewer?.SetVisible(list); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 清除可见性 |
| | | /// </summary> |
| | | public void ClearVisible(string Id) |
| | | { |
| | | _wpfViewer?.ClearVisible(Id); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 清除可见性 |
| | | /// </summary> |
| | | public void ClearVisible(List<string> Ids) |
| | | { |
| | | _wpfViewer?.ClearVisible(Ids); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 清除可见性 |
| | | /// </summary> |
| | | public void ClearVisible() |
| | | { |
| | | _wpfViewer?.ClearVisible(); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region 公告文本 |
| | | |
| | | /// <summary> |
| | | /// 显示公告文本 |
| | | /// </summary> |
| | | public void ShowBillboardText() |
| | | { |
| | | _wpfViewer?.ShowBillboardText(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 隐藏公告文本 |
| | | /// </summary> |
| | | public void HideBillboardText() |
| | | { |
| | | _wpfViewer?.HideBillboardText(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 公告文本可见性 |
| | | /// </summary> |
| | | public bool BillboardTextVisible |
| | | { |
| | | get |
| | | { |
| | | return _wpfViewer == null ? false : _wpfViewer.BillboardTextVisible; |
| | | } |
| | | set |
| | | { |
| | | if (_wpfViewer != null) |
| | | { |
| | | _wpfViewer.BillboardTextVisible = value; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设置公告文本 |
| | | /// </summary> |
| | | public void SetBillboardText(TextL3d item) |
| | | { |
| | | _wpfViewer.SetBillboardText(item); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设置公告文本 |
| | | /// </summary> |
| | | public void SetBillboardText(List<TextL3d> items) |
| | | { |
| | | _wpfViewer.SetBillboardText(items); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 清理公告文本 |
| | | /// </summary> |
| | | public void ClearBillboardText() |
| | | { |
| | | _wpfViewer.ClearBillboardText(); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region 水流方向 |
| | | |
| | | /// <summary> |
| | | /// 显示水流方向 |
| | | /// </summary> |
| | | public void ShowFlowDirection() |
| | | { |
| | | _wpfViewer?.ShowFlowDirection(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 隐藏水流方向 |
| | | /// </summary> |
| | | public void HideFlowDirection() |
| | | { |
| | | _wpfViewer?.HideFlowDirection(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 水流方向可见性 |
| | | /// </summary> |
| | | public bool FlowDirectionVisible |
| | | { |
| | | get |
| | | { |
| | | return _wpfViewer == null ? false : _wpfViewer.FlowDirectionVisible; |
| | | } |
| | | set |
| | | { |
| | | if (_wpfViewer != null) |
| | | { |
| | | _wpfViewer.FlowDirectionVisible = value; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设置水流方向 |
| | | /// </summary> |
| | | public void SetFlowDirection(FlowDirectionL3d item) |
| | | { |
| | | _wpfViewer.SetFlowDirection(item); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设置水流方向 |
| | | /// </summary> |
| | | public void SetFlowDirection(List<FlowDirectionL3d> items) |
| | | { |
| | | _wpfViewer.SetFlowDirection(items); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 清理水流方向 |
| | | /// </summary> |
| | | public void ClearFlowDirection() |
| | | { |
| | | _wpfViewer.ClearFlowDirection(); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | //关闭 |
| | | protected virtual void Close() |
| | | { |
| | | if (_wpfViewer != null) |
| | | { |
| | | _wpfViewer.SelectionChangedEvent -= OnSelectionChanged; |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |