bruce-cesium 2.5.3 → 2.5.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 (25) hide show
  1. package/dist/bruce-cesium.es5.js +279 -136
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +278 -135
  4. package/dist/bruce-cesium.umd.js.map +1 -1
  5. package/dist/lib/bruce-cesium.js +1 -1
  6. package/dist/lib/rendering/entity-render-engine.js +134 -99
  7. package/dist/lib/rendering/entity-render-engine.js.map +1 -1
  8. package/dist/lib/rendering/menu-item-manager.js +1 -1
  9. package/dist/lib/rendering/menu-item-manager.js.map +1 -1
  10. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +17 -0
  11. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +1 -1
  12. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +17 -0
  13. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +1 -1
  14. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +63 -34
  15. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
  16. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +17 -0
  17. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +1 -1
  18. package/dist/lib/viewer/viewer-utils.js +29 -0
  19. package/dist/lib/viewer/viewer-utils.js.map +1 -1
  20. package/dist/types/bruce-cesium.d.ts +1 -1
  21. package/dist/types/rendering/render-managers/entities/entities-ids-render-manager.d.ts +5 -1
  22. package/dist/types/rendering/render-managers/entities/entities-loaded-render-manager.d.ts +5 -1
  23. package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +7 -1
  24. package/dist/types/rendering/render-managers/entities/entity-render-manager.d.ts +5 -1
  25. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  import { BruceEvent, Cartes, Carto, Entity as Entity$1, Geometry, Tileset, MathUtils, LRUCache, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, ObjectUtils, Bounds, EntityRelationType, DelayQueue, BatchedDataGetter, EntityCoords, EntityFilterGetter, EntitySource, MenuItem, EntityRelation, ENVIRONMENT, ProjectView, ProjectViewBookmark, ProjectViewTile, ProjectViewLegacyTile, ProgramKey, Camera, AbstractApi, EntityAttachment, EntityAttachmentType, EntityAttribute } from 'bruce-models';
2
2
  import * as Cesium from 'cesium';
3
- import { Cartographic, Cartesian2, CallbackProperty, Cartesian3, Color, Rectangle, Math as Math$1, HeightReference, DistanceDisplayCondition, NearFarScalar, Entity, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, HeadingPitchRoll, Transforms, ColorBlendMode, Primitive, Cesium3DTileFeature, SceneMode, Cesium3DTileColorBlendMode, HeadingPitchRange, createOsmBuildings, Cesium3DTileStyle, KmlDataSource, OrthographicFrustum, JulianDate, EllipsoidGeodesic, EllipsoidTerrainProvider, sampleTerrainMostDetailed, defined, Cesium3DTileset, Model, PolygonPipeline, ColorMaterialProperty, Matrix3, Matrix4, EasingFunction, GeometryInstance, ScreenSpaceEventHandler, ScreenSpaceEventType, IonResource, CesiumInspector, createWorldTerrain, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, Ion, BoundingSphere } from 'cesium';
3
+ import { Cartographic, Cartesian2, CallbackProperty, Cartesian3, Color, Rectangle, Math as Math$1, JulianDate, HeightReference, DistanceDisplayCondition, NearFarScalar, Entity, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, HeadingPitchRoll, Transforms, ColorBlendMode, SceneMode, Primitive, Cesium3DTileFeature, Cesium3DTileColorBlendMode, HeadingPitchRange, createOsmBuildings, Cesium3DTileStyle, KmlDataSource, OrthographicFrustum, createWorldTerrain, EllipsoidTerrainProvider, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, Cesium3DTileset, Matrix4, Matrix3, IonResource, CesiumInspector, defined, EllipsoidGeodesic, sampleTerrainMostDetailed, Model, PolygonPipeline, ColorMaterialProperty, EasingFunction, GeometryInstance, ScreenSpaceEventHandler, ScreenSpaceEventType, Ion, BoundingSphere } from 'cesium';
4
4
 
5
5
  var TIME_LAG = 300;
6
6
  var POSITION_CHECK_TIMER = 950;
