bruce-cesium 2.5.3 → 2.5.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.
Files changed (25) hide show
  1. package/dist/bruce-cesium.es5.js +317 -160
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +316 -159
  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 +172 -123
  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, Entity, Primitive, Cesium3DTileFeature, SceneMode, HeightReference, DistanceDisplayCondition, NearFarScalar, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, HeadingPitchRoll, Transforms, ColorBlendMode, Cesium3DTileColorBlendMode, HeadingPitchRange, createOsmBuildings, Cesium3DTileStyle, KmlDataSource, OrthographicFrustum, createWorldTerrain, EllipsoidTerrainProvider, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, CesiumInspector, defined, Cesium3DTileset, Matrix4, Matrix3, IonResource, ColorMaterialProperty, EasingFunction, GeometryInstance, PolygonPipeline, ScreenSpaceEventHandler, ScreenSpaceEventType, EllipsoidGeodesic, sampleTerrainMostDetailed, Model, Ion, BoundingSphere } from 'cesium';
4
4
 
5
5
  var TIME_LAG = 300;
6
6
  var POSITION_CHECK_TIMER = 950;
@@ -1630,9 +1630,9 @@ function getPolygonExtrusion(entity, tags, ring, posses, heightRef, pStyle) {
1630
1630
  }
1631
1631
  return data;
1632
1632
  }
