bruce-cesium 7.3.2 → 7.3.4

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.
Files changed (41) hide show
  1. package/dist/bruce-cesium.es5.js +3730 -3106
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +3722 -3098
  4. package/dist/bruce-cesium.umd.js.map +1 -1
  5. package/dist/lib/bruce-cesium.js +1 -1
  6. package/dist/lib/internal/code-logic-exceptions.js +77 -0
  7. package/dist/lib/internal/code-logic-exceptions.js.map +1 -0
  8. package/dist/lib/rendering/cesium-animated-property.js +210 -34
  9. package/dist/lib/rendering/cesium-animated-property.js.map +1 -1
  10. package/dist/lib/rendering/entity-render-engine-model3d.js +39 -58
  11. package/dist/lib/rendering/entity-render-engine-model3d.js.map +1 -1
  12. package/dist/lib/rendering/entity-render-engine-point.js +43 -64
  13. package/dist/lib/rendering/entity-render-engine-point.js.map +1 -1
  14. package/dist/lib/rendering/entity-render-engine-polygon.js +1 -16
  15. package/dist/lib/rendering/entity-render-engine-polygon.js.map +1 -1
  16. package/dist/lib/rendering/entity-render-engine-polyline.js +5 -18
  17. package/dist/lib/rendering/entity-render-engine-polyline.js.map +1 -1
  18. package/dist/lib/rendering/entity-render-engine.js +67 -0
  19. package/dist/lib/rendering/entity-render-engine.js.map +1 -1
  20. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +26 -15
  21. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
  22. package/dist/lib/rendering/render-managers/other/assembly-render-manager.js +265 -14
  23. package/dist/lib/rendering/render-managers/other/assembly-render-manager.js.map +1 -1
  24. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +123 -28
  25. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +1 -1
  26. package/dist/lib/rendering/visual-register-culler.js +9 -120
  27. package/dist/lib/rendering/visual-register-culler.js.map +1 -1
  28. package/dist/lib/utils/drawing-utils.js +122 -0
  29. package/dist/lib/utils/drawing-utils.js.map +1 -1
  30. package/dist/lib/utils/view-utils.js +13 -0
  31. package/dist/lib/utils/view-utils.js.map +1 -1
  32. package/dist/types/bruce-cesium.d.ts +1 -1
  33. package/dist/types/internal/code-logic-exceptions.d.ts +37 -0
  34. package/dist/types/rendering/cesium-animated-property.d.ts +55 -1
  35. package/dist/types/rendering/entity-render-engine.d.ts +33 -1
  36. package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +5 -0
  37. package/dist/types/rendering/render-managers/other/assembly-render-manager.d.ts +42 -0
  38. package/dist/types/rendering/render-managers/tilesets/tileset-cad-render-manager.d.ts +42 -2
  39. package/dist/types/utils/drawing-utils.d.ts +30 -0
  40. package/dist/types/utils/view-utils.d.ts +5 -0
  41. package/package.json +2 -2
@@ -5,6 +5,12 @@ const view_utils_1 = require("../../../utils/view-utils");
5
5
  const bruce_models_1 = require("bruce-models");
6
6
  const Cesium = require("cesium");
7
7
  const entity_utils_1 = require("../../../utils/entity-utils");
