bruce-cesium 0.2.6 → 0.2.8

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 +203 -200
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +198 -195
  4. package/dist/bruce-cesium.umd.js.map +1 -1
  5. package/dist/lib/rendering/menu-item-manager.js +4 -4
  6. package/dist/lib/rendering/menu-item-manager.js.map +1 -1
  7. package/dist/lib/rendering/render-managers/common/shared-getters.js +2 -4
  8. package/dist/lib/rendering/render-managers/common/shared-getters.js.map +1 -1
  9. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +1 -0
  10. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +1 -1
  11. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +1 -0
  12. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +1 -1
  13. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +5 -4
  14. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
  15. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +1 -0
  16. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +1 -1
  17. package/dist/lib/rendering/tile-render-engine.js +3 -4
  18. package/dist/lib/rendering/tile-render-engine.js.map +1 -1
  19. package/dist/lib/utils/view-utils.js +35 -0
  20. package/dist/lib/utils/view-utils.js.map +1 -0
  21. package/dist/types/rendering/render-managers/common/shared-getters.d.ts +2 -3
  22. package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +3 -1
  23. package/dist/types/rendering/tile-render-engine.d.ts +2 -1
  24. package/dist/types/utils/view-utils.d.ts +6 -0
  25. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  import { BruceEvent, Cartes, Carto, Geometry, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, DelayQueue, Entity as Entity$1, BatchedDataGetter, ObjectUtils, Tileset, EntityFilterGetter, MenuItem, ProjectView, ProjectViewBookmark, ProjectViewTileSource, Camera, MathUtils } from 'bruce-models';
2
- import { Cartesian2, Cartographic, Math as Math$1, Viewer, ArcGisMapServerImageryProvider, ScreenSpaceEventType, Color, HeightReference, Cartesian3, Entity, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Primitive, Cesium3DTileFeature, HeadingPitchRange, OrthographicFrustum, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, createWorldTerrain, CesiumTerrainProvider, EllipsoidTerrainProvider, Matrix4, Cesium3DTileset, EllipsoidGeodesic } from 'cesium';
2
+ import { Cartesian2, Cartographic, Math as Math$1, Viewer, ArcGisMapServerImageryProvider, ScreenSpaceEventType, Cartesian3, Entity, Primitive, Cesium3DTileFeature, Color, HeightReference, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, HeadingPitchRange, OrthographicFrustum, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, createWorldTerrain, CesiumTerrainProvider, EllipsoidTerrainProvider, EllipsoidGeodesic, Matrix4, Cesium3DTileset } from 'cesium';
3
3
 
4
4
  var TIME_LAG = 300;
5
5
  var POSITION_CHECK_TIMER = 950;
@@ -1377,7 +1377,7 @@ var EntityRenderEngine;
1377
1377
  var EntitiesRenderManager;
1378
1378
  (function (EntitiesRenderManager) {
1379
1379
  var Manager = /** @class */ (function () {
1380
- function Manager(viewer, visualsManager, apiGetter, item, sharedGetters) {
1380
+ function Manager(viewer, visualsManager, apiGetter, monitor, item, sharedGetters) {
1381
1381
  this.getter = null;
1382
1382
  this.getterSub = null;
1383
1383
  this.disposed = false;
@@ -1388,6 +1388,7 @@ var EntitiesRenderManager;
1388
1388
  this.viewMonitorRemoval = null;
1389
1389
  this.viewer = viewer;
1390
1390
  this.sharedGetters = sharedGetters;
1391
+ this.monitor = monitor;
1391
1392
  this.apiGetter = apiGetter;
1392
1393
  this.item = item;
1393
1394
  this.visualsManager = visualsManager;
@@ -1413,14 +1414,15 @@ var EntitiesRenderManager;
1413
1414
  api: api,
1414
1415
  attrFilter: (_a = this.item.BruceEntity.Filter) !== null && _a !== void 0 ? _a : {},
1415
1416
  batchSize: 500,
1416
- typeId: this.item.BruceEntity["EntityType.ID"]
1417
+ typeId: this.item.BruceEntity["EntityType.ID"],
1418
+ monitor: this.monitor
1417
1419
  });
1418
1420
  minMax = RenderManager.Utils.GetZoomMinMax(this.item.CameraZoomSettings);
1419
1421
  this.getter.IncludeMenuItem(this.item.id, [], minMax[0], minMax[1]);
1420
1422
  this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
1421
1423
  _this.onGetterUpdate(entities);
1422
1424
  });
1423
- this.viewMonitorRemoval = new CesiumViewMonitor(this.viewer).Updated().Subscribe(function () {
1425
+ this.viewMonitorRemoval = this.monitor.Updated().Subscribe(function () {
1424
1426
  _this.entityCheckQueue.Call();
1425
1427
  });
1426
1428
  this.entityCheckQueue = new DelayQueue(function () {
@@ -1596,6 +1598,7 @@ var EntitiesLoadedRenderManager;
1596
1598
  this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
1597
1599
  _this.onGetterUpdate(entities);
1598
1600
  });
1601
+ this.getter.Start();
1599
1602
  return [2 /*return*/];
1600
1603
  });
1601
1604
  });
