gs-bim-air 0.0.3-0.28 → 0.0.3-0.29

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/READMEBETA.md CHANGED
@@ -262,3 +262,58 @@ viewer.getComponents(componentId);
262
262
  - 增加通过 Id 获取视点的接口 [viewer.panelManager.viewPointPanel.getViewPointById](docs/classes/ViewPointPanel.md#getViewPointById)
263
263
  - 增加通过 Id 删除视点的接口 [viewer.panelManager.viewPointPanel.deleteViewPointById](docs/classes/ViewPointPanel.md#deleteViewPointById)
264
264
  - 增加通过 Id 恢复视点的接口 [viewer.panelManager.viewPointPanel.restoreViewPointById](docs/classes/ViewPointPanel.md#restoreViewPointById)
265
+
266
+ ### 0.0.30.29
267
+
268
+ - 更新 public/js 里的内核文件,安装此版本需替换 js 文件夹
269
+ - 修复 noShareArrayBuffer 版本的 wasm 无法显示模型
270
+ - 修复接口恢复视点时事件被批注功能的事件覆盖的问题
271
+ - 添加路径漫游相关接口 [viewer.animationManager.pathRoam](docs/classes/PathRoam.md),基本用法如下:
272
+
273
+ ```js
274
+ // 获取当前Camera信息
275
+ let camera = viewer.animationManager.pathRoam.getRoamPoint();
276
+ console.log("camera", camera);
277
+
278
+ let points = [
279
+ [
280
+ 380416.0671187355,
281
+ 38786.28087566431,
282
+ 4155.782292435952,
283
+ ]
284
+ [ 380730.74617450393,
285
+ 38801.12997364584,
286
+ 4404.750407980944,
287
+ ]
288
+ ];
289
+ let targets = [
290
+ [
291
+ 379975.34973484656,
292
+ 39356.55973798728,
293
+ 2473.4870208851316,
294
+ ],
295
+ [
296
+ 380290.028790615,
297
+ 39371.4088359688,
298
+ 2722.455136430124,
299
+ ]
300
+ ];
301
+ // 创建动画
302
+ let animationId = viewer.animationManager.pathRoam.addRoamPathAnime(
303
+ 10,
304
+ points,
305
+ targets
306
+ );
307
+ // 播放动画
308
+ viewer.animationManager.pathRoam.run([animationId]);
309
+
310
+ setTimeout(() => {
311
+ // 暂停播放
312
+ viewer.animationManager.pathRoam.pauseAnime(animationId);
313
+ }, 3000);
314
+
315
+ setTimeout(() => {
316
+ // 继续播放
317
+ viewer.animationManager.pathRoam.run([animationId]);
318
+ }, 6000);
319
+ ```
package/READMEBETA2.md CHANGED
@@ -162,6 +162,8 @@ this.viewer.panelManager.collisionPanel
162
162
 
163
163
  ### 0.1.30.24
164
164
 
165
+ - 更新 public/js 里的内核文件,安装此版本需替换 js 文件夹
166
+ - 在写入缓存时与模型写入冲突导致模型丢失的问题
165
167
  - 添加面板和命令显示隐藏的回调函数,如结构树面板设置:
166
168
 
167
169
  ```js
@@ -0,0 +1,72 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <title>通视分析</title>
6
+ <link
7
+ rel="stylesheet"
8
+ href="https://static.graphicstone.com/bimAir/BimAir.css"
9
+ />
10
+ <script src="https://static.graphicstone.com/vue.min.js"></script>
11
+ <script src="https://static.graphicstone.com/bimAir/BimAir.umd.min.js"></script>
12
+ </head>
13
+
14
+ <body>
15
+ <style>
16
+ body {
17
+ margin: 0;
18
+ padding: 0;
19
+ height: 100vh;
20
+ }
21
+
22
+ #app {
23
+ height: 100vh;
24
+ position: relative;
25
+ }
26
+ </style>
27
+ <div id="app">
28
+ <viewer-wrapper elementId="viewer" style="height: 100%; width: 100%" />
29
+ </div>
30
+
31
+ <script type="text/javascript">
32
+ new Vue({
33
+ el: "#app",
34
+ });
35
+ let options = {
36
+ // viewerType: "model",
37
+ elementId: "viewer",
38
+
39
+ modelService: "https://static.graphicstone.com/modelApi",
40
+ fileService: "https://static.graphicstone.com/fileApi",
41
+ background: "linear-gradient(#e3fcfc, #f6ffff)",
42
+ };
43
+ BimAir.Loader({ url: "https://static.graphicstone.com/bimAir" }).then(
44
+ () => {
45
+ let viewer = new BimAir.Viewer(options);
46
+ viewer.loadModels("626b4d1ebfe39e58ae7b66a2").then((lightModels) => {
47
+ setTimeout(() => {
48
+ let viewPos = new Float32Array([24.65, -8.09, 15]);
49
+ let targetPos = new Float32Array([
50
+ -7.06, 18.7, 2.41, 17.03, 23.73, -0.72, -20.01, 9.76, 3.99,
51
+ ]);
52
+ let visibleColor = new Float32Array([50, 211, 166]);
53
+ let invisibleColor = new Float32Array([235, 0, 29]);
54
+
55
+ let sightlineAnalysisConfig = new SightlineAnalysisConfig(
56
+ viewer,
57
+ viewPos,
58
+ targetPos,
59
+ visibleColor,
60
+ invisibleColor
61
+ );
62
+ let sightlineAnalysisEffect = new SightlineAnalysisEffect(
63
+ sightlineAnalysisConfig
64
+ );
65
+ }, 2000);
66
+
67
+ });
68
+ }
69
+ );
70
+ </script>
71
+ </body>
72
+ </html>
package/docs/README.md CHANGED
@@ -34,6 +34,7 @@ gs-bim-air
34
34
  - [PanelManager](classes/PanelManager.md)
35
35
  - [PathEffect](classes/PathEffect.md)
36
36
  - [PathEffectConfig](classes/PathEffectConfig.md)
37
+ - [PathRoam](classes/PathRoam.md)
37
38
  - [PropertyManager](classes/PropertyManager.md)
38
39
  - [SegmentObject](classes/SegmentObject.md)
39
40
  - [SelectionManager](classes/SelectionManager.md)
@@ -24,6 +24,7 @@
24
24
  ### Accessors
25
25
 
26
26
  - [isRunning](AnimationManager.md#isrunning)
27
+ - [pathRoam](AnimationManager.md#pathroam)
27
28
  - [process](AnimationManager.md#process)
28
29
 
29
30
  ### Methods
@@ -31,6 +32,8 @@
31
32
  - [cameraRoamPath](AnimationManager.md#cameraroampath)
32
33
  - [drawPointsCurve](AnimationManager.md#drawpointscurve)
33
34
  - [drawStraight](AnimationManager.md#drawstraight)
35
+ - [existAnime](AnimationManager.md#existanime)
36
+ - [getPlayingPercent](AnimationManager.md#getplayingpercent)
34
37
  - [objectRoamWithoutRotate](AnimationManager.md#objectroamwithoutrotate)
35
38
  - [pauseAnime](AnimationManager.md#pauseanime)
36
39
  - [removeAnime](AnimationManager.md#removeanime)
@@ -113,6 +116,16 @@ Longan.AnimationManager.isRunning
113
116
 
114
117
  ___
115
118
 
119
+ ### pathRoam
120
+
121
+ • `get` **pathRoam**(): [`PathRoam`](PathRoam.md)
122
+
123
+ #### Returns
124
+
125
+ [`PathRoam`](PathRoam.md)
126
+
127
+ ___
128
+
116
129
  ### process
117
130
 
118
131
  • `get` **process**(): `Process`
@@ -129,20 +142,23 @@ Longan.AnimationManager.process
129
142
 
130
143
  ### cameraRoamPath
131
144
 
132
- ▸ **cameraRoamPath**(`camera`, `points`, `targets`, `roamTime`): `void`
145
+ ▸ **cameraRoamPath**(`camera`, `roamTime`, `points`, `targets?`, `finishEvent?`): `string`
146
+
147
+ 添加镜头动画.
133
148
 
134
149
  #### Parameters
135
150
 
136
- | Name | Type |
137
- | :------ | :------ |
138
- | `camera` | `Camera` |
139
- | `points` | `Point`[] |
140
- | `targets` | `Point`[] |
141
- | `roamTime` | `number` |
151
+ | Name | Type | Description |
152
+ | :------ | :------ | :------ |
153
+ | `camera` | `Camera` | 镜头 |
154
+ | `roamTime` | `number` | 漫游时间 |
155
+ | `points` | `Point`[] | 漫游路径点 |
156
+ | `targets?` | `Point`[] | 缺省则镜头指向前进方向 |
157
+ | `finishEvent?` | () => `void` | 动画播放结束时的回调 |
142
158
 
143
159
  #### Returns
144
160
 
145
- `void`
161
+ `string`
146
162
 
147
163
  ___
148
164
 
@@ -180,6 +196,50 @@ ___
180
196
 
181
197
  ___
182
198
 
199
+ ### existAnime
200
+
201
+ ▸ **existAnime**(`id`): `boolean`
202
+
203
+ 是否存在某段动画.
204
+
205
+ #### Parameters
206
+
207
+ | Name | Type |
208
+ | :------ | :------ |
209
+ | `id` | `any` |
210
+
211
+ #### Returns
212
+
213
+ `boolean`
214
+
215
+ #### Inherited from
216
+
217
+ Longan.AnimationManager.existAnime
218
+
219
+ ___
220
+
221
+ ### getPlayingPercent
222
+
223
+ ▸ **getPlayingPercent**(`id`): `number`
224
+
225
+ 获取播放进度.
226
+
227
+ #### Parameters
228
+
229
+ | Name | Type |
230
+ | :------ | :------ |
231
+ | `id` | `string` |
232
+
233
+ #### Returns
234
+
235
+ `number`
236
+
237
+ #### Inherited from
238
+
239
+ Longan.AnimationManager.getPlayingPercent
240
+
241
+ ___
242
+
183
243
  ### objectRoamWithoutRotate
184
244
 
185
245
  ▸ **objectRoamWithoutRotate**(`viewer`, `segmentObject`, `points`, `roamTime`, `pathType`, `finishEvent?`): `string`
@@ -209,6 +269,8 @@ ___
209
269
 
210
270
  ▸ **pauseAnime**(`id`): `number`
211
271
 
272
+ 暂停某段动画
273
+
212
274
  #### Parameters
213
275
 
214
276
  | Name | Type |
@@ -219,6 +281,8 @@ ___
219
281
 
220
282
  `number`
221
283
 
284
+ 返回播放进度
285
+
222
286
  #### Inherited from
223
287
 
224
288
  Longan.AnimationManager.pauseAnime
@@ -229,6 +293,8 @@ ___
229
293
 
230
294
  ▸ **removeAnime**(`id`): `void`
231
295
 
296
+ 删除某段动画
297
+
232
298
  #### Parameters
233
299
 
234
300
  | Name | Type |
@@ -269,9 +335,9 @@ ___
269
335
 
270
336
  #### Parameters
271
337
 
272
- | Name | Type |
273
- | :------ | :------ |
274
- | `id` | `string` |
338
+ | Name | Type | Description |
339
+ | :------ | :------ | :------ |
340
+ | `id` | `string` | 从头播放某段动画. |
275
341
 
276
342
  #### Returns
277
343
 
@@ -287,12 +353,14 @@ ___
287
353
 
288
354
  ▸ **run**(`ids?`, `keepRunning?`): `void`
289
355
 
356
+ 播放一个或多段动画.
357
+
290
358
  #### Parameters
291
359
 
292
- | Name | Type |
293
- | :------ | :------ |
294
- | `ids?` | `string`[] |
295
- | `keepRunning?` | `boolean` |
360
+ | Name | Type | Description |
361
+ | :------ | :------ | :------ |
362
+ | `ids?` | `string`[] | 缺省/null/undefined则为播放全部. |
363
+ | `keepRunning?` | `boolean` | 保持不在ids的动画继续播放 |
296
364
 
297
365
  #### Returns
298
366
 
@@ -308,6 +376,8 @@ ___
308
376
 
309
377
  ▸ **segmentObjectRoamPath**(`degreed`, `segmentObject`, `points`, `roamTime`, `datumPoint`, `finishEvent?`): `string`
310
378
 
379
+ 物体朝向对准路径前进方向的动画(主要用于汽车等物体的运动).
380
+
311
381
  #### Parameters
312
382
 
313
383
  | Name | Type | Description |
@@ -331,6 +401,8 @@ ___
331
401
 
332
402
  ▸ **stop**(): `void`
333
403
 
404
+ 停止全部动画播放
405
+
334
406
  #### Returns
335
407
 
336
408
  `void`
@@ -19,6 +19,7 @@
19
19
  - [collisionPanel](PanelManager.md#collisionpanel)
20
20
  - [drawingPanel](PanelManager.md#drawingpanel)
21
21
  - [propertyPanel](PanelManager.md#propertypanel)
22
+ - [setting](PanelManager.md#setting)
22
23
  - [snapshoot](PanelManager.md#snapshoot)
23
24
  - [structureTree](PanelManager.md#structuretree)
24
25
  - [viewPlanPanel](PanelManager.md#viewplanpanel)
@@ -73,6 +74,16 @@ ___
73
74
 
74
75
  ___
75
76
 
77
+ ### setting
78
+
79
+ • `get` **setting**(): `default`
80
+
81
+ #### Returns
82
+
83
+ `default`
84
+
85
+ ___
86
+
76
87
  ### snapshoot
77
88
 
78
89
  • `get` **snapshoot**(): `default`
@@ -0,0 +1,203 @@
1
+ [gs-bim-air](../README.md) / PathRoam
2
+
3
+ # Class: PathRoam
4
+
5
+ ## Table of contents
6
+
7
+ ### Constructors
8
+
9
+ - [constructor](PathRoam.md#constructor)
10
+
11
+ ### Properties
12
+
13
+ - [animationManager](PathRoam.md#animationmanager)
14
+
15
+ ### Methods
16
+
17
+ - [addRoamPathAnime](PathRoam.md#addroampathanime)
18
+ - [existAnime](PathRoam.md#existanime)
19
+ - [getRoamPoint](PathRoam.md#getroampoint)
20
+ - [pauseAnime](PathRoam.md#pauseanime)
21
+ - [removeAnime](PathRoam.md#removeanime)
22
+ - [restartAnime](PathRoam.md#restartanime)
23
+ - [run](PathRoam.md#run)
24
+ - [stop](PathRoam.md#stop)
25
+ - [stopAnime](PathRoam.md#stopanime)
26
+
27
+ ## Constructors
28
+
29
+ ### constructor
30
+
31
+ • **new PathRoam**(`animationManager`)
32
+
33
+ #### Parameters
34
+
35
+ | Name | Type |
36
+ | :------ | :------ |
37
+ | `animationManager` | [`AnimationManager`](AnimationManager.md) |
38
+
39
+ ## Properties
40
+
41
+ ### animationManager
42
+
43
+ • **animationManager**: [`AnimationManager`](AnimationManager.md)
44
+
45
+ ## Methods
46
+
47
+ ### addRoamPathAnime
48
+
49
+ ▸ **addRoamPathAnime**(`roamTime`, `points`, `targets?`, `finishEvent?`): `string`
50
+
51
+ 添加一段动画,并返回动画id.
52
+
53
+ #### Parameters
54
+
55
+ | Name | Type | Description |
56
+ | :------ | :------ | :------ |
57
+ | `roamTime` | `number` | |
58
+ | `points` | `Point`[] | |
59
+ | `targets?` | `Point`[] | 缺省则镜头朝向路径方向. |
60
+ | `finishEvent?` | () => `void` | 结束回调函数. |
61
+
62
+ #### Returns
63
+
64
+ `string`
65
+
66
+ ___
67
+
68
+ ### existAnime
69
+
70
+ ▸ **existAnime**(`id`): `boolean`
71
+
72
+ 是否存在某段动画.
73
+
74
+ #### Parameters
75
+
76
+ | Name | Type |
77
+ | :------ | :------ |
78
+ | `id` | `any` |
79
+
80
+ #### Returns
81
+
82
+ `boolean`
83
+
84
+ ___
85
+
86
+ ### getRoamPoint
87
+
88
+ ▸ **getRoamPoint**(): `Object`
89
+
90
+ 获取当前camera漫游信息.
91
+
92
+ #### Returns
93
+
94
+ `Object`
95
+
96
+ | Name | Type |
97
+ | :------ | :------ |
98
+ | `position` | `ArrayLike`<`number`\> |
99
+ | `target` | `ArrayLike`<`number`\> |
100
+
101
+ ___
102
+
103
+ ### pauseAnime
104
+
105
+ ▸ **pauseAnime**(`id`): `number`
106
+
107
+ 暂停某段动画
108
+
109
+ #### Parameters
110
+
111
+ | Name | Type |
112
+ | :------ | :------ |
113
+ | `id` | `string` |
114
+
115
+ #### Returns
116
+
117
+ `number`
118
+
119
+ 返回播放进度
120
+
121
+ ___
122
+
123
+ ### removeAnime
124
+
125
+ ▸ **removeAnime**(`id`): `void`
126
+
127
+ 删除某段动画
128
+
129
+ #### Parameters
130
+
131
+ | Name | Type |
132
+ | :------ | :------ |
133
+ | `id` | `string` |
134
+
135
+ #### Returns
136
+
137
+ `void`
138
+
139
+ ___
140
+
141
+ ### restartAnime
142
+
143
+ ▸ **restartAnime**(`id`): `void`
144
+
145
+ #### Parameters
146
+
147
+ | Name | Type | Description |
148
+ | :------ | :------ | :------ |
149
+ | `id` | `string` | 从头播放某段动画. |
150
+
151
+ #### Returns
152
+
153
+ `void`
154
+
155
+ ___
156
+
157
+ ### run
158
+
159
+ ▸ **run**(`ids?`, `keepRunning?`): `void`
160
+
161
+ 播放一个或多段动画.
162
+
163
+ #### Parameters
164
+
165
+ | Name | Type | Description |
166
+ | :------ | :------ | :------ |
167
+ | `ids?` | `string`[] | 缺省/null/undefined则为播放全部. |
168
+ | `keepRunning?` | `boolean` | 保持不在ids的动画继续播放 |
169
+
170
+ #### Returns
171
+
172
+ `void`
173
+
174
+ ___
175
+
176
+ ### stop
177
+
178
+ ▸ **stop**(): `void`
179
+
180
+ 停止全部动画播放
181
+
182
+ #### Returns
183
+
184
+ `void`
185
+
186
+ ___
187
+
188
+ ### stopAnime
189
+
190
+ ▸ **stopAnime**(`id`, `resetPosition?`): `void`
191
+
192
+ 停止一段动画,且将播放进度设为0
193
+
194
+ #### Parameters
195
+
196
+ | Name | Type |
197
+ | :------ | :------ |
198
+ | `id` | `string` |
199
+ | `resetPosition?` | `boolean` |
200
+
201
+ #### Returns
202
+
203
+ `void`
@@ -82,6 +82,7 @@
82
82
 
83
83
  ### Accessors
84
84
 
85
+ - [animationManager](Viewer.md#animationmanager)
85
86
  - [aspectRatio](Viewer.md#aspectratio)
86
87
  - [backgroundColor](Viewer.md#backgroundcolor)
87
88
  - [camera](Viewer.md#camera)
@@ -154,6 +155,7 @@
154
155
  - [ensureMemorySize](Viewer.md#ensurememorysize)
155
156
  - [exeSceneCameraChanged](Viewer.md#exescenecamerachanged)
156
157
  - [exeSceneCameraChanging](Viewer.md#exescenecamerachanging)
158
+ - [filterLoadingList](Viewer.md#filterloadinglist)
157
159
  - [findInstanceObject](Viewer.md#findinstanceobject)
158
160
  - [findInstanceObjects](Viewer.md#findinstanceobjects)
159
161
  - [findViewerByKey](Viewer.md#findviewerbykey)
@@ -841,6 +843,18 @@ LonganViewer.zoomLimit
841
843
 
842
844
  ## Accessors
843
845
 
846
+ ### animationManager
847
+
848
+ • `get` **animationManager**(): [`AnimationManager`](AnimationManager.md)
849
+
850
+ 动画管理器
851
+
852
+ #### Returns
853
+
854
+ [`AnimationManager`](AnimationManager.md)
855
+
856
+ ___
857
+
844
858
  ### aspectRatio
845
859
 
846
860
  • `get` **aspectRatio**(): `number`
@@ -2078,8 +2092,8 @@ ___
2078
2092
 
2079
2093
  | Name | Type |
2080
2094
  | :------ | :------ |
2081
- | `origin` | `ArrayLike`<`number`\> |
2082
- | `direct` | `number`[] |
2095
+ | `origin` | `Float32Array` |
2096
+ | `direct` | `Float32Array` |
2083
2097
 
2084
2098
  #### Returns
2085
2099
 
@@ -2293,6 +2307,28 @@ LonganViewer.exeSceneCameraChanging
2293
2307
 
2294
2308
  ___
2295
2309
 
2310
+ ### filterLoadingList
2311
+
2312
+ ▸ **filterLoadingList**(`keys`): `number`[]
2313
+
2314
+ 遍历keys,先将loadinglist的key过滤掉.
2315
+
2316
+ #### Parameters
2317
+
2318
+ | Name | Type |
2319
+ | :------ | :------ |
2320
+ | `keys` | `number`[] |
2321
+
2322
+ #### Returns
2323
+
2324
+ `number`[]
2325
+
2326
+ #### Inherited from
2327
+
2328
+ LonganViewer.filterLoadingList
2329
+
2330
+ ___
2331
+
2296
2332
  ### findInstanceObject
2297
2333
 
2298
2334
  ▸ **findInstanceObject**(`ro`): `RenderInstanceObject`