bruce-cesium 7.5.8 → 7.6.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.
@@ -313,6 +313,10 @@ var EntityRenderEnginePolygon;
313
313
  syncTextureValueLabels({
314
314
  cEntity,
315
315
  viewer: params.viewer,
316
+ surface: drawsDisplacedSurface ? cEntity[DISPLACED_SURFACE_KEY] : null,
317
+ hover: params.visualRegister
318
+ ? { register: params.visualRegister, entityId: String(entity.Bruce.ID), menuItemId: params.menuItemId }
319
+ : undefined,
316
320
  settings: overlaySettings(style, entity, params.tags),
317
321
  extent: labelArchive
318
322
  ? (drawsDisplacedSurface ? archiveExtent(labelArchive.metadata, posses) : drapeExtent)
@@ -619,6 +623,7 @@ var EntityRenderEnginePolygon;
619
623
  // rendered: null
620
624
  rendered: (_c = params.rendered) === null || _c === void 0 ? void 0 : _c.get(entity.Bruce.ID),
621
625
  menuItemId: params.menuItemId,
626
+ visualRegister: params.visualRegister,
622
627
  onSeriesDiscovered: params.onSeriesDiscovered
623
628
  });
624
629
  }
@@ -1056,8 +1061,8 @@ function wantsLabels(style) {
1056
1061
  */
1057
1062
  const LABEL_GRID_COLOR = "rgba(255,255,255,0.55)";
1058
1063
  const LABEL_GRID_WIDTH_PIXELS = 1;
1059
- const LABEL_MIN_SPACING_PIXELS = 78;
1060
- const LABEL_MAX_LABELS = 240;
1064
+ const LABEL_MIN_SPACING_PIXELS = 140;
1065
+ const LABEL_MAX_LABELS = 60;
1061
1066
  function overlaySettings(style, entity, tags) {
1062
1067
  if (!wantsLabels(style)) {
1063
1068
  return undefined;
@@ -1077,6 +1082,7 @@ function overlaySettings(style, entity, tags) {
1077
1082
  */
1078
1083
  function syncTextureValueLabels(params) {
1079
1084
  const { cEntity, viewer, settings, extent, animator, metadata } = params;
1085
+ const surface = params.surface && !params.surface.isDestroyed() ? params.surface : null;
1080
1086
  const existing = cEntity[TEXTURE_VALUE_LABELS_KEY];
1081
1087
  // Offline has no extent to rebuild the overlay from, so an existing one is left running.
1082
1088
  if (params.offline && existing) {
@@ -1095,8 +1101,13 @@ function syncTextureValueLabels(params) {
1095
1101
  West: tile.West, East: tile.East, South: tile.South, North: tile.North,
1096
1102
  ResolutionX: tile.ResolutionX, ResolutionY: tile.ResolutionY
1097
1103
  })),
1098
- clipRing: params.clipRing
1104
+ clipRing: params.clipRing,
1105
+ heightAt: surface ? (lon, lat) => surface.HeightAt(lon, lat) : undefined,
1106
+ heightKey: surface ? () => surface.GetPlacementKey() : undefined,
1107
+ hover: params.hover
1099
1108
  });
1109
+ // A surface keeps no tinted frame, so whether a cell was painted is read off its ramp.
1110
+ labels.SetPaintedRamp(surface ? surface.GetRampPixels() : null);
1100
1111
  let lastVersion = -1;
1101
1112
  let appliedFloor = null;
1102
1113
  let appliedCeiling = null;
@@ -1108,15 +1119,15 @@ function syncTextureValueLabels(params) {
1108
1119
  if (animator.IsDisposed()) {
1109
1120
  return;
1110
1121
  }
1111
- const canvas = animator.GetValueCanvas();
1112
- if (!canvas) {
1113
- return;
1114
- }
1115
1122
  const version = animator.GetPresentVersion();
1116
1123
  if (version !== lastVersion) {
1124
+ // Read from the frame cache, since reading the value canvas back copies a whole frame.
1125
+ const raster = animator.GetValueRaster();
1126
+ if (!raster) {
1127
+ return;
1128
+ }
1117
1129
  lastVersion = version;
1118
- const ctx = canvas.getContext("2d");
1119
- labels.SetSource(ctx.getImageData(0, 0, canvas.width, canvas.height));
1130
+ labels.SetSource(raster);
1120
1131
  labels.SetPainted(animator.GetDisplayedPixels());
1121
1132
  }
1122
1133
  // Tracked by reference rather than latched on the first one to arrive: a tiled archive
@@ -1 +1 @@
1
- {"version":3,"file":"entity-render-engine-polygon.js","sourceRoot":"","sources":["../../../src/rendering/entity-render-engine-polygon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-render-engine-polygon.js","sourceRoot":"","sources":["../../../src/rendering/entity-render-engine-polygon.ts"],"names":[],"mappings":"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"}
@@ -1828,7 +1828,8 @@ var EntityLabel;
1828
1828
  this.groupId = groupId;
1829
1829
  this.additionalTexts = this.options.text != null ? [] : null;
1830
1830
  this.photo = null;
1831
- this.createLabel();
1831
+ // A label given its position keeps it, or the rebuild goes looking for the entity's own.
1832
+ this.createLabel(this.prePositioned ? this._pos3d : undefined);
1832
1833
  }
1833
1834
  /**
1834
1835
  * Creates cesium entity for the label if one does not exist.
@@ -2420,6 +2421,22 @@ var EntityLabel;
2420
2421
  radius: Math.max(width, height) / 2
2421
2422
  };
2422
2423
  };
2424
+ /*
2425
+ * The on-screen centre and half-size of a model too small for its box, so the box is ringed like a glyph.
2426
+ */
2427
+ const measureModel = (anchor) => {
2428
+ const hull = layer.modelBoxes.Hull(this.id);
2429
+ if (!(hull === null || hull === void 0 ? void 0 : hull.length)) {
2430
+ return null;
2431
+ }
2432
+ const xs = hull.map(point => point.x), ys = hull.map(point => point.y);
2433
+ const left = Math.min(...xs), top = Math.min(...ys);
2434
+ const width = Math.max(...xs) - left, height = Math.max(...ys) - top;
2435
+ if (Math.max(width, height) >= MODEL_BOX_MIN_SIZE) {
2436
+ return null;
2437
+ }
2438
+ return { x: left + width / 2 - anchor.x, y: top + height / 2 - anchor.y, radius: Math.max(width, height) / 2 };
2439
+ };
2423
2440
  // Only CAD tilesets and model Entities are assembly parts with a geometry box; anything else stays a point.
2424
2441
  const boxable = Boolean(normalLeader && ((_r = this.rego) === null || _r === void 0 ? void 0 : _r.entityId) && ((visual instanceof Cesium.Cesium3DTileFeature && this.rego.tilesetType === bruce_models_1.Tileset.EType.Cad) ||
2425
2442
  (visual instanceof Cesium.Entity && Boolean(visual.model))));
@@ -2478,7 +2495,7 @@ var EntityLabel;
2478
2495
  }
2479
2496
  let cursorMotion = this.cursorMotion;
2480
2497
  const project = () => {
2481
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
2498
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
2482
2499
  if (this.disposed || !this.viewer || this.viewer.isDestroyed() || ((_a = this.visible) === null || _a === void 0 ? void 0 : _a.call(this)) === false ||
2483
2500
  (presentation === "icon" && this.options.iconScale === 0)) {
2484
2501
  return null;
@@ -2521,7 +2538,8 @@ var EntityLabel;
2521
2538
  const boxBlend = this.morphToBox(boxed, shownOnce ? (_f = (_e = this.options.anchorRing) === null || _e === void 0 ? void 0 : _e.transitionDuration) !== null && _f !== void 0 ? _f : 200 : 0);
2522
2539
  // Eased between the ring and where the stem meets the box, so gaining or losing a box never jumps.
2523
2540
  const boxTarget = this.boxMorph.anchor;
2524
- const ringPoint = { x: anchor.x + pixelOffset.x, y: anchor.y + pixelOffset.y };
2541
+ const model = ((_g = this.modelBox) === null || _g === void 0 ? void 0 : _g.corners) ? measureModel(anchor) : null;
2542
+ const ringPoint = { x: anchor.x + (model || pixelOffset).x, y: anchor.y + (model || pixelOffset).y };
2525
2543
  const boxAnchor = boxBlend > 0 && boxTarget ? {
2526
2544
  x: ringPoint.x + (boxTarget.x - ringPoint.x) * boxBlend,
2527
2545
  y: ringPoint.y + (boxTarget.y - ringPoint.y) * boxBlend
@@ -2532,13 +2550,13 @@ var EntityLabel;
2532
2550
  return null;
2533
2551
  if (onScreen && !this.imageAsked && this.groupId && !HasIcon(this.options) && !this.options.photo) {
2534
2552
  this.imageAsked = true;
2535
- (_g = this.visualRegister) === null || _g === void 0 ? void 0 : _g.RequestLabelImage((_h = this.rego) === null || _h === void 0 ? void 0 : _h.entityId);
2553
+ (_h = this.visualRegister) === null || _h === void 0 ? void 0 : _h.RequestLabelImage((_j = this.rego) === null || _j === void 0 ? void 0 : _j.entityId);
2536
2554
  }
2537
2555
  const transientPivot = (this.Transient && !this.Persistent ?
2538
- (this.hoverFade.to === 0 ? this.retainedHoverPosition : (_j = this.visualRegister) === null || _j === void 0 ? void 0 : _j.GetLabelHoverPosition((_k = this.rego) === null || _k === void 0 ? void 0 : _k.entityId, (_l = this.rego) === null || _l === void 0 ? void 0 : _l.menuItemId)) : undefined);
2556
+ (this.hoverFade.to === 0 ? this.retainedHoverPosition : (_k = this.visualRegister) === null || _k === void 0 ? void 0 : _k.GetLabelHoverPosition((_l = this.rego) === null || _l === void 0 ? void 0 : _l.entityId, (_m = this.rego) === null || _m === void 0 ? void 0 : _m.menuItemId)) : undefined);
2539
2557
  const hover = (presentation !== "icon" ?
2540
2558
  (this.Transient && !this.Persistent && this.hoverFade.to === 0 ? this.retainedHoverPosition :
2541
- (_m = this.visualRegister) === null || _m === void 0 ? void 0 : _m.GetLabelHoverPosition((_o = this.rego) === null || _o === void 0 ? void 0 : _o.entityId, (_p = this.rego) === null || _p === void 0 ? void 0 : _p.menuItemId)) : undefined);
2559
+ (_o = this.visualRegister) === null || _o === void 0 ? void 0 : _o.GetLabelHoverPosition((_p = this.rego) === null || _p === void 0 ? void 0 : _p.entityId, (_q = this.rego) === null || _q === void 0 ? void 0 : _q.menuItemId)) : undefined);
2542
2560
  const reused = !this.Transient || this.Persistent;
2543
2561
  const now = Date.now();
2544
2562
  const animateCursor = () => {
@@ -2565,13 +2583,13 @@ var EntityLabel;
2565
2583
  const cursorAmount = cursorMotion.amount;
2566
2584
  leader = normalLeader || cursorAmount > 0;
2567
2585
  // An icon keeps its callout centred on the glyph rather than following the cursor across it.
2568
- const icon = boxAnchor ? null : measureIcon();
2586
+ const icon = boxAnchor ? null : measureIcon() || model;
2569
2587
  const iconRing = icon ? Math.max(ICON_RING_MIN, icon.radius + ICON_RING_PADDING) : 0;
2570
2588
  // A boxed model is pinned the same way, with its stem leaving the top of the box outline.
2571
2589
  const pinned = Boolean(icon || boxAnchor);
2572
2590
  const pivot = pinned ? undefined : transientPivot;
2573
- let x = boxAnchor ? boxAnchor.x : ((_q = pivot === null || pivot === void 0 ? void 0 : pivot.x) !== null && _q !== void 0 ? _q : anchor.x) + (icon || pixelOffset).x;
2574
- let y = boxAnchor ? boxAnchor.y : ((_r = pivot === null || pivot === void 0 ? void 0 : pivot.y) !== null && _r !== void 0 ? _r : anchor.y) + (icon || pixelOffset).y;
2591
+ let x = boxAnchor ? boxAnchor.x : ((_r = pivot === null || pivot === void 0 ? void 0 : pivot.x) !== null && _r !== void 0 ? _r : anchor.x) + (icon || pixelOffset).x;
2592
+ let y = boxAnchor ? boxAnchor.y : ((_s = pivot === null || pivot === void 0 ? void 0 : pivot.y) !== null && _s !== void 0 ? _s : anchor.y) + (icon || pixelOffset).y;
2575
2593
  if (cursorAmount > 0 && !pinned) {
2576
2594
  // A leader-less label starts centred on its anchor; preserve that box as it lifts away.
2577
2595
  if (!normalLeader) {
@@ -2627,7 +2645,7 @@ var EntityLabel;
2627
2645
  const width = ele.offsetWidth / coordinates.scaleX;
2628
2646
  const height = ele.offsetHeight / coordinates.scaleY;
2629
2647
  let clusterBounds;
2630
- if ((_s = this.options.cluster) === null || _s === void 0 ? void 0 : _s.enabled) {
2648
+ if ((_t = this.options.cluster) === null || _t === void 0 ? void 0 : _t.enabled) {
2631
2649
  const textWidth = (sourceText === null || sourceText === void 0 ? void 0 : sourceText.offsetWidth) || 0;
2632
2650
  const textHeight = (sourceText === null || sourceText === void 0 ? void 0 : sourceText.offsetHeight) || 0;
2633
2651
  // A photo is never part of the footprint, so its arrival cannot change which cluster a label joins.
@@ -2661,7 +2679,7 @@ var EntityLabel;
2661
2679
  if (!leader && (bounds.x + bounds.width < 0 || bounds.y + bounds.height < 0 || bounds.x > this.viewer.canvas.clientWidth || bounds.y > this.viewer.canvas.clientHeight)) {
2662
2680
  return null;
2663
2681
  }
2664
- const state = (_t = this.visualRegister) === null || _t === void 0 ? void 0 : _t.GetState({ entityId: (_u = this.rego) === null || _u === void 0 ? void 0 : _u.entityId, menuItemId: (_v = this.rego) === null || _v === void 0 ? void 0 : _v.menuItemId });
2682
+ const state = (_u = this.visualRegister) === null || _u === void 0 ? void 0 : _u.GetState({ entityId: (_v = this.rego) === null || _v === void 0 ? void 0 : _v.entityId, menuItemId: (_w = this.rego) === null || _w === void 0 ? void 0 : _w.menuItemId });
2665
2683
  const opacity = this.prePositioned || hoverOnly || MAX_DISTANCE === Infinity ? 1 : 1 - distance / MAX_DISTANCE;
2666
2684
  return {
2667
2685
  canFlip: leader && presentation !== "icon", hasLeader: leader,
@@ -2669,8 +2687,8 @@ var EntityLabel;
2669
2687
  transient: this.Transient || Boolean(hover) || cursorAmount > 0,
2670
2688
  extendedGeometry: visual instanceof Cesium.Entity && Boolean(visual.polygon || visual.polyline || visual.corridor),
2671
2689
  viewportWidth: this.viewer.canvas.clientWidth,
2672
- id: this.id, entityKey: ((_w = this.rego) === null || _w === void 0 ? void 0 : _w.entityId) ? JSON.stringify([this.rego.entityId, this.rego.menuItemId || "", this.Transient && !this.Persistent ? "hover" : ""]) : undefined,
2673
- entityId: (_x = this.rego) === null || _x === void 0 ? void 0 : _x.entityId, group: this.groupId, x, y, width, height, anchorX, anchorY, depth, leaderLength, leaderRun, leaderSide, distance,
2690
+ id: this.id, entityKey: ((_x = this.rego) === null || _x === void 0 ? void 0 : _x.entityId) ? JSON.stringify([this.rego.entityId, this.rego.menuItemId || "", this.Transient && !this.Persistent ? "hover" : ""]) : undefined,
2691
+ entityId: (_y = this.rego) === null || _y === void 0 ? void 0 : _y.entityId, group: this.groupId, x, y, width, height, anchorX, anchorY, depth, leaderLength, leaderRun, leaderSide, distance,
2674
2692
  iconRadius: icon === null || icon === void 0 ? void 0 : icon.radius, modelBox: boxed || undefined, boxBlend,
2675
2693
  // Priority shows the hovered member individually without dragging its cluster along.
2676
2694
  opacity: waiting ? 0 : opacity, priority: hover || cursorAmount > 0 || (state === null || state === void 0 ? void 0 : state.highlighted) ? 1 : 0, options: this.options, text: originalText, clusterBounds