@@ -2079,6 +2082,7 @@ var EntitiesIdsRenderManager;
2079
2082
  this.getterSub = this.getter.OnUpdate.Subscribe(function (ids) {
2080
2083
  _this.onGetterUpdate(ids);
2081
2084
  });
2085
+ this.getter.Start();
2082
2086
  return [2 /*return*/];
2083
2087
  });
2084
2088
  });
@@ -2180,6 +2184,7 @@ var EntityRenderManager;
2180
2184
  this.getterSub = this.getter.OnUpdate.Subscribe(function (ids) {
2181
2185
  _this.onGetterUpdate(ids[0]);
2182
2186
  });
2187
+ this.getter.Start();
2183
2188
  return [2 /*return*/];
2184
2189
  });
2185
2190
  });
@@ -2875,15 +2880,14 @@ function createFilterGetterCacheKey(params) {
2875
2880
  var SharedGetters;
2876
2881
  (function (SharedGetters) {
2877
2882
  var Cache = /** @class */ (function () {
2878
- function Cache(viewer) {
2883
+ function Cache() {
2879
2884
  this.data = {};
2880
- this.viewer = viewer;
2881
2885
  }
2882
2886
  Cache.prototype.GetOrCreateFilterGetter = function (params) {
2883
2887
  var cacheKey = createFilterGetterCacheKey(params);
2884
2888
  var getter = this.data[cacheKey];
2885
2889
  if (!getter) {
2886
- getter = new EntityFilterGetter.Getter(params.api, new CesiumViewMonitor(this.viewer), params.typeId, params.batchSize, params.attrFilter);
2890
+ getter = new EntityFilterGetter.Getter(params.api, params.monitor, params.typeId, params.batchSize, params.attrFilter);
2887
2891
  this.data[cacheKey] = getter;
2888
2892
  }
2889
2893
  return getter;
@@ -2893,6 +2897,195 @@ var SharedGetters;
2893
2897
  SharedGetters.Cache = Cache;
2894
2898
  })(SharedGetters || (SharedGetters = {}));
2895
2899
 
2900
+ /**
2901
+ * Utility to keep track of enabled menu items within a Cesium viewer.
2902
+ */
2903
+ var MenuItemManager;
2904
+ (function (MenuItemManager) {
2905
+ var Manager = /** @class */ (function () {
2906
+ function Manager(viewer, visualsRegister) {
2907
+ this.items = [];
2908
+ this.onUpdate = null;
2909
+ this.viewer = viewer;
2910
+ if (!visualsRegister) {
2911
+ visualsRegister = new VisualsRegister.Register(viewer);
2912
+ }
2913
+ this.visualsRegister = visualsRegister;
2914
+ this.sharedGetters = new SharedGetters.Cache();
2915
+ this.sharedMonitor = new CesiumViewMonitor(this.viewer);
2916
+ }
2917
+ Object.defineProperty(Manager.prototype, "Viewer", {
2918
+ get: function () {
2919
+ return this.viewer;
2920
+ },
2921
+ enumerable: false,
2922
+ configurable: true
2923
+ });
2924
+ Object.defineProperty(Manager.prototype, "VisualsRegister", {
2925
+ get: function () {
2926
+ return this.visualsRegister;
2927
+ },
2928
+ enumerable: false,
2929
+ configurable: true
2930
+ });
2931
+ Object.defineProperty(Manager.prototype, "OnUpdate", {
2932
+ get: function () {
2933
+ if (!this.onUpdate) {
2934
+ this.onUpdate = new BruceEvent();
2935
+ }
2936
+ return this.onUpdate;
2937
+ },
2938
+ enumerable: false,
2939
+ configurable: true
2940
+ });
2941
+ /**
2942
+ * Renders a given menu item and all ids children.
2943
+ * Will return the enabled item id.
2944
+ * @param params
2945
+ * @returns
2946
+ */
2947
+ Manager.prototype.RenderItem = function (params) {
2948
+ var _a, _b;
2949
+ return __awaiter(this, void 0, void 0, function () {
2950
+ var rItem, i, childId;
2951
+ return __generator(this, function (_c) {
2952
+ switch (_c.label) {
2953
+ case 0:
2954
+ if (this.items.find(function (x) { return x.id == params.item.id; })) {
2955
+ return [2 /*return*/, params.item.id];
2956
+ }
2957
+ rItem = {
2958
+ id: (_a = params.item.id) !== null && _a !== void 0 ? _a : ObjectUtils.UId(),
2959
+ childIds: [],
2960
+ item: params.item,
2961
+ renderManager: null,
2962
+ type: params.item.Type
2963
+ };
2964
+ switch (params.item.Type) {
2965
+ case MenuItem.EType.Entities:
2966
+ rItem.renderManager = new EntitiesRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item, this.sharedGetters);
2967
+ break;
2968
+ case MenuItem.EType.EntitiesLoaded:
2969
+ rItem.renderManager = new EntitiesLoadedRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
2970
+ break;
2971
+ case MenuItem.EType.EntitiesIds:
2972
+ rItem.renderManager = new EntitiesIdsRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
2973
+ break;
2974
+ case MenuItem.EType.Entity:
2975
+ rItem.renderManager = new EntityRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
2976
+ break;
2977
+ case MenuItem.EType.CadTileset:
2978
+ rItem.renderManager = new TilesetCadRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
2979
+ break;
2980
+ case MenuItem.EType.Osm:
2981
+ // TODO;
2982
+ break;
2983
+ case MenuItem.EType.PointCloud:
2984
+ // TODO;
2985
+ break;
2986
+ case MenuItem.EType.EntityTileset:
2987
+ // TODO;
2988
+ break;
2989
+ case MenuItem.EType.Kml:
2990
+ // TODO;
2991
+ break;
2992
+ // Any "none" type can be ignored. These are just containers for other items.
2993
+ case MenuItem.EType.None:
2994
+ break;
2995
+ default:
2996
+ console.error("Menu item type is not implemented.", params.item.Type);
2997
+ }
2998
+ if (!rItem.renderManager) return [3 /*break*/, 2];
2999
+ return [4 /*yield*/, rItem.renderManager.Init()];
3000
+ case 1:
3001
+ _c.sent();
3002
+ _c.label = 2;
3003
+ case 2:
3004
+ this.items.push(rItem);
3005
+ if (!params.item.Children) return [3 /*break*/, 6];
3006
+ i = 0;
3007
+ _c.label = 3;
3008
+ case 3:
3009
+ if (!(i < params.item.Children.length)) return [3 /*break*/, 6];
3010
+ return [4 /*yield*/, this.RenderItem(__assign(__assign({}, params), { item: params.item.Children[i] }))];
3011
+ case 4:
3012
+ childId = _c.sent();
3013
+ rItem.childIds.push(childId);
3014
+ _c.label = 5;
3015
+ case 5:
3016
+ i++;
3017
+ return [3 /*break*/, 3];
3018
+ case 6:
3019
+ (_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: true, itemId: rItem.id });
3020
+ return [2 /*return*/, rItem.id];
3021
+ }
3022
+ });
3023
+ });
3024
+ };
3025
+ /**
3026
+ * Disables a menu item by ids id.
3027
+ * This will disable all children as well.
3028
+ * @param id
3029
+ */
3030
+ Manager.prototype.RemoveItemById = function (id) {
3031
+ var _a, _b;
3032
+ return __awaiter(this, void 0, void 0, function () {
3033
+ var item, _loop_1, this_1, i;
3034
+ return __generator(this, function (_c) {
3035
+ switch (_c.label) {
3036
+ case 0:
3037
+ item = this.items.find(function (x) { return x.id === id; });
3038
+ if (!item) return [3 /*break*/, 5];
3039
+ _loop_1 = function (i) {
3040
+ var child;
3041
+ return __generator(this, function (_a) {
3042
+ switch (_a.label) {
3043
+ case 0:
3044
+ child = this_1.items.find(function (x) { return x.id === item.childIds[i]; });
3045
+ if (!child) return [3 /*break*/, 2];
3046
+ return [4 /*yield*/, this_1.RemoveItemById(child.id)];
3047
+ case 1:
3048
+ _a.sent();
3049
+ _a.label = 2;
3050
+ case 2: return [2 /*return*/];
3051
+ }
3052
+ });
3053
+ };
3054
+ this_1 = this;
3055
+ i = 0;
3056
+ _c.label = 1;
3057
+ case 1:
3058
+ if (!(i < item.childIds.length)) return [3 /*break*/, 4];
3059
+ return [5 /*yield**/, _loop_1(i)];
3060
+ case 2:
3061
+ _c.sent();
3062
+ _c.label = 3;
3063
+ case 3:
3064
+ i++;
3065
+ return [3 /*break*/, 1];
3066
+ case 4:
3067
+ try {
3068
+ (_a = item.renderManager) === null || _a === void 0 ? void 0 : _a.Dispose();
3069
+ }
3070
+ catch (e) {
3071
+ console.error(e);
3072
+ }
3073
+ this.items = this.items.filter(function (x) { return x.id !== id; });
3074
+ (_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: false, itemId: item.id });
3075
+ _c.label = 5;
3076
+ case 5: return [2 /*return*/];
3077
+ }
3078
+ });
3079
+ });
3080
+ };
3081
+ Manager.prototype.GetEnabledItemIds = function () {
3082
+ return this.items.map(function (x) { return x.id; });
3083
+ };
3084
+ return Manager;
3085
+ }());
3086
+ MenuItemManager.Manager = Manager;
3087
+ })(MenuItemManager || (MenuItemManager = {}));
3088
+
2896
3089
  /**
2897
3090
  * Utility to help generate menu items for rendering various data.
2898
3091
  */
@@ -3247,10 +3440,6 @@ var TileRenderEngine;
3247
3440
  TileRenderEngine.CompareLegacyNames = CompareLegacyNames;
3248
3441
  var Map;
3249
3442
  (function (Map) {
3250
- function MarkProvider(provider, id) {
3251
- provider._bId = id;
3252
- }
3253
- Map.MarkProvider = MarkProvider;
3254
3443
  function Render(params) {
3255
3444
  throw ("Not implemented");
3256
3445
  }
@@ -3420,6 +3609,7 @@ var TileRenderEngine;
3420
3609
  }
3421
3610
  if (layer) {
3422
3611
  layer._bId = bId;
3612
+ layer._bName = tile.Name;
3423
3613
  if (!params.viewer.imageryLayers.contains(layer)) {
3424
3614
  params.viewer.imageryLayers.add(layer);
3425
3615
  }
@@ -3543,6 +3733,7 @@ var TileRenderEngine;
3543
3733
  }
3544
3734
  Terrain.Render = Render;
3545
3735
  function RenderLegacy(params) {
3736
+ var _a;
3546
3737
  var bId = createTerrainBId(params.data);
3547
3738
  var curProvider = params.viewer.terrainProvider;
3548
3739
  if (curProvider._bId && curProvider._bId === bId) {
@@ -3577,6 +3768,7 @@ var TileRenderEngine;
3577
3768
  }
3578
3769
  if (provider) {
3579
3770
  provider._bId = bId;
3771
+ provider._bName = (_a = params.data) === null || _a === void 0 ? void 0 : _a.Name;
3580
3772
  params.viewer.terrainProvider = provider;
3581
3773
  }
3582
3774
  }
@@ -3875,194 +4067,5 @@ var MeasureAddon = /** @class */ (function () {
3875
4067
  return MeasureAddon;
3876
4068
  }());
3877
4069
 
3878
- /**
3879
- * Utility to keep track of enabled menu items within a Cesium viewer.
3880
- */
3881
- var MenuItemManager;
3882
- (function (MenuItemManager$$1) {
3883
- var Manager = /** @class */ (function () {
3884
- function Manager(viewer, visualsRegister) {
3885
- this.items = [];
3886
- this.onUpdate = null;
3887
- this.viewer = viewer;
3888
- if (!visualsRegister) {
3889
- visualsRegister = new VisualsRegister.Register(viewer);
3890
- }
3891
- this.visualsRegister = visualsRegister;
3892
- this.sharedGetters = new SharedGetters.Cache(this.viewer);
3893
- this.sharedMonitor = new CesiumViewMonitor(this.viewer);
3894
- }
3895
- Object.defineProperty(Manager.prototype, "Viewer", {
3896
- get: function () {
3897
- return this.viewer;
3898
- },
3899
- enumerable: false,
3900
- configurable: true
3901
- });
3902
- Object.defineProperty(Manager.prototype, "VisualsRegister", {
3903
- get: function () {
3904
- return this.visualsRegister;
3905
- },
3906
- enumerable: false,
3907
- configurable: true
3908
- });
3909
- Object.defineProperty(Manager.prototype, "OnUpdate", {
3910
- get: function () {
3911
- if (!this.onUpdate) {
3912
- this.onUpdate = new BruceEvent();
3913
- }
3914
- return this.onUpdate;
3915
- },
3916
- enumerable: false,
3917
- configurable: true
3918
- });
3919
- /**
3920
- * Renders a given menu item and all ids children.
3921
- * Will return the enabled item id.
3922
- * @param params
3923
- * @returns
3924
- */
3925
- Manager.prototype.RenderItem = function (params) {
3926
- var _a, _b;
3927
- return __awaiter(this, void 0, void 0, function () {
3928
- var rItem, i, childId;
3929
- return __generator(this, function (_c) {
3930
- switch (_c.label) {
3931
- case 0:
3932
- if (this.items.find(function (x) { return x.id == params.item.id; })) {
3933
- return [2 /*return*/, params.item.id];
3934
- }
3935
- rItem = {
3936
- id: (_a = params.item.id) !== null && _a !== void 0 ? _a : ObjectUtils.UId(),
3937
- childIds: [],
3938
- item: params.item,
3939
- renderManager: null,
3940
- type: params.item.Type
3941
- };
3942
- switch (params.item.Type) {
3943
- case MenuItem.EType.Entities:
3944
- rItem.renderManager = new EntitiesRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item, this.sharedGetters);
3945
- break;
3946
- case MenuItem.EType.EntitiesLoaded:
3947
- rItem.renderManager = new EntitiesLoadedRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
3948
- break;
3949
- case MenuItem.EType.EntitiesIds:
3950
- rItem.renderManager = new EntitiesIdsRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
3951
- break;
3952
- case MenuItem.EType.Entity:
3953
- rItem.renderManager = new EntityRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
3954
- break;
3955
- case MenuItem.EType.CadTileset:
3956
- rItem.renderManager = new TilesetCadRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
3957
- break;
3958
- case MenuItem.EType.Osm:
3959
- // TODO;
3960
- break;
3961
- case MenuItem.EType.PointCloud:
3962
- // TODO;
3963
- break;
3964
- case MenuItem.EType.EntityTileset:
3965
- // TODO;
3966
- break;
3967
- case MenuItem.EType.Kml:
3968
- // TODO;
3969
- break;
3970
- // Any "none" type can be ignored. These are just containers for other items.
3971
- case MenuItem.EType.None:
3972
- break;
3973
- default:
3974
- console.error("Menu item type is not implemented.", params.item.Type);
3975
- }
3976
- if (!rItem.renderManager) return [3 /*break*/, 2];
3977
- return [4 /*yield*/, rItem.renderManager.Init()];
3978
- case 1:
3979
- _c.sent();
3980
- _c.label = 2;
3981
- case 2:
3982
- this.items.push(rItem);
3983
- if (!params.item.Children) return [3 /*break*/, 6];
3984
- i = 0;
3985
- _c.label = 3;
3986
- case 3:
3987
- if (!(i < params.item.Children.length)) return [3 /*break*/, 6];
3988
- return [4 /*yield*/, this.RenderItem(__assign(__assign({}, params), { item: params.item.Children[i] }))];
3989
- case 4:
3990
- childId = _c.sent();
3991
- rItem.childIds.push(childId);
3992
- _c.label = 5;
3993
- case 5:
3994
- i++;
3995
- return [3 /*break*/, 3];
3996
- case 6:
3997
- (_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: true, itemId: rItem.id });
3998
- return [2 /*return*/, rItem.id];
3999
- }
4000
- });
4001
- });
4002
- };
4003
- /**
4004
- * Disables a menu item by ids id.
4005
- * This will disable all children as well.
4006
- * @param id
4007
- */
4008
- Manager.prototype.RemoveItemById = function (id) {
4009
- var _a, _b;
4010
- return __awaiter(this, void 0, void 0, function () {
4011
- var item, _loop_1, this_1, i;
4012
- return __generator(this, function (_c) {
4013
- switch (_c.label) {
4014
- case 0:
4015
- item = this.items.find(function (x) { return x.id === id; });
4016
- if (!item) return [3 /*break*/, 5];
4017
- _loop_1 = function (i) {
4018
- var child;
4019
- return __generator(this, function (_a) {
4020
- switch (_a.label) {
4021
- case 0:
4022
- child = this_1.items.find(function (x) { return x.id === item.childIds[i]; });
4023
- if (!child) return [3 /*break*/, 2];
4024
- return [4 /*yield*/, this_1.RemoveItemById(child.id)];
4025
- case 1:
4026
- _a.sent();
4027
- _a.label = 2;
4028
- case 2: return [2 /*return*/];
4029
- }
4030
- });
4031
- };
4032
- this_1 = this;
4033
- i = 0;
4034
- _c.label = 1;
4035
- case 1:
4036
- if (!(i < item.childIds.length)) return [3 /*break*/, 4];
4037
- return [5 /*yield**/, _loop_1(i)];
4038
- case 2:
4039
- _c.sent();
4040
- _c.label = 3;
4041
- case 3:
4042
- i++;
4043
- return [3 /*break*/, 1];
4044
- case 4:
4045
- try {
4046
- (_a = item.renderManager) === null || _a === void 0 ? void 0 : _a.Dispose();
4047
- }
4048
- catch (e) {
4049
- console.error(e);
4050
- }
4051
- this.items = this.items.filter(function (x) { return x.id !== id; });
4052
- (_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: false, itemId: item.id });
4053
- _c.label = 5;
4054
- case 5: return [2 /*return*/];
4055
- }
4056
- });
4057
- });
4058
- };
4059
- Manager.prototype.GetEnabledItemIds = function () {
4060
- return this.items.map(function (x) { return x.id; });
4061
- };
4062
- return Manager;
4063
- }());
4064
- MenuItemManager$$1.Manager = Manager;
4065
- })(MenuItemManager || (MenuItemManager = {}));
4066
-
4067
4070
  export { CesiumViewMonitor, ViewerUtils, MenuItemManager, EntityRenderEngine, RenderHelper, VisualsRegister, RenderManager, EntitiesIdsRenderManager, EntitiesLoadedRenderManager, EntitiesRenderManager, EntityRenderManager, TilesetCadRenderManager, ViewRenderEngine, TileRenderEngine, MeasureAddon, SharedGetters };
4068
4071
  //# sourceMappingURL=bruce-cesium.es5.js.map