@@ -2292,33 +2292,40 @@ var EntityRenderEngine;
2292
2292
  function RenderGroup(params) {
2293
2293
  var _a, _b, _c;
2294
2294
  return __awaiter(this, void 0, void 0, function () {
2295
- var api, cEntities, i, entity, zoomItem, style, tagIds, tags, pStyle, cEntity, name_2;
2296
- return __generator(this, function (_d) {
2297
- switch (_d.label) {
2295
+ var api, cEntities, i, entity, zoomItem, style, _d, tagIds, tags, pStyle, cEntity, name_2;
2296
+ return __generator(this, function (_e) {
2297
+ switch (_e.label) {
2298
2298
  case 0:
2299
2299
  api = params.apiGetter.getApi();
2300
2300
  cEntities = {};
2301
2301
  i = 0;
2302
- _d.label = 1;
2302
+ _e.label = 1;
2303
2303
  case 1:
2304
- if (!(i < params.entities.length)) return [3 /*break*/, 9];
2304
+ if (!(i < params.entities.length)) return [3 /*break*/, 11];
2305
2305
  entity = params.entities[i];
2306
2306
  zoomItem = params.zoomItems[entity.Bruce.ID];
2307
+ if (!(zoomItem.StyleID != -1)) return [3 /*break*/, 3];
2307
2308
  return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
2308
2309
  case 2:
2309
- style = _d.sent();
2310
+ _d = (_a = (_e.sent())) === null || _a === void 0 ? void 0 : _a.Settings;
2311
+ return [3 /*break*/, 4];
2312
+ case 3:
2313
+ _d = zoomItem.Style;
2314
+ _e.label = 4;
2315
+ case 4:
2316
+ style = _d;
2310
2317
  tagIds = entity.Bruce["Layer.ID"];
2311
2318
  tags = [];
2312
- if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 4];
2319
+ if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 6];
2313
2320
  return [4 /*yield*/, EntityTag.GetListByIds({
2314
2321
  api: api,
2315
2322
  tagIds: tagIds
2316
2323
  })];
2317
- case 3:
2318
- tags = (_d.sent()).tags;
2319
- _d.label = 4;
2320
- case 4:
2321
- pStyle = (_b = (_a = style === null || style === void 0 ? void 0 : style.Settings) === null || _a === void 0 ? void 0 : _a.pointStyle) !== null && _b !== void 0 ? _b : {};
2324
+ case 5:
2325
+ tags = (_e.sent()).tags;
2326
+ _e.label = 6;
2327
+ case 6:
2328
+ pStyle = (_b = style === null || style === void 0 ? void 0 : style.pointStyle) !== null && _b !== void 0 ? _b : {};
2322
2329
  return [4 /*yield*/, Render({
2323
2330
  entity: entity,
2324
2331
  style: pStyle,
@@ -2328,22 +2335,22 @@ var EntityRenderEngine;
2328
2335
  maxDistance: zoomItem.MaxZoom,
2329
2336
  minDistance: zoomItem.MinZoom
2330
2337
  })];
2331
- case 5:
2332
- cEntity = _d.sent();
2333
- if (!cEntity) return [3 /*break*/, 7];
2338
+ case 7:
2339
+ cEntity = _e.sent();
2340
+ if (!cEntity) return [3 /*break*/, 9];
2334
2341
  return [4 /*yield*/, getName(api, entity)];
2335
- case 6:
2336
- name_2 = _d.sent();
2342
+ case 8:
2343
+ name_2 = _e.sent();
2337
2344
  cEntity.name = name_2;
2338
2345
  cEntity._renderGroup = getRenderGroupId(zoomItem, (_c = params.viewer) === null || _c === void 0 ? void 0 : _c.terrainProvider);
2339
- _d.label = 7;
2340
- case 7:
2346
+ _e.label = 9;
2347
+ case 9:
2341
2348
  cEntities[entity.Bruce.ID] = cEntity;
2342
- _d.label = 8;
2343
- case 8:
2349
+ _e.label = 10;
2350
+ case 10:
2344
2351
  i++;
2345
2352
  return [3 /*break*/, 1];
2346
- case 9: return [2 /*return*/, cEntities];
2353
+ case 11: return [2 /*return*/, cEntities];
2347
2354
  }
2348
2355
  });
2349
2356
  });
@@ -2456,33 +2463,40 @@ var EntityRenderEngine;
2456
2463
  function RenderGroup(params) {
2457
2464
  var _a, _b, _c;
2458
2465
  return __awaiter(this, void 0, void 0, function () {
2459
- var api, cEntities, i, entity, zoomItem, style, tagIds, tags, lStyle, cEntity, name_3;
2460
- return __generator(this, function (_d) {
2461
- switch (_d.label) {
2466
+ var api, cEntities, i, entity, zoomItem, style, _d, tagIds, tags, lStyle, cEntity, name_3;
2467
+ return __generator(this, function (_e) {
2468
+ switch (_e.label) {
2462
2469
  case 0:
2463
2470
  api = params.apiGetter.getApi();
2464
2471
  cEntities = {};
2465
2472
  i = 0;
2466
- _d.label = 1;
2473
+ _e.label = 1;
2467
2474
  case 1:
2468
- if (!(i < params.entities.length)) return [3 /*break*/, 7];
2475
+ if (!(i < params.entities.length)) return [3 /*break*/, 9];
2469
2476
  entity = params.entities[i];
2470
2477
  zoomItem = params.zoomItems[entity.Bruce.ID];
2478
+ if (!(zoomItem.StyleID != -1)) return [3 /*break*/, 3];
2471
2479
  return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
2472
2480
  case 2:
2473
- style = _d.sent();
2481
+ _d = (_a = (_e.sent())) === null || _a === void 0 ? void 0 : _a.Settings;
2482
+ return [3 /*break*/, 4];
2483
+ case 3:
2484
+ _d = zoomItem.Style;
2485
+ _e.label = 4;
2486
+ case 4:
2487
+ style = _d;
2474
2488
  tagIds = entity.Bruce["Layer.ID"];
2475
2489
  tags = [];
2476
- if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 4];
2490
+ if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 6];
2477
2491
  return [4 /*yield*/, EntityTag.GetListByIds({
2478
2492
  api: api,
2479
2493
  tagIds: tagIds
2480
2494
  })];
2481
- case 3:
2482
- tags = (_d.sent()).tags;
2483
- _d.label = 4;
2484
- case 4:
2485
- lStyle = (_b = (_a = style === null || style === void 0 ? void 0 : style.Settings) === null || _a === void 0 ? void 0 : _a.polylineStyle) !== null && _b !== void 0 ? _b : {};
2495
+ case 5:
2496
+ tags = (_e.sent()).tags;
2497
+ _e.label = 6;
2498
+ case 6:
2499
+ lStyle = (_b = style === null || style === void 0 ? void 0 : style.polylineStyle) !== null && _b !== void 0 ? _b : {};
2486
2500
  cEntity = Render({
2487
2501
  entity: entity,
2488
2502
  style: lStyle,
@@ -2491,18 +2505,18 @@ var EntityRenderEngine;
2491
2505
  maxDistance: zoomItem.MaxZoom,
2492
2506
  minDistance: zoomItem.MinZoom
2493
2507
  });
2494
- if (!cEntity) return [3 /*break*/, 6];
2508
+ if (!cEntity) return [3 /*break*/, 8];
2495
2509
  return [4 /*yield*/, getName(api, entity)];
2496
- case 5:
2497
- name_3 = _d.sent();
2510
+ case 7:
2511
+ name_3 = _e.sent();
2498
2512
  cEntity.name = name_3;
2499
2513
  cEntity._renderGroup = getRenderGroupId(zoomItem, (_c = params.viewer) === null || _c === void 0 ? void 0 : _c.terrainProvider);
2500
2514
  cEntities[entity.Bruce.ID] = cEntity;
2501
- _d.label = 6;
2502
- case 6:
2515
+ _e.label = 8;
2516
+ case 8:
2503
2517
  i++;
2504
2518
  return [3 /*break*/, 1];
2505
- case 7: return [2 /*return*/, cEntities];
2519
+ case 9: return [2 /*return*/, cEntities];
2506
2520
  }
2507
2521
  });
2508
2522
  });
@@ -2668,33 +2682,40 @@ var EntityRenderEngine;
2668
2682
  function RenderGroup(params) {
2669
2683
  var _a, _b, _c;
2670
2684
  return __awaiter(this, void 0, void 0, function () {
2671
- var api, cEntities, i, entity, zoomItem, style, tagIds, tags, pStyle, cEntity, name_4;
2672
- return __generator(this, function (_d) {
2673
- switch (_d.label) {
2685
+ var api, cEntities, i, entity, zoomItem, style, _d, tagIds, tags, pStyle, cEntity, name_4;
2686
+ return __generator(this, function (_e) {
2687
+ switch (_e.label) {
2674
2688
  case 0:
2675
2689
  api = params.apiGetter.getApi();
2676
2690
  cEntities = {};
2677
2691
  i = 0;
2678
- _d.label = 1;
2692
+ _e.label = 1;
2679
2693
  case 1:
2680
- if (!(i < params.entities.length)) return [3 /*break*/, 7];
2694
+ if (!(i < params.entities.length)) return [3 /*break*/, 9];
2681
2695
  entity = params.entities[i];
2682
2696
  zoomItem = params.zoomItems[entity.Bruce.ID];
2697
+ if (!(zoomItem.StyleID != -1)) return [3 /*break*/, 3];
2683
2698
  return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
2684
2699
  case 2:
2685
- style = _d.sent();
2700
+ _d = (_a = (_e.sent())) === null || _a === void 0 ? void 0 : _a.Settings;
2701
+ return [3 /*break*/, 4];
2702
+ case 3:
2703
+ _d = zoomItem.Style;
2704
+ _e.label = 4;
2705
+ case 4:
2706
+ style = _d;
2686
2707
  tagIds = entity.Bruce["Layer.ID"];
2687
2708
  tags = [];
2688
- if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 4];
2709
+ if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 6];
2689
2710
  return [4 /*yield*/, EntityTag.GetListByIds({
2690
2711
  api: api,
2691
2712
  tagIds: tagIds
2692
2713
  })];
2693
- case 3:
2694
- tags = (_d.sent()).tags;
2695
- _d.label = 4;
2696
- case 4:
2697
- pStyle = (_b = (_a = style === null || style === void 0 ? void 0 : style.Settings) === null || _a === void 0 ? void 0 : _a.polygonStyle) !== null && _b !== void 0 ? _b : {};
2714
+ case 5:
2715
+ tags = (_e.sent()).tags;
2716
+ _e.label = 6;
2717
+ case 6:
2718
+ pStyle = (_b = style === null || style === void 0 ? void 0 : style.polygonStyle) !== null && _b !== void 0 ? _b : {};
2698
2719
  cEntity = Render({
2699
2720
  entity: entity,
2700
2721
  style: pStyle,
@@ -2703,18 +2724,18 @@ var EntityRenderEngine;
2703
2724
  maxDistance: zoomItem.MaxZoom,
2704
2725
  minDistance: zoomItem.MinZoom
2705
2726
  });
2706
- if (!cEntity) return [3 /*break*/, 6];
2727
+ if (!cEntity) return [3 /*break*/, 8];
2707
2728
  return [4 /*yield*/, getName(api, entity)];
2708
- case 5:
2709
- name_4 = _d.sent();
2729
+ case 7:
2730
+ name_4 = _e.sent();
2710
2731
  cEntity.name = name_4;
2711
2732
  cEntity._renderGroup = getRenderGroupId(zoomItem, (_c = params.viewer) === null || _c === void 0 ? void 0 : _c.terrainProvider);
2712
2733
  cEntities[entity.Bruce.ID] = cEntity;
2713
- _d.label = 6;
2714
- case 6:
2734
+ _e.label = 8;
2735
+ case 8:
2715
2736
  i++;
2716
2737
  return [3 /*break*/, 1];
2717
- case 7: return [2 /*return*/, cEntities];
2738
+ case 9: return [2 /*return*/, cEntities];
2718
2739
  }
2719
2740
  });
2720
2741
  });
@@ -2800,9 +2821,9 @@ var EntityRenderEngine;
2800
2821
  function RenderGroup(params) {
2801
2822
  var _a, _b, _c, _d, _e;
2802
2823
  return __awaiter(this, void 0, void 0, function () {
2803
- var api, cEntities, reqBody, i, entity, zoomItem, style, tagIds, tags, mStyle, group, level, catId, lodData, _loop_2, i;
2804
- return __generator(this, function (_f) {
2805
- switch (_f.label) {
2824
+ var api, cEntities, reqBody, i, entity, zoomItem, style, _f, tagIds, tags, mStyle, group, level, catId, lodData, _loop_2, i;
2825
+ return __generator(this, function (_g) {
2826
+ switch (_g.label) {
2806
2827
  case 0:
2807
2828
  api = params.apiGetter.getApi();
2808
2829
  cEntities = {};
@@ -2812,26 +2833,33 @@ var EntityRenderEngine;
2812
2833
  "Items": []
2813
2834
  };
2814
2835
  i = 0;
2815
- _f.label = 1;
2836
+ _g.label = 1;
2816
2837
  case 1:
2817
- if (!(i < params.entities.length)) return [3 /*break*/, 6];
2838
+ if (!(i < params.entities.length)) return [3 /*break*/, 8];
2818
2839
  entity = params.entities[i];
2819
2840
  zoomItem = params.zoomItems[entity.Bruce.ID];
2841
+ if (!(zoomItem.StyleID != -1)) return [3 /*break*/, 3];
2820
2842
  return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
2821
2843
  case 2:
2822
- style = _f.sent();
2844
+ _f = (_a = (_g.sent())) === null || _a === void 0 ? void 0 : _a.Settings;
2845
+ return [3 /*break*/, 4];
2846
+ case 3:
2847
+ _f = zoomItem.Style;
2848
+ _g.label = 4;
2849
+ case 4:
2850
+ style = _f;
2823
2851
  tagIds = entity.Bruce["Layer.ID"];
2824
2852
  tags = [];
2825
- if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 4];
2853
+ if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 6];
2826
2854
  return [4 /*yield*/, EntityTag.GetListByIds({
2827
2855
  api: api,
2828
2856
  tagIds: tagIds
2829
2857
  })];
2830
- case 3:
2831
- tags = (_f.sent()).tags;
2832
- _f.label = 4;
2833
- case 4:
2834
- mStyle = (_b = (_a = style === null || style === void 0 ? void 0 : style.Settings) === null || _a === void 0 ? void 0 : _a.modelStyle) !== null && _b !== void 0 ? _b : {};
2858
+ case 5:
2859
+ tags = (_g.sent()).tags;
2860
+ _g.label = 6;
2861
+ case 6:
2862
+ mStyle = (_b = style === null || style === void 0 ? void 0 : style.modelStyle) !== null && _b !== void 0 ? _b : {};
2835
2863
  group = mStyle.lodGroup ? Calculator.GetString(mStyle.lodGroup, entity, tags) : null;
2836
2864
  if (!group) {
2837
2865
  group = "DEFAULT";
@@ -2850,42 +2878,49 @@ var EntityRenderEngine;
2850
2878
  "group": group,
2851
2879
  "level": level
2852
2880
  });
2853
- _f.label = 5;
2854
- case 5:
2881
+ _g.label = 7;
2882
+ case 7:
2855
2883
  i++;
2856
2884
  return [3 /*break*/, 1];
2857
- case 6: return [4 /*yield*/, EntityLod.GetLods({
2885
+ case 8: return [4 /*yield*/, EntityLod.GetLods({
2858
2886
  api: api,
2859
2887
  filter: reqBody
2860
2888
  })];
2861
- case 7:
2862
- lodData = (_f.sent()).lods;
2889
+ case 9:
2890
+ lodData = (_g.sent()).lods;
2863
2891
  _loop_2 = function (i) {
2864
- var entity, zoomItem, style, tagIds, tags, lod, mStyle, cEntity, name_5;
2865
- return __generator(this, function (_g) {
2866
- switch (_g.label) {
2892
+ var entity, zoomItem, style, _h, tagIds, tags, lod, mStyle, cEntity, name_5;
2893
+ return __generator(this, function (_j) {
2894
+ switch (_j.label) {
2867
2895
  case 0:
2868
2896
  entity = params.entities[i];
2869
2897
  zoomItem = params.zoomItems[entity.Bruce.ID];
2898
+ if (!(zoomItem.StyleID != -1)) return [3 /*break*/, 2];
2870
2899
  return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
2871
2900
  case 1:
2872
- style = _g.sent();
2901
+ _h = (_c = (_j.sent())) === null || _c === void 0 ? void 0 : _c.Settings;
2902
+ return [3 /*break*/, 3];
2903
+ case 2:
2904
+ _h = zoomItem.Style;
2905
+ _j.label = 3;
2906
+ case 3:
2907
+ style = _h;
2873
2908
  tagIds = entity.Bruce["Layer.ID"];
2874
2909
  tags = [];
2875
- if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 3];
2910
+ if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 5];
2876
2911
  return [4 /*yield*/, EntityTag.GetListByIds({
2877
2912
  api: api,
2878
2913
  tagIds: tagIds
2879
2914
  })];
2880
- case 2:
2881
- tags = (_g.sent()).tags;
2882
- _g.label = 3;
2883
- case 3:
2915
+ case 4:
2916
+ tags = (_j.sent()).tags;
2917
+ _j.label = 5;
2918
+ case 5:
2884
2919
  lod = lodData.find(function (x) { return x.entityId == entity.Bruce.ID; });
2885
2920
  if (!(lod === null || lod === void 0 ? void 0 : lod.clientFileId)) {
2886
2921
  return [2 /*return*/, "continue"];
2887
2922
  }
2888
- mStyle = (_d = (_c = style === null || style === void 0 ? void 0 : style.Settings) === null || _c === void 0 ? void 0 : _c.modelStyle) !== null && _d !== void 0 ? _d : {};
2923
+ mStyle = (_d = style === null || style === void 0 ? void 0 : style.modelStyle) !== null && _d !== void 0 ? _d : {};
2889
2924
  cEntity = Render({
2890
2925
  entity: entity,
2891
2926
  style: mStyle,
@@ -2899,30 +2934,30 @@ var EntityRenderEngine;
2899
2934
  maxDistance: zoomItem.MaxZoom,
2900
2935
  minDistance: zoomItem.MinZoom
2901
2936
  });
2902
- if (!cEntity) return [3 /*break*/, 5];
2937
+ if (!cEntity) return [3 /*break*/, 7];
2903
2938
  return [4 /*yield*/, getName(api, entity)];
2904
- case 4:
2905
- name_5 = _g.sent();
2939
+ case 6:
2940
+ name_5 = _j.sent();
2906
2941
  cEntity.name = name_5;
2907
2942
  cEntity._renderGroup = getRenderGroupId(zoomItem, (_e = params.viewer) === null || _e === void 0 ? void 0 : _e.terrainProvider);
2908
2943
  cEntities[entity.Bruce.ID] = cEntity;
2909
- _g.label = 5;
2910
- case 5: return [2 /*return*/];
2944
+ _j.label = 7;
2945
+ case 7: return [2 /*return*/];
2911
2946
  }
2912
2947
  });
2913
2948
  };
2914
2949
  i = 0;
2915
- _f.label = 8;
2916
- case 8:
2917
- if (!(i < params.entities.length)) return [3 /*break*/, 11];
2918
- return [5 /*yield**/, _loop_2(i)];
2919
- case 9:
2920
- _f.sent();
2921
- _f.label = 10;
2950
+ _g.label = 10;
2922
2951
  case 10:
2952
+ if (!(i < params.entities.length)) return [3 /*break*/, 13];
2953
+ return [5 /*yield**/, _loop_2(i)];
2954
+ case 11:
2955
+ _g.sent();
2956
+ _g.label = 12;
2957
+ case 12:
2923
2958
  i++;
2924
- return [3 /*break*/, 8];
2925
- case 11: return [2 /*return*/, cEntities];
2959
+ return [3 /*break*/, 10];
2960
+ case 13: return [2 /*return*/, cEntities];
2926
2961
  }
2927
2962
  });
2928
2963
  });
@@ -5260,7 +5295,7 @@ var EntitiesRenderManager;
5260
5295
  });
5261
5296
  Manager.prototype.Init = function (params) {
5262
5297
  var _this = this;
5263
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
5298
+ var _a, _b, _c, _d, _e, _f;
5264
5299
  if (this.disposed) {
5265
5300
  throw (new Error("This item is disposed."));
5266
5301
  }
@@ -5286,13 +5321,10 @@ var EntitiesRenderManager;
5286
5321
  }
5287
5322
  tagsToRender = [].concat(tagsToRender);
5288
5323
  var shouldRender = !isTagItem || tagsToRender.length > 0;
5289
- (_b = this.getter) === null || _b === void 0 ? void 0 : _b.ExcludeMenuItem(this.item.id);
5290
- this.getter = null;
5291
- (_c = this.getterSub) === null || _c === void 0 ? void 0 : _c.call(this);
5292
- this.getterSub = null;
5293
- (_d = this.viewMonitorRemoval) === null || _d === void 0 ? void 0 : _d.call(this);
5324
+ this.unsetGetter();
5325
+ (_b = this.viewMonitorRemoval) === null || _b === void 0 ? void 0 : _b.call(this);
5294
5326
  this.viewMonitorRemoval = null;
5295
- (_e = this.entityCheckQueue) === null || _e === void 0 ? void 0 : _e.Dispose();
5327
+ (_c = this.entityCheckQueue) === null || _c === void 0 ? void 0 : _c.Dispose();
5296
5328
  this.entityCheckQueue = null;
5297
5329
  clearInterval(this.renderQueueInterval);
5298
5330
  this.renderQueueInterval = null;
@@ -5304,22 +5336,39 @@ var EntitiesRenderManager;
5304
5336
  menuItemId: this.item.id,
5305
5337
  retainTagIds: tagsToRender
5306
5338
  });
5307
- (_f = this.clustering) === null || _f === void 0 ? void 0 : _f.Dispose();
5339
+ (_d = this.clustering) === null || _d === void 0 ? void 0 : _d.Dispose();
5308
5340
  }
5309
5341
  else {
5310
5342
  this.visualsManager.RemoveRegos({
5311
5343
  menuItemId: this.item.id
5312
5344
  });
5313
- (_g = this.clustering) === null || _g === void 0 ? void 0 : _g.Dispose();
5345
+ (_e = this.clustering) === null || _e === void 0 ? void 0 : _e.Dispose();
5314
5346
  return;
5315
5347
  }
5316
5348
  if (this.item.enableClustering) {
5317
- this.clustering = new PointClustering(this.visualsManager, this.item.id, (_h = this.item) === null || _h === void 0 ? void 0 : _h.clustering);
5349
+ this.clustering = new PointClustering(this.visualsManager, this.item.id, (_f = this.item) === null || _f === void 0 ? void 0 : _f.clustering);
5318
5350
  }
5319
- var api = this.apiGetter.getApi();
5351
+ this.setGetter();
5352
+ this.viewMonitorRemoval = this.monitor.Updated().Subscribe(function () {
5353
+ _this.entityCheckQueue.Call();
5354
+ });
5355
+ this.entityCheckQueue = new DelayQueue(function () {
5356
+ var _a;
5357
+ // Don't bother checking for zoom control changes if we only have 1 item.
5358
+ // We'll let Cesium handle hide/show at max zoom range.
5359
+ var shouldCheck = ((_a = _this.item) === null || _a === void 0 ? void 0 : _a.CameraZoomSettings) && _this.item.CameraZoomSettings.length > 1;
5360
+ if (shouldCheck) {
5361
+ _this.doEntityCheck(Object.keys(_this.renderedEntities));
5362
+ }
5363
+ }, 3000);
5364
+ };
5365
+ Manager.prototype.setGetter = function () {
5366
+ var _this = this;
5367
+ var _a;
5368
+ this.unsetGetter();
5320
5369
  this.getter = this.sharedGetters.GetOrCreateFilterGetter({
5321
- api: api,
5322
- attrFilter: (_j = this.item.BruceEntity.Filter) !== null && _j !== void 0 ? _j : {},
5370
+ api: this.apiGetter.getApi(),
5371
+ attrFilter: (_a = this.item.BruceEntity.Filter) !== null && _a !== void 0 ? _a : {},
5323
5372
  batchSize: BATCH_SIZE,
5324
5373
  typeId: this.item.BruceEntity["EntityType.ID"],
5325
5374
  monitor: this.monitor,
@@ -5331,6 +5380,12 @@ var EntitiesRenderManager;
5331
5380
  zoomControl: this.item.CameraZoomSettings
5332
5381
  });
5333
5382
  this.getter.IncludeMenuItem(this.item.id, [], minMax[0], minMax[1]);
5383
+ var isTagItem = Boolean(this.item.BruceEntity.ExpandLayers);
5384
+ var tagsToRender = isTagItem ? this.item.BruceEntity.SelectedExpandLayers : null;
5385
+ if (!tagsToRender) {
5386
+ tagsToRender = [];
5387
+ }
5388
+ tagsToRender = [].concat(tagsToRender);
5334
5389
  this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
5335
5390
  if (isTagItem) {
5336
5391
  _this.distributeForRender(entities.filter(function (entity) {
@@ -5347,18 +5402,13 @@ var EntitiesRenderManager;
5347
5402
  _this.distributeForRender(entities);
5348
5403
  }
5349
5404
  });
5350
- this.viewMonitorRemoval = this.monitor.Updated().Subscribe(function () {
5351
- _this.entityCheckQueue.Call();
5352
- });
5353
- this.entityCheckQueue = new DelayQueue(function () {
5354
- var _a;
5355
- // Don't bother checking for zoom control changes if we only have 1 item.
5356
- // We'll let Cesium handle hide/show at max zoom range.
5357
- var shouldCheck = ((_a = _this.item) === null || _a === void 0 ? void 0 : _a.CameraZoomSettings) && _this.item.CameraZoomSettings.length > 1;
5358
- if (shouldCheck) {
5359
- _this.doEntityCheck(Object.keys(_this.renderedEntities));
5360
- }
5361
- }, 3000);
5405
+ };
5406
+ Manager.prototype.unsetGetter = function () {
5407
+ var _a, _b;
5408
+ (_a = this.getter) === null || _a === void 0 ? void 0 : _a.ExcludeMenuItem(this.item.id);
5409
+ this.getter = null;
5410
+ (_b = this.getterSub) === null || _b === void 0 ? void 0 : _b.call(this);
5411
+ this.getterSub = null;
5362
5412
  };
5363
5413
  Manager.prototype.Dispose = function () {
5364
5414
  if (this.disposed) {
@@ -5367,21 +5417,17 @@ var EntitiesRenderManager;
5367
5417
  this.doDispose();
5368
5418
  };
5369
5419
  Manager.prototype.doDispose = function () {
5370
- var _a, _b, _c, _d;
5371
- (_a = this.getterSub) === null || _a === void 0 ? void 0 : _a.call(this);
5372
- this.getterSub = null;
5373
- if (this.getter) {
5374
- this.getter.ExcludeMenuItem(this.item.id);
5375
- }
5420
+ var _a, _b, _c;
5421
+ this.unsetGetter();
5376
5422
  this.disposed = true;
5377
5423
  this.visualsManager.RemoveRegos({
5378
5424
  menuItemId: this.item.id
5379
5425
  });
5380
- (_b = this.entityCheckRemoval) === null || _b === void 0 ? void 0 : _b.call(this);
5381
- (_c = this.viewMonitorRemoval) === null || _c === void 0 ? void 0 : _c.call(this);
5426
+ (_a = this.entityCheckRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
5427
+ (_b = this.viewMonitorRemoval) === null || _b === void 0 ? void 0 : _b.call(this);
5382
5428
  clearInterval(this.renderQueueInterval);
5383
5429
  this.renderQueue = [];
5384
- (_d = this.clustering) === null || _d === void 0 ? void 0 : _d.Dispose();
5430
+ (_c = this.clustering) === null || _c === void 0 ? void 0 : _c.Dispose();
5385
5431
  };
5386
5432
  Manager.prototype.ReRender = function (params) {
5387
5433
  return __awaiter(this, void 0, void 0, function () {
@@ -5435,6 +5481,24 @@ var EntitiesRenderManager;
5435
5481
  });
5436
5482
  });
5437
5483
  };
5484
+ Manager.prototype.UpdateSettings = function (params) {
5485
+ var CameraZoomSettings = params.zoomControl, queueRerender = params.queueRerender;
5486
+ if (this.disposed) {
5487
+ return;
5488
+ }
5489
+ if (CameraZoomSettings === null || CameraZoomSettings === void 0 ? void 0 : CameraZoomSettings.length) {
5490
+ this.item.CameraZoomSettings = CameraZoomSettings;
5491
+ this.setGetter();
5492
+ }
5493
+ if (queueRerender != false) {
5494
+ var entityIds = Object.keys(this.renderedEntities);
5495
+ this.visualsManager.MarkStale({
5496
+ entityIds: entityIds,
5497
+ menuItemIds: [this.item.id]
5498
+ });
5499
+ this.doEntityCheck(entityIds);
5500
+ }
5501
+ };
5438
5502
  Manager.prototype.doEntityCheck = function (ids) {
5439
5503
  return __awaiter(this, void 0, void 0, function () {
5440
5504
  var api, checkBatch, e_2;
@@ -5717,6 +5781,23 @@ var EntitiesLoadedRenderManager;
5717
5781
  });
5718
5782
  });
5719
5783
  };
5784
+ Manager.prototype.UpdateSettings = function (params) {
5785
+ var CameraZoomSettings = params.zoomControl, queueRerender = params.queueRerender;
5786
+ if (this.disposed) {
5787
+ return;
5788
+ }
5789
+ if (CameraZoomSettings === null || CameraZoomSettings === void 0 ? void 0 : CameraZoomSettings.length) {
5790
+ this.item.CameraZoomSettings = CameraZoomSettings;
5791
+ }
5792
+ if (queueRerender != false) {
5793
+ var entityIds = Object.keys(this.renderedEntities);
5794
+ this.visualsManager.MarkStale({
5795
+ entityIds: entityIds,
5796
+ menuItemIds: [this.item.id]
5797
+ });
5798
+ this.doEntityCheck(entityIds);
5799
+ }
5800
+ };
5720
5801
  Manager.prototype.doEntityCheck = function (ids, force) {
5721
5802
  if (force === void 0) { force = false; }
5722
5803
  return __awaiter(this, void 0, void 0, function () {
@@ -5948,6 +6029,23 @@ var EntitiesIdsRenderManager;
5948
6029
  });
5949
6030
  });
5950
6031
  };
6032
+ Manager.prototype.UpdateSettings = function (params) {
6033
+ var CameraZoomSettings = params.zoomControl, queueRerender = params.queueRerender;
6034
+ if (this.disposed) {
6035
+ return;
6036
+ }
6037
+ if (CameraZoomSettings === null || CameraZoomSettings === void 0 ? void 0 : CameraZoomSettings.length) {
6038
+ this.item.CameraZoomSettings = CameraZoomSettings;
6039
+ }
6040
+ if (queueRerender != false) {
6041
+ var entityIds = Object.keys(this.renderedEntities);
6042
+ this.visualsManager.MarkStale({
6043
+ entityIds: entityIds,
6044
+ menuItemIds: [this.item.id]
6045
+ });
6046
+ this.onGetterUpdate(entityIds);
6047
+ }
6048
+ };
5951
6049
  Manager.prototype.onGetterUpdate = function (entityIds, force) {
5952
6050
  if (force === void 0) { force = false; }
5953
6051
  return __awaiter(this, void 0, void 0, function () {
@@ -6182,6 +6280,23 @@ var EntityRenderManager;
6182
6280
  });
6183
6281
  });