8
+ const js_utils_1 = require("../../../internal/js-utils");
9
+ const entity_render_engine_1 = require("../../entity-render-engine");
10
+ const cesium_animated_property_1 = require("../../cesium-animated-property");
11
+ const historic_utils_1 = require("../common/historic-utils");
12
+ const cesium_entity_styler_1 = require("../../../utils/cesium-entity-styler");
13
+ const cesium_utils_1 = require("../../../internal/cesium-utils");
8
14
  /**
9
15
  * Menu Item that will render an Assembly.
10
16
  *
@@ -35,6 +41,18 @@ var AssemblyRenderManager;
35
41
  this.hierarchyNodeByEntityId = null;
36
42
  this.modelSpace = false;
37
43
  this.rootId = null;
44
+ // Where the root sits now, and which way it faces.
45
+ // Every child is placed through this, so a root move is one value changing rather than a refetch of the whole Assembly.
46
+ this.rootPos3d = null;
47
+ this.rootHeading = 0;
48
+ // Entity ID -> what was drawn for it and where it sits relative to the root.
49
+ this.children = new Map();
50
+ // The trail through the root's own movement, which describes the whole Assembly.
51
+ this.trackEntity = null;
52
+ // Callback to dispose the link between scene time and the root's historic position.
53
+ this.viewerDateTimeChangeRemoval = null;
54
+ this.historicGatherer = null;
55
+ this.historicAnimation = null;
38
56
  const { viewer, register: visualsManager, getters, item } = params;
39
57
  this.viewer = viewer;
40
58
  this.getters = getters;
@@ -42,6 +60,72 @@ var AssemblyRenderManager;
42
60
  this.visualsManager = visualsManager;
43
61
  this.modelSpace = Boolean(params.modelSpace);
44
62
  }
63
+ /**
64
+ * Returns whether this Assembly's root moves over time.
65
+ * @param item
66
+ */
67
+ static IsHistoric(item) {
68
+ var _a, _b;
69
+ return Boolean(((_a = item === null || item === void 0 ? void 0 : item.BruceEntity) === null || _a === void 0 ? void 0 : _a.historic) || ((_b = item === null || item === void 0 ? void 0 : item.BruceEntity) === null || _b === void 0 ? void 0 : _b.historicAttrKey));
70
+ }
71
+ /**
72
+ * Returns what a record's altitude means for this item, from its style's altitude option.
73
+ * @param item
74
+ */
75
+ static GetRecordHeightRef(item) {
76
+ var _a, _b;
77
+ return entity_render_engine_1.EntityRenderEngine.GetHeightRef((_b = (_a = item === null || item === void 0 ? void 0 : item.Style) === null || _a === void 0 ? void 0 : _a.Settings) === null || _b === void 0 ? void 0 : _b["modelStyle"]);
78
+ }
79
+ /*
80
+ * The root's frame: east-north-up at its position, turned by its heading.
81
+ */
82
+ static rootFrame(rootPos3d, headingDegrees) {
83
+ const hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(headingDegrees || 0), 0, 0);
84
+ return Cesium.Transforms.headingPitchRollToFixedFrame(rootPos3d, hpr);
85
+ }
86
+ /**
87
+ * Returns where a child sits relative to its root, which is what stays true as the root moves.
88
+ * @param rootPos3d
89
+ * @param headingDegrees
90
+ * @param childPos3d
91
+ */
92
+ static ChildOffsetIn(rootPos3d, headingDegrees, childPos3d) {
93
+ const inverse = Cesium.Matrix4.inverse(Manager.rootFrame(rootPos3d, headingDegrees), new Cesium.Matrix4());
94
+ return Cesium.Matrix4.multiplyByPoint(inverse, childPos3d, new Cesium.Cartesian3());
95
+ }
96
+ /**
97
+ * Returns where a child sits in the world, for a root at this position and heading.
98
+ * @param rootPos3d
99
+ * @param headingDegrees
100
+ * @param offset
101
+ */
102
+ static ChildPositionFrom(rootPos3d, headingDegrees, offset) {
103
+ return Cesium.Matrix4.multiplyByPoint(Manager.rootFrame(rootPos3d, headingDegrees), offset, new Cesium.Cartesian3());
104
+ }
105
+ /**
106
+ * Moves the whole Assembly to a new root position, without refetching any of its children.
107
+ * @param params
108
+ */
109
+ ApplyRootPosition(params) {
110
+ var _a, _b;
111
+ if (this.disposed || !(params === null || params === void 0 ? void 0 : params.pos3d)) {
112
+ return;
113
+ }
114
+ this.rootPos3d = params.pos3d;
115
+ this.rootHeading = (_b = (_a = params.heading) !== null && _a !== void 0 ? _a : this.rootHeading) !== null && _b !== void 0 ? _b : 0;
116
+ for (const child of this.children.values()) {
117
+ const pos3d = Manager.ChildPositionFrom(this.rootPos3d, this.rootHeading, child.offset);
118
+ if (!pos3d) {
119
+ continue;
120
+ }
121
+ child.cEntity.position = new Cesium.ConstantPositionProperty(pos3d);
122
+ const orient = entity_utils_1.EntityUtils.GetAssemblyOrientation(child.entity, pos3d);
123
+ if (orient) {
124
+ child.cEntity.orientation = new Cesium.ConstantProperty(orient);
125
+ }
126
+ }
127
+ this.viewer.scene.requestRender();
128
+ }
45
129
  Init() {
46
130
  this.renderPriority = this.item.renderPriority;
47
131
  if (this.renderPriority == null) {
@@ -79,6 +163,15 @@ var AssemblyRenderManager;
79
163
  traverseHierarchy(hierarchy.Root, false);
80
164
  rootId = hierarchy.Root.ID;
81
165
  }
166
+ // Post-order traversal leaves the root last, and every child is placed
167
+ // relative to it, so it has to be in the first batch.
168
+ if (rootId) {
169
+ const rootAt = flatEntityIds.indexOf(rootId);
170
+ if (rootAt > 0) {
171
+ flatEntityIds.splice(rootAt, 1);
172
+ flatEntityIds.unshift(rootId);
173
+ }
174
+ }
82
175
  }
