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
@@ -1628,9 +1628,9 @@
1628
1628
  }
1629
1629
  return data;
1630
1630
  }
1631
- function getHeightRef(style) {
1631
+ function getHeightRef(style, defaultStyle) {
1632
1632
  var _a;
1633
- var heightRef = Cesium.HeightReference.CLAMP_TO_GROUND;
1633
+ var heightRef = defaultStyle == null ? Cesium.HeightReference.CLAMP_TO_GROUND : defaultStyle;
1634
1634
  var altOptionId = (_a = style === null || style === void 0 ? void 0 : style.altitudeOption) === null || _a === void 0 ? void 0 : _a.id;
1635
1635
  if (altOptionId == 1) {
1636
1636
  heightRef = Cesium.HeightReference.NONE;
@@ -1691,38 +1691,52 @@
1691
1691
  }
1692
1692
  function getStyle(api, entity, styleId) {
1693
1693
  return __awaiter(this, void 0, void 0, function () {
1694
- var style, typeId, type;
1694
+ var style, e_2, typeId, type, e_3;
1695
1695
  return __generator(this, function (_a) {
1696
1696
  switch (_a.label) {
1697
1697
  case 0:
1698
1698
  style = null;
1699
- if (!styleId) return [3 /*break*/, 2];
1699
+ if (!styleId) return [3 /*break*/, 4];
1700
+ _a.label = 1;
1701
+ case 1:
1702
+ _a.trys.push([1, 3, , 4]);
1700
1703
  return [4 /*yield*/, bruceModels.Style.Get({
1701
1704
  api: api,
1702
1705
  styleId: styleId
1703
1706
  })];
1704
- case 1:
1705
- style = (_a.sent()).style;
1706
- _a.label = 2;
1707
1707
  case 2:
1708
- if (!!style) return [3 /*break*/, 5];
1708
+ style = (_a.sent()).style;
1709
+ return [3 /*break*/, 4];
1710
+ case 3:
1711
+ e_2 = _a.sent();
1712
+ console.error(e_2);
1713
+ return [3 /*break*/, 4];
1714
+ case 4:
1715
+ if (!!style) return [3 /*break*/, 9];
1709
1716
  typeId = entity.Bruce["EntityType.ID"];
1710
- if (!typeId) return [3 /*break*/, 5];
1717
+ if (!typeId) return [3 /*break*/, 9];
1711
1718
  return [4 /*yield*/, bruceModels.EntityType.Get({
1712
1719
  api: api,
1713
1720
  entityTypeId: typeId
1714
1721
  })];
1715
- case 3:
1722
+ case 5:
1716
1723
  type = (_a.sent()).entityType;
1717
- if (!type["DisplaySetting.ID"]) return [3 /*break*/, 5];
1724
+ if (!type["DisplaySetting.ID"]) return [3 /*break*/, 9];
1725
+ _a.label = 6;
1726
+ case 6:
1727
+ _a.trys.push([6, 8, , 9]);
1718
1728
  return [4 /*yield*/, bruceModels.Style.Get({
1719
1729
  api: api,
1720
1730
  styleId: type["DisplaySetting.ID"]
1721
1731
  })];
1722
- case 4:
1732
+ case 7:
1723
1733
  style = (_a.sent()).style;
1724
- _a.label = 5;
1725
- case 5: return [2 /*return*/, style];
1734
+ return [3 /*break*/, 9];
1735
+ case 8:
1736
+ e_3 = _a.sent();
1737
+ console.error(e_3);
1738
+ return [3 /*break*/, 9];
1739
+ case 9: return [2 /*return*/, style];
1726
1740
  }
1727
1741
  });
1728
1742
  });
@@ -2097,7 +2111,7 @@
2097
2111
  (function (Point) {
2098
2112
  function Render(params) {
2099
2113
  return __awaiter(this, void 0, void 0, function () {
2100
- 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;
2114
+ 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;
2101
2115
  return __generator(this, function (_a) {
2102
2116
  switch (_a.label) {
2103
2117
  case 0:
@@ -2150,7 +2164,7 @@
2150
2164
  _a.label = 4;
2151
2165
  case 4: return [3 /*break*/, 6];
2152
2166
  case 5:
2153
- e_2 = _a.sent();
2167
+ e_4 = _a.sent();
2154
2168
  iconUrl = null;
2155
2169
  return [3 /*break*/, 6];
2156
2170
  case 6:
@@ -2251,10 +2265,10 @@
2251
2265
  }
2252
2266
  if (!cEntity) {
2253
2267
  bColor = style.color ? bruceModels.Calculator.GetColor(style.color, entity, params.tags) : null;
2254
- cColor = bColor ? colorToCColor(bColor) : Cesium.Color.RED;
2268
+ cColor = bColor ? colorToCColor(bColor) : Cesium.Color.fromCssColorString("rgba(33, 150, 243, 0.8)");
2255
2269
  size = style.size ? bruceModels.Calculator.GetNumber(style.size, entity, params.tags) : null;
2256
2270
  if (size == null) {
2257
- size = 30;
2271
+ size = 20;
2258
2272
  }
2259
2273
  size = EnsureNumber(size);
2260
2274
  if (size <= 0) {
@@ -2289,33 +2303,40 @@
2289
2303
  function RenderGroup(params) {
2290
2304
  var _a, _b, _c;
2291
2305
  return __awaiter(this, void 0, void 0, function () {
2292
- var api, cEntities, i, entity, zoomItem, style, tagIds, tags, pStyle, cEntity, name_2;
2293
- return __generator(this, function (_d) {
2294
- switch (_d.label) {
2306
+ var api, cEntities, i, entity, zoomItem, style, _d, tagIds, tags, pStyle, cEntity, name_2;
2307
+ return __generator(this, function (_e) {
2308
+ switch (_e.label) {
2295
2309
  case 0:
2296
2310
  api = params.apiGetter.getApi();
2297
2311
  cEntities = {};
2298
2312
  i = 0;
2299
- _d.label = 1;
2313
+ _e.label = 1;
2300
2314
  case 1:
2301
- if (!(i < params.entities.length)) return [3 /*break*/, 9];
2315
+ if (!(i < params.entities.length)) return [3 /*break*/, 11];
2302
2316
  entity = params.entities[i];
2303
2317
  zoomItem = params.zoomItems[entity.Bruce.ID];
2318
+ if (!(zoomItem.StyleID != -1)) return [3 /*break*/, 3];
2304
2319
  return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
2305
2320
  case 2:
2306
- style = _d.sent();
2321
+ _d = (_a = (_e.sent())) === null || _a === void 0 ? void 0 : _a.Settings;
2322
+ return [3 /*break*/, 4];
2323
+ case 3:
2324
+ _d = zoomItem.Style;
2325
+ _e.label = 4;
2326
+ case 4:
2327
+ style = _d;
2307
2328
  tagIds = entity.Bruce["Layer.ID"];
2308
2329
  tags = [];
2309
- if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 4];
2330
+ if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 6];
2310
2331
  return [4 /*yield*/, bruceModels.EntityTag.GetListByIds({
2311
2332
  api: api,
2312
2333
  tagIds: tagIds
2313
2334
  })];
2314
- case 3:
2315
- tags = (_d.sent()).tags;
2316
- _d.label = 4;
2317
- case 4:
2318
- 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 : {};
2335
+ case 5:
2336
+ tags = (_e.sent()).tags;
2337
+ _e.label = 6;
2338
+ case 6:
2339
+ pStyle = (_b = style === null || style === void 0 ? void 0 : style.pointStyle) !== null && _b !== void 0 ? _b : {};
2319
2340
  return [4 /*yield*/, Render({
2320
2341
  entity: entity,
2321
2342
  style: pStyle,
@@ -2325,22 +2346,22 @@
2325
2346
  maxDistance: zoomItem.MaxZoom,
2326
2347
  minDistance: zoomItem.MinZoom
2327
2348
  })];
2328
- case 5:
2329
- cEntity = _d.sent();
2330
- if (!cEntity) return [3 /*break*/, 7];
2349
+ case 7:
2350
+ cEntity = _e.sent();
2351
+ if (!cEntity) return [3 /*break*/, 9];
2331
2352
  return [4 /*yield*/, getName(api, entity)];
2332
- case 6:
2333
- name_2 = _d.sent();
2353
+ case 8:
2354
+ name_2 = _e.sent();
2334
2355
  cEntity.name = name_2;
2335
2356
  cEntity._renderGroup = getRenderGroupId(zoomItem, (_c = params.viewer) === null || _c === void 0 ? void 0 : _c.terrainProvider);
2336
- _d.label = 7;
2337
- case 7:
2357
+ _e.label = 9;
2358
+ case 9:
2338
2359
  cEntities[entity.Bruce.ID] = cEntity;
2339
- _d.label = 8;
2340
- case 8:
2360
+ _e.label = 10;
2361
+ case 10:
2341
2362
  i++;
2342
2363
  return [3 /*break*/, 1];
2343
- case 9: return [2 /*return*/, cEntities];
2364
+ case 11: return [2 /*return*/, cEntities];
2344
2365
  }
2345
2366
  });
2346
2367
  });
@@ -2396,13 +2417,13 @@
2396
2417
  return null;
2397
2418
  }
2398
2419
  var bColor = style.lineColor ? bruceModels.Calculator.GetColor(style.lineColor, entity, params.tags) : null;
2399
- var cColor = bColor ? colorToCColor(bColor) : Cesium.Color.RED;
2420
+ var cColor = bColor ? colorToCColor(bColor) : Cesium.Color.fromCssColorString("rgba(255, 193, 7, 0.8)");
2400
2421
  if (cColor.alpha <= 0) {
2401
2422
  return null;
2402
2423
  }
2403
2424
  var width = style.lineWidth ? bruceModels.Calculator.GetNumber(style.lineWidth, entity, params.tags) : null;
2404
2425
  if (width == null) {
2405
- width = 4;
2426
+ width = 2;
2406
2427
  }
2407
2428
  width = EnsureNumber(width);
2408
2429
  if (width < 0.01) {
@@ -2453,33 +2474,40 @@
2453
2474
  function RenderGroup(params) {
2454
2475
  var _a, _b, _c;
2455
2476
  return __awaiter(this, void 0, void 0, function () {
2456
- var api, cEntities, i, entity, zoomItem, style, tagIds, tags, lStyle, cEntity, name_3;
2457
- return __generator(this, function (_d) {
2458
- switch (_d.label) {
2477
+ var api, cEntities, i, entity, zoomItem, style, _d, tagIds, tags, lStyle, cEntity, name_3;
2478
+ return __generator(this, function (_e) {
2479
+ switch (_e.label) {
2459
2480
  case 0:
2460
2481
  api = params.apiGetter.getApi();
2461
2482
  cEntities = {};
2462
2483
  i = 0;
2463
- _d.label = 1;
2484
+ _e.label = 1;
2464
2485
  case 1:
2465
- if (!(i < params.entities.length)) return [3 /*break*/, 7];
2486
+ if (!(i < params.entities.length)) return [3 /*break*/, 9];
2466
2487
  entity = params.entities[i];
2467
2488
  zoomItem = params.zoomItems[entity.Bruce.ID];
2489
+ if (!(zoomItem.StyleID != -1)) return [3 /*break*/, 3];
2468
2490
  return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
2469
2491
  case 2:
2470
- style = _d.sent();
2492
+ _d = (_a = (_e.sent())) === null || _a === void 0 ? void 0 : _a.Settings;
2493
+ return [3 /*break*/, 4];
2494
+ case 3:
2495
+ _d = zoomItem.Style;
2496
+ _e.label = 4;
2497
+ case 4:
2498
+ style = _d;
2471
2499
  tagIds = entity.Bruce["Layer.ID"];
2472
2500
  tags = [];
2473
- if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 4];
2501
+ if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 6];
2474
2502
  return [4 /*yield*/, bruceModels.EntityTag.GetListByIds({
2475
2503
  api: api,
2476
2504
  tagIds: tagIds
2477
2505
  })];
2478
- case 3:
2479
- tags = (_d.sent()).tags;
2480
- _d.label = 4;
2481
- case 4:
2482
- 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 : {};
2506
+ case 5:
2507
+ tags = (_e.sent()).tags;
2508
+ _e.label = 6;
2509
+ case 6:
2510
+ lStyle = (_b = style === null || style === void 0 ? void 0 : style.polylineStyle) !== null && _b !== void 0 ? _b : {};
2483
2511
  cEntity = Render({
2484
2512
  entity: entity,
2485
2513
  style: lStyle,
@@ -2488,18 +2516,18 @@
2488
2516
  maxDistance: zoomItem.MaxZoom,
2489
2517
  minDistance: zoomItem.MinZoom
2490
2518
  });
2491
- if (!cEntity) return [3 /*break*/, 6];
2519
+ if (!cEntity) return [3 /*break*/, 8];
2492
2520
  return [4 /*yield*/, getName(api, entity)];
2493
- case 5:
2494
- name_3 = _d.sent();
2521
+ case 7:
2522
+ name_3 = _e.sent();
2495
2523
  cEntity.name = name_3;
2496
2524
  cEntity._renderGroup = getRenderGroupId(zoomItem, (_c = params.viewer) === null || _c === void 0 ? void 0 : _c.terrainProvider);
2497
2525
  cEntities[entity.Bruce.ID] = cEntity;
2498
- _d.label = 6;
2499
- case 6:
2526
+ _e.label = 8;
2527
+ case 8:
2500
2528
  i++;
2501
2529
  return [3 /*break*/, 1];
2502
- case 7: return [2 /*return*/, cEntities];
2530
+ case 9: return [2 /*return*/, cEntities];
2503
2531
  }
2504
2532
  });
2505
2533
  });
@@ -2517,12 +2545,12 @@
2517
2545
  }
2518
2546
  var style = params.style;
2519
2547
  var bFillColor = bruceModels.Calculator.GetColor(style.fillColor, entity, params.tags);
2520
- var cFillColor = bFillColor ? colorToCColor(bFillColor) : Cesium.Color.RED;
2548
+ var cFillColor = bFillColor ? colorToCColor(bFillColor) : Cesium.Color.fromCssColorString("rgba(139, 195, 74, 0.8)");
2521
2549
  var bLineColor = bruceModels.Calculator.GetColor(style.lineColor, entity, params.tags);
2522
- var cLineColor = bLineColor ? colorToCColor(bLineColor) : Cesium.Color.RED;
2550
+ var cLineColor = bLineColor ? colorToCColor(bLineColor) : Cesium.Color.fromCssColorString("rgba(80, 80, 80, 0.8)");
2523
2551
  var width = style.lineWidth ? bruceModels.Calculator.GetNumber(style.lineWidth, entity, params.tags) : null;
2524
2552
  if (width == null) {
2525
- width = 4;
2553
+ width = 1;
2526
2554
  }
2527
2555
  width = EnsureNumber(width);
2528
2556
  if (width < 0.01) {
@@ -2665,33 +2693,40 @@
2665
2693
  function RenderGroup(params) {
2666
2694
  var _a, _b, _c;
2667
2695
  return __awaiter(this, void 0, void 0, function () {
2668
- var api, cEntities, i, entity, zoomItem, style, tagIds, tags, pStyle, cEntity, name_4;
2669
- return __generator(this, function (_d) {
2670
- switch (_d.label) {
2696
+ var api, cEntities, i, entity, zoomItem, style, _d, tagIds, tags, pStyle, cEntity, name_4;
2697
+ return __generator(this, function (_e) {
2698
+ switch (_e.label) {
2671
2699
  case 0:
2672
2700
  api = params.apiGetter.getApi();
2673
2701
  cEntities = {};
2674
2702
  i = 0;
2675
- _d.label = 1;
2703
+ _e.label = 1;
2676
2704
  case 1:
2677
- if (!(i < params.entities.length)) return [3 /*break*/, 7];
2705
+ if (!(i < params.entities.length)) return [3 /*break*/, 9];
2678
2706
  entity = params.entities[i];
2679
2707
  zoomItem = params.zoomItems[entity.Bruce.ID];
2708
+ if (!(zoomItem.StyleID != -1)) return [3 /*break*/, 3];
2680
2709
  return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
2681
2710
  case 2:
2682
- style = _d.sent();
2711
+ _d = (_a = (_e.sent())) === null || _a === void 0 ? void 0 : _a.Settings;
2712
+ return [3 /*break*/, 4];
2713
+ case 3:
2714
+ _d = zoomItem.Style;
2715
+ _e.label = 4;
2716
+ case 4:
2717
+ style = _d;
2683
2718
  tagIds = entity.Bruce["Layer.ID"];
2684
2719
  tags = [];
2685
- if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 4];
2720
+ if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 6];
2686
2721
  return [4 /*yield*/, bruceModels.EntityTag.GetListByIds({
2687
2722
  api: api,
2688
2723
  tagIds: tagIds
2689
2724
  })];
2690
- case 3:
2691
- tags = (_d.sent()).tags;
2692
- _d.label = 4;
2693
- case 4:
2694
- 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 : {};
2725
+ case 5:
2726
+ tags = (_e.sent()).tags;
2727
+ _e.label = 6;
2728
+ case 6:
2729
+ pStyle = (_b = style === null || style === void 0 ? void 0 : style.polygonStyle) !== null && _b !== void 0 ? _b : {};
2695
2730
  cEntity = Render({
2696
2731
  entity: entity,
2697
2732
  style: pStyle,
@@ -2700,18 +2735,18 @@
2700
2735
  maxDistance: zoomItem.MaxZoom,
2701
2736
  minDistance: zoomItem.MinZoom
2702
2737
  });
2703
- if (!cEntity) return [3 /*break*/, 6];
2738
+ if (!cEntity) return [3 /*break*/, 8];
2704
2739
  return [4 /*yield*/, getName(api, entity)];
2705
- case 5:
2706
- name_4 = _d.sent();
2740
+ case 7:
2741
+ name_4 = _e.sent();
2707
2742
  cEntity.name = name_4;
2708
2743
  cEntity._renderGroup = getRenderGroupId(zoomItem, (_c = params.viewer) === null || _c === void 0 ? void 0 : _c.terrainProvider);
2709
2744
  cEntities[entity.Bruce.ID] = cEntity;
2710
- _d.label = 6;
2711
- case 6:
2745
+ _e.label = 8;
2746
+ case 8:
2712
2747
  i++;
2713
2748
  return [3 /*break*/, 1];
2714
- case 7: return [2 /*return*/, cEntities];
2749
+ case 9: return [2 /*return*/, cEntities];
2715
2750
  }
2716
2751
  });
2717
2752
  });
@@ -2738,7 +2773,7 @@
2738
2773
  styleScale = 1;
2739
2774
  }
2740
2775
  var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(heading), Cesium.Math.toRadians(pitch), Cesium.Math.toRadians(roll));
2741
- var heightRef = getHeightRef(style);
2776
+ var heightRef = getHeightRef(style, Cesium.HeightReference.RELATIVE_TO_GROUND);
2742
2777
  var pos = exports.EntityUtils.GetPos({
2743
2778
  viewer: params.viewer,
2744
2779
  entity: entity,
@@ -2797,9 +2832,9 @@
2797
2832
  function RenderGroup(params) {
2798
2833
  var _a, _b, _c, _d, _e;
2799
2834
  return __awaiter(this, void 0, void 0, function () {
2800
- var api, cEntities, reqBody, i, entity, zoomItem, style, tagIds, tags, mStyle, group, level, catId, lodData, _loop_2, i;
2801
- return __generator(this, function (_f) {
2802
- switch (_f.label) {
2835
+ var api, cEntities, reqBody, i, entity, zoomItem, style, _f, tagIds, tags, mStyle, group, level, catId, lodData, _loop_2, i;
2836
+ return __generator(this, function (_g) {
2837
+ switch (_g.label) {
2803
2838
  case 0:
2804
2839
  api = params.apiGetter.getApi();
2805
2840
  cEntities = {};
@@ -2809,26 +2844,33 @@
2809
2844
  "Items": []
2810
2845
  };
2811
2846
  i = 0;
2812
- _f.label = 1;
2847
+ _g.label = 1;
2813
2848
  case 1:
2814
- if (!(i < params.entities.length)) return [3 /*break*/, 6];
2849
+ if (!(i < params.entities.length)) return [3 /*break*/, 8];
2815
2850
  entity = params.entities[i];
2816
2851
  zoomItem = params.zoomItems[entity.Bruce.ID];
2852
+ if (!(zoomItem.StyleID != -1)) return [3 /*break*/, 3];
2817
2853
  return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
2818
2854
  case 2:
2819
- style = _f.sent();
2855
+ _f = (_a = (_g.sent())) === null || _a === void 0 ? void 0 : _a.Settings;
2856
+ return [3 /*break*/, 4];
2857
+ case 3:
2858
+ _f = zoomItem.Style;
2859
+ _g.label = 4;
2860
+ case 4:
2861
+ style = _f;
2820
2862
  tagIds = entity.Bruce["Layer.ID"];
2821
2863
  tags = [];
2822
- if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 4];
2864
+ if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 6];
2823
2865
  return [4 /*yield*/, bruceModels.EntityTag.GetListByIds({
2824
2866
  api: api,
2825
2867
  tagIds: tagIds
2826
2868
  })];
2827
- case 3:
2828
- tags = (_f.sent()).tags;
2829
- _f.label = 4;
2830
- case 4:
2831
- 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 : {};
2869
+ case 5:
2870
+ tags = (_g.sent()).tags;
2871
+ _g.label = 6;
2872
+ case 6:
2873
+ mStyle = (_b = style === null || style === void 0 ? void 0 : style.modelStyle) !== null && _b !== void 0 ? _b : {};
2832
2874
  group = mStyle.lodGroup ? bruceModels.Calculator.GetString(mStyle.lodGroup, entity, tags) : null;
2833
2875
  if (!group) {
2834
2876
  group = "DEFAULT";
@@ -2847,42 +2889,49 @@
2847
2889
  "group": group,
2848
2890
  "level": level
2849
2891
  });
2850
- _f.label = 5;
2851
- case 5:
2892
+ _g.label = 7;
2893
+ case 7:
2852
2894
  i++;
2853
2895
  return [3 /*break*/, 1];
2854
- case 6: return [4 /*yield*/, bruceModels.EntityLod.GetLods({
2896
+ case 8: return [4 /*yield*/, bruceModels.EntityLod.GetLods({
2855
2897
  api: api,
2856
2898
  filter: reqBody
2857
2899
  })];
2858
- case 7:
2859
- lodData = (_f.sent()).lods;
2900
+ case 9:
2901
+ lodData = (_g.sent()).lods;
2860
2902
  _loop_2 = function (i) {
2861
- var entity, zoomItem, style, tagIds, tags, lod, mStyle, cEntity, name_5;
2862
- return __generator(this, function (_g) {
2863
- switch (_g.label) {
2903
+ var entity, zoomItem, style, _h, tagIds, tags, lod, mStyle, cEntity, name_5;
2904
+ return __generator(this, function (_j) {
2905
+ switch (_j.label) {
2864
2906
  case 0:
2865
2907
  entity = params.entities[i];
2866
2908
  zoomItem = params.zoomItems[entity.Bruce.ID];
2909
+ if (!(zoomItem.StyleID != -1)) return [3 /*break*/, 2];
2867
2910
  return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
2868
2911
  case 1:
2869
- style = _g.sent();
2912
+ _h = (_c = (_j.sent())) === null || _c === void 0 ? void 0 : _c.Settings;
2913
+ return [3 /*break*/, 3];
2914
+ case 2:
2915
+ _h = zoomItem.Style;
2916
+ _j.label = 3;
2917
+ case 3:
2918
+ style = _h;
2870
2919
  tagIds = entity.Bruce["Layer.ID"];
2871
2920
  tags = [];
2872
- if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 3];
2921
+ if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 5];
2873
2922
  return [4 /*yield*/, bruceModels.EntityTag.GetListByIds({
2874
2923
  api: api,
2875
2924
  tagIds: tagIds
2876
2925
  })];
2877
- case 2:
2878
- tags = (_g.sent()).tags;
2879
- _g.label = 3;
2880
- case 3:
2926
+ case 4:
2927
+ tags = (_j.sent()).tags;
2928
+ _j.label = 5;
2929
+ case 5:
2881
2930
  lod = lodData.find(function (x) { return x.entityId == entity.Bruce.ID; });
2882
2931
  if (!(lod === null || lod === void 0 ? void 0 : lod.clientFileId)) {
2883
2932
  return [2 /*return*/, "continue"];
2884
2933
  }
2885
- 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 : {};
2934
+ mStyle = (_d = style === null || style === void 0 ? void 0 : style.modelStyle) !== null && _d !== void 0 ? _d : {};
2886
2935
  cEntity = Render({
2887
2936
  entity: entity,
2888
2937
  style: mStyle,
@@ -2896,30 +2945,30 @@
2896
2945
  maxDistance: zoomItem.MaxZoom,
2897
2946
  minDistance: zoomItem.MinZoom
2898
2947
  });
2899
- if (!cEntity) return [3 /*break*/, 5];
2948
+ if (!cEntity) return [3 /*break*/, 7];
2900
2949
  return [4 /*yield*/, getName(api, entity)];
2901
- case 4:
2902
- name_5 = _g.sent();
2950
+ case 6:
2951
+ name_5 = _j.sent();
2903
2952
  cEntity.name = name_5;
2904
2953
  cEntity._renderGroup = getRenderGroupId(zoomItem, (_e = params.viewer) === null || _e === void 0 ? void 0 : _e.terrainProvider);
2905
2954
  cEntities[entity.Bruce.ID] = cEntity;
2906
- _g.label = 5;
2907
- case 5: return [2 /*return*/];
2955
+ _j.label = 7;
2956
+ case 7: return [2 /*return*/];
2908
2957
  }
2909
2958
  });
2910
2959
  };
2911
2960
  i = 0;
2912
- _f.label = 8;
2913
- case 8:
2914
- if (!(i < params.entities.length)) return [3 /*break*/, 11];
2915
- return [5 /*yield**/, _loop_2(i)];
2916
- case 9:
2917
- _f.sent();
2918
- _f.label = 10;
2961
+ _g.label = 10;
2919
2962
  case 10:
2963
+ if (!(i < params.entities.length)) return [3 /*break*/, 13];
2964
+ return [5 /*yield**/, _loop_2(i)];
2965
+ case 11:
2966
+ _g.sent();
2967
+ _g.label = 12;
2968
+ case 12:
2920
2969
  i++;
2921
- return [3 /*break*/, 8];
2922
- case 11: return [2 /*return*/, cEntities];
2970
+ return [3 /*break*/, 10];
2971
+ case 13: return [2 /*return*/, cEntities];
2923
2972
  }
2924
2973
  });
2925
2974
  });
@@ -5247,7 +5296,7 @@
5247
5296
  });
5248
5297
  Manager.prototype.Init = function (params) {
5249
5298
  var _this = this;
5250
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
5299
+ var _a, _b, _c, _d, _e, _f;
5251
5300
  if (this.disposed) {
5252
5301
  throw (new Error("This item is disposed."));
5253
5302
  }
@@ -5273,13 +5322,10 @@
5273
5322
  }
5274
5323
  tagsToRender = [].concat(tagsToRender);
5275
5324
  var shouldRender = !isTagItem || tagsToRender.length > 0;
5276
- (_b = this.getter) === null || _b === void 0 ? void 0 : _b.ExcludeMenuItem(this.item.id);
5277
- this.getter = null;
5278
- (_c = this.getterSub) === null || _c === void 0 ? void 0 : _c.call(this);
5279
- this.getterSub = null;
5280
- (_d = this.viewMonitorRemoval) === null || _d === void 0 ? void 0 : _d.call(this);
5325
+ this.unsetGetter();
5326
+ (_b = this.viewMonitorRemoval) === null || _b === void 0 ? void 0 : _b.call(this);
5281
5327
  this.viewMonitorRemoval = null;
5282
- (_e = this.entityCheckQueue) === null || _e === void 0 ? void 0 : _e.Dispose();
5328
+ (_c = this.entityCheckQueue) === null || _c === void 0 ? void 0 : _c.Dispose();
5283
5329
  this.entityCheckQueue = null;
5284
5330
  clearInterval(this.renderQueueInterval);
5285
5331
  this.renderQueueInterval = null;
@@ -5291,22 +5337,39 @@
5291
5337
  menuItemId: this.item.id,
5292
5338
  retainTagIds: tagsToRender
5293
5339
  });
5294
- (_f = this.clustering) === null || _f === void 0 ? void 0 : _f.Dispose();
5340
+ (_d = this.clustering) === null || _d === void 0 ? void 0 : _d.Dispose();
5295
5341
  }
5296
5342
  else {
5297
5343
  this.visualsManager.RemoveRegos({
5298
5344
  menuItemId: this.item.id
5299
5345
  });
5300
- (_g = this.clustering) === null || _g === void 0 ? void 0 : _g.Dispose();
5346
+ (_e = this.clustering) === null || _e === void 0 ? void 0 : _e.Dispose();
5301
5347
  return;
5302
5348
  }
5303
5349
  if (this.item.enableClustering) {
5304
- this.clustering = new PointClustering(this.visualsManager, this.item.id, (_h = this.item) === null || _h === void 0 ? void 0 : _h.clustering);
5350
+ this.clustering = new PointClustering(this.visualsManager, this.item.id, (_f = this.item) === null || _f === void 0 ? void 0 : _f.clustering);
5305
5351
  }
5306
- var api = this.apiGetter.getApi();
5352
+ this.setGetter();
5353
+ this.viewMonitorRemoval = this.monitor.Updated().Subscribe(function () {
5354
+ _this.entityCheckQueue.Call();
5355
+ });
5356
+ this.entityCheckQueue = new bruceModels.DelayQueue(function () {
5357
+ var _a;
5358
+ // Don't bother checking for zoom control changes if we only have 1 item.
5359
+ // We'll let Cesium handle hide/show at max zoom range.
5360
+ var shouldCheck = ((_a = _this.item) === null || _a === void 0 ? void 0 : _a.CameraZoomSettings) && _this.item.CameraZoomSettings.length > 1;
5361
+ if (shouldCheck) {
5362
+ _this.doEntityCheck(Object.keys(_this.renderedEntities));
5363
+ }
5364
+ }, 3000);
5365
+ };
5366
+ Manager.prototype.setGetter = function () {
5367
+ var _this = this;
5368
+ var _a;
5369
+ this.unsetGetter();
5307
5370
  this.getter = this.sharedGetters.GetOrCreateFilterGetter({
5308
- api: api,
5309
- attrFilter: (_j = this.item.BruceEntity.Filter) !== null && _j !== void 0 ? _j : {},
5371
+ api: this.apiGetter.getApi(),
5372
+ attrFilter: (_a = this.item.BruceEntity.Filter) !== null && _a !== void 0 ? _a : {},
5310
5373
  batchSize: BATCH_SIZE,
5311
5374
  typeId: this.item.BruceEntity["EntityType.ID"],
5312
5375
  monitor: this.monitor,
@@ -5318,6 +5381,12 @@
5318
5381
  zoomControl: this.item.CameraZoomSettings
5319
5382
  });
5320
5383
  this.getter.IncludeMenuItem(this.item.id, [], minMax[0], minMax[1]);
5384
+ var isTagItem = Boolean(this.item.BruceEntity.ExpandLayers);
5385
+ var tagsToRender = isTagItem ? this.item.BruceEntity.SelectedExpandLayers : null;
5386
+ if (!tagsToRender) {
5387
+ tagsToRender = [];
5388
+ }
5389
+ tagsToRender = [].concat(tagsToRender);
5321
5390
  this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
5322
5391
  if (isTagItem) {
5323
5392
  _this.distributeForRender(entities.filter(function (entity) {
@@ -5334,18 +5403,13 @@
5334
5403
  _this.distributeForRender(entities);
5335
5404
  }
5336
5405
  });
5337
- this.viewMonitorRemoval = this.monitor.Updated().Subscribe(function () {
5338
- _this.entityCheckQueue.Call();
5339
- });
5340
- this.entityCheckQueue = new bruceModels.DelayQueue(function () {
5341
- var _a;
5342
- // Don't bother checking for zoom control changes if we only have 1 item.
5343
- // We'll let Cesium handle hide/show at max zoom range.
5344
- var shouldCheck = ((_a = _this.item) === null || _a === void 0 ? void 0 : _a.CameraZoomSettings) && _this.item.CameraZoomSettings.length > 1;
5345
- if (shouldCheck) {
5346
- _this.doEntityCheck(Object.keys(_this.renderedEntities));
5347
- }
5348
- }, 3000);
5406
+ };
5407
+ Manager.prototype.unsetGetter = function () {
5408
+ var _a, _b;
5409
+ (_a = this.getter) === null || _a === void 0 ? void 0 : _a.ExcludeMenuItem(this.item.id);
5410
+ this.getter = null;
5411
+ (_b = this.getterSub) === null || _b === void 0 ? void 0 : _b.call(this);
5412
+ this.getterSub = null;
5349
5413
  };
5350
5414
  Manager.prototype.Dispose = function () {
5351
5415
  if (this.disposed) {
@@ -5354,21 +5418,17 @@
5354
5418
  this.doDispose();
5355
5419
  };
5356
5420
  Manager.prototype.doDispose = function () {
5357
- var _a, _b, _c, _d;
5358
- (_a = this.getterSub) === null || _a === void 0 ? void 0 : _a.call(this);
5359
- this.getterSub = null;
5360
- if (this.getter) {
5361
- this.getter.ExcludeMenuItem(this.item.id);
5362
- }
5421
+ var _a, _b, _c;
5422
+ this.unsetGetter();
5363
5423
  this.disposed = true;
5364
5424
  this.visualsManager.RemoveRegos({
5365
5425
  menuItemId: this.item.id
5366
5426
  });
5367
- (_b = this.entityCheckRemoval) === null || _b === void 0 ? void 0 : _b.call(this);
5368
- (_c = this.viewMonitorRemoval) === null || _c === void 0 ? void 0 : _c.call(this);
5427
+ (_a = this.entityCheckRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
5428
+ (_b = this.viewMonitorRemoval) === null || _b === void 0 ? void 0 : _b.call(this);
5369
5429
  clearInterval(this.renderQueueInterval);
5370
5430
  this.renderQueue = [];
5371
- (_d = this.clustering) === null || _d === void 0 ? void 0 : _d.Dispose();
5431
+ (_c = this.clustering) === null || _c === void 0 ? void 0 : _c.Dispose();
5372
5432
  };
5373
5433
  Manager.prototype.ReRender = function (params) {
5374
5434
  return __awaiter(this, void 0, void 0, function () {
@@ -5422,6 +5482,24 @@
5422
5482
  });
5423
5483
  });
5424
5484
  };
5485
+ Manager.prototype.UpdateSettings = function (params) {
5486
+ var CameraZoomSettings = params.zoomControl, queueRerender = params.queueRerender;
5487
+ if (this.disposed) {
5488
+ return;
5489
+ }
5490
+ if (CameraZoomSettings === null || CameraZoomSettings === void 0 ? void 0 : CameraZoomSettings.length) {
5491
+ this.item.CameraZoomSettings = CameraZoomSettings;
5492
+ this.setGetter();
5493
+ }
5494
+ if (queueRerender != false) {
5495
+ var entityIds = Object.keys(this.renderedEntities);
5496
+ this.visualsManager.MarkStale({
5497
+ entityIds: entityIds,
5498
+ menuItemIds: [this.item.id]
5499
+ });
5500
+ this.doEntityCheck(entityIds);
5501
+ }
5502
+ };
5425
5503
  Manager.prototype.doEntityCheck = function (ids) {
5426
5504
  return __awaiter(this, void 0, void 0, function () {
5427
5505
  var api, checkBatch, e_2;
@@ -5698,6 +5776,23 @@
5698
5776
  });
5699
5777
  });
5700
5778
  };
5779
+ Manager.prototype.UpdateSettings = function (params) {
5780
+ var CameraZoomSettings = params.zoomControl, queueRerender = params.queueRerender;
5781
+ if (this.disposed) {
5782
+ return;
5783
+ }
5784
+ if (CameraZoomSettings === null || CameraZoomSettings === void 0 ? void 0 : CameraZoomSettings.length) {
5785
+ this.item.CameraZoomSettings = CameraZoomSettings;
5786
+ }
5787
+ if (queueRerender != false) {
5788
+ var entityIds = Object.keys(this.renderedEntities);
5789
+ this.visualsManager.MarkStale({
5790
+ entityIds: entityIds,
5791
+ menuItemIds: [this.item.id]
5792
+ });
5793
+ this.doEntityCheck(entityIds);
5794
+ }
5795
+ };
5701
5796
  Manager.prototype.doEntityCheck = function (ids, force) {
5702
5797
  if (force === void 0) { force = false; }
5703
5798
  return __awaiter(this, void 0, void 0, function () {
@@ -5924,6 +6019,23 @@
5924
6019
  });
5925
6020
  });
5926
6021
  };
6022
+ Manager.prototype.UpdateSettings = function (params) {
6023
+ var CameraZoomSettings = params.zoomControl, queueRerender = params.queueRerender;
6024
+ if (this.disposed) {
6025
+ return;
6026
+ }
6027
+ if (CameraZoomSettings === null || CameraZoomSettings === void 0 ? void 0 : CameraZoomSettings.length) {
6028
+ this.item.CameraZoomSettings = CameraZoomSettings;
6029
+ }
6030
+ if (queueRerender != false) {
6031
+ var entityIds = Object.keys(this.renderedEntities);
6032
+ this.visualsManager.MarkStale({
6033
+ entityIds: entityIds,
6034
+ menuItemIds: [this.item.id]
6035
+ });
6036
+ this.onGetterUpdate(entityIds);
6037
+ }
6038
+ };
5927
6039
  Manager.prototype.onGetterUpdate = function (entityIds, force) {
5928
6040
  if (force === void 0) { force = false; }
5929
6041
  return __awaiter(this, void 0, void 0, function () {
@@ -6154,6 +6266,23 @@
6154
6266
  });
6155
6267
  });
6156
6268
  };
6269
+ Manager.prototype.UpdateSettings = function (params) {
6270
+ var CameraZoomSettings = params.zoomControl, queueRerender = params.queueRerender;
6271
+ if (this.disposed) {
6272
+ return;
6273
+ }
6274
+ if (CameraZoomSettings === null || CameraZoomSettings === void 0 ? void 0 : CameraZoomSettings.length) {
6275
+ this.item.CameraZoomSettings = CameraZoomSettings;
6276
+ }
6277
+ if (queueRerender != false) {
6278
+ var entityId = this.item.BruceEntity.EntityId;
6279
+ this.visualsManager.MarkStale({
6280
+ entityIds: [entityId],
6281
+ menuItemIds: [this.item.id]
6282
+ });
6283
+ this.onGetterUpdate(entityId, true);
6284
+ }
6285
+ };
6157
6286
  Manager.prototype.renderEntity = function (entity, force) {
6158
6287
  var _a;
6159
6288
  if (force === void 0) { force = false; }
@@ -9089,7 +9218,7 @@
9089
9218
  if (rItem.renderManager && !((_c = rItem.renderManager) === null || _c === void 0 ? void 0 : _c.Disposed)) {
9090
9219
  (_d = this.onUpdate) === null || _d === void 0 ? void 0 : _d.Trigger({ isEnabling: true, itemId: rItem.id });
9091
9220
  }
9092
- rItem.id;
9221
+ return rItem.id;
9093
9222
  };
9094
9223
  /**
9095
9224
  * Disables a menu item by its id.
@@ -14661,6 +14790,30 @@
14661
14790
  }(Widget.AWidget));
14662
14791
 
14663
14792
  var CESIUM_VIEWER_MANAGER_KEY = "_cesiumViewerManager";
14793
+ /**
14794
+ * Bug related to entities not being visible after they were added then a render was requested.
14795
+ * It was 4 point entities in York. They would not appear until a request render was recalled.
14796
+ * Adding this slow render loop as a band-aid fix.
14797
+ */
14798
+ var BACKGROUND_RENDERING_KEY = "_backgroundRendering";
14799
+ function backgroundRendering(viewer) {
14800
+ if (viewer[BACKGROUND_RENDERING_KEY]) {
14801
+ return;
14802
+ }
14803
+ viewer[BACKGROUND_RENDERING_KEY] = true;
14804
+ var interval = setInterval(function () {
14805
+ if (!(viewer === null || viewer === void 0 ? void 0 : viewer.scene) || viewer.isDestroyed()) {
14806
+ clearInterval(interval);
14807
+ return;
14808
+ }
14809
+ // Check if last render time is greater than 3 seconds ago.
14810
+ // We check in case something else is also requesting renders.
14811
+ var lastRenderTime = viewer.scene.lastRenderTime;
14812
+ if (!lastRenderTime || Cesium.JulianDate.secondsDifference(Cesium.JulianDate.now(), lastRenderTime) > 3) {
14813
+ viewer.scene.requestRender();
14814
+ }
14815
+ }, 3500);
14816
+ }
14664
14817
  (function (ViewerUtils) {
14665
14818
  /**
14666
14819
  * Destroys all the junk that cesium viewer ships with.
@@ -14685,6 +14838,7 @@
14685
14838
  viewer: viewer
14686
14839
  });
14687
14840
  }
14841
+ backgroundRendering(viewer);
14688
14842
  return data;
14689
14843
  }
14690
14844
  ViewerUtils.InitViewer = InitViewer;
@@ -14702,6 +14856,9 @@
14702
14856
  var _a;
14703
14857
  var viewer = params.viewer;
14704
14858
  var container = viewer.container;
14859
+ if (!container.style.position) {
14860
+ container.style.position = "relative";
14861
+ }
14705
14862
  var genContainer = (_a = container.getElementsByClassName("cesium-viewer")) === null || _a === void 0 ? void 0 : _a[0];
14706
14863
  if (genContainer) {
14707
14864
  var children = genContainer.children;
@@ -14805,7 +14962,7 @@
14805
14962
  ViewerUtils.CreateWidgets = CreateWidgets;
14806
14963
  })(exports.ViewerUtils || (exports.ViewerUtils = {}));
14807
14964
 
14808
- var VERSION$1 = "2.5.3";
14965
+ var VERSION$1 = "2.5.5";
14809
14966
 
14810
14967
  exports.VERSION = VERSION$1;
14811
14968
  exports.CesiumViewMonitor = CesiumViewMonitor;