bruce-cesium 7.6.1 → 7.6.3

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 (95) hide show
  1. package/dist/bruce-cesium.es5.js +2535 -385
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +2524 -382
  4. package/dist/bruce-cesium.umd.js.map +1 -1
  5. package/dist/lib/bruce-cesium.js +3 -1
  6. package/dist/lib/bruce-cesium.js.map +1 -1
  7. package/dist/lib/rendering/cesium-animated-property.js +63 -107
  8. package/dist/lib/rendering/cesium-animated-property.js.map +1 -1
  9. package/dist/lib/rendering/entity-gatherer.js +11 -3
  10. package/dist/lib/rendering/entity-gatherer.js.map +1 -1
  11. package/dist/lib/rendering/menu-item-creator.js +44 -23
  12. package/dist/lib/rendering/menu-item-creator.js.map +1 -1
  13. package/dist/lib/rendering/menu-item-manager.js +199 -17
  14. package/dist/lib/rendering/menu-item-manager.js.map +1 -1
  15. package/dist/lib/rendering/menu-item-styles.js +151 -0
  16. package/dist/lib/rendering/menu-item-styles.js.map +1 -0
  17. package/dist/lib/rendering/relation-render-engine.js +24 -5
  18. package/dist/lib/rendering/relation-render-engine.js.map +1 -1
  19. package/dist/lib/rendering/render-managers/common/entity-label-group.js +13 -9
  20. package/dist/lib/rendering/render-managers/common/entity-label-group.js.map +1 -1
  21. package/dist/lib/rendering/render-managers/common/entity-label.js +68 -7
  22. package/dist/lib/rendering/render-managers/common/entity-label.js.map +1 -1
  23. package/dist/lib/rendering/render-managers/common/entity-rerender-maintain-state.js +44 -5
  24. package/dist/lib/rendering/render-managers/common/entity-rerender-maintain-state.js.map +1 -1
  25. package/dist/lib/rendering/render-managers/common/entity-simulation.js +483 -0
  26. package/dist/lib/rendering/render-managers/common/entity-simulation.js.map +1 -0
  27. package/dist/lib/rendering/render-managers/common/historic-trail.js +123 -0
  28. package/dist/lib/rendering/render-managers/common/historic-trail.js.map +1 -0
  29. package/dist/lib/rendering/render-managers/common/historic-utils.js +17 -6
  30. package/dist/lib/rendering/render-managers/common/historic-utils.js.map +1 -1
  31. package/dist/lib/rendering/render-managers/entities/entities-datalab-render-manager.js +13 -2
  32. package/dist/lib/rendering/render-managers/entities/entities-datalab-render-manager.js.map +1 -1
  33. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +20 -2
  34. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +1 -1
  35. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +13 -2
  36. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +1 -1
  37. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +66 -5
  38. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
  39. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +11 -1
  40. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +1 -1
  41. package/dist/lib/rendering/render-managers/other/assembly-render-manager.js +745 -106
  42. package/dist/lib/rendering/render-managers/other/assembly-render-manager.js.map +1 -1
  43. package/dist/lib/rendering/render-managers/other/legacy-relations-render-manager.js +23 -1
  44. package/dist/lib/rendering/render-managers/other/legacy-relations-render-manager.js.map +1 -1
  45. package/dist/lib/rendering/render-managers/other/relations-render-manager.js +23 -1
  46. package/dist/lib/rendering/render-managers/other/relations-render-manager.js.map +1 -1
  47. package/dist/lib/rendering/render-managers/render-manager.js.map +1 -1
  48. package/dist/lib/rendering/render-managers/tilesets/tileset-arb-render-manager.js +19 -0
  49. package/dist/lib/rendering/render-managers/tilesets/tileset-arb-render-manager.js.map +1 -1
  50. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +145 -40
  51. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +1 -1
  52. package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js +18 -0
  53. package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js.map +1 -1
  54. package/dist/lib/rendering/tileset-styler.js +1 -1
  55. package/dist/lib/rendering/tileset-styler.js.map +1 -1
  56. package/dist/lib/rendering/visual-register-culler.js +2 -0
  57. package/dist/lib/rendering/visual-register-culler.js.map +1 -1
  58. package/dist/lib/rendering/visuals-register.js +89 -20
  59. package/dist/lib/rendering/visuals-register.js.map +1 -1
  60. package/dist/lib/utils/entity-utils.js +43 -2
  61. package/dist/lib/utils/entity-utils.js.map +1 -1
  62. package/dist/lib/widgets/tabs-left-panel/widget-left-panel-tab-menu-items.js +64 -12
  63. package/dist/lib/widgets/tabs-left-panel/widget-left-panel-tab-menu-items.js.map +1 -1
  64. package/dist/lib/widgets/widget-info-view.js +20 -7
  65. package/dist/lib/widgets/widget-info-view.js.map +1 -1
  66. package/dist/types/bruce-cesium.d.ts +3 -1
  67. package/dist/types/rendering/cesium-animated-property.d.ts +8 -6
  68. package/dist/types/rendering/entity-gatherer.d.ts +6 -1
  69. package/dist/types/rendering/menu-item-manager.d.ts +58 -1
  70. package/dist/types/rendering/menu-item-styles.d.ts +30 -0
  71. package/dist/types/rendering/relation-render-engine.d.ts +10 -0
  72. package/dist/types/rendering/render-managers/common/entity-label-group.d.ts +3 -2
  73. package/dist/types/rendering/render-managers/common/entity-label.d.ts +4 -0
  74. package/dist/types/rendering/render-managers/common/entity-rerender-maintain-state.d.ts +20 -0
  75. package/dist/types/rendering/render-managers/common/entity-simulation.d.ts +126 -0
  76. package/dist/types/rendering/render-managers/common/historic-trail.d.ts +30 -0
  77. package/dist/types/rendering/render-managers/common/historic-utils.d.ts +4 -0
  78. package/dist/types/rendering/render-managers/entities/entities-datalab-render-manager.d.ts +7 -1
  79. package/dist/types/rendering/render-managers/entities/entities-ids-render-manager.d.ts +7 -1
  80. package/dist/types/rendering/render-managers/entities/entities-loaded-render-manager.d.ts +7 -1
  81. package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +10 -1
  82. package/dist/types/rendering/render-managers/entities/entity-render-manager.d.ts +7 -1
  83. package/dist/types/rendering/render-managers/other/assembly-render-manager.d.ts +79 -2
  84. package/dist/types/rendering/render-managers/other/legacy-relations-render-manager.d.ts +5 -0
  85. package/dist/types/rendering/render-managers/other/relations-render-manager.d.ts +5 -0
  86. package/dist/types/rendering/render-managers/render-manager.d.ts +14 -1
  87. package/dist/types/rendering/render-managers/tilesets/tileset-arb-render-manager.d.ts +8 -1
  88. package/dist/types/rendering/render-managers/tilesets/tileset-cad-render-manager.d.ts +16 -2
  89. package/dist/types/rendering/render-managers/tilesets/tileset-entities-render-manager.d.ts +8 -1
  90. package/dist/types/rendering/tileset-styler.d.ts +2 -0
  91. package/dist/types/rendering/visuals-register.d.ts +13 -0
  92. package/dist/types/utils/entity-utils.d.ts +6 -0
  93. package/dist/types/widgets/tabs-left-panel/widget-left-panel-tab-menu-items.d.ts +1 -0
  94. package/dist/types/widgets/widget-info-view.d.ts +1 -0
  95. package/package.json +2 -2