6184
6282
  };
6283
+ Manager.prototype.UpdateSettings = function (params) {
6284
+ var CameraZoomSettings = params.zoomControl, queueRerender = params.queueRerender;
6285
+ if (this.disposed) {
6286
+ return;
6287
+ }
6288
+ if (CameraZoomSettings === null || CameraZoomSettings === void 0 ? void 0 : CameraZoomSettings.length) {
6289
+ this.item.CameraZoomSettings = CameraZoomSettings;
6290
+ }
6291
+ if (queueRerender != false) {
6292
+ var entityId = this.item.BruceEntity.EntityId;
6293
+ this.visualsManager.MarkStale({
6294
+ entityIds: [entityId],
6295
+ menuItemIds: [this.item.id]
6296
+ });
6297
+ this.onGetterUpdate(entityId, true);
6298
+ }
6299
+ };
6185
6300
  Manager.prototype.renderEntity = function (entity, force) {
6186
6301
  var _a;
6187
6302
  if (force === void 0) { force = false; }
@@ -9135,7 +9250,7 @@ var MenuItemManager;
9135
9250
  if (rItem.renderManager && !((_c = rItem.renderManager) === null || _c === void 0 ? void 0 : _c.Disposed)) {
9136
9251
  (_d = this.onUpdate) === null || _d === void 0 ? void 0 : _d.Trigger({ isEnabling: true, itemId: rItem.id });
9137
9252
  }
9138
- rItem.id;
9253
+ return rItem.id;
9139
9254
  };