1633
- function getHeightRef(style) {
1633
+ function getHeightRef(style, defaultStyle) {
1634
1634
  var _a;
1635
- var heightRef = HeightReference.CLAMP_TO_GROUND;
1635
+ var heightRef = defaultStyle == null ? HeightReference.CLAMP_TO_GROUND : defaultStyle;
1636
1636
  var altOptionId = (_a = style === null || style === void 0 ? void 0 : style.altitudeOption) === null || _a === void 0 ? void 0 : _a.id;
1637
1637
  if (altOptionId == 1) {
1638
1638
  heightRef = HeightReference.NONE;
@@ -1693,38 +1693,52 @@ function getName(api, entity) {
1693
1693
  }
1694
1694
  function getStyle(api, entity, styleId) {
1695
1695
  return __awaiter(this, void 0, void 0, function () {
1696
- var style, typeId, type;
1696
+ var style, e_2, typeId, type, e_3;
1697
1697
  return __generator(this, function (_a) {
1698
1698
  switch (_a.label) {
1699
1699
  case 0:
1700
1700
  style = null;
1701
- if (!styleId) return [3 /*break*/, 2];
1701
+ if (!styleId) return [3 /*break*/, 4];
1702
+ _a.label = 1;
1703
+ case 1:
1704
+ _a.trys.push([1, 3, , 4]);
1702
1705
  return [4 /*yield*/, Style.Get({
1703
1706
  api: api,
1704
1707
  styleId: styleId
1705
1708
  })];
1706
- case 1:
1707
- style = (_a.sent()).style;
1708
- _a.label = 2;
1709
1709
  case 2:
1710
- if (!!style) return [3 /*break*/, 5];
1710
+ style = (_a.sent()).style;
1711
+ return [3 /*break*/, 4];
1712
+ case 3:
1713
+ e_2 = _a.sent();
1714
+ console.error(e_2);
1715
+ return [3 /*break*/, 4];
1716
+ case 4:
1717
+ if (!!style) return [3 /*break*/, 9];
1711
1718
  typeId = entity.Bruce["EntityType.ID"];
1712
- if (!typeId) return [3 /*break*/, 5];
1719
+ if (!typeId) return [3 /*break*/, 9];
1713
1720
  return [4 /*yield*/, EntityType.Get({
1714
1721
  api: api,
1715
1722
  entityTypeId: typeId
1716
1723
  })];
1717
- case 3:
1724
+ case 5:
1718
1725
  type = (_a.sent()).entityType;
1719
- if (!type["DisplaySetting.ID"]) return [3 /*break*/, 5];
1726
+ if (!type["DisplaySetting.ID"]) return [3 /*break*/, 9];
1727
+ _a.label = 6;
1728
+ case 6:
1729
+ _a.trys.push([6, 8, , 9]);
1720
1730
  return [4 /*yield*/, Style.Get({
1721
1731
  api: api,
1722
1732
  styleId: type["DisplaySetting.ID"]
1723
1733
  })];
1724
- case 4:
1734
+ case 7:
1725
1735
  style = (_a.sent()).style;
1726
- _a.label = 5;
1727
- case 5: return [2 /*return*/, style];
1736
+ return [3 /*break*/, 9];
1737
+ case 8:
1738
+ e_3 = _a.sent();
1739
+ console.error(e_3);
1740
+ return [3 /*break*/, 9];
1741
+ case 9: return [2 /*return*/, style];
1728
1742
  }
1729
1743
  });
1730
1744
  });
@@ -2100,7 +2114,7 @@ var EntityRenderEngine;
2100
2114
  (function (Point) {
2101
2115
  function Render(params) {
2102
2116
  return __awaiter(this, void 0, void 0, function () {
2103
- var entity, style, type, cEntity, siblings, iconUrlRows, icon, iconUrl, res, e_2, iconScale, heightRef, radius, bFill, cFill, outline, cOutline, outlineWidth, outlineHeight, bOutline, fillHeight, exHeightRef, pos, bColor, cColor, size, heightRef;
2117
+ var entity, style, type, cEntity, siblings, iconUrlRows, icon, iconUrl, res, e_4, iconScale, heightRef, radius, bFill, cFill, outline, cOutline, outlineWidth, outlineHeight, bOutline, fillHeight, exHeightRef, pos, bColor, cColor, size, heightRef;
2104
2118
  return __generator(this, function (_a) {
2105
2119
  switch (_a.label) {
2106
2120
  case 0:
@@ -2153,7 +2167,7 @@ var EntityRenderEngine;
2153
2167
  _a.label = 4;
2154
2168
  case 4: return [3 /*break*/, 6];
2155
2169
  case 5:
2156
- e_2 = _a.sent();
2170
+ e_4 = _a.sent();
2157
2171
  iconUrl = null;
2158
2172
  return [3 /*break*/, 6];
2159
2173
  case 6:
@@ -2254,10 +2268,10 @@ var EntityRenderEngine;
2254
2268
  }
2255
2269
  if (!cEntity) {
2256
2270
  bColor = style.color ? Calculator.GetColor(style.color, entity, params.tags) : null;
2257
- cColor = bColor ? colorToCColor(bColor) : Color.RED;
2271
+ cColor = bColor ? colorToCColor(bColor) : Color.fromCssColorString("rgba(33, 150, 243, 0.8)");
2258
2272
  size = style.size ? Calculator.GetNumber(style.size, entity, params.tags) : null;
2259
2273
  if (size == null) {
2260
- size = 30;
2274
+ size = 20;
2261
2275
  }
2262
2276
  size = EnsureNumber(size);
2263
2277
  if (size <= 0) {
@@ -2292,33 +2306,40 @@ var EntityRenderEngine;
2292
2306
  function RenderGroup(params) {
2293
2307
  var _a, _b, _c;
2294
2308
  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) {
2309
+ var api, cEntities, i, entity, zoomItem, style, _d, tagIds, tags, pStyle, cEntity, name_2;
2310
+ return __generator(this, function (_e) {
2311
+ switch (_e.label) {
2298
2312
  case 0:
2299
2313
  api = params.apiGetter.getApi();
2300
2314
  cEntities = {};
2301
2315
  i = 0;
2302
- _d.label = 1;
2316
+ _e.label = 1;
2303
2317
  case 1:
2304
- if (!(i < params.entities.length)) return [3 /*break*/, 9];
2318
+ if (!(i < params.entities.length)) return [3 /*break*/, 11];
2305
2319
  entity = params.entities[i];
2306
2320
  zoomItem = params.zoomItems[entity.Bruce.ID];
2321
+ if (!(zoomItem.StyleID != -1)) return [3 /*break*/, 3];
2307
2322
  return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
2308
2323
  case 2:
2309
- style = _d.sent();
2324
+ _d = (_a = (_e.sent())) === null || _a === void 0 ? void 0 : _a.Settings;
2325
+ return [3 /*break*/, 4];
2326
+ case 3:
2327
+ _d = zoomItem.Style;
2328
+ _e.label = 4;
2329
+ case 4:
2330
+ style = _d;
2310
2331
  tagIds = entity.Bruce["Layer.ID"];
2311
2332
  tags = [];
2312
- if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 4];
2333
+ if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 6];
2313
2334
  return [4 /*yield*/, EntityTag.GetListByIds({
2314
2335
  api: api,
2315
2336
  tagIds: tagIds
2316
2337
  })];
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 : {};
2338
+ case 5:
2339
+ tags = (_e.sent()).tags;
2340
+ _e.label = 6;
2341
+ case 6:
2342
+ pStyle = (_b = style === null || style === void 0 ? void 0 : style.pointStyle) !== null && _b !== void 0 ? _b : {};
2322
2343
  return [4 /*yield*/, Render({
2323
2344
  entity: entity,
2324
2345
  style: pStyle,
@@ -2328,22 +2349,22 @@ var EntityRenderEngine;
2328
2349
  maxDistance: zoomItem.MaxZoom,
2329
2350
  minDistance: zoomItem.MinZoom
2330
2351
  })];
2331
- case 5:
2332
- cEntity = _d.sent();
2333
- if (!cEntity) return [3 /*break*/, 7];
2352
+ case 7:
2353
+ cEntity = _e.sent();
2354
+ if (!cEntity) return [3 /*break*/, 9];
2334
2355
  return [4 /*yield*/, getName(api, entity)];
2335
- case 6:
2336
- name_2 = _d.sent();
2356
+ case 8:
2357
+ name_2 = _e.sent();
2337
2358
  cEntity.name = name_2;
2338
2359
  cEntity._renderGroup = getRenderGroupId(zoomItem, (_c = params.viewer) === null || _c === void 0 ? void 0 : _c.terrainProvider);
2339
- _d.label = 7;
2340
- case 7:
2360
+ _e.label = 9;
2361
+ case 9:
2341
2362
  cEntities[entity.Bruce.ID] = cEntity;
2342
- _d.label = 8;
2343
- case 8:
2363
+ _e.label = 10;
2364
+ case 10:
2344
2365
  i++;
2345
2366
  return [3 /*break*/, 1];
2346
- case 9: return [2 /*return*/, cEntities];
2367
+ case 11: return [2 /*return*/, cEntities];
2347
2368
  }
2348
2369
  });
2349
2370
  });
@@ -2399,13 +2420,13 @@ var EntityRenderEngine;
2399
2420
  return null;
2400
2421
  }
2401
2422
  var bColor = style.lineColor ? Calculator.GetColor(style.lineColor, entity, params.tags) : null;
2402
- var cColor = bColor ? colorToCColor(bColor) : Color.RED;
2423
+ var cColor = bColor ? colorToCColor(bColor) : Color.fromCssColorString("rgba(255, 193, 7, 0.8)");
2403
2424
  if (cColor.alpha <= 0) {
2404
2425
  return null;
2405
2426
  }
2406
2427
  var width = style.lineWidth ? Calculator.GetNumber(style.lineWidth, entity, params.tags) : null;
2407
2428
  if (width == null) {
2408
- width = 4;
2429
+ width = 2;
2409
2430
  }
2410
2431
  width = EnsureNumber(width);
2411
2432
  if (width < 0.01) {
@@ -2456,33 +2477,40 @@ var EntityRenderEngine;
2456
2477
  function RenderGroup(params) {
2457
2478
  var _a, _b, _c;
2458
2479
  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) {
2480
+ var api, cEntities, i, entity, zoomItem, style, _d, tagIds, tags, lStyle, cEntity, name_3;
2481
+ return __generator(this, function (_e) {
2482
+ switch (_e.label) {
2462
2483
  case 0:
2463
2484
  api = params.apiGetter.getApi();
2464
2485
  cEntities = {};
2465
2486
  i = 0;
2466
- _d.label = 1;
2487
+ _e.label = 1;
2467
2488
  case 1:
2468
- if (!(i < params.entities.length)) return [3 /*break*/, 7];
2489
+ if (!(i < params.entities.length)) return [3 /*break*/, 9];
2469
2490
  entity = params.entities[i];
2470
2491
  zoomItem = params.zoomItems[entity.Bruce.ID];
2492
+ if (!(zoomItem.StyleID != -1)) return [3 /*break*/, 3];
2471
2493
  return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
2472
2494
  case 2:
2473
- style = _d.sent();
2495
+ _d = (_a = (_e.sent())) === null || _a === void 0 ? void 0 : _a.Settings;
2496
+ return [3 /*break*/, 4];
2497
+ case 3:
2498
+ _d = zoomItem.Style;
2499
+ _e.label = 4;
2500
+ case 4:
2501
+ style = _d;
2474
2502
  tagIds = entity.Bruce["Layer.ID"];
2475
2503
  tags = [];
2476
- if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 4];
2504
+ if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 6];
2477
2505
  return [4 /*yield*/, EntityTag.GetListByIds({
2478
2506
  api: api,
2479
2507
  tagIds: tagIds
2480
2508
  })];
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 : {};
2509
+ case 5:
2510
+ tags = (_e.sent()).tags;
2511
+ _e.label = 6;
2512
+ case 6:
2513
+ lStyle = (_b = style === null || style === void 0 ? void 0 : style.polylineStyle) !== null && _b !== void 0 ? _b : {};
2486
2514
  cEntity = Render({
2487
2515
  entity: entity,
2488
2516
  style: lStyle,
@@ -2491,18 +2519,18 @@ var EntityRenderEngine;
2491
2519
  maxDistance: zoomItem.MaxZoom,
2492
2520
  minDistance: zoomItem.MinZoom
2493
2521
  });
2494
- if (!cEntity) return [3 /*break*/, 6];
2522
+ if (!cEntity) return [3 /*break*/, 8];
2495
2523
  return [4 /*yield*/, getName(api, entity)];
2496
- case 5:
2497
- name_3 = _d.sent();
2524
+ case 7:
2525
+ name_3 = _e.sent();
2498
2526
  cEntity.name = name_3;
2499
2527
  cEntity._renderGroup = getRenderGroupId(zoomItem, (_c = params.viewer) === null || _c === void 0 ? void 0 : _c.terrainProvider);
2500
2528
  cEntities[entity.Bruce.ID] = cEntity;
2501
- _d.label = 6;
2502
- case 6:
2529
+ _e.label = 8;
2530
+ case 8:
2503
2531
  i++;
2504
2532
  return [3 /*break*/, 1];
2505
- case 7: return [2 /*return*/, cEntities];
2533
+ case 9: return [2 /*return*/, cEntities];
2506
2534
  }
2507
2535
  });
2508
2536
  });
@@ -2520,12 +2548,12 @@ var EntityRenderEngine;
2520
2548
  }
2521
2549
  var style = params.style;
2522
2550
  var bFillColor = Calculator.GetColor(style.fillColor, entity, params.tags);
2523
- var cFillColor = bFillColor ? colorToCColor(bFillColor) : Color.RED;
2551
+ var cFillColor = bFillColor ? colorToCColor(bFillColor) : Color.fromCssColorString("rgba(139, 195, 74, 0.8)");
2524
2552
  var bLineColor = Calculator.GetColor(style.lineColor, entity, params.tags);
2525
- var cLineColor = bLineColor ? colorToCColor(bLineColor) : Color.RED;
2553
+ var cLineColor = bLineColor ? colorToCColor(bLineColor) : Color.fromCssColorString("rgba(80, 80, 80, 0.8)");
2526
2554
  var width = style.lineWidth ? Calculator.GetNumber(style.lineWidth, entity, params.tags) : null;
2527
2555
  if (width == null) {
2528
- width = 4;
2556
+ width = 1;
2529
2557
  }
2530
2558
  width = EnsureNumber(width);
2531
2559
  if (width < 0.01) {
@@ -2668,33 +2696,40 @@ var EntityRenderEngine;
2668
2696
  function RenderGroup(params) {
2669
2697
  var _a, _b, _c;
2670
2698
  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) {
2699
+ var api, cEntities, i, entity, zoomItem, style, _d, tagIds, tags, pStyle, cEntity, name_4;
2700
+ return __generator(this, function (_e) {
2701
+ switch (_e.label) {
2674
2702
  case 0:
2675
2703
  api = params.apiGetter.getApi();
2676
2704
  cEntities = {};
2677
2705
  i = 0;
2678
- _d.label = 1;
2706
+ _e.label = 1;
2679
2707
  case 1:
2680
- if (!(i < params.entities.length)) return [3 /*break*/, 7];
2708
+ if (!(i < params.entities.length)) return [3 /*break*/, 9];
2681
2709
  entity = params.entities[i];
2682
2710
  zoomItem = params.zoomItems[entity.Bruce.ID];
2711
+ if (!(zoomItem.StyleID != -1)) return [3 /*break*/, 3];
2683
2712
  return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
2684
2713
  case 2:
2685
- style = _d.sent();
2714
+ _d = (_a = (_e.sent())) === null || _a === void 0 ? void 0 : _a.Settings;
2715
+ return [3 /*break*/, 4];
2716
+ case 3:
2717
+ _d = zoomItem.Style;
2718
+ _e.label = 4;
2719
+ case 4:
2720
+ style = _d;
2686
2721
  tagIds = entity.Bruce["Layer.ID"];
2687
2722
  tags = [];
2688
- if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 4];
2723
+ if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 6];
2689
2724
  return [4 /*yield*/, EntityTag.GetListByIds({
2690
2725
  api: api,
2691
2726
  tagIds: tagIds
2692
2727
  })];
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 : {};
2728
+ case 5:
2729
+ tags = (_e.sent()).tags;
2730
+ _e.label = 6;
2731
+ case 6:
2732
+ pStyle = (_b = style === null || style === void 0 ? void 0 : style.polygonStyle) !== null && _b !== void 0 ? _b : {};
2698
2733
  cEntity = Render({
2699
2734
  entity: entity,
2700
2735
  style: pStyle,
@@ -2703,18 +2738,18 @@ var EntityRenderEngine;
2703
2738
  maxDistance: zoomItem.MaxZoom,
2704
2739
  minDistance: zoomItem.MinZoom
2705
2740
  });
2706
- if (!cEntity) return [3 /*break*/, 6];
2741
+ if (!cEntity) return [3 /*break*/, 8];
2707
2742
  return [4 /*yield*/, getName(api, entity)];
2708
- case 5:
2709
- name_4 = _d.sent();
2743
+ case 7:
2744
+ name_4 = _e.sent();
2710
2745
  cEntity.name = name_4;
2711
2746
  cEntity._renderGroup = getRenderGroupId(zoomItem, (_c = params.viewer) === null || _c === void 0 ? void 0 : _c.terrainProvider);
2712
2747
  cEntities[entity.Bruce.ID] = cEntity;
2713
- _d.label = 6;
2714
- case 6:
2748
+ _e.label = 8;
2749
+ case 8:
2715
2750
  i++;
2716
2751
  return [3 /*break*/, 1];
2717
- case 7: return [2 /*return*/, cEntities];
2752
+ case 9: return [2 /*return*/, cEntities];
2718
2753
  }
2719
2754
  });
2720
2755
  });
@@ -2741,7 +2776,7 @@ var EntityRenderEngine;
2741
2776
  styleScale = 1;
2742
2777
  }
2743
2778
  var hpr = new HeadingPitchRoll(Math$1.toRadians(heading), Math$1.toRadians(pitch), Math$1.toRadians(roll));
2744
- var heightRef = getHeightRef(style);
2779
+ var heightRef = getHeightRef(style, HeightReference.RELATIVE_TO_GROUND);
2745
2780
  var pos = EntityUtils.GetPos({
2746
2781
  viewer: params.viewer,
2747
2782
  entity: entity,
@@ -2800,9 +2835,9 @@ var EntityRenderEngine;
2800
2835
  function RenderGroup(params) {
2801
2836
  var _a, _b, _c, _d, _e;
2802
2837
  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) {
2838
+ var api, cEntities, reqBody, i, entity, zoomItem, style, _f, tagIds, tags, mStyle, group, level, catId, lodData, _loop_2, i;
2839
+ return __generator(this, function (_g) {
2840
+ switch (_g.label) {
2806
2841
  case 0:
2807
2842
  api = params.apiGetter.getApi();
2808
2843
  cEntities = {};
@@ -2812,26 +2847,33 @@ var EntityRenderEngine;
2812
2847
  "Items": []
2813
2848
  };
2814
2849
  i = 0;
2815
- _f.label = 1;
2850
+ _g.label = 1;
2816
2851
  case 1:
2817
- if (!(i < params.entities.length)) return [3 /*break*/, 6];
2852
+ if (!(i < params.entities.length)) return [3 /*break*/, 8];
2818
2853
  entity = params.entities[i];
2819
2854
  zoomItem = params.zoomItems[entity.Bruce.ID];
2855
+ if (!(zoomItem.StyleID != -1)) return [3 /*break*/, 3];
2820
2856
  return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
2821
2857
  case 2:
2822
- style = _f.sent();
2858
+ _f = (_a = (_g.sent())) === null || _a === void 0 ? void 0 : _a.Settings;
2859
+ return [3 /*break*/, 4];
2860
+ case 3:
2861
+ _f = zoomItem.Style;
2862
+ _g.label = 4;
2863
+ case 4:
2864
+ style = _f;
2823
2865
  tagIds = entity.Bruce["Layer.ID"];
2824
2866
  tags = [];
2825
- if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 4];
2867
+ if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 6];
2826
2868
  return [4 /*yield*/, EntityTag.GetListByIds({
2827
2869
  api: api,
2828
2870
  tagIds: tagIds
2829
2871
  })];
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 : {};
2872
+ case 5:
2873
+ tags = (_g.sent()).tags;
2874
+ _g.label = 6;
2875
+ case 6:
2876
+ mStyle = (_b = style === null || style === void 0 ? void 0 : style.modelStyle) !== null && _b !== void 0 ? _b : {};
2835
2877
  group = mStyle.lodGroup ? Calculator.GetString(mStyle.lodGroup, entity, tags) : null;
2836
2878
  if (!group) {
2837
2879
  group = "DEFAULT";
@@ -2850,42 +2892,49 @@ var EntityRenderEngine;
2850
2892
  "group": group,
2851
2893
  "level": level
2852
2894
  });
2853
- _f.label = 5;
2854
- case 5:
2895
+ _g.label = 7;
2896
+ case 7:
2855
2897
  i++;
2856
2898
  return [3 /*break*/, 1];
2857
- case 6: return [4 /*yield*/, EntityLod.GetLods({
2899
+ case 8: return [4 /*yield*/, EntityLod.GetLods({
2858
2900
  api: api,
2859
2901
  filter: reqBody
2860
2902
  })];
2861
- case 7:
2862
- lodData = (_f.sent()).lods;
2903
+ case 9:
2904
+ lodData = (_g.sent()).lods;
2863
2905
  _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) {
2906
+ var entity, zoomItem, style, _h, tagIds, tags, lod, mStyle, cEntity, name_5;
2907
+ return __generator(this, function (_j) {
2908
+ switch (_j.label) {
2867
2909
  case 0:
2868
2910
  entity = params.entities[i];
2869
2911
  zoomItem = params.zoomItems[entity.Bruce.ID];
2912
+ if (!(zoomItem.StyleID != -1)) return [3 /*break*/, 2];
2870
2913
  return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
2871
2914
  case 1:
2872
- style = _g.sent();
2915
+ _h = (_c = (_j.sent())) === null || _c === void 0 ? void 0 : _c.Settings;
2916
+ return [3 /*break*/, 3];
2917
+ case 2:
2918
+ _h = zoomItem.Style;
2919
+ _j.label = 3;
2920
+ case 3:
2921
+ style = _h;
2873
2922
  tagIds = entity.Bruce["Layer.ID"];
2874
2923
  tags = [];
2875
- if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 3];
2924
+ if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 5];
2876
2925
  return [4 /*yield*/, EntityTag.GetListByIds({
2877
2926
  api: api,
2878
2927
  tagIds: tagIds
2879
2928
  })];
2880
- case 2:
2881
- tags = (_g.sent()).tags;
2882
- _g.label = 3;
2883
- case 3:
2929
+ case 4:
2930
+ tags = (_j.sent()).tags;
2931
+ _j.label = 5;
2932
+ case 5:
2884
2933
  lod = lodData.find(function (x) { return x.entityId == entity.Bruce.ID; });
2885
2934
  if (!(lod === null || lod === void 0 ? void 0 : lod.clientFileId)) {
2886
2935
  return [2 /*return*/, "continue"];
2887
2936
  }
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 : {};
2937
+ mStyle = (_d = style === null || style === void 0 ? void 0 : style.modelStyle) !== null && _d !== void 0 ? _d : {};
2889
2938
  cEntity = Render({
2890
2939
  entity: entity,
2891
2940
  style: mStyle,
@@ -2899,30 +2948,30 @@ var EntityRenderEngine;
2899
2948
  maxDistance: zoomItem.MaxZoom,
2900
2949
  minDistance: zoomItem.MinZoom
2901
2950
  });
2902
- if (!cEntity) return [3 /*break*/, 5];
2951
+ if (!cEntity) return [3 /*break*/, 7];
2903
2952
  return [4 /*yield*/, getName(api, entity)];
2904
- case 4:
2905
- name_5 = _g.sent();
2953
+ case 6:
2954
+ name_5 = _j.sent();
2906
2955
  cEntity.name = name_5;
2907
2956
  cEntity._renderGroup = getRenderGroupId(zoomItem, (_e = params.viewer) === null || _e === void 0 ? void 0 : _e.terrainProvider);
2908
2957
  cEntities[entity.Bruce.ID] = cEntity;
2909
- _g.label = 5;
2910
- case 5: return [2 /*return*/];
2958
+ _j.label = 7;
2959
+ case 7: return [2 /*return*/];
2911
2960
  }
2912
2961
  });
2913
2962
  };
2914
2963
  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;
2964
+ _g.label = 10;
2922
2965
  case 10:
2966
+ if (!(i < params.entities.length)) return [3 /*break*/, 13];
2967
+ return [5 /*yield**/, _loop_2(i)];
2968
+ case 11:
2969
+ _g.sent();
2970
+ _g.label = 12;
2971
+ case 12:
2923
2972
  i++;
2924
- return [3 /*break*/, 8];
2925
- case 11: return [2 /*return*/, cEntities];
2973
+ return [3 /*break*/, 10];
2974
+ case 13: return [2 /*return*/, cEntities];
2926
2975
  }
2927
2976
  });
2928
2977
  });