@@ -28,6 +28,7 @@ __exportStar(require("./rendering/texture-frame-series-animator"), exports);
28
28
  __exportStar(require("./rendering/texture-value-labels"), exports);
29
29
  __exportStar(require("./rendering/menu-item-creator"), exports);
30
30
  __exportStar(require("./rendering/menu-item-manager"), exports);
31
+ __exportStar(require("./rendering/menu-item-styles"), exports);
31
32
  __exportStar(require("./rendering/render-managers/common/cesium-parabola"), exports);
32
33
  __exportStar(require("./rendering/render-managers/common/entity-label"), exports);
33
34
  __exportStar(require("./rendering/render-managers/common/entity-label-group"), exports);
@@ -38,6 +39,7 @@ Object.defineProperty(exports, "PointClustering", { enumerable: true, get: funct
38
39
  Object.defineProperty(exports, "PointClusterSize", { enumerable: true, get: function () { return point_clustering_1.PointClusterSize; } });
39
40
  __exportStar(require("./rendering/render-managers/common/live-cursor"), exports);
40
41
  __exportStar(require("./rendering/render-managers/common/shared-getters"), exports);
42
+ __exportStar(require("./rendering/render-managers/common/entity-simulation"), exports);
41
43
  __exportStar(require("./rendering/render-managers/data-source/data-source-static-kml-manager"), exports);
42
44
  __exportStar(require("./rendering/render-managers/entities/entities-datalab-render-manager"), exports);
43
45
  __exportStar(require("./rendering/render-managers/entities/entities-ids-render-manager"), exports);
@@ -89,7 +91,7 @@ __exportStar(require("./widgets/widget-info-view"), exports);
89
91
  __exportStar(require("./widgets/widget-left-panel"), exports);
90
92
  __exportStar(require("./widgets/widget-nav-compass"), exports);
91
93
  __exportStar(require("./widgets/widget-view-bar"), exports);
92
- exports.VERSION = "7.6.1";
94
+ exports.VERSION = "7.6.3";
93
95
  /**
94
96
  * Updates the environment instance used by bruce-cesium to one specified.
95
97
  * This can be used to ensure that the instance a parent is referencing is shared between bruce-cesium, bruce-models, and the parent app.
@@ -1 +1 @@
1
- {"version":3,"file":"bruce-cesium.js","sourceRoot":"","sources":["../../src/bruce-cesium.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA2C;AAE3C,qEAAmD;AACnD,0EAAwD;AACxD,uEAAqD;AACrD,mEAAiD;AACjD,2EAAyD;AACzD,yEAAuD;AACvD,2EAAyD;AACzD,4EAA0D;AAC1D,4EAA0D;AAC1D,mEAAiD;AACjD,gEAA8C;AAC9C,gEAA8C;AAC9C,qFAAmE;AACnE,kFAAgE;AAChE,wFAAsE;AACtE,kGAAwF;AAA/E,qHAAA,YAAY,OAAA;AACrB,wFAAyK;AAAhK,mHAAA,eAAe,OAAA;AAAE,oHAAA,gBAAgB,OAAA;AAC1C,iFAA+D;AAC/D,oFAAkE;AAClE,yGAAuF;AACvF,uGAAqF;AACrF,mGAAiF;AACjF,sGAAoF;AACpF,+FAA6E;AAC7E,6FAA2E;AAC3E,4FAA0E;AAC1E,iGAA+E;AAC/E,6FAA2E;AAC3E,6EAA2D;AAC3D,kGAAgF;AAChF,kGAAgF;AAChF,uGAAqF;AACrF,4GAA0F;AAC1F,kGAAgF;AAChF,yGAAuF;AACvF,iEAA+C;AAC/C,oEAAkD;AAClD,iEAA+C;AAC/C,qEAAmD;AACnD,+DAA6C;AAC7C,mEAAiD;AACjD,+DAA6C;AAC7C,wDAAsC;AACtC,uDAAqC;AACrC,wDAAsC;AACtC,sDAAoC;AACpC,qDAAmC;AACnC,+DAA6C;AAC7C,4DAA0C;AAC1C,gEAA8C;AAC9C,wDAAsC;AACtC,mEAAiD;AACjD,oEAAkD;AAClD,mEAAiD;AACjD,+DAA6C;AAC7C,sFAAoE;AACpE,6FAA2E;AAC3E,kFAAgE;AAChE,4FAA0E;AAC1E,4FAA0E;AAC1E,6FAA2E;AAC3E,mDAAiC;AACjC,6DAA2C;AAC3C,4DAA0C;AAC1C,6DAA2C;AAC3C,sEAAoD;AACpD,6DAA2C;AAC3C,8DAA4C;AAC5C,+DAA6C;AAC7C,4DAA0C;AAE7B,QAAA,OAAO,GAAG,OAAO,CAAC;AAE/B;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAAC,MAAW,EAAE,EAAE;IAC1C,0BAAW,CAAC,MAAM,GAAG,MAAM,CAAC;AAChC,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEF;;;GAGG;AACI,MAAM,cAAc,GAAG,GAAG,EAAE;IAC/B,OAAO,0BAAW,CAAC;AACvB,CAAC,CAAA;AAFY,QAAA,cAAc,kBAE1B"}
1
+ {"version":3,"file":"bruce-cesium.js","sourceRoot":"","sources":["../../src/bruce-cesium.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA2C;AAE3C,qEAAmD;AACnD,0EAAwD;AACxD,uEAAqD;AACrD,mEAAiD;AACjD,2EAAyD;AACzD,yEAAuD;AACvD,2EAAyD;AACzD,4EAA0D;AAC1D,4EAA0D;AAC1D,mEAAiD;AACjD,gEAA8C;AAC9C,gEAA8C;AAC9C,+DAA6C;AAC7C,qFAAmE;AACnE,kFAAgE;AAChE,wFAAsE;AACtE,kGAAwF;AAA/E,qHAAA,YAAY,OAAA;AACrB,wFAAyK;AAAhK,mHAAA,eAAe,OAAA;AAAE,oHAAA,gBAAgB,OAAA;AAC1C,iFAA+D;AAC/D,oFAAkE;AAClE,uFAAqE;AACrE,yGAAuF;AACvF,uGAAqF;AACrF,mGAAiF;AACjF,sGAAoF;AACpF,+FAA6E;AAC7E,6FAA2E;AAC3E,4FAA0E;AAC1E,iGAA+E;AAC/E,6FAA2E;AAC3E,6EAA2D;AAC3D,kGAAgF;AAChF,kGAAgF;AAChF,uGAAqF;AACrF,4GAA0F;AAC1F,kGAAgF;AAChF,yGAAuF;AACvF,iEAA+C;AAC/C,oEAAkD;AAClD,iEAA+C;AAC/C,qEAAmD;AACnD,+DAA6C;AAC7C,mEAAiD;AACjD,+DAA6C;AAC7C,wDAAsC;AACtC,uDAAqC;AACrC,wDAAsC;AACtC,sDAAoC;AACpC,qDAAmC;AACnC,+DAA6C;AAC7C,4DAA0C;AAC1C,gEAA8C;AAC9C,wDAAsC;AACtC,mEAAiD;AACjD,oEAAkD;AAClD,mEAAiD;AACjD,+DAA6C;AAC7C,sFAAoE;AACpE,6FAA2E;AAC3E,kFAAgE;AAChE,4FAA0E;AAC1E,4FAA0E;AAC1E,6FAA2E;AAC3E,mDAAiC;AACjC,6DAA2C;AAC3C,4DAA0C;AAC1C,6DAA2C;AAC3C,sEAAoD;AACpD,6DAA2C;AAC3C,8DAA4C;AAC5C,+DAA6C;AAC7C,4DAA0C;AAE7B,QAAA,OAAO,GAAG,OAAO,CAAC;AAE/B;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAAC,MAAW,EAAE,EAAE;IAC1C,0BAAW,CAAC,MAAM,GAAG,MAAM,CAAC;AAChC,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEF;;;GAGG;AACI,MAAM,cAAc,GAAG,GAAG,EAAE;IAC/B,OAAO,0BAAW,CAAC;AACvB,CAAC,CAAA;AAFY,QAAA,cAAc,kBAE1B"}
@@ -1164,13 +1164,13 @@ var CesiumAnimatedProperty;
1164
1164
  class AnimateTPositionSeries {
1165
1165
  constructor(params) {
1166
1166
  this.lastCalcAttitude = null;
1167
- // Cache for calculated values.
1167
+ // Cache for calculated values: the scene time and set of positions they were worked out for.
1168
1168
  this.lastCalcTime = null;
1169
+ this.lastCalcRevision = -1;
1169
1170
  this.lastCalcPos3d = null;
1170
- this.lastCalcPosApplyOverTime = false;
1171
- this.lastCalcPos3dApplyOverTimeTarget = null;
1172
- this.lastCalcPos3dApplyOverTimeTimeStart = null;
1173
1171
  this.lastCalcHeading = null;
1172
+ // Bumped whenever the positions change, so a still clock re-applies a changed series.
1173
+ this.revision = 0;
1174
1174
  this.removal = null;
1175
1175
  // Track the timeline range for which we have data.
1176
1176
  this.minDate = null;
@@ -1200,6 +1200,7 @@ var CesiumAnimatedProperty;
1200
1200
  if (!newPositions || newPositions.length === 0) {
1201
1201
  return;
1202
1202
  }
1203
+ this.revision++;
1203
1204
  // Add new positions to our map, overwriting any existing positions with the same timestamp
1204
1205
  for (const pos of newPositions) {
1205
1206
  const key = pos.dateTime.toISOString();
@@ -1223,6 +1224,17 @@ var CesiumAnimatedProperty;
1223
1224
  }
1224
1225
  }
1225
1226
  }
1227
+ /**
1228
+ * Replaces every position with these, eg. once some that were simulated have been cleared.
1229
+ * @param positions Positions to animate through from now on.
1230
+ */
1231
+ replacePositions(positions) {
1232
+ this.positionsMap.clear();
1233
+ this.positions = [];
1234
+ this.minDate = null;
1235
+ this.maxDate = null;
1236
+ this.addPositions(positions);
1237
+ }
1226
1238
  /**
1227
1239
  * Get the current date range covered by our positions.
1228
1240
  */
@@ -1270,106 +1282,47 @@ var CesiumAnimatedProperty;
1270
1282
  /*
1271
1283
  * Returns the attitude of the record at an index, or nothing recorded when it names none.
1272
1284
  */
1273
- attitudeAt(index) {
1274
- var _a, _b, _c;
1275
- const pos = index >= 0 ? (_a = this.positions) === null || _a === void 0 ? void 0 : _a[index] : null;
1276
- return { pitch: (_b = pos === null || pos === void 0 ? void 0 : pos.pitch) !== null && _b !== void 0 ? _b : null, roll: (_c = pos === null || pos === void 0 ? void 0 : pos.roll) !== null && _c !== void 0 ? _c : null };
1285
+ /*
1286
+ * Pitch and roll between two positions the short way round; an angle only one names is held.
1287
+ */
1288
+ attitudeBetween(indexLast, indexNext, timeMs) {
1289
+ var _a, _b, _c, _d, _e, _f;
1290
+ const a = indexLast >= 0 ? (_a = this.positions) === null || _a === void 0 ? void 0 : _a[indexLast] : null;
1291
+ const b = indexNext >= 0 ? (_b = this.positions) === null || _b === void 0 ? void 0 : _b[indexNext] : null;
1292
+ const span = a && b ? b.dateTime.getTime() - a.dateTime.getTime() : 0;
1293
+ const t = span > 0 ? (timeMs - a.dateTime.getTime()) / span : 0;
1294
+ const turn = (x, y) => {
1295
+ if (x == null || y == null) {
1296
+ return x !== null && x !== void 0 ? x : null;
1297
+ }
1298
+ return x + (Cesium.Math.negativePiToPi(Cesium.Math.toRadians(y - x)) * 180 / Math.PI) * t;
1299
+ };
1300
+ return { pitch: turn((_c = a === null || a === void 0 ? void 0 : a.pitch) !== null && _c !== void 0 ? _c : null, (_d = b === null || b === void 0 ? void 0 : b.pitch) !== null && _d !== void 0 ? _d : null), roll: turn((_e = a === null || a === void 0 ? void 0 : a.roll) !== null && _e !== void 0 ? _e : null, (_f = b === null || b === void 0 ? void 0 : b.roll) !== null && _f !== void 0 ? _f : null) };
1277
1301
  }
1302
+ /*
1303
+ * Places the series at the scene's time, exactly rather than eased, so what moves with it never lags the clock.
1304
+ */
1278
1305
  update() {
1306
+ var _a;
1279
1307
  if (!this.positions || this.positions.length === 0) {
1280
1308
  return;
1281
1309
  }
1282
- // Get current time.
1283
- let now = this.viewer.scene.lastRenderTime || this.viewer.clock.currentTime;
1284
- const nowTime = Cesium.JulianDate.toDate(now);
1285
- const nowTimeMs = nowTime.getTime();
1286
- const currentRealTimeMs = Date.now();
1287
- // Calculate the ideal position based on current time.
1288
- const targetPosition = this.calculatePosition(nowTimeMs);
1289
- // Initialize if this is the first update.
1290
- if (!this.lastCalcPos3d) {
1291
- this.lastCalcPos3d = targetPosition.pos3d;
1292
- this.lastCalcAttitude = this.attitudeAt(targetPosition.indexLast);
1293
- this.onUpdate(targetPosition.pos3d, this.lastCalcHeading, this.lastCalcAttitude);
1310
+ // The clock's time is the frame being drawn; the last render time is the frame before it.
1311
+ const nowTimeMs = Cesium.JulianDate.toDate(this.viewer.clock.currentTime).getTime();
1312
+ if (nowTimeMs === this.lastCalcTime && this.revision === this.lastCalcRevision) {
1294
1313
  return;
1295
1314
  }
1296
- // Check if target has changed.
1297
- if (!this.lastCalcPos3dApplyOverTimeTarget ||
1298
- !Cesium.Cartesian3.equals(this.lastCalcPos3dApplyOverTimeTarget, targetPosition.pos3d)) {
1299
- // If we were already interpolating, get the current interpolated position as our new starting point.
1300
- if (this.lastCalcPosApplyOverTime && this.lastCalcPos3dApplyOverTimeTimeStart) {
1301
- // Calculate where we are in the current interpolation.
1302
- const currentInterpolatedPos = this.interpolatePos3dOverTime(this.lastCalcPos3dApplyOverTimeTimeStart, currentRealTimeMs);
1303
- // Use this as our new starting position.
1304
- this.lastCalcPos3d = currentInterpolatedPos;
1305
- }
1306
- // Set new target and start time.
1307
- this.lastCalcPos3dApplyOverTimeTarget = targetPosition.pos3d;
1308
- this.lastCalcPos3dApplyOverTimeTimeStart = currentRealTimeMs;
1309
- this.lastCalcPosApplyOverTime = true;
1310
- }
1311
- // Calculate the interpolated position.
1312
- let pos3d;
1313
- if (this.lastCalcPosApplyOverTime) {
1314
- pos3d = this.interpolatePos3dOverTime(this.lastCalcPos3dApplyOverTimeTimeStart, currentRealTimeMs);
1315
- // If we've reached the target, update our base position.
1316
- if (Cesium.Cartesian3.distance(pos3d, this.lastCalcPos3dApplyOverTimeTarget) < 0.01) {
1317
- this.lastCalcPos3d = this.lastCalcPos3dApplyOverTimeTarget;
1318
- this.lastCalcPosApplyOverTime = false;
1319
- }
1320
- }
1321
- else {
1322
- pos3d = this.lastCalcPos3d;
1323
- }
1324
- // Calculate heading.
1325
- if (this.lastCalcPos3dApplyOverTimeTarget) {
1326
- if (this.lastCalcPos3d) {
1327
- const minDistanceThreshold = 0.05;
1328
- const currentToTargetDistance = Cesium.Cartesian3.distance(this.lastCalcPos3d, this.lastCalcPos3dApplyOverTimeTarget);
1329
- if (currentToTargetDistance >= minDistanceThreshold) {
1330
- const lastPos = {
1331
- pos3d: this.lastCalcPos3d,
1332
- dateTime: this.lastCalcPos3dApplyOverTimeTimeStart ? new Date(this.lastCalcPos3dApplyOverTimeTimeStart) : null,
1333
- heading: null
1334
- };
1335
- const nextPos = {
1336
- pos3d: this.lastCalcPos3dApplyOverTimeTarget,
1337
- dateTime: null,
1338
- heading: null
1339
- };
1340
- if (lastPos && nextPos) {
1341
- this.lastCalcHeading = this.calculateHeading(nowTimeMs, lastPos, nextPos);
1342
- }
1343
- }
1344
- }
1315
+ this.lastCalcTime = nowTimeMs;
1316
+ this.lastCalcRevision = this.revision;
1317
+ const target = this.calculatePosition(nowTimeMs);
1318
+ const lastPos = this.positions[target.indexLast];
1319
+ const nextPos = this.positions[target.indexNext];
1320
+ if (lastPos && nextPos) {
1321
+ this.lastCalcHeading = (_a = this.calculateHeading(nowTimeMs, lastPos, nextPos)) !== null && _a !== void 0 ? _a : this.lastCalcHeading;
1345
1322
  }
1346
- else {
1347
- const posses = this.positions;
1348
- const lastPos = posses[targetPosition.indexLast];
1349
- const nextPos = posses[targetPosition.indexNext];
1350
- if (lastPos && nextPos) {
1351
- this.lastCalcHeading = this.calculateHeading(nowTimeMs, lastPos, nextPos);
1352
- }
1353
- }
1354
- // Provide the calculated values to the caller.
1355
- this.lastCalcAttitude = this.attitudeAt(targetPosition.indexLast);
1356
- this.onUpdate(pos3d, this.lastCalcHeading, this.lastCalcAttitude);
1357
- }
1358
- interpolatePos3dOverTime(startTimeMs, currentTimeMs) {
1359
- const lastPos = this.lastCalcPos3d;
1360
- const targetPos = this.lastCalcPos3dApplyOverTimeTarget;
1361
- if (!lastPos || !targetPos) {
1362
- return lastPos ? lastPos : targetPos;
1363
- }
1364
- const interpolationDuration = 200;
1365
- const elapsedTime = currentTimeMs - startTimeMs;
1366
- let progress = Math.min(elapsedTime / interpolationDuration, 1.0);
1367
- // Optional step to make it smoother.
1368
- progress = this.easeInOutQuad(progress);
1369
- return Cesium.Cartesian3.lerp(lastPos, targetPos, progress, new Cesium.Cartesian3());
1370
- }
1371
- easeInOutQuad(t) {
1372
- return t < 0.5 ? 2 * t * t : 1 - Math.pow(-2 * t + 2, 2) / 2;
1323
+ this.lastCalcPos3d = target.pos3d;
1324
+ this.lastCalcAttitude = this.attitudeBetween(target.indexLast, target.indexNext, nowTimeMs);
1325
+ this.onUpdate(target.pos3d, this.lastCalcHeading, this.lastCalcAttitude);
1373
1326
  }
1374
1327
  /**
1375
1328
  * Pre-process headings in the series.
@@ -1395,14 +1348,14 @@ var CesiumAnimatedProperty;
1395
1348
  * Calculate the position at the given time.
1396
1349
  */
1397
1350
  calculatePosition(currentTimeMs) {
1351
+ var _a, _b;
1398
1352
  const posses = this.positions;
1399
1353
  // No positions to interpolate
1400
1354
  if (!posses || posses.length === 0) {
1401
1355
  return {
1402
1356
  pos3d: new Cesium.Cartesian3(),
1403
1357
  indexLast: -1,
1404
- indexNext: -1,
1405
- applyOverTime: false
1358
+ indexNext: -1
1406
1359
  };
1407
1360
  }
1408
1361
  // See if we're before the first position.
@@ -1410,8 +1363,7 @@ var CesiumAnimatedProperty;
1410
1363
  return {
1411
1364
  pos3d: posses[0].pos3d,
1412
1365
  indexLast: 0,
1413
- indexNext: 0,
1414
- applyOverTime: true
1366
+ indexNext: 0
1415
1367
  };
1416
1368
  }
1417
1369
  // See if we're after the last position.
@@ -1420,8 +1372,7 @@ var CesiumAnimatedProperty;
1420
1372
  return {
1421
1373
  pos3d: posses[lastIndex].pos3d,
1422
1374
  indexLast: lastIndex,
1423
- indexNext: lastIndex,
1424
- applyOverTime: true
1375
+ indexNext: lastIndex
1425
1376
  };
1426
1377
  }
1427
1378
  // Binary search to find the closest position.
@@ -1447,20 +1398,25 @@ var CesiumAnimatedProperty;
1447
1398
  return {
1448
1399
  pos3d: last.pos3d,
1449
1400
  indexLast: lastIndex,
1450
- indexNext: lastIndex,
1451
- applyOverTime: true
1401
+ indexNext: lastIndex
1452
1402
  };
1453
1403
  }
1454
1404
  // Interpolate between the two closest positions.
1455
1405
  const lastTime = last.dateTime.getTime();
1456
1406
  const nextTime = next.dateTime.getTime();
1457
1407
  const progress = (currentTimeMs - lastTime) / (nextTime - lastTime);
1458
- const interpolatedPos = Cesium.Cartesian3.lerp(last.pos3d, next.pos3d, progress, new Cesium.Cartesian3());
1408
+ // A straight line between two points on a curved path cuts inside it, so it is lifted back out.
1409
+ const chord = Cesium.Cartesian3.lerp(last.pos3d, next.pos3d, progress, new Cesium.Cartesian3());
1410
+ const chordCarto = Cesium.Cartographic.fromCartesian(chord);
1411
+ const lastHeight = (_a = Cesium.Cartographic.fromCartesian(last.pos3d)) === null || _a === void 0 ? void 0 : _a.height;
1412
+ const nextHeight = (_b = Cesium.Cartographic.fromCartesian(next.pos3d)) === null || _b === void 0 ? void 0 : _b.height;
1413
+ const interpolatedPos = chordCarto && lastHeight != null && nextHeight != null
1414
+ ? Cesium.Cartesian3.fromRadians(chordCarto.longitude, chordCarto.latitude, Cesium.Math.lerp(lastHeight, nextHeight, progress))
1415
+ : chord;
1459
1416
  return {
1460
1417
  pos3d: interpolatedPos,
1461
1418
  indexLast: lastIndex,
1462
- indexNext: nextIndex,
1463
- applyOverTime: false
1419
+ indexNext: nextIndex
1464
1420
  };
1465
1421
  }
1466
1422
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"cesium-animated-property.js","sourceRoot":"","sources":["../../../src/rendering/cesium-animated-property.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cesium-animated-property.js","sourceRoot":"","sources":["../../../src/rendering/cesium-animated-property.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,11 @@ class EntityGatherer {
12
12
  }
13
13
  return this._onQueueProgress;
14
14
  }
15
- constructor(api, viewer, emitEntities) {
15
+ /**
16
+ * @param simulation what callers simulate in place of API data, used where this gatherer has no override.
17
+ */
18
+ constructor(api, viewer, emitEntities, simulation) {
19
+ this.simulation = simulation;
16
20
  this.disposed = false;
17
21
  this.expandSources = false;
18
22
  this.historic = null;
@@ -589,15 +593,19 @@ class EntityGatherer {
589
593
  }
590
594
  }
591
595
  }
596
+ // A historic read is as at the scene's time, and so is any simulated record laid over it.
597
+ const rTimeMs = new Date(rTime).getTime();
598
+ const atPoint = (entity) => this.historic && this.simulation ? this.simulation.ApplyAt(entity, rTimeMs) : entity;
592
599
  for (const entityId of requestedBatch || []) {
600
+ // A caller's own override is an unsaved edit, newer than any simulation, so it is used as is.
593
601
  const override = this.entityDataOverrides.get(entityId);
594
602
  if (override) {
595
603
  resolvedEntities.push(override);
596
604
  continue;
597
605
  }
598
- const found = foundById.get(entityId);
606
+ const found = this.simulation ? this.simulation.Resolve(entityId, foundById.get(entityId)) : foundById.get(entityId);
599
607
  if (found) {
600
- resolvedEntities.push(found);
608
+ resolvedEntities.push(atPoint(found));
601
609
  continue;
602
610
  }
603
611
  resolvedEntities.push(this.createFallbackEntity(entityId));