9140
9255
  /**
9141
9256
  * Disables a menu item by its id.
@@ -14714,6 +14829,30 @@ var WidgetInfoView = /** @class */ (function (_super) {
14714
14829
  }(Widget.AWidget));
14715
14830
 
14716
14831
  var CESIUM_VIEWER_MANAGER_KEY = "_cesiumViewerManager";
14832
+ /**
14833
+ * Bug related to entities not being visible after they were added then a render was requested.
14834
+ * It was 4 point entities in York. They would not appear until a request render was recalled.
14835
+ * Adding this slow render loop as a band-aid fix.
14836
+ */
14837
+ var BACKGROUND_RENDERING_KEY = "_backgroundRendering";
14838
+ function backgroundRendering(viewer) {
14839
+ if (viewer[BACKGROUND_RENDERING_KEY]) {
14840
+ return;
14841
+ }
14842
+ viewer[BACKGROUND_RENDERING_KEY] = true;
14843
+ var interval = setInterval(function () {
14844
+ if (!(viewer === null || viewer === void 0 ? void 0 : viewer.scene) || viewer.isDestroyed()) {
14845
+ clearInterval(interval);
14846
+ return;
14847
+ }
14848
+ // Check if last render time is greater than 3 seconds ago.
14849
+ // We check in case something else is also requesting renders.
14850
+ var lastRenderTime = viewer.scene.lastRenderTime;
14851
+ if (!lastRenderTime || JulianDate.secondsDifference(JulianDate.now(), lastRenderTime) > 3) {
14852
+ viewer.scene.requestRender();
14853
+ }
14854
+ }, 3500);
14855
+ }
14717
14856
  var ViewerUtils;
