lixiaojun
8 天以前 d6f1a8535c0030e282f823f0e9b3d6e56e32e474
Yw.WinFrmUI.Hydro.L3d2.Core/ViewerL3d2.cs
@@ -41,7 +41,7 @@
        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;
@@ -277,6 +277,12 @@
            _wpfViewer?.SelectVisual(Ids);
        }
        //处理选择改变
        protected virtual void OnSelectionChanged(List<VisualL3d> visuals)
        {
            this.SelectionChangedEvent?.Invoke(visuals);
        }
        #endregion
        #region 缩放并选择构件
@@ -352,6 +358,242 @@
        #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;
            }
        }
    }
}