bruce-cesium 7.7.3 → 7.7.5

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.
@@ -92,7 +92,7 @@ __exportStar(require("./widgets/widget-info-view"), exports);
92
92
  __exportStar(require("./widgets/widget-left-panel"), exports);
93
93
  __exportStar(require("./widgets/widget-nav-compass"), exports);
94
94
  __exportStar(require("./widgets/widget-view-bar"), exports);
95
- exports.VERSION = "7.7.3";
95
+ exports.VERSION = "7.7.5";
96
96
  /**
97
97
  * Updates the environment instance used by bruce-cesium to one specified.
98
98
  * This can be used to ensure that the instance a parent is referencing is shared between bruce-cesium, bruce-models, and the parent app.
@@ -418,88 +418,103 @@ var EntityRenderEngineModel3d;
418
418
  });
419
419
  cEntity.show = true;
420
420
  }
421
- const fileRadiusKey = `model3d_${bruce_models_1.UrlUtils.RemoveSignature(params.lodUrl)}_${scale * styleScale}_radius`;
422
- let heightProm = _fileRadiusCache.Get(fileRadiusKey);
423
- if (!heightProm) {
424
- heightProm = new Promise(async (res) => {
425
- try {
426
- // We'll have an async secondary model created for calculating boundaries.
427
- // Once calculated we remove it.
428
- const modelPrim = await getModelEntity(params.lodUrl, scale * styleScale);
429
- const onReady = () => {
430
- readyEventRemoval === null || readyEventRemoval === void 0 ? void 0 : readyEventRemoval();
431
- readyEventRemoval = null;
432
- const kill = () => {
433
- if (params.viewer && !params.viewer.isDestroyed() && params.viewer.scene.primitives.contains(modelPrim)) {
434
- params.viewer.scene.primitives.remove(modelPrim);
421
+ const model = cEntity.model;
422
+ model._radiusLoaded = false;
423
+ /*
424
+ * Retains bounds measurement for hosts that cannot expose the displayed model.
425
+ */
426
+ const measureTemporaryModelBounds = () => {
427
+ const fileRadiusKey = `model3d_${bruce_models_1.UrlUtils.RemoveSignature(params.lodUrl)}_${scale * styleScale}_radius`;
428
+ let heightProm = _fileRadiusCache.Get(fileRadiusKey);
429
+ if (!heightProm) {
430
+ heightProm = new Promise(async (res) => {
431
+ try {
432
+ // The fallback needs a temporary primitive until its bounds become available.
433
+ const modelPrim = await getModelEntity(params.lodUrl, scale * styleScale);
434
+ /*
435
+ * Copies bounds before releasing the temporary primitive.
436
+ */
437
+ const onReady = () => {
438
+ readyEventRemoval === null || readyEventRemoval === void 0 ? void 0 : readyEventRemoval();
439
+ readyEventRemoval = null;
440
+ /*
441
+ * Releases the temporary primitive even if the viewer was destroyed.
442
+ */
443
+ const kill = () => {
444
+ if (params.viewer && !params.viewer.isDestroyed() && params.viewer.scene.primitives.contains(modelPrim)) {
445
+ params.viewer.scene.primitives.remove(modelPrim);
446
+ }
447
+ if (!modelPrim.isDestroyed()) {
448
+ modelPrim.destroy();
449
+ }
450
+ };
451
+ if (!cEntity || !(modelPrim === null || modelPrim === void 0 ? void 0 : modelPrim.boundingSphere)) {
452
+ kill();
453
+ res(null);
454
+ return;
435
455
  }
436
- if (!modelPrim.isDestroyed()) {
437
- modelPrim.destroy();
456
+ let radius = modelPrim.boundingSphere.radius;
457
+ let centerOffset = modelPrim.boundingSphere.center;
458
+ const bounds = {
459
+ center: centerOffset ? Cesium.Cartesian3.clone(centerOffset) : Cesium.Cartesian3.ZERO.clone(),
460
+ radius: modelPrim.boundingSphere.radius
461
+ };
462
+ if (centerOffset) {
463
+ // Include the offset so origin-based culling contains the full model.
464
+ const magnitude = Cesium.Cartesian3.magnitude(centerOffset);
465
+ radius += magnitude;
466
+ // Preserve extra culling padding for models with large origin offsets.
467
+ if (magnitude > 100) {
468
+ radius += 100;
469
+ }
438
470
  }
439
- };
440
- if (!cEntity || !(modelPrim === null || modelPrim === void 0 ? void 0 : modelPrim.boundingSphere)) {
441
471
  kill();
442
- res(null);
443
- return;
444
- }
445
- let radius = modelPrim.boundingSphere.radius;
446
- let centerOffset = modelPrim.boundingSphere.center;
447
- const bounds = {
448
- center: centerOffset ? Cesium.Cartesian3.clone(centerOffset) : Cesium.Cartesian3.ZERO.clone(),
449
- radius: modelPrim.boundingSphere.radius
472
+ res({ radius, bounds });
450
473
  };
451
- if (centerOffset) {
452
- // Add the center offset to the radius because I am not good at math.
453
- const magnitude = Cesium.Cartesian3.magnitude(centerOffset);
454
- radius += magnitude;
455
- // Extra padding if the model is super not centered.
456
- // I saw some strange boundaries for some bad models.
457
- if (magnitude > 100) {
458
- radius += 100;
459
- }
474
+ let readyEventRemoval = null;
475
+ // Prefer the ready event when the host exposes it.
476
+ if (modelPrim["readyEvent"]) {
477
+ modelPrim["readyEvent"].addEventListener(onReady);
460
478
  }
461
- kill();
462
- res({ radius, bounds });
463
- };
464
- let readyEventRemoval = null;
465
- // Newer Cesium versions have readyEvent. They don't use readyPromise.
466
- if (modelPrim["readyEvent"]) {
467
- modelPrim["readyEvent"].addEventListener(onReady);
479
+ // Retain compatibility with promise-based hosts.
480
+ else if (modelPrim["readyPromise"]) {
481
+ modelPrim["readyPromise"].then(() => {
482
+ onReady();
483
+ }).catch((e) => {
484
+ console.error(e);
485
+ res(null);
486
+ });
487
+ }
488
+ params.viewer.scene.primitives.add(modelPrim);
468
489
  }
469
- // Older Cesium versions don't have readyEvent, they use readyPromise.
470
- else if (modelPrim["readyPromise"]) {
471
- modelPrim["readyPromise"].then(() => {
472
- onReady();
473
- }).catch((e) => {
474
- console.error(e);
475
- res(null);
476
- });
490
+ catch (e) {
491
+ console.error(e);
492
+ res(null);
493
+ }
494
+ });
495
+ _fileRadiusCache.Set(fileRadiusKey, heightProm);
496
+ }
497
+ heightProm.then((measured) => {
498
+ if (model) {
499
+ model._radius = measured ? measured.radius : null;
500
+ model._bounds = measured ? measured.bounds : null;
501
+ model._radiusLoaded = true;
502
+ if (params.viewer && params.viewer.scene && !params.viewer.isDestroyed()) {
503
+ visual_register_culler_1.VisualRegisterCuller.MarkShouldRecheck(params.viewer);
477
504
  }
478
- params.viewer.scene.primitives.add(modelPrim);
479
505
  }
480
- catch (e) {
481
- console.error(e);
482
- res(null);
506
+ // Rough estimate on when the model is ready in the scene.
507
+ if (animateScale) {
508
+ animateScale.Play();
483
509
  }
484
510
  });
485
- _fileRadiusCache.Set(fileRadiusKey, heightProm);
511
+ };
512
+ if (Cesium.Model.fromGltfAsync) {
513
+ trackRenderedModelBounds(params.viewer, cEntity, model, scale * styleScale, measureTemporaryModelBounds, animateScale);
514
+ }
515
+ else {
516
+ measureTemporaryModelBounds();
486
517
  }
487
- heightProm.then((measured) => {
488
- if (model) {
489
- model._radius = measured ? measured.radius : null;
490
- model._bounds = measured ? measured.bounds : null;
491
- model._radiusLoaded = true;
492
- if (params.viewer && params.viewer.scene && !params.viewer.isDestroyed()) {
493
- visual_register_culler_1.VisualRegisterCuller.MarkShouldRecheck(params.viewer);
494
- }
495
- }
496
- // Rough estimate on when the model is ready in the scene.
497
- if (animateScale) {
498
- animateScale.Play();
499
- }
500
- });
501
- const model = cEntity.model;
502
- model._radiusLoaded = false;
503
518
  model._clientFileId = params.lodClientFileId;
504
519
  model._entityScale = {
505
520
  record: scale,
@@ -707,6 +722,88 @@ var EntityRenderEngineModel3d;
707
722
  }
708
723
  EntityRenderEngineModel3d.RenderGroup = RenderGroup;
709
724
  })(EntityRenderEngineModel3d = exports.EntityRenderEngineModel3d || (exports.EntityRenderEngineModel3d = {}));
725
+ /*
726
+ * Measures bounds from Cesium's displayed model so loading a visual does not also load a temporary model.
727
+ */
728
+ function trackRenderedModelBounds(viewer, entity, model, targetScale, fallback, animateScale) {
729
+ const key = "_nextspaceRenderedModelBoundsMonitor";
730
+ let monitor = viewer[key];
731
+ if (!monitor) {
732
+ monitor = { pending: new Map() };
733
+ viewer[key] = monitor;
734
+ }
735
+ monitor.pending.set(entity.id, { entity, model, targetScale, fallback, animateScale });
736
+ if (monitor.removeListener) {
737
+ return;
738
+ }
739
+ monitor.removeListener = viewer.scene.postRender.addEventListener(() => {
740
+ var _a, _b, _c, _d, _e, _f;
741
+ if (viewer.isDestroyed()) {
742
+ monitor.pending.clear();
743
+ }
744
+ else {
745
+ const primitives = viewer.scene.primitives;
746
+ for (let i = 0; i < primitives.length && monitor.pending.size; i++) {
747
+ const primitive = primitives.get(i);
748
+ if (!(primitive instanceof Cesium.Model) || !primitive.ready) {
749
+ continue;
750
+ }
751
+ const task = monitor.pending.get((_a = primitive.id) === null || _a === void 0 ? void 0 : _a.id);
752
+ if (!task || primitive.id !== task.entity || task.entity.model !== task.model) {
753
+ continue;
754
+ }
755
+ try {
756
+ const sphere = primitive.boundingSphere;
757
+ const matrix = primitive.heightReference == null || primitive.heightReference === Cesium.HeightReference.NONE
758
+ ? primitive.modelMatrix
759
+ : primitive._clampedModelMatrix;
760
+ if (!sphere || !matrix ||
761
+ !Number.isFinite(sphere.radius) || sphere.radius < 0 ||
762
+ !Number.isFinite((_b = sphere.center) === null || _b === void 0 ? void 0 : _b.x) ||
763
+ !Number.isFinite((_c = sphere.center) === null || _c === void 0 ? void 0 : _c.y) ||
764
+ !Number.isFinite((_d = sphere.center) === null || _d === void 0 ? void 0 : _d.z)) {
765
+ throw new Error("Displayed model bounds unavailable");
766
+ }
767
+ const inverse = Cesium.Matrix4.inverseTransformation(matrix, new Cesium.Matrix4());
768
+ const center = Cesium.Matrix4.multiplyByPoint(inverse, sphere.center, new Cesium.Cartesian3());
769
+ const scaleRatio = task.targetScale / primitive.scale;
770
+ Cesium.Cartesian3.multiplyByScalar(center, scaleRatio, center);
771
+ const radius = sphere.radius * scaleRatio;
772
+ const magnitude = Cesium.Cartesian3.magnitude(center);
773
+ if (!Number.isFinite(scaleRatio) || scaleRatio <= 0 || !Number.isFinite(magnitude) || !Number.isFinite(radius)) {
774
+ throw new Error("Displayed model bounds transform invalid");
775
+ }
776
+ task.model._bounds = { center, radius };
777
+ task.model._radius = radius + magnitude + (magnitude > 100 ? 100 : 0);
778
+ task.model._radiusLoaded = true;
779
+ (_e = task.animateScale) === null || _e === void 0 ? void 0 : _e.Play();
780
+ visual_register_culler_1.VisualRegisterCuller.MarkShouldRecheck(viewer);
781
+ }
782
+ catch (e) {
783
+ task.fallback();
784
+ }
785
+ monitor.pending.delete(task.entity.id);
786
+ }
787
+ for (const [id, task] of monitor.pending) {
788
+ const modelShown = (0, cesium_utils_1.GetCValue)(viewer, task.model.show) !== false;
789
+ if (!task.entity.isShowing || !modelShown) {
790
+ task.visibleAt = null;
791
+ }
792
+ else if (task.visibleAt == null) {
793
+ task.visibleAt = performance.now();
794
+ }
795
+ else if (performance.now() - task.visibleAt > 60000) {
796
+ task.fallback();
797
+ monitor.pending.delete(id);
798
+ }
799
+ }
800
+ }
801
+ if (!monitor.pending.size) {
802
+ (_f = monitor.removeListener) === null || _f === void 0 ? void 0 : _f.call(monitor);
803
+ monitor.removeListener = null;
804
+ }
805
+ });
806
+ }
710
807
  async function getName(api, entity, offline) {
711
808
  var _a;
712
809
  const ownName = (0, js_utils_1.GetUsableEntityName)(entity);
@@ -1 +1 @@
1
- {"version":3,"file":"entity-render-engine-model3d.js","sourceRoot":"","sources":["../../../src/rendering/entity-render-engine-model3d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-render-engine-model3d.js","sourceRoot":"","sources":["../../../src/rendering/entity-render-engine-model3d.ts"],"names":[],"mappings":"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"}