lixiaojun
2024-09-24 22e1f3211a078ba498f35069c3db420dc388b164
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
using DevExpress.CodeParser;
using DevExpress.Xpo.Helpers;
using DevExpress.XtraDiagram.Base;
using Yw.WinFrmUI.Bimface;
 
namespace Yw.WinFrmUI
{
    /// <summary>
    /// 
    /// </summary>
    public interface IBimfaceInterop3dContainer : IBimfaceContainer, IBimfaceInterop3dEvents
    {
        /// <summary>
        /// 交互对象
        /// </summary>
        BimfaceInterop3dCallBackObj CallBackObj { get; }
 
 
        #region 构件的显示与隐藏
 
        /// <summary>
        /// 显示构件
        /// </summary>
        /// <param name="ids">构件id 列表</param>
        /// <returns></returns>
        Task ShowComponents(List<string> ids);
 
        /// <summary>
        /// 隐藏构件
        /// </summary>
        /// <param name="ids">构件id 列表<</param>
        /// <returns></returns>
        Task HideComponents(List<string> ids);
 
        /// <summary>
        /// 显示所有构件
        /// 所有的构件都可以通过这个方法恢复
        /// </summary>
        /// <returns></returns>
        Task ShowAllComponents();
 
 
        #endregion
 
        #region 构件半透明与取消
 
        /// <summary>
        /// 半透明组件(鼠标不可选)
        /// </summary>
        /// <param name="ids">构件id 列表</param>
        /// <returns></returns>
        Task TranslucentComponents(List<string> ids);
 
        /// <summary>
        /// 取消组件半透明
        /// </summary>
        /// <param name="ids">构件id 列表</param>
        /// <returns></returns>
        Task OpaqueComponents(List<string> ids);
 
 
        #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
 
    }
}