Shuxia Ning
2024-11-25 d4898c5d7e1bbbbba384a0e29f29c066d6f502a7
WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/IBimfaceInterop3dContainer.cs
@@ -1,17 +1,10 @@
using DevExpress.XtraDiagram.Base;
namespace Yw.WinFrmUI
namespace Yw.WinFrmUI
{
    /// <summary>
    /// 
    /// </summary>
    public interface IBimfaceInterop3dContainer : IBimfaceContainer, IBimfaceInterop3dEvents
    {
        /// <summary>
        /// 交互对象
        /// </summary>
        BimfaceInterop3dCallBackObj CallBackObj { get; }
        #region 构件的显示与隐藏
@@ -58,5 +51,190 @@
        #endregion
        #region 构件的选择与取消
        /// <summary>
        /// 设置选择的构件列表
        /// </summary>
        /// <param name="ids">构件id列表</param>
        /// <returns></returns>
        Task SetSelectedComponents(List<string> ids);
        /// <summary>
        /// 增加选择的构件列表
        /// </summary>
        /// <param name="ids">构件id列表</param>
        /// <returns></returns>
        Task AddSelectedComponents(List<string> ids);
        /// <summary>
        /// 移除选择的构件列表
        /// </summary>
        /// <param name="ids">构件id列表</param>
        /// <returns></returns>
        Task RemoveSelectedComponents(List<string> ids);
        /// <summary>
        /// 清除选择的构件列表
        /// </summary>
        /// <returns></returns>
        Task ClearSelectedComponents();
        #endregion
        #region 缩放
        /// <summary>
        /// 缩放到包围盒
        /// </summary>
        Task ZoomToBoundingBox(BoundingBox boundingbox);
        /// <summary>
        /// 缩放到单个构件
        /// </summary>
        Task ZoomToComponent(string id);
        /// <summary>
        /// 缩放到选中构件
        /// </summary>
        Task ZoomToSelectedComponents();
        /// <summary>
        /// 缩放并选中多个构件
        /// </summary>
        Task ZoomAndSelectComponents(List<string> ids);
        #endregion
        #region 强调构件
        /// <summary>
        /// 设置强调构件
        /// </summary>
        /// <param name="ids">构件id列表</param>
        /// <param name="color">#32D3A6</param>
        /// <param name="transparency">0.8</param>
        /// <returns></returns>
        Task SetBlinkComponents(List<string> ids, string color, double transparency);
        /// <summary>
        /// 清除强调构件
        /// </summary>
        /// <returns></returns>
        Task ClearBlinkComponents();
        #endregion
        #region 构件着色
        /// <summary>
        /// 改变构件颜色
        /// </summary>
        /// <param name="ids">构件id列表</param>
        /// <param name="color">#32D3A6</param>
        /// <param name="transparency">0.8</param>
        /// <returns></returns>
        Task OverrideComponentsColor(List<string> ids, string color, double transparency);
        /// <summary>
        /// 恢复部件颜色
        /// </summary>
        /// <param name="ids">构件id列表</param>
        /// <returns></returns>
        Task RestoreComponentsColor(List<string> ids);
        #endregion
        #region 业务计算自定义标签
        /// <summary>
        /// 设置自定义标签
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        Task SetLogicCalcuCustomLabels(List<LogicCalcuCustomLabel> obj);
        /// <summary>
        /// 清除自定义标签
        /// </summary>
        /// <returns></returns>
        Task ClearLogicCalcuCustomLabels();
        #endregion
        #region 业务标注引线标签
        /// <summary>
        /// 设置业务标注引线标签
        /// </summary>
        Task SetLogicMarkLeadLabels(List<LogicMarkLeadLabel> obj);
        /// <summary>
        /// 更新业务标注引线标签
        /// </summary>
        Task UpdateLogicMarkLeadLabel(LogicMarkLeadLabel obj);
        /// <summary>
        /// 更新业务标注引线标签
        /// </summary>
        Task UpdateLogicMarkLeadLabels(List<LogicMarkLeadLabel> obj);
        /// <summary>
        /// 清除业务标注引线标签
        /// </summary>
        Task ClearLogicMarkLeadLabels();
        #endregion
        #region 业务水流动画
        /// <summary>
        /// 加载水流动画
        /// </summary>
        Task LoadFlowEffect(LogicFlowEffect obj);
        /// <summary>
        /// 加载水流动画列表
        /// </summary>
        Task LoadFlowEffectList(List<LogicFlowEffect> obj);
        /// <summary>
        /// 更新水流动画
        /// </summary>
        Task UpdateFlowEffect(LogicFlowEffect obj);
        /// <summary>
        /// 更新水流动画列表
        /// </summary>
        Task UpdateFlowEffectList(List<LogicFlowEffect> obj);
        /// <summary>
        /// 卸载水流动画
        /// </summary>
        Task UnloadFlowEffect();
        /// <summary>
        /// 通过 Id 卸载水流动画
        /// </summary>
        Task UnloadFlowEffectById(string Id);
        #endregion
        #region 业务监测点
        /// <summary>
        /// 设置业务监测点
        /// </summary>
        Task SetLogicMonitors(List<LogicMonitorMarker> obj);
        /// <summary>
        /// 清除业务监测点
        /// </summary>
        Task ClearLogicMonitors();
        #endregion
    }
}