14718
14857
  (function (ViewerUtils) {
14719
14858
  /**
@@ -14739,6 +14878,7 @@ var ViewerUtils;
14739
14878
  viewer: viewer
14740
14879
  });
14741
14880
  }
14881
+ backgroundRendering(viewer);
14742
14882
  return data;
14743
14883
  }
14744
14884
  ViewerUtils.InitViewer = InitViewer;
@@ -14756,6 +14896,9 @@ var ViewerUtils;
14756
14896
  var _a;
14757
14897
  var viewer = params.viewer;
14758
14898
  var container = viewer.container;
14899
+ if (!container.style.position) {
14900
+ container.style.position = "relative";
14901
+ }
14759
14902
  var genContainer = (_a = container.getElementsByClassName("cesium-viewer")) === null || _a === void 0 ? void 0 : _a[0];
14760
14903
  if (genContainer) {
14761
14904
  var children = genContainer.children;
@@ -14859,7 +15002,7 @@ var ViewerUtils;
14859
15002
  ViewerUtils.CreateWidgets = CreateWidgets;
14860
15003
  })(ViewerUtils || (ViewerUtils = {}));
14861
15004
 
14862
- var VERSION$1 = "2.5.3";
15005
+ var VERSION$1 = "2.5.4";
14863
15006
 
14864
15007
  export { VERSION$1 as VERSION, CesiumViewMonitor, ViewerUtils, MenuItemManager, EntityRenderEngine, MenuItemCreator, VisualsRegister, RenderManager, EntitiesIdsRenderManager, EntitiesLoadedRenderManager, EntitiesRenderManager, EntityRenderManager, TilesetCadRenderManager, TilesetArbRenderManager, TilesetEntitiesRenderManager, TilesetOsmRenderManager, TilesetPointcloudRenderManager, TilesetGooglePhotosRenderManager, DataSourceStaticKmlManager, RelationsRenderManager, SharedGetters, CesiumParabola, ViewRenderEngine, TileRenderEngine, TilesetRenderEngine, CESIUM_INSPECTOR_KEY, ViewUtils, DrawingUtils, MeasureUtils, EntityUtils, Draw3dPolygon, Draw3dPolyline };
14865
15008
  //# sourceMappingURL=bruce-cesium.es5.js.map