83
176
  this.rootId = rootId;
84
177
  if (this.disposed) {
@@ -87,7 +180,11 @@ var AssemblyRenderManager;
87
180
  else if (flatEntityIds.length === 0) {
88
181
  return;
89
182
  }
90
- this.processEntityIds(flatEntityIds);
183
+ await this.processEntityIds(flatEntityIds);
184
+ if (this.disposed) {
185
+ return;
186
+ }
187
+ this.viewerDateTimeSub();
91
188
  }
92
189
  catch (e) {
93
190
  console.error("AssemblyRenderManager.Manager.Init()", e);
@@ -100,7 +197,7 @@ var AssemblyRenderManager;
100
197
  * @returns
101
198
  */
102
199
  async processEntityIds(entityIds) {
103
- var _a, _b;
200
+ var _a, _b, _c;
104
201
  if (!entityIds || !entityIds.length) {
105
202
  return;
106
203
  }
@@ -153,31 +250,48 @@ var AssemblyRenderManager;
153
250
  // Won't bother with vector data for this experiment.
154
251
  continue;
155
252
  }
156
- const pos3d = entity_utils_1.EntityUtils.GetPos({
253
+ const recordHeightRef = Manager.GetRecordHeightRef(this.item);
254
+ const recordPos3d = entity_utils_1.EntityUtils.GetPos({
157
255
  viewer: this.viewer,
158
256
  entity,
159
- recordHeightRef: Cesium.HeightReference.NONE,
257
+ recordHeightRef: recordHeightRef,
160
258
  returnHeightRef: Cesium.HeightReference.NONE,
161
259
  allowRendered: false
162
260
  });
163
- const orient = entity_utils_1.EntityUtils.GetAssemblyOrientation(entity, pos3d);
164
- if (!pos3d || !orient) {
261
+ if (!recordPos3d) {
165
262
  continue;
166
263
  }
264
+ const entityId = entity.Bruce.ID;
265
+ if (entityId === this.rootId || !this.rootPos3d) {
266
+ // Nothing has a frame to be relative to until the root has one.
267
+ this.rootPos3d = recordPos3d;
268
+ this.rootHeading = (0, js_utils_1.EnsureNumber)((_a = entity.Bruce.Transform) === null || _a === void 0 ? void 0 : _a.heading, 0);
269
+ }
270
+ // Held as an offset in the root's frame, so a root move places it again without
271
+ // anything being fetched. Where the root already moved, that is where it goes.
272
+ const offset = Manager.ChildOffsetIn(this.rootPos3d, this.rootHeading, recordPos3d);
273
+ const pos3d = Manager.ChildPositionFrom(this.rootPos3d, this.rootHeading, offset);
274
+ // Optional: a child with no world matrix is still worth drawing, it just has no
275
+ // orientation of its own to apply.
276
+ const orient = entity_utils_1.EntityUtils.GetAssemblyOrientation(entity, pos3d);
167
277
  const cEntity = this.viewer.entities.add({
168
278
  model: {
169
279
  uri: lod["ClientFile"].URL,
170
280
  ...view_utils_1.ViewUtils.DefaultLightingProps(),
171
281
  heightReference: Cesium.HeightReference.NONE
172
282
  },
173
- // point: {
174
- // pixelSize: 50,
175
- // disableDepthTestDistance: Number.POSITIVE_INFINITY,
176
- // color: Cesium.Color.fromCssColorString("#FF0000"),
177
- // heightReference: Cesium.HeightReference.NONE
178
- // },
179
283
  position: pos3d,
180
- orientation: new Cesium.ConstantProperty(orient)
284
+ orientation: orient ? new Cesium.ConstantProperty(orient) : undefined
285
+ });
286
+ const prior = this.children.get(entityId);
287
+ if (prior && prior.cEntity !== cEntity) {
288
+ (0, cesium_utils_1.RemoveCEntityFromScene)(this.viewer, prior.cEntity);
289
+ }
290
+ this.children.set(entityId, {
291
+ entityId: entityId,
292
+ entity: entity,
293
+ cEntity: cEntity,
294
+ offset: offset
181
295
  });
182
296
  const geometryRadius = bruce_models_1.Entity.GetValue({
183
297
  entity: entity,
@@ -197,7 +311,7 @@ var AssemblyRenderManager;
197
311
  entityTypeId: entity.Bruce["EntityType.ID"],
198
312
  name: entity.Bruce.Name,
199
313
  rootId: this.rootId,
200
- parentId: (_b = (_a = this.hierarchyNodeByEntityId) === null || _a === void 0 ? void 0 : _a[entity.Bruce.ID]) === null || _b === void 0 ? void 0 : _b.parentId
314
+ parentId: (_c = (_b = this.hierarchyNodeByEntityId) === null || _b === void 0 ? void 0 : _b[entity.Bruce.ID]) === null || _c === void 0 ? void 0 : _c.parentId
201
315
  },
202
316
  requestRender: false
203
317
  });
@@ -205,11 +319,148 @@ var AssemblyRenderManager;
205
319
  this.viewer.scene.requestRender();
206
320
  }
207
321
  }
322
+ /*
323
+ * Follows the scene clock and moves the whole Assembly along the root Entity's historic path.
324
+ * Only the root is fetched: everything under it is placed through ApplyRootPosition.
325
+ */
326
+ viewerDateTimeSub() {
327
+ if (!Manager.IsHistoric(this.item) || this.viewerDateTimeChangeRemoval || !this.rootId) {
328
+ return;
329
+ }
330
+ const api = this.getters.GetBruceApi();
331
+ const rootEntity = { Bruce: { ID: this.rootId } };
332
+ const recordHeightRef = Manager.GetRecordHeightRef(this.item);
333
+ const toPosses = (records) => {
334
+ return cesium_animated_property_1.CesiumAnimatedProperty.GetSeriesPossesForHistoricEntity(this.viewer, recordHeightRef, Cesium.HeightReference.NONE, records);
335
+ };
336
+ this.historicGatherer = new historic_utils_1.HistoricGatherer({
337
+ viewer: this.viewer,
338
+ getApi: () => api,
339
+ getAttrKey: () => { var _a; return (_a = this.item.BruceEntity) === null || _a === void 0 ? void 0 : _a.historicAttrKey; },
340
+ // For clock desync between whatever wrote the record and this client.
341
+ paddingMs: 15000,
342
+ onRecords: (recordsByIds) => {
343
+ const records = recordsByIds[this.rootId];
344
+ if ((records === null || records === void 0 ? void 0 : records.length) && this.historicAnimation) {
345
+ this.historicAnimation.SupplementSeries(toPosses(records));
346
+ }
347
+ }
348
+ });
349
+ let gathering = false;
350
+ const gather = async () => {
351
+ if (this.disposed || gathering) {
352
+ return;
353
+ }
354
+ gathering = true;
355
+ try {
356
+ const { recordsByIds } = await this.historicGatherer.Gather([rootEntity]);
357
+ if (this.disposed) {
358
+ return;
359
+ }
360
+ const posses = toPosses(recordsByIds[this.rootId] || []);
361
+ if (!posses.length) {
362
+ return;
363
+ }
364
+ if (!this.historicAnimation) {
365
+ this.historicAnimation = new cesium_animated_property_1.CesiumAnimatedProperty.AnimatePositionSeries({
366
+ posses: posses,
367
+ viewer: this.viewer
368
+ });
369
+ this.applyRootTrack();
370
+ }
371
+ else {
372
+ this.historicAnimation.SupplementSeries(posses);
373
+ }
374
+ }
375
+ catch (e) {
376
+ console.error("AssemblyRenderManager.viewerDateTimeSub()", e);
377
+ }
378
+ finally {
379
+ gathering = false;
380
+ }
381
+ };
382
+ gather();
383
+ let lastTime = null;
384
+ const tickRemoval = this.viewer.clock.onTick.addEventListener(() => {
385
+ var _a;
386
+ if (this.disposed) {
387
+ return;
388
+ }
389
+ const now = this.viewer.clock.currentTime.toString();
390
+ if (now === lastTime) {
391
+ return;
392
+ }
393
+ lastTime = now;
394
+ gather();
395
+ if (!this.historicAnimation) {
396
+ return;
397
+ }
398
+ const pos3d = this.historicAnimation.GetValue();
399
+ if (pos3d) {
400
+ this.ApplyRootPosition({
401
+ pos3d: pos3d,
402
+ heading: (_a = this.historicAnimation.GetHeadingDegrees()) !== null && _a !== void 0 ? _a : this.rootHeading
403
+ });
404
+ }
405
+ });
406
+ this.viewerDateTimeChangeRemoval = () => {
407
+ var _a;
408
+ tickRemoval === null || tickRemoval === void 0 ? void 0 : tickRemoval();
409
+ (_a = this.historicGatherer) === null || _a === void 0 ? void 0 : _a.Dispose();
410
+ this.historicGatherer = null;
411
+ this.historicAnimation = null;
412
+ };
413
+ }
414
+ /*
415
+ * Draws the trail through the root's own movement, which is the path the whole Assembly took.
416
+ */
417
+ applyRootTrack() {
418
+ var _a;
419
+ if (!this.item.historicDrawTrack || !this.historicAnimation || this.trackEntity) {
420
+ return;
421
+ }
422
+ const trackStyle = entity_render_engine_1.EntityRenderEngine.GetTrackStyle({
423
+ entity: { Bruce: { ID: this.rootId } },
424
+ style: (_a = this.item.Style) === null || _a === void 0 ? void 0 : _a.Settings
425
+ });
426
+ if (!trackStyle) {
427
+ return;
428
+ }
429
+ this.trackEntity = this.viewer.entities.add({
430
+ id: bruce_models_1.ObjectUtils.UId(15),
431
+ polyline: {
432
+ positions: new Cesium.CallbackProperty(() => { var _a, _b; return (_b = (_a = this.historicAnimation) === null || _a === void 0 ? void 0 : _a.GetSeries()) !== null && _b !== void 0 ? _b : []; }, false),
433
+ width: trackStyle.width,
434
+ material: trackStyle.color,
435
+ clampToGround: entity_render_engine_1.EntityRenderEngine.GetHeightRefPolyline(Manager.GetRecordHeightRef(this.item))
436
+ == Cesium.HeightReference.CLAMP_TO_GROUND,
437
+ zIndex: 0,
438
+ classificationType: Cesium.ClassificationType.BOTH
439
+ }
440
+ });
441
+ this.trackEntity._noEdit = true;
442
+ this.trackEntity._noSelect = true;
443
+ cesium_entity_styler_1.CesiumEntityStyler.SetDefaultColor({
444
+ color: trackStyle.color,
445
+ entity: this.trackEntity,
446
+ viewer: this.viewer,
447
+ override: true,
448
+ requestRender: false
449
+ });
450
+ }
208
451
  Dispose() {
452
+ var _a;
209
453
  if (this.disposed) {
210
454
  return;
211
455
  }
212
456
  this.disposed = true;
457
+ (_a = this.viewerDateTimeChangeRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
458
+ this.viewerDateTimeChangeRemoval = null;
459
+ if (this.trackEntity) {
460
+ (0, cesium_utils_1.RemoveCEntityFromScene)(this.viewer, this.trackEntity);
461
+ this.trackEntity = null;
462
+ }
463
+ this.children.clear();
213
464
  this.visualsManager.RemoveRegos({
214
465
  menuItemId: this.item.id
215
466
  });
@@ -1 +1 @@
1
- {"version":3,"file":"assembly-render-manager.js","sourceRoot":"","sources":["../../../../../src/rendering/render-managers/other/assembly-render-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assembly-render-manager.js","sourceRoot":"","sources":["../../../../../src/rendering/render-managers/other/assembly-render-manager.ts"],"names":[],"mappings":"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"}