@@ -5260,7 +5309,7 @@ var EntitiesRenderManager;
5260
5309
  });
5261
5310
  Manager.prototype.Init = function (params) {
5262
5311
  var _this = this;
5263
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
5312
+ var _a, _b, _c, _d, _e, _f;
5264
5313
  if (this.disposed) {
5265
5314
  throw (new Error("This item is disposed."));
5266
5315
  }
@@ -5286,13 +5335,10 @@ var EntitiesRenderManager;
5286
5335
  }
5287
5336
  tagsToRender = [].concat(tagsToRender);
5288
5337
  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);
5338
+ this.unsetGetter();
5339
+ (_b = this.viewMonitorRemoval) === null || _b === void 0 ? void 0 : _b.call(this);
5294
5340
  this.viewMonitorRemoval = null;
5295
- (_e = this.entityCheckQueue) === null || _e === void 0 ? void 0 : _e.Dispose();
5341
+ (_c = this.entityCheckQueue) === null || _c === void 0 ? void 0 : _c.Dispose();
5296
5342
  this.entityCheckQueue = null;
5297
5343
  clearInterval(this.renderQueueInterval);
5298
5344
  this.renderQueueInterval = null;
@@ -5304,22 +5350,39 @@ var EntitiesRenderManager;
5304
5350
  menuItemId: this.item.id,
