@vitrosoftware/common-ui-ts 1.1.136 → 1.1.137
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/css/std/controls/copy-button/copy-button.css +7 -0
- package/css/std/controls/date-picker/date-picker.css +1 -8
- package/css/std/controls/input/input.css +1 -8
- package/css/std/controls/lookup-picker/lookup-picker.css +1 -9
- package/css/std/controls/time-picker/time-picker.css +1 -8
- package/dist/index.css +11 -33
- package/dist/index.js +509 -478
- package/dist/index.js.map +1 -1
- package/dist/src/constants/Event.d.ts +2 -1
- package/dist/src/controls/CopyButton/CopyButton.d.ts +6 -0
- package/dist/src/controls/LookupPicker/SelectedValueList.d.ts +1 -0
- package/dist/src/controls/LookupPicker/SelectedValueListItem.d.ts +1 -0
- package/dist/src/index.d.ts +2 -0
- package/package.json +1 -1
- package/src/controls/BimViewer/js/bim-viewer-models.js +9 -1
- package/src/controls/BimViewer/js/bim-viewer.js +262 -119
- package/src/controls/DxfViewer/js/dxf-viewer.js +14 -14
- package/src/controls/PdfViewer/js/pdf-viewer.js +47 -13
- package/css/std/controls/input/img/copy-to-clipboard.svg +0 -4
- package/css/std/controls/lookup-picker/img/copy-to-clipboard.svg +0 -4
- /package/css/std/controls/{date-picker → copy-button}/img/copy-to-clipboard.svg +0 -0
|
@@ -1,30 +1,66 @@
|
|
|
1
|
-
import { BIMModel, BIMCommon, BIMAnnotation } from '/resource/bimViewer/js/bim-viewer-models.js?version=1.1.
|
|
1
|
+
import { BIMModel, BIMCommon, BIMAnnotation } from '/resource/bimViewer/js/bim-viewer-models.js?version=1.1.137';
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
Viewer, XKTLoaderPlugin, NavCubePlugin, SectionPlanesPlugin, math, BCFViewpointsPlugin, AnnotationsPlugin,
|
|
5
5
|
ContextMenu, TreeViewPlugin, StoreyViewsPlugin, AngleMeasurementsPlugin, CameraMemento, DistanceMeasurementsPlugin,
|
|
6
6
|
GLTFLoaderPlugin, utils, FastNavPlugin, MetaObject, parsers
|
|
7
7
|
}
|
|
8
|
-
from '/resource/bimViewer/js/xeokit/xeokit-sdk.es.js?version=1.1.
|
|
8
|
+
from '/resource/bimViewer/js/xeokit/xeokit-sdk.es.js?version=1.1.137';
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
//----------------------------------------------------------------------------------------------------------------------
|
|
12
|
+
// Shared function
|
|
13
|
+
//----------------------------------------------------------------------------------------------------------------------
|
|
14
|
+
|
|
15
|
+
const processByChildIdList = (objectId, event) => {
|
|
16
|
+
viewer.scene.canvas.spinner.processes++;
|
|
17
|
+
|
|
14
18
|
const callback = (objIds) => {
|
|
15
|
-
objIds.push(
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
objIds.push(objectId);
|
|
20
|
+
event(objIds);
|
|
21
|
+
viewer.scene.canvas.spinner.processes--;
|
|
18
22
|
};
|
|
19
23
|
|
|
20
|
-
const error = (er) =>
|
|
21
|
-
{
|
|
24
|
+
const error = (er) => {
|
|
22
25
|
viewer.scene.canvas.spinner.processes--;
|
|
23
26
|
};
|
|
24
|
-
|
|
25
|
-
BIMModel.GetChildIdList(
|
|
27
|
+
|
|
28
|
+
BIMModel.GetChildIdList(objectId, true, true, callback, error);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
const setSceneObjectsVisible = (scene, objectIds, visible) => {
|
|
32
|
+
scene.setObjectsVisible(objectIds, visible);
|
|
33
|
+
viewer.scene.fire("vitroObjectsVisibility", { objectIds, visible });
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const setSceneObjectsXRay = (scene, objectIds, xrayed) => {
|
|
37
|
+
scene.setObjectsXRayed(objectIds, xrayed);
|
|
38
|
+
viewer.scene.fire("vitroObjectsXRayed", { objectIds, xrayed });
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
const setSceneAllObjectsVisible = (scene, visible) => {
|
|
42
|
+
if (!visible) {
|
|
43
|
+
scene.setObjectsVisible(scene.visibleObjectIds, visible);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
scene.setObjectsVisible(scene.objectIds, visible);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
scene.fire("vitroAllObjectsVisibility", visible);
|
|
26
50
|
};
|
|
27
51
|
|
|
52
|
+
const setSceneAllObjectsXRay = (scene, xrayed) => {
|
|
53
|
+
if (!xrayed) {
|
|
54
|
+
scene.setObjectsXRayed(scene.xrayedObjectIds, xrayed);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
scene.setObjectsXRayed(scene.objectIds, xrayed);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
scene.fire("vitroAllObjectsXRayed", xrayed);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
|
|
28
64
|
const treeViewContextMenu = new ContextMenu({
|
|
29
65
|
|
|
30
66
|
items: [
|
|
@@ -38,7 +74,7 @@ const treeViewContextMenu = new ContextMenu({
|
|
|
38
74
|
const event = (objectIds) => {
|
|
39
75
|
const scene = context.viewer.scene;
|
|
40
76
|
|
|
41
|
-
scene
|
|
77
|
+
setSceneObjectsVisible(scene, objectIds, true);
|
|
42
78
|
scene.setObjectsHighlighted(objectIds, true);
|
|
43
79
|
context.viewer.cameraFlight.flyTo({
|
|
44
80
|
projection: "perspective",
|
|
@@ -51,7 +87,7 @@ const treeViewContextMenu = new ContextMenu({
|
|
|
51
87
|
});
|
|
52
88
|
};
|
|
53
89
|
|
|
54
|
-
processByChildIdList(context.treeViewNode, event);
|
|
90
|
+
processByChildIdList(context.treeViewNode.objectId, event);
|
|
55
91
|
}
|
|
56
92
|
},
|
|
57
93
|
{
|
|
@@ -67,16 +103,12 @@ const treeViewContextMenu = new ContextMenu({
|
|
|
67
103
|
doAction: function (context) {
|
|
68
104
|
|
|
69
105
|
context.treeViewPlugin.setNodeChecked(context.treeViewNode, false);
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const entity = context.viewer.scene.objects[id];
|
|
74
|
-
if (entity) {
|
|
75
|
-
entity.visible = false;
|
|
76
|
-
};
|
|
77
|
-
});
|
|
106
|
+
|
|
107
|
+
const event = (objectIds) => {
|
|
108
|
+
setSceneObjectsVisible(context.viewer.scene, objectIds, false);
|
|
78
109
|
};
|
|
79
|
-
|
|
110
|
+
|
|
111
|
+
processByChildIdList(context.treeViewNode.objectId, event);
|
|
80
112
|
}
|
|
81
113
|
},
|
|
82
114
|
{
|
|
@@ -89,20 +121,15 @@ const treeViewContextMenu = new ContextMenu({
|
|
|
89
121
|
const event = (objectIds) => {
|
|
90
122
|
const scene = context.viewer.scene;
|
|
91
123
|
|
|
92
|
-
|
|
93
|
-
|
|
124
|
+
setSceneAllObjectsVisible(scene, false);
|
|
125
|
+
setSceneAllObjectsXRay(scene, false);
|
|
94
126
|
scene.setObjectsSelected(scene.selectedObjectIds, false);
|
|
95
127
|
scene.setObjectsHighlighted(scene.highlightedObjectIds, false);
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
const entity = context.viewer.scene.objects[id];
|
|
99
|
-
if (entity) {
|
|
100
|
-
entity.visible = true;
|
|
101
|
-
};
|
|
102
|
-
});
|
|
128
|
+
|
|
129
|
+
setSceneObjectsVisible(scene, objectIds, true);
|
|
103
130
|
};
|
|
104
131
|
|
|
105
|
-
processByChildIdList(context.treeViewNode, event);
|
|
132
|
+
processByChildIdList(context.treeViewNode.objectId, event);
|
|
106
133
|
}
|
|
107
134
|
},
|
|
108
135
|
{
|
|
@@ -112,7 +139,7 @@ const treeViewContextMenu = new ContextMenu({
|
|
|
112
139
|
},
|
|
113
140
|
doAction: function (context) {
|
|
114
141
|
context.treeViewPlugin.setCheckedAll(false);
|
|
115
|
-
|
|
142
|
+
setSceneAllObjectsVisible(context.viewer.scene, false);
|
|
116
143
|
}
|
|
117
144
|
}
|
|
118
145
|
],
|
|
@@ -123,18 +150,19 @@ const treeViewContextMenu = new ContextMenu({
|
|
|
123
150
|
|
|
124
151
|
context.treeViewPlugin.setNodeChecked(context.treeViewNode, true);
|
|
125
152
|
|
|
126
|
-
|
|
153
|
+
const event = (objectIds) => {
|
|
154
|
+
setSceneObjectsVisible(context.viewer.scene, objectIds, true);
|
|
155
|
+
setSceneObjectsXRay(context.viewer.scene, objectIds, false);
|
|
156
|
+
|
|
127
157
|
objectIds.forEach((id)=> {
|
|
128
158
|
const entity = context.viewer.scene.objects[id];
|
|
129
159
|
if (entity) {
|
|
130
|
-
entity.visible = true;
|
|
131
|
-
entity.xrayed = false;
|
|
132
160
|
entity.selected = false;
|
|
133
161
|
}
|
|
134
162
|
});
|
|
135
163
|
};
|
|
136
164
|
|
|
137
|
-
processByChildIdList(context.treeViewNode, event);
|
|
165
|
+
processByChildIdList(context.treeViewNode.objectId, event);
|
|
138
166
|
}
|
|
139
167
|
},
|
|
140
168
|
{
|
|
@@ -144,21 +172,16 @@ const treeViewContextMenu = new ContextMenu({
|
|
|
144
172
|
context.treeViewPlugin.setNodeChecked(context.treeViewNode, false);
|
|
145
173
|
|
|
146
174
|
const scene = context.viewer.scene;
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
175
|
+
|
|
176
|
+
setSceneAllObjectsVisible(scene, true);
|
|
177
|
+
setSceneAllObjectsXRay(scene, false);
|
|
150
178
|
scene.setObjectsSelected(scene.selectedObjectIds, false);
|
|
151
179
|
|
|
152
180
|
const event = (objectIds) => {
|
|
153
|
-
|
|
154
|
-
const entity = context.viewer.scene.objects[id];
|
|
155
|
-
if (entity) {
|
|
156
|
-
entity.visible = false;
|
|
157
|
-
}
|
|
158
|
-
});
|
|
181
|
+
setSceneObjectsVisible(context.viewer.scene, objectIds, false);
|
|
159
182
|
}
|
|
160
183
|
|
|
161
|
-
processByChildIdList(context.treeViewNode, event);
|
|
184
|
+
processByChildIdList(context.treeViewNode.objectId, event);
|
|
162
185
|
}
|
|
163
186
|
},
|
|
164
187
|
{
|
|
@@ -171,8 +194,8 @@ const treeViewContextMenu = new ContextMenu({
|
|
|
171
194
|
context.treeViewPlugin.setCheckedAll(true);
|
|
172
195
|
|
|
173
196
|
const scene = context.viewer.scene;
|
|
174
|
-
|
|
175
|
-
|
|
197
|
+
setSceneAllObjectsVisible(scene, true);
|
|
198
|
+
setSceneAllObjectsXRay(scene, false);
|
|
176
199
|
scene.setObjectsSelected(scene.selectedObjectIds, false);
|
|
177
200
|
}
|
|
178
201
|
}
|
|
@@ -185,32 +208,22 @@ const treeViewContextMenu = new ContextMenu({
|
|
|
185
208
|
context.treeViewPlugin.setNodeChecked(context.treeViewNode, true);
|
|
186
209
|
|
|
187
210
|
const event = (objectIds) => {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
if (entity) {
|
|
191
|
-
entity.xrayed = true;
|
|
192
|
-
entity.visible = true;
|
|
193
|
-
}
|
|
194
|
-
});
|
|
211
|
+
setSceneObjectsVisible(context.viewer.scene, objectIds, true);
|
|
212
|
+
setSceneObjectsXRay(context.viewer.scene, objectIds, true);
|
|
195
213
|
}
|
|
196
214
|
|
|
197
|
-
processByChildIdList(context.treeViewNode, event);
|
|
215
|
+
processByChildIdList(context.treeViewNode.objectId, event);
|
|
198
216
|
}
|
|
199
217
|
},
|
|
200
218
|
{
|
|
201
219
|
getTitle: function (context) { return document.webL10n.get('x_ray_undo') },
|
|
202
220
|
doAction: function (context) {
|
|
203
|
-
|
|
221
|
+
|
|
204
222
|
const event = (objectIds) => {
|
|
205
|
-
|
|
206
|
-
const entity = context.viewer.scene.objects[id];
|
|
207
|
-
if (entity) {
|
|
208
|
-
entity.xrayed = false;
|
|
209
|
-
}
|
|
210
|
-
});
|
|
223
|
+
setSceneObjectsXRay(context.viewer.scene, objectIds, false);
|
|
211
224
|
}
|
|
212
225
|
|
|
213
|
-
processByChildIdList(context.treeViewNode, event);
|
|
226
|
+
processByChildIdList(context.treeViewNode.objectId, event);
|
|
214
227
|
}
|
|
215
228
|
},
|
|
216
229
|
{
|
|
@@ -219,21 +232,16 @@ const treeViewContextMenu = new ContextMenu({
|
|
|
219
232
|
context.treeViewPlugin.setCheckedAll(true);
|
|
220
233
|
|
|
221
234
|
const scene = context.viewer.scene;
|
|
222
|
-
|
|
223
|
-
|
|
235
|
+
setSceneAllObjectsVisible(scene, true);
|
|
236
|
+
setSceneAllObjectsXRay(scene, true);
|
|
224
237
|
scene.setObjectsSelected(scene.selectedObjectIds, false);
|
|
225
238
|
scene.setObjectsHighlighted(scene.highlightedObjectIds, false);
|
|
226
239
|
|
|
227
240
|
const event = (objectIds) => {
|
|
228
|
-
|
|
229
|
-
const entity = context.viewer.scene.objects[id];
|
|
230
|
-
if (entity) {
|
|
231
|
-
entity.xrayed = false;
|
|
232
|
-
}
|
|
233
|
-
});
|
|
241
|
+
setSceneObjectsXRay(scene, objectIds, false);
|
|
234
242
|
}
|
|
235
243
|
|
|
236
|
-
processByChildIdList(context.treeViewNode, event);
|
|
244
|
+
processByChildIdList(context.treeViewNode.objectId, event);
|
|
237
245
|
}
|
|
238
246
|
},
|
|
239
247
|
{
|
|
@@ -242,7 +250,9 @@ const treeViewContextMenu = new ContextMenu({
|
|
|
242
250
|
return (context.viewer.scene.numXRayedObjects > 0);
|
|
243
251
|
},
|
|
244
252
|
doAction: function (context) {
|
|
245
|
-
|
|
253
|
+
const scene = context.viewer.scene;
|
|
254
|
+
|
|
255
|
+
setSceneAllObjectsXRay(scene, false);
|
|
246
256
|
}
|
|
247
257
|
}
|
|
248
258
|
],
|
|
@@ -253,16 +263,17 @@ const treeViewContextMenu = new ContextMenu({
|
|
|
253
263
|
context.treeViewPlugin.setNodeChecked(context.treeViewNode, true);
|
|
254
264
|
|
|
255
265
|
const event = (objectIds) => {
|
|
266
|
+
setSceneObjectsVisible(context.viewer.scene, objectIds, true);
|
|
267
|
+
|
|
256
268
|
objectIds.forEach((id) => {
|
|
257
269
|
const entity = context.viewer.scene.objects[id];
|
|
258
270
|
if (entity) {
|
|
259
271
|
entity.selected = true;
|
|
260
|
-
entity.visible = true;
|
|
261
272
|
}
|
|
262
273
|
});
|
|
263
274
|
}
|
|
264
275
|
|
|
265
|
-
processByChildIdList(context.treeViewNode, event);
|
|
276
|
+
processByChildIdList(context.treeViewNode.objectId, event);
|
|
266
277
|
}
|
|
267
278
|
},
|
|
268
279
|
{
|
|
@@ -278,7 +289,7 @@ const treeViewContextMenu = new ContextMenu({
|
|
|
278
289
|
});
|
|
279
290
|
}
|
|
280
291
|
|
|
281
|
-
processByChildIdList(context.treeViewNode, event);
|
|
292
|
+
processByChildIdList(context.treeViewNode.objectId, event);
|
|
282
293
|
}
|
|
283
294
|
},
|
|
284
295
|
{
|
|
@@ -315,7 +326,10 @@ class VitroTreeViewPlugin extends TreeViewPlugin
|
|
|
315
326
|
|
|
316
327
|
viewer.scene.canvas.spinner.processes++;
|
|
317
328
|
|
|
318
|
-
|
|
329
|
+
const callback = (data) => {
|
|
330
|
+
|
|
331
|
+
setSceneObjectsVisible(this._viewer.scene, data, visible);
|
|
332
|
+
/*
|
|
319
333
|
for (var i = 0; i < data.length; i++) {
|
|
320
334
|
const entity = objects[data[i]];
|
|
321
335
|
|
|
@@ -323,12 +337,12 @@ class VitroTreeViewPlugin extends TreeViewPlugin
|
|
|
323
337
|
entity.visible = visible;
|
|
324
338
|
}
|
|
325
339
|
}
|
|
326
|
-
|
|
340
|
+
*/
|
|
327
341
|
viewer.scene.canvas.spinner.processes--;
|
|
328
342
|
viewer.scene.fire("reloadSmallScenes");
|
|
329
343
|
};
|
|
330
344
|
|
|
331
|
-
processByChildIdList(checkedNode, callback);
|
|
345
|
+
processByChildIdList(checkedNode.objectId, callback);
|
|
332
346
|
|
|
333
347
|
this.setNodeChecked(checkedNode, visible);
|
|
334
348
|
|
|
@@ -367,13 +381,14 @@ class VitroTreeViewPlugin extends TreeViewPlugin
|
|
|
367
381
|
duration: 0.5
|
|
368
382
|
}, () => {
|
|
369
383
|
setTimeout(function () {
|
|
370
|
-
|
|
371
|
-
|
|
384
|
+
setSceneAllObjectsVisible(scene, false);
|
|
385
|
+
setSceneObjectsVisible(scene, objectIds, true);
|
|
386
|
+
setSceneAllObjectsXRay(scene, false);
|
|
372
387
|
}, 500);
|
|
373
388
|
});
|
|
374
389
|
}
|
|
375
390
|
|
|
376
|
-
|
|
391
|
+
processByChildIdList(e.treeViewNode.objectId, event);
|
|
377
392
|
});
|
|
378
393
|
}
|
|
379
394
|
|
|
@@ -401,7 +416,6 @@ class VitroTreeViewPlugin extends TreeViewPlugin
|
|
|
401
416
|
});
|
|
402
417
|
}
|
|
403
418
|
|
|
404
|
-
|
|
405
419
|
setNodeChecked(node, checked){
|
|
406
420
|
this.withNodeTree(node, (node) => {
|
|
407
421
|
if (node) {
|
|
@@ -412,6 +426,8 @@ class VitroTreeViewPlugin extends TreeViewPlugin
|
|
|
412
426
|
}
|
|
413
427
|
|
|
414
428
|
node.checked = checked;
|
|
429
|
+
|
|
430
|
+
|
|
415
431
|
}
|
|
416
432
|
});
|
|
417
433
|
}
|
|
@@ -674,7 +690,7 @@ class VitroTreeViewPlugin extends TreeViewPlugin
|
|
|
674
690
|
|
|
675
691
|
this._onSceneMouseMove = viewer.scene.input.on("mousemove", () => {
|
|
676
692
|
if (!down) {
|
|
677
|
-
return;
|
|
693
|
+
return;
|
|
678
694
|
}
|
|
679
695
|
culledSmallModelList();
|
|
680
696
|
});
|
|
@@ -684,6 +700,78 @@ class VitroTreeViewPlugin extends TreeViewPlugin
|
|
|
684
700
|
|
|
685
701
|
this.startSmallLoad = false;
|
|
686
702
|
this.isDeleteModelList = false;
|
|
703
|
+
|
|
704
|
+
this.isVisible = true;
|
|
705
|
+
this.visibilityEntityMap = {};
|
|
706
|
+
|
|
707
|
+
this.isXRay = false;
|
|
708
|
+
this.xrayedEntityMap = {};
|
|
709
|
+
|
|
710
|
+
var addXrayedEntity = (entityId, xrayed) => {
|
|
711
|
+
const a = xrayed;
|
|
712
|
+
|
|
713
|
+
if ((a || this.isXRay) && !(a && this.isXRay)) {
|
|
714
|
+
this.xrayedEntityMap[entityId] = true;
|
|
715
|
+
} else {
|
|
716
|
+
delete this.xrayedEntityMap[entityId];
|
|
717
|
+
}
|
|
718
|
+
};
|
|
719
|
+
|
|
720
|
+
var addInvisibleEntity = (entityId, visible) => {
|
|
721
|
+
if (visible && this.isVisible) {
|
|
722
|
+
delete this.visibilityEntityMap[entityId];
|
|
723
|
+
} else {
|
|
724
|
+
this.visibilityEntityMap[entityId] = true;
|
|
725
|
+
}
|
|
726
|
+
};
|
|
727
|
+
|
|
728
|
+
this._onObjectXRayed = this.scene.on("objectXRayed", (entity) => {
|
|
729
|
+
const a = entity.xrayed;
|
|
730
|
+
const b = this.isXRay;
|
|
731
|
+
const c = this.xrayedEntityMap[entity.id];
|
|
732
|
+
|
|
733
|
+
addXrayedEntity(entity.id, entity.xrayed);
|
|
734
|
+
|
|
735
|
+
if ((a && !b && !c) || (a && b && c)) {
|
|
736
|
+
culledSmallModelList();
|
|
737
|
+
}
|
|
738
|
+
});
|
|
739
|
+
|
|
740
|
+
this._onTreeObjectVisibility = this.scene.on("vitroObjectsXRayed", (data) => {
|
|
741
|
+
data.objectIds.forEach(objectId => addXrayedEntity(objectId, data.xrayed));
|
|
742
|
+
culledSmallModelList();
|
|
743
|
+
});
|
|
744
|
+
|
|
745
|
+
this._onTreeObjectVisibility = this.scene.on("vitroAllObjectsXRayed", (xrayed) => {
|
|
746
|
+
|
|
747
|
+
this.xrayedEntityMap = {};
|
|
748
|
+
this.isXRay = xrayed;
|
|
749
|
+
|
|
750
|
+
culledSmallModelList();
|
|
751
|
+
});
|
|
752
|
+
|
|
753
|
+
this._onObjectVisibility = this.scene.on("objectVisibility", (entity) => {
|
|
754
|
+
addInvisibleEntity(entity.id, entity.visible);
|
|
755
|
+
|
|
756
|
+
if (!entity.visible) {
|
|
757
|
+
culledSmallModelList();
|
|
758
|
+
}
|
|
759
|
+
});
|
|
760
|
+
|
|
761
|
+
this._onTreeObjectVisibility = this.scene.on("vitroObjectsVisibility", (data) => {
|
|
762
|
+
data.objectIds.forEach(objectId => addInvisibleEntity(objectId, data.visible));
|
|
763
|
+
culledSmallModelList();
|
|
764
|
+
});
|
|
765
|
+
|
|
766
|
+
this._onTreeObjectVisibility = this.scene.on("vitroAllObjectsVisibility", (visible) => {
|
|
767
|
+
|
|
768
|
+
this.visibilityEntityMap = {};
|
|
769
|
+
this.isVisible = visible;
|
|
770
|
+
|
|
771
|
+
culledSmallModelList();
|
|
772
|
+
});
|
|
773
|
+
|
|
774
|
+
|
|
687
775
|
}
|
|
688
776
|
|
|
689
777
|
culledModels() {
|
|
@@ -726,6 +814,21 @@ class VitroTreeViewPlugin extends TreeViewPlugin
|
|
|
726
814
|
|
|
727
815
|
sceneModel.on('loaded', () => {
|
|
728
816
|
sceneModel.IsRunning = false;
|
|
817
|
+
|
|
818
|
+
this.RestoreXRayState(sceneModel);
|
|
819
|
+
});
|
|
820
|
+
}
|
|
821
|
+
|
|
822
|
+
RestoreXRayState(sceneModel) {
|
|
823
|
+
sceneModel.entityList.forEach(entity => {
|
|
824
|
+
const a = this.xrayedEntityMap[entity.id];
|
|
825
|
+
|
|
826
|
+
if ((a || this.isXRay) && !(a && this.isXRay)) {
|
|
827
|
+
entity.xrayed = true;
|
|
828
|
+
}
|
|
829
|
+
else {
|
|
830
|
+
entity.xrayed = false;
|
|
831
|
+
}
|
|
729
832
|
});
|
|
730
833
|
}
|
|
731
834
|
|
|
@@ -733,7 +836,26 @@ class VitroTreeViewPlugin extends TreeViewPlugin
|
|
|
733
836
|
loadData() {
|
|
734
837
|
this.controller = new AbortController();
|
|
735
838
|
if (this.startSmallLoad) {
|
|
736
|
-
|
|
839
|
+
|
|
840
|
+
var sceneOptions = {};
|
|
841
|
+
|
|
842
|
+
sceneOptions.visibilityMode = this.isVisible ? 1 : 0;
|
|
843
|
+
sceneOptions.visibilityEntityIdList = Object.keys(this.visibilityEntityMap);
|
|
844
|
+
|
|
845
|
+
sceneOptions.xrayMode = this.isXRay ? 1 : 0;
|
|
846
|
+
sceneOptions.xrayedEntityIdList = Object.keys(this.xrayedEntityMap);
|
|
847
|
+
sceneOptions.sectionPlanes = [];
|
|
848
|
+
|
|
849
|
+
viewer.scene._sectionPlanesState.sectionPlanes.forEach((plane) => {
|
|
850
|
+
var sectionPlane = {};
|
|
851
|
+
|
|
852
|
+
sectionPlane.normals = Array.from(plane.dir);
|
|
853
|
+
sectionPlane.positions = Array.from(plane.pos);
|
|
854
|
+
|
|
855
|
+
sectionPlanes.push(sectionPlane);
|
|
856
|
+
});
|
|
857
|
+
|
|
858
|
+
BIMCommon.GetSmallModel(this.viewer.scene, this.version, sceneOptions, this.controller.signal, this.loadSmallPart.bind(this));
|
|
737
859
|
}
|
|
738
860
|
}
|
|
739
861
|
}
|
|
@@ -829,7 +951,7 @@ const canvasContextMenu = new ContextMenu({
|
|
|
829
951
|
return (context.viewer.scene.numVisibleObjects > 0);
|
|
830
952
|
},
|
|
831
953
|
doAction: function (context) {
|
|
832
|
-
|
|
954
|
+
setSceneAllObjectsVisible(context.viewer.scene, false);
|
|
833
955
|
|
|
834
956
|
if (context.treeViewPlugin) {
|
|
835
957
|
context.treeViewPlugin.setCheckedAll(false);
|
|
@@ -844,8 +966,10 @@ const canvasContextMenu = new ContextMenu({
|
|
|
844
966
|
},
|
|
845
967
|
doAction: function (context) {
|
|
846
968
|
const scene = context.viewer.scene;
|
|
847
|
-
|
|
848
|
-
|
|
969
|
+
|
|
970
|
+
setSceneAllObjectsVisible(scene, true);
|
|
971
|
+
setSceneAllObjectsXRay(scene, false);
|
|
972
|
+
|
|
849
973
|
scene.setObjectsSelected(scene.selectedObjectIds, false);
|
|
850
974
|
|
|
851
975
|
if (context.treeViewPlugin) {
|
|
@@ -931,20 +1055,29 @@ const objectContextMenu = new ContextMenu({
|
|
|
931
1055
|
const viewer = context.viewer;
|
|
932
1056
|
const scene = viewer.scene;
|
|
933
1057
|
const entity = context.entity;
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
scene.setObjectsVisible(scene.visibleObjectIds, false);
|
|
939
|
-
scene.setObjectsXRayed(scene.xrayedObjectIds, false);
|
|
1058
|
+
|
|
1059
|
+
setSceneAllObjectsVisible(scene, false);
|
|
1060
|
+
setSceneAllObjectsXRay(scene, false);
|
|
1061
|
+
|
|
940
1062
|
scene.setObjectsSelected(scene.selectedObjectIds, false);
|
|
941
1063
|
scene.setObjectsHighlighted(scene.highlightedObjectIds, false);
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
1064
|
+
|
|
1065
|
+
if (entity) {
|
|
1066
|
+
entity.visible = true;
|
|
1067
|
+
|
|
1068
|
+
const event = (objectIds) => {
|
|
1069
|
+
objectIds.forEach((id) => {
|
|
1070
|
+
const object = scene.objects[id];
|
|
1071
|
+
|
|
1072
|
+
if (object)
|
|
1073
|
+
object.visible = true;
|
|
1074
|
+
|
|
1075
|
+
});
|
|
1076
|
+
};
|
|
1077
|
+
|
|
1078
|
+
|
|
1079
|
+
processByChildIdList(entity.id, event);
|
|
1080
|
+
}
|
|
948
1081
|
}
|
|
949
1082
|
},
|
|
950
1083
|
{
|
|
@@ -953,7 +1086,7 @@ const objectContextMenu = new ContextMenu({
|
|
|
953
1086
|
return (context.viewer.scene.numVisibleObjects > 0);
|
|
954
1087
|
},
|
|
955
1088
|
doAction: function (context) {
|
|
956
|
-
|
|
1089
|
+
setSceneAllObjectsVisible(context.viewer.scene, false);
|
|
957
1090
|
}
|
|
958
1091
|
},
|
|
959
1092
|
{
|
|
@@ -964,7 +1097,8 @@ const objectContextMenu = new ContextMenu({
|
|
|
964
1097
|
},
|
|
965
1098
|
doAction: function (context) {
|
|
966
1099
|
const scene = context.viewer.scene;
|
|
967
|
-
|
|
1100
|
+
|
|
1101
|
+
setSceneAllObjectsVisible(scene, true);
|
|
968
1102
|
}
|
|
969
1103
|
}
|
|
970
1104
|
],
|
|
@@ -993,20 +1127,28 @@ const objectContextMenu = new ContextMenu({
|
|
|
993
1127
|
const viewer = context.viewer;
|
|
994
1128
|
const scene = viewer.scene;
|
|
995
1129
|
const entity = context.entity;
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
scene.setObjectsVisible(scene.objectIds, true);
|
|
1001
|
-
scene.setObjectsXRayed(scene.objectIds, true);
|
|
1130
|
+
|
|
1131
|
+
setSceneAllObjectsVisible(scene, true);
|
|
1132
|
+
setSceneAllObjectsXRay(scene, true);
|
|
1133
|
+
|
|
1002
1134
|
scene.setObjectsSelected(scene.selectedObjectIds, false);
|
|
1003
1135
|
scene.setObjectsHighlighted(scene.highlightedObjectIds, false);
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1136
|
+
|
|
1137
|
+
if (entity) {
|
|
1138
|
+
entity.xrayed = false;
|
|
1139
|
+
|
|
1140
|
+
const event = (objectIds) => {
|
|
1141
|
+
objectIds.forEach((id) => {
|
|
1142
|
+
const object = scene.objects[id];
|
|
1143
|
+
|
|
1144
|
+
if (object) {
|
|
1145
|
+
object.xrayed = false;
|
|
1146
|
+
}
|
|
1147
|
+
});
|
|
1148
|
+
};
|
|
1149
|
+
|
|
1150
|
+
processByChildIdList(entity.id, event);
|
|
1151
|
+
}
|
|
1010
1152
|
}
|
|
1011
1153
|
},
|
|
1012
1154
|
{
|
|
@@ -1015,7 +1157,7 @@ const objectContextMenu = new ContextMenu({
|
|
|
1015
1157
|
return (context.viewer.scene.numXRayedObjects > 0);
|
|
1016
1158
|
},
|
|
1017
1159
|
doAction: function (context) {
|
|
1018
|
-
|
|
1160
|
+
setSceneAllObjectsXRay(context.viewer.scene, false);
|
|
1019
1161
|
}
|
|
1020
1162
|
}
|
|
1021
1163
|
],
|
|
@@ -3735,7 +3877,8 @@ function convertProperty(data) {
|
|
|
3735
3877
|
}
|
|
3736
3878
|
|
|
3737
3879
|
return groups;
|
|
3738
|
-
}
|
|
3880
|
+
}
|
|
3881
|
+
|
|
3739
3882
|
//------------------------------------------------------------------------------------------------------------------
|
|
3740
3883
|
// Do action wherever we click on an object
|
|
3741
3884
|
//------------------------------------------------------------------------------------------------------------------
|