ue-game-container-ali 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +470 -0
- package/dist/index.umd.min.js +40 -0
- package/package.json +12 -0
package/README.md
ADDED
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
### BIM图形使用说明
|
|
2
|
+
|
|
3
|
+
#### 安装:
|
|
4
|
+
> `npm install bim-viewer-vue`
|
|
5
|
+
|
|
6
|
+
#### 使用方法:
|
|
7
|
+
> import * as bimer from 'bim-viewer-vue'
|
|
8
|
+
|
|
9
|
+
##### 组件参数传递:
|
|
10
|
+
|
|
11
|
+
> ```` html
|
|
12
|
+
> <bim-viewer
|
|
13
|
+
> :viewerData='viewerData'
|
|
14
|
+
> :authKey='authKey'
|
|
15
|
+
> :authCode='authCode'
|
|
16
|
+
> :isShowBuiding='true/false'
|
|
17
|
+
> :nodeId='nodeId'
|
|
18
|
+
> :bimType='bimType'
|
|
19
|
+
> :scenario='scenario'
|
|
20
|
+
> :direction='direction'
|
|
21
|
+
> :modelPath='modelPath'
|
|
22
|
+
> :stepLoadConfig="stepLoadConfig"
|
|
23
|
+
> :latAndLong="latAndLong"
|
|
24
|
+
> />
|
|
25
|
+
> ````
|
|
26
|
+
|
|
27
|
+
##### 参数传入
|
|
28
|
+
|
|
29
|
+
> viewToken 调用后台接口获取, *号为必传参数, 否则会报错
|
|
30
|
+
|
|
31
|
+
```` javascript
|
|
32
|
+
* viewerData:
|
|
33
|
+
{
|
|
34
|
+
viewToken: 'e69ddb9711704c52aae6e390439c0f87'
|
|
35
|
+
}
|
|
36
|
+
* authKey: 'P92_ZHYQ'
|
|
37
|
+
* authCode: '576BF57681FCBC4760......'
|
|
38
|
+
// 是否显示楼层筛选组件
|
|
39
|
+
isShowBuiding: true/false
|
|
40
|
+
// 根据节点id匹配楼层
|
|
41
|
+
nodeId: 'CN_EC_33_001_HXHYQ'
|
|
42
|
+
// 1 只有全景图 2 只有BIM模型 3 全景和BIM模型 4 显示简化后的模型并加载bim模型 不传默认只显示bim模型
|
|
43
|
+
bimType: '1' || '2' || '3' || '4'
|
|
44
|
+
// 当前模型code 根据这个code来确定显示哪个全景图
|
|
45
|
+
scenario: 'CN_EC_33_001_HXHYQ'
|
|
46
|
+
// 楼层选择器的显示方式 true/横向 false/竖向
|
|
47
|
+
direction: true/false
|
|
48
|
+
// 静态模型加载配置
|
|
49
|
+
loadingConfig:
|
|
50
|
+
{
|
|
51
|
+
// 简化后的模型静态资源路径
|
|
52
|
+
modelPath: '',
|
|
53
|
+
// 模型初始化后的视角远近
|
|
54
|
+
cameraPos: {z: 1000},
|
|
55
|
+
// 模型是否自动旋转
|
|
56
|
+
controlParams: {autoRotate: true},
|
|
57
|
+
// 是否启动模型透明
|
|
58
|
+
enableModelTransparent: true,
|
|
59
|
+
}
|
|
60
|
+
// 分步加载配置
|
|
61
|
+
stepLoadConfig:
|
|
62
|
+
{
|
|
63
|
+
// 分片加载集成模型步数. 用于优化模型加载至100%卡顿. 当模型较大时,可适当提高集成模型分步加载次数
|
|
64
|
+
loadCount: 3,
|
|
65
|
+
// 当前模型是否为集成模型, 如果是集成模型,则会进行分步加载
|
|
66
|
+
modelType: true,
|
|
67
|
+
// 所需加载的构件类型
|
|
68
|
+
// 'overall' 加载所有的构件
|
|
69
|
+
// 'label' 加载对应的单个模型文件
|
|
70
|
+
// 'floor' 加载对应的楼层
|
|
71
|
+
loadCode: 'overall' || 'lable' || 'floor',
|
|
72
|
+
// 楼层id
|
|
73
|
+
floorId: null,
|
|
74
|
+
// 构件ID的数组
|
|
75
|
+
elementIdList: null
|
|
76
|
+
}
|
|
77
|
+
// 51VR默认配置
|
|
78
|
+
latAndLong:
|
|
79
|
+
{
|
|
80
|
+
// 初始纬度,介于-π/2和π/2之间。
|
|
81
|
+
lat: 0,
|
|
82
|
+
// 初始经度,介于0和2π之间。
|
|
83
|
+
long: 0
|
|
84
|
+
}
|
|
85
|
+
````
|
|
86
|
+
|
|
87
|
+
##### 模型加载状态:
|
|
88
|
+
|
|
89
|
+
> 模型加载完成后会`$emit('modelLoadState', true)` 说明模型已经加载完成
|
|
90
|
+
|
|
91
|
+
##### 模型API调用:
|
|
92
|
+
|
|
93
|
+
> bimer.viewerApi.方法名
|
|
94
|
+
|
|
95
|
+
##### Bimer api枚举:
|
|
96
|
+
|
|
97
|
+
###### 模型状态设置:
|
|
98
|
+
|
|
99
|
+
----
|
|
100
|
+
|
|
101
|
+
获取当前view state
|
|
102
|
+
|
|
103
|
+
> bimer.viewerApi.getCurrentState()
|
|
104
|
+
|
|
105
|
+
设置view state
|
|
106
|
+
|
|
107
|
+
> `setState (modelState)`
|
|
108
|
+
|
|
109
|
+
设置右上角小模型 ture 显示,false隐藏
|
|
110
|
+
|
|
111
|
+
> `viewHouse('true')`
|
|
112
|
+
|
|
113
|
+
设置 结构树 ture 显示,false隐藏
|
|
114
|
+
|
|
115
|
+
> `structureTree('true')`
|
|
116
|
+
|
|
117
|
+
设置初始化视角
|
|
118
|
+
|
|
119
|
+
> `viewHome()`
|
|
120
|
+
|
|
121
|
+
获取模型角度
|
|
122
|
+
|
|
123
|
+
> `getCameraStatus()`
|
|
124
|
+
|
|
125
|
+
根据当前模型的nodeId隐藏其余构件
|
|
126
|
+
|
|
127
|
+
```javascript
|
|
128
|
+
@ param { String } nodeId
|
|
129
|
+
urlByParameter(nodeId)
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
删除模型 / 停止加载模型
|
|
133
|
+
|
|
134
|
+
> `removeModel()`
|
|
135
|
+
|
|
136
|
+
剖切 => 适应到模型
|
|
137
|
+
|
|
138
|
+
> `adaptToModel()`
|
|
139
|
+
|
|
140
|
+
剖切 => 重置
|
|
141
|
+
|
|
142
|
+
> `resetToModel()`
|
|
143
|
+
|
|
144
|
+
获取当前模型视角
|
|
145
|
+
|
|
146
|
+
```javascript
|
|
147
|
+
@ return { Object } 当前视角的对象
|
|
148
|
+
getCameraStatus()
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
设置模型当前视角
|
|
152
|
+
|
|
153
|
+
```javascript
|
|
154
|
+
@ params { Object } cameraState 模型视角的对象
|
|
155
|
+
setCameraStatus(cameraState)
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
###### 模型构件设置:
|
|
161
|
+
|
|
162
|
+
----
|
|
163
|
+
|
|
164
|
+
根据构件改颜色,同时支持多个
|
|
165
|
+
```` javascript
|
|
166
|
+
@ param { Array } ids 构件ID数组
|
|
167
|
+
@ param { Array } colors 构件颜色数组
|
|
168
|
+
overrideComponents (ids, colors)
|
|
169
|
+
````
|
|
170
|
+
|
|
171
|
+
显示所有被隐藏的构件
|
|
172
|
+
|
|
173
|
+
> `showAllComponents()`
|
|
174
|
+
|
|
175
|
+
根据构件id显示构件
|
|
176
|
+
```` javascript
|
|
177
|
+
@ param { Array } ids 构件ID数组
|
|
178
|
+
showComponents (ids)
|
|
179
|
+
````
|
|
180
|
+
|
|
181
|
+
在集成模型下 传入构件的`elementId `先显示对应的楼栋
|
|
182
|
+
|
|
183
|
+
```javascript
|
|
184
|
+
@param { String } element 集成模型的构件ID
|
|
185
|
+
showBuild (element)
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
根据构件ID,隔离
|
|
189
|
+
|
|
190
|
+
```` javascript
|
|
191
|
+
@ param { Array } ids 构件ID数组
|
|
192
|
+
isolateComponentsById (ids)
|
|
193
|
+
````
|
|
194
|
+
|
|
195
|
+
清除隔离
|
|
196
|
+
|
|
197
|
+
> `clearIsolation()`
|
|
198
|
+
|
|
199
|
+
清除构件选中状态
|
|
200
|
+
|
|
201
|
+
> `clearSelectedComponents()`
|
|
202
|
+
|
|
203
|
+
获取选中的构件id
|
|
204
|
+
|
|
205
|
+
> `getElementsProperty ()`
|
|
206
|
+
|
|
207
|
+
放大选中构件
|
|
208
|
+
|
|
209
|
+
```` javascript
|
|
210
|
+
@ param { Array } ids 构件ID数组
|
|
211
|
+
zoomToSelectedComponents (ids)
|
|
212
|
+
````
|
|
213
|
+
|
|
214
|
+
隐藏所有构件
|
|
215
|
+
|
|
216
|
+
> `hideAllComponents()`
|
|
217
|
+
|
|
218
|
+
显示所有构件
|
|
219
|
+
|
|
220
|
+
> `showAllComponents()`
|
|
221
|
+
|
|
222
|
+
###### 模型标签设置:
|
|
223
|
+
|
|
224
|
+
批量添加三维标签
|
|
225
|
+
|
|
226
|
+
```javascript
|
|
227
|
+
@param { Array } params 三维标签的参数数组 其余参数与set3DMarker方法一致
|
|
228
|
+
set3DMarkers (params, clickCallBack, cb)
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
添加三维标签
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
```` javascript
|
|
235
|
+
* @param {obj} element 引线标签的参数 element.equipCode、element.worldPosition 必传其一
|
|
236
|
+
* @param {FN} click 引线标签的点击方法
|
|
237
|
+
* @param {FN} cb 引线标签生成后的回调方法
|
|
238
|
+
可配置参数 element: {
|
|
239
|
+
iconUrl // 图片路径,不传为默认图片
|
|
240
|
+
tips, // 三维标签名称,不传为''
|
|
241
|
+
size, // 三维标签大小, 不传为30
|
|
242
|
+
equipCode, // 设备ID
|
|
243
|
+
worldPosition, // 构件坐标
|
|
244
|
+
}
|
|
245
|
+
set3DMarker(params, clickCallBack, cb)
|
|
246
|
+
````
|
|
247
|
+
|
|
248
|
+
删除所有三维标签
|
|
249
|
+
|
|
250
|
+
> `del3DMakerAll()`
|
|
251
|
+
|
|
252
|
+
根据id删除三维标签
|
|
253
|
+
|
|
254
|
+
```javascript
|
|
255
|
+
@param { String } id 三维标签的id
|
|
256
|
+
del3DMakerById(id)
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
隐藏所有三维标签
|
|
260
|
+
|
|
261
|
+
> `hidenAllMaker()`
|
|
262
|
+
|
|
263
|
+
根据ID隐藏三维标签
|
|
264
|
+
|
|
265
|
+
```` javascript
|
|
266
|
+
@ param { Array } ids 构件ID数组
|
|
267
|
+
hideMarkerById (ids)
|
|
268
|
+
````
|
|
269
|
+
*根据ids显示三维标签*
|
|
270
|
+
|
|
271
|
+
```
|
|
272
|
+
@ param { Array } ids 构件ID数组
|
|
273
|
+
showItemsById(ids)
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
添加引线标签
|
|
277
|
+
|
|
278
|
+
```` javascript
|
|
279
|
+
* @param {obj} element 引线标签的参数 element.equipCode.worldPosition 必传其一
|
|
280
|
+
* @param {string} dom document的字符串
|
|
281
|
+
* @param {FN} click 引线标签的点击方法
|
|
282
|
+
* @param {FN} cb 引线标签生成后的回调方法
|
|
283
|
+
|
|
284
|
+
可配置参数: element: {
|
|
285
|
+
elementId, // 构件id
|
|
286
|
+
worldPosition, // 构件坐标
|
|
287
|
+
}
|
|
288
|
+
addExtLeadLabel (element, dom, click, cb)
|
|
289
|
+
````
|
|
290
|
+
|
|
291
|
+
根据ID删除引线标签
|
|
292
|
+
|
|
293
|
+
```javascript
|
|
294
|
+
@param {String} id 引线标签的id
|
|
295
|
+
removeLabel(id)
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
删除所有引线标签
|
|
299
|
+
|
|
300
|
+
> `removeAllLabel()`
|
|
301
|
+
|
|
302
|
+
隐藏所有引线标签
|
|
303
|
+
|
|
304
|
+
> `hideAllItems()`
|
|
305
|
+
|
|
306
|
+
显示所有引线标签
|
|
307
|
+
|
|
308
|
+
> `showAllItems()`
|
|
309
|
+
|
|
310
|
+
根据id隐藏引线标签
|
|
311
|
+
|
|
312
|
+
```
|
|
313
|
+
@param { Array } ids 引线标签的id数组
|
|
314
|
+
hideItemsById(ids)
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
获取所有引线标签
|
|
318
|
+
|
|
319
|
+
> `getAllItems()`
|
|
320
|
+
|
|
321
|
+
创建轨迹
|
|
322
|
+
|
|
323
|
+
```javascript
|
|
324
|
+
* @param {Array} elements 设备ID数组
|
|
325
|
+
* @param {String} color 颜色 [255, 255, 255]
|
|
326
|
+
* @param {String} width 宽度
|
|
327
|
+
* @param {FN} cb 完成后的回调方法
|
|
328
|
+
* @return {String} 完成后的回调方法会返回当前轨迹的name。 name用于删除当前轨迹
|
|
329
|
+
drawLine(elements, color, width, cb)
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
删除轨迹
|
|
333
|
+
|
|
334
|
+
```javascript
|
|
335
|
+
* @param {String || Array} name 可传入多个轨迹标签返回的name数组。实现批量删除
|
|
336
|
+
removeDrawLine (name)
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
初始化设置标签设备
|
|
340
|
+
|
|
341
|
+
```javascript
|
|
342
|
+
* @param {Object} params params.equipType ['IGS_002_018', 'IGS_002_017', 'PSS_006_002']
|
|
343
|
+
* params.eventType 事件类型 '1' || '2'
|
|
344
|
+
* 没有参数 可以传一个空对象
|
|
345
|
+
* @param {FN} labelClick 引线标签的点击事件
|
|
346
|
+
* @param {fn} callBack 完成后的回调方法
|
|
347
|
+
setLabel(params, labelClick, callBack)
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
点击引线标签进入子模型,并隐藏其他引线标签
|
|
351
|
+
|
|
352
|
+
```javascript
|
|
353
|
+
@param {Obj} labelData 点击引线标签返回的对象
|
|
354
|
+
labelClickToModel(labelData)
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
根据fileID查找在引线标签中查找楼栋信息
|
|
358
|
+
|
|
359
|
+
```javascript
|
|
360
|
+
@param {fileId} String
|
|
361
|
+
fileIdToLabelData (fileId)
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
锁定Y轴旋转角度
|
|
365
|
+
|
|
366
|
+
```javascript
|
|
367
|
+
@param {Array} angle 要限制的角度数组 推荐写法: [Math.PI / 12, Math.PI / 2] (15°, 90°)
|
|
368
|
+
lockAxis(angle)
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
解除锁定Y轴旋转角度
|
|
372
|
+
|
|
373
|
+
> `unLockAxis(angle)`
|
|
374
|
+
|
|
375
|
+
根据ID冻结构件
|
|
376
|
+
|
|
377
|
+
```javascript
|
|
378
|
+
@param {Array} ids 需要冻结的构件id
|
|
379
|
+
deactivateComponentsById(ids)
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
恢复所有构件至激活状态
|
|
385
|
+
|
|
386
|
+
> `activateAllComponents()`
|
|
387
|
+
|
|
388
|
+
###### 业务场景相关:
|
|
389
|
+
|
|
390
|
+
----
|
|
391
|
+
|
|
392
|
+
停车场设置
|
|
393
|
+
|
|
394
|
+
```javascript
|
|
395
|
+
@param {string} nodeId 节点ID
|
|
396
|
+
setParkingColor(nodeId)
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
添加点击构件事件, 点击构件,查询停车场构件详情(调用此方法须先传入nodeId参数)
|
|
400
|
+
|
|
401
|
+
> 查询返回的结果this.$emit('parkingData', result)
|
|
402
|
+
>
|
|
403
|
+
> `addSelectedListener()`
|
|
404
|
+
|
|
405
|
+
移除点击构件查询停车场构件详情的事件
|
|
406
|
+
|
|
407
|
+
> `removeSelectedListener()`
|
|
408
|
+
|
|
409
|
+
添加构件点击事件,点击构件,会返回构件的相关信息
|
|
410
|
+
|
|
411
|
+
> 查询返回的结果this.$emit('elementData', result)
|
|
412
|
+
> `addElementClick()`
|
|
413
|
+
|
|
414
|
+
移除返回构件的相关信息事件
|
|
415
|
+
|
|
416
|
+
> `removeElementClick()`
|
|
417
|
+
|
|
418
|
+
根据elementID查找当前楼层 并隐藏其余楼层构件
|
|
419
|
+
|
|
420
|
+
```javascript
|
|
421
|
+
@param {String} elementId 构件ID
|
|
422
|
+
@returns {Boolean} true
|
|
423
|
+
floorElementIds(elementId)
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
*获取大于或者小于当前楼层的其他楼层构件ID信息*
|
|
427
|
+
|
|
428
|
+
```javascript
|
|
429
|
+
* @param { String } elementId 当前楼层构件ID
|
|
430
|
+
* @param { String } equipmentId 当前构件的设备id
|
|
431
|
+
* @param { Boolean } containThis 是否包含当前楼层
|
|
432
|
+
* @param { Number } requestDataType 请求数据类型 (0:获取当前楼层之下其他楼层构建数据;1:获取当前楼层之上其他楼层构建数据)
|
|
433
|
+
* @return { Array } 匹配到的楼层Name
|
|
434
|
+
elementByFloorElement(elementId, equipmentId, requestDataType = 0)
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
###### 模型空间相关:
|
|
438
|
+
|
|
439
|
+
----
|
|
440
|
+
|
|
441
|
+
匹配房间并切换视点
|
|
442
|
+
|
|
443
|
+
```javascript
|
|
444
|
+
@param {String} floorId 楼层id
|
|
445
|
+
@param {String} elementId 构件ID,
|
|
446
|
+
@param {Object} params 非必传参数
|
|
447
|
+
params.sectioning 判断当前模型是否进行剖切 默认值为false 进行剖切 true为不进行剖切
|
|
448
|
+
params.roomColor 设置房间颜色 非必传 16进制色值 例: '#ff0000'
|
|
449
|
+
zoomMathRoom = (floorId, elementId, params)
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
通过传入构件id 查找当前空间x,y,z轴
|
|
453
|
+
|
|
454
|
+
```javascript
|
|
455
|
+
@param {String} element 构建id
|
|
456
|
+
@return {Object} 返回xyz轴对象
|
|
457
|
+
elementIdToRoomPoint(element)
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
根据id清除对应的空间
|
|
461
|
+
|
|
462
|
+
```javascript
|
|
463
|
+
@param {Array} objectIds 要删除的空间ID数组
|
|
464
|
+
clearRoomsById(objectIds)
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
清除所有空间
|
|
468
|
+
|
|
469
|
+
> `clearAllRooms()`
|
|
470
|
+
|