5305
5351
  retainTagIds: tagsToRender
5306
5352
  });
5307
- (_f = this.clustering) === null || _f === void 0 ? void 0 : _f.Dispose();
5353
+ (_d = this.clustering) === null || _d === void 0 ? void 0 : _d.Dispose();
5308
5354
  }
5309
5355
  else {
5310
5356
  this.visualsManager.RemoveRegos({
5311
5357
  menuItemId: this.item.id
5312
5358
  });
5313
- (_g = this.clustering) === null || _g === void 0 ? void 0 : _g.Dispose();
5359
+ (_e = this.clustering) === null || _e === void 0 ? void 0 : _e.Dispose();
5314
5360
  return;
5315
5361
  }
5316
5362
  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);
5363
+ this.clustering = new PointClustering(this.visualsManager, this.item.id, (_f = this.item) === null || _f === void 0 ? void 0 : _f.clustering);
5318
5364
  }
5319
- var api = this.apiGetter.getApi();
5365
+ this.setGetter();
5366
+ this.viewMonitorRemoval = this.monitor.Updated().Subscribe(function () {
5367
+ _this.entityCheckQueue.Call();
5368
+ });
5369
+ this.entityCheckQueue = new DelayQueue(function () {
5370
+ var _a;
5371
+ // Don't bother checking for zoom control changes if we only have 1 item.
5372
+ // We'll let Cesium handle hide/show at max zoom range.
5373
+ var shouldCheck = ((_a = _this.item) === null || _a === void 0 ? void 0 : _a.CameraZoomSettings) && _this.item.CameraZoomSettings.length > 1;
5374
+ if (shouldCheck) {
5375
+ _this.doEntityCheck(Object.keys(_this.renderedEntities));
5376
+ }
5377
+ }, 3000);
5378
+ };
5379
+ Manager.prototype.setGetter = function () {
5380
+ var _this = this;
5381
+ var _a;
5382
+ this.unsetGetter();
5320
5383
  this.getter = this.sharedGetters.GetOrCreateFilterGetter({
5321
- api: api,
5322
- attrFilter: (_j = this.item.BruceEntity.Filter) !== null && _j !== void 0 ? _j : {},
5384
+ api: this.apiGetter.getApi(),
5385
+ attrFilter: (_a = this.item.BruceEntity.Filter) !== null && _a !== void 0 ? _a : {},
5323
5386
  batchSize: BATCH_SIZE,
5324
5387
  typeId: this.item.BruceEntity["EntityType.ID"],
5325
5388
  monitor: this.monitor,
@@ -5331,6 +5394,12 @@ var EntitiesRenderManager;
5331
5394
  zoomControl: this.item.CameraZoomSettings
5332
5395
  });
5333
5396
  this.getter.IncludeMenuItem(this.item.id, [], minMax[0], minMax[1]);
5397
+ var isTagItem = Boolean(this.item.BruceEntity.ExpandLayers);
5398
+ var tagsToRender = isTagItem ? this.item.BruceEntity.SelectedExpandLayers : null;
5399
+ if (!tagsToRender) {
5400
+ tagsToRender = [];
5401
+ }
5402
+ tagsToRender = [].concat(tagsToRender);
5334
5403
  this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
5335
5404
  if (isTagItem) {
5336
5405
  _this.distributeForRender(entities.filter(function (entity) {
@@ -5347,18 +5416,13 @@ var EntitiesRenderManager;
5347
5416
  _this.distributeForRender(entities);
5348
5417
  }
5349
5418
  });
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);
5419
+ };
5420
+ Manager.prototype.unsetGetter = function () {
5421
+ var _a, _b;
5422
+ (_a = this.getter) === null || _a === void 0 ? void 0 : _a.ExcludeMenuItem(this.item.id);
5423
+ this.getter = null;
5424
+ (_b = this.getterSub) === null || _b === void 0 ? void 0 : _b.call(this);
5425
+ this.getterSub = null;
5362
5426
  };
5363
5427
  Manager.prototype.Dispose = function () {
5364
5428
  if (this.disposed) {
@@ -5367,21 +5431,17 @@ var EntitiesRenderManager;
5367
5431
  this.doDispose();
5368
5432
  };
5369
5433
  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
- }
5434
+ var _a, _b, _c;
5435
+ this.unsetGetter();
5376
5436
  this.disposed = true;
5377
5437
  this.visualsManager.RemoveRegos({
5378
5438
  menuItemId: this.item.id
5379
5439
  });
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);
5440
+ (_a = this.entityCheckRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
5441
+ (_b = this.viewMonitorRemoval) === null || _b === void 0 ? void 0 : _b.call(this);
5382
5442
  clearInterval(this.renderQueueInterval);
5383
5443
  this.renderQueue = [];
5384
- (_d = this.clustering) === null || _d === void 0 ? void 0 : _d.Dispose();
5444
+ (_c = this.clustering) === null || _c === void 0 ? void 0 : _c.Dispose();
5385
5445
  };
5386
5446
  Manager.prototype.ReRender = function (params) {
5387
5447
  return __awaiter(this, void 0, void 0, function () {
@@ -5435,6 +5495,24 @@ var EntitiesRenderManager;
5435
5495
  });
5436
5496
  });
5437
5497
  };
5498
+ Manager.prototype.UpdateSettings = function (params) {
5499
+ var CameraZoomSettings = params.zoomControl, queueRerender = params.queueRerender;
5500
+ if (this.disposed) {
5501
+ return;
5502
+ }
5503
+ if (CameraZoomSettings === null || CameraZoomSettings === void 0 ? void 0 : CameraZoomSettings.length) {
5504
+ this.item.CameraZoomSettings = CameraZoomSettings;
5505
+ this.setGetter();
5506
+ }
5507
+ if (queueRerender != false) {
5508
+ var entityIds = Object.keys(this.renderedEntities);
5509
+ this.visualsManager.MarkStale({
5510
+ entityIds: entityIds,
5511
+ menuItemIds: [this.item.id]
5512
+ });
5513
+ this.doEntityCheck(entityIds);
5514
+ }
5515
+ };
5438
5516
  Manager.prototype.doEntityCheck = function (ids) {
5439
5517
  return __awaiter(this, void 0, void 0, function () {
5440
5518
  var api, checkBatch, e_2;
@@ -5717,6 +5795,23 @@ var EntitiesLoadedRenderManager;
5717
5795
  });
5718
5796
  });
5719
5797
  };
5798
+ Manager.prototype.UpdateSettings = function (params) {
5799
+ var CameraZoomSettings = params.zoomControl, queueRerender = params.queueRerender;
5800
+ if (this.disposed) {
5801
+ return;
5802
+ }
5803
+ if (CameraZoomSettings === null || CameraZoomSettings === void 0 ? void 0 : CameraZoomSettings.length) {
5804
+ this.item.CameraZoomSettings = CameraZoomSettings;
5805
+ }
5806
+ if (queueRerender != false) {
5807
+ var entityIds = Object.keys(this.renderedEntities);
5808
+ this.visualsManager.MarkStale({
5809
+ entityIds: entityIds,
5810
+ menuItemIds: [this.item.id]
5811
+ });
5812
+ this.doEntityCheck(entityIds);
5813
+ }
5814
+ };
5720
5815
  Manager.prototype.doEntityCheck = function (ids, force) {
5721
5816
  if (force === void 0) { force = false; }
5722
5817
  return __awaiter(this, void 0, void 0, function () {
@@ -5948,6 +6043,23 @@ var EntitiesIdsRenderManager;
5948
6043
  });
5949
6044
  });
5950
6045
  };
6046
+ Manager.prototype.UpdateSettings = function (params) {
6047
+ var CameraZoomSettings = params.zoomControl, queueRerender = params.queueRerender;
6048
+ if (this.disposed) {
6049
+ return;
6050
+ }
6051
+ if (CameraZoomSettings === null || CameraZoomSettings === void 0 ? void 0 : CameraZoomSettings.length) {
6052
+ this.item.CameraZoomSettings = CameraZoomSettings;
6053
+ }
6054
+ if (queueRerender != false) {
6055
+ var entityIds = Object.keys(this.renderedEntities);
6056
+ this.visualsManager.MarkStale({
6057
+ entityIds: entityIds,
6058
+ menuItemIds: [this.item.id]
6059
+ });
6060
+ this.onGetterUpdate(entityIds);
6061
+ }
6062
+ };
5951
6063
  Manager.prototype.onGetterUpdate = function (entityIds, force) {
5952
6064
  if (force === void 0) { force = false; }
5953
6065
  return __awaiter(this, void 0, void 0, function () {
@@ -6182,6 +6294,23 @@ var EntityRenderManager;
6182
6294
  });
6183
6295
  });
6184
6296
  };
6297
+ Manager.prototype.UpdateSettings = function (params) {
6298
+ var CameraZoomSettings = params.zoomControl, queueRerender = params.queueRerender;
6299
+ if (this.disposed) {
6300
+ return;
6301
+ }
6302
+ if (CameraZoomSettings === null || CameraZoomSettings === void 0 ? void 0 : CameraZoomSettings.length) {
6303
+ this.item.CameraZoomSettings = CameraZoomSettings;
6304
+ }
6305
+ if (queueRerender != false) {
6306
+ var entityId = this.item.BruceEntity.EntityId;
6307
+ this.visualsManager.MarkStale({
6308
+ entityIds: [entityId],
6309
+ menuItemIds: [this.item.id]
6310
+ });
6311
+ this.onGetterUpdate(entityId, true);
6312
+ }
6313
+ };
6185
6314
  Manager.prototype.renderEntity = function (entity, force) {
6186
6315
  var _a;
6187
6316
  if (force === void 0) { force = false; }
@@ -9135,7 +9264,7 @@ var MenuItemManager;
9135
9264
  if (rItem.renderManager && !((_c = rItem.renderManager) === null || _c === void 0 ? void 0 : _c.Disposed)) {
9136
9265
  (_d = this.onUpdate) === null || _d === void 0 ? void 0 : _d.Trigger({ isEnabling: true, itemId: rItem.id });
9137
9266
  }
9138
- rItem.id;
9267
+ return rItem.id;
9139
9268
  };
9140
9269
  /**
9141
9270
  * Disables a menu item by its id.
@@ -14714,6 +14843,30 @@ var WidgetInfoView = /** @class */ (function (_super) {
14714
14843
  }(Widget.AWidget));
14715
14844
 
14716
14845
  var CESIUM_VIEWER_MANAGER_KEY = "_cesiumViewerManager";
14846
+ /**
14847
+ * Bug related to entities not being visible after they were added then a render was requested.
14848
+ * It was 4 point entities in York. They would not appear until a request render was recalled.
14849
+ * Adding this slow render loop as a band-aid fix.
14850
+ */
14851
+ var BACKGROUND_RENDERING_KEY = "_backgroundRendering";
14852
+ function backgroundRendering(viewer) {
14853
+ if (viewer[BACKGROUND_RENDERING_KEY]) {
14854
+ return;
14855
+ }
14856
+ viewer[BACKGROUND_RENDERING_KEY] = true;
14857
+ var interval = setInterval(function () {
14858
+ if (!(viewer === null || viewer === void 0 ? void 0 : viewer.scene) || viewer.isDestroyed()) {
14859
+ clearInterval(interval);
14860
+ return;
14861
+ }
14862
+ // Check if last render time is greater than 3 seconds ago.
14863
+ // We check in case something else is also requesting renders.
14864
+ var lastRenderTime = viewer.scene.lastRenderTime;
14865
+ if (!lastRenderTime || JulianDate.secondsDifference(JulianDate.now(), lastRenderTime) > 3) {
14866
+ viewer.scene.requestRender();
14867
+ }
14868
+ }, 3500);
14869
+ }
14717
14870
  var ViewerUtils;
14718
14871
  (function (ViewerUtils) {
14719
14872
  /**
@@ -14739,6 +14892,7 @@ var ViewerUtils;
14739
14892
  viewer: viewer
14740
14893
  });
14741
14894
  }
14895
+ backgroundRendering(viewer);
14742
14896
  return data;
14743
14897
  }
14744
14898
  ViewerUtils.InitViewer = InitViewer;
@@ -14756,6 +14910,9 @@ var ViewerUtils;
14756
14910
  var _a;
14757
14911
  var viewer = params.viewer;
14758
14912
  var container = viewer.container;
14913
+ if (!container.style.position) {
14914
+ container.style.position = "relative";
14915
+ }
14759
14916
  var genContainer = (_a = container.getElementsByClassName("cesium-viewer")) === null || _a === void 0 ? void 0 : _a[0];
14760
14917
  if (genContainer) {
14761
14918
  var children = genContainer.children;
@@ -14859,7 +15016,7 @@ var ViewerUtils;
14859
15016
  ViewerUtils.CreateWidgets = CreateWidgets;
14860
15017
  })(ViewerUtils || (ViewerUtils = {}));
14861
15018
 
14862
- var VERSION$1 = "2.5.3";
15019
+ var VERSION$1 = "2.5.5";
14863
15020
 
14864
15021
  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
15022
  //# sourceMappingURL=bruce-cesium.es5.js.map