bruce-cesium 0.2.7 → 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.
@@ -2866,6 +2866,191 @@
2866
2866
  SharedGetters.Cache = Cache;
2867
2867
  })(exports.SharedGetters || (exports.SharedGetters = {}));
2868
2868
 
2869
+ (function (MenuItemManager) {
2870
+ var Manager = /** @class */ (function () {
2871
+ function Manager(viewer, visualsRegister) {
2872
+ this.items = [];
2873
+ this.onUpdate = null;
2874
+ this.viewer = viewer;
2875
+ if (!visualsRegister) {
2876
+ visualsRegister = new exports.VisualsRegister.Register(viewer);
2877
+ }
2878
+ this.visualsRegister = visualsRegister;
2879
+ this.sharedGetters = new exports.SharedGetters.Cache();
2880
+ this.sharedMonitor = new CesiumViewMonitor(this.viewer);
2881
+ }
2882
+ Object.defineProperty(Manager.prototype, "Viewer", {
2883
+ get: function () {
2884
+ return this.viewer;
2885
+ },
2886
+ enumerable: false,
2887
+ configurable: true
2888
+ });
2889
+ Object.defineProperty(Manager.prototype, "VisualsRegister", {
2890
+ get: function () {
2891
+ return this.visualsRegister;
2892
+ },
2893
+ enumerable: false,
2894
+ configurable: true
2895
+ });
2896
+ Object.defineProperty(Manager.prototype, "OnUpdate", {
2897
+ get: function () {
2898
+ if (!this.onUpdate) {
2899
+ this.onUpdate = new bruceModels.BruceEvent();
2900
+ }
2901
+ return this.onUpdate;
2902
+ },
2903
+ enumerable: false,
2904
+ configurable: true
2905
+ });
2906
+ /**
2907
+ * Renders a given menu item and all ids children.
2908
+ * Will return the enabled item id.
2909
+ * @param params
2910
+ * @returns
2911
+ */
2912
+ Manager.prototype.RenderItem = function (params) {
2913
+ var _a, _b;
2914
+ return __awaiter(this, void 0, void 0, function () {
2915
+ var rItem, i, childId;
2916
+ return __generator(this, function (_c) {
2917
+ switch (_c.label) {
2918
+ case 0:
2919
+ if (this.items.find(function (x) { return x.id == params.item.id; })) {
2920
+ return [2 /*return*/, params.item.id];
2921
+ }
2922
+ rItem = {
2923
+ id: (_a = params.item.id) !== null && _a !== void 0 ? _a : bruceModels.ObjectUtils.UId(),
2924
+ childIds: [],
2925
+ item: params.item,
2926
+ renderManager: null,
2927
+ type: params.item.Type
2928
+ };
2929
+ switch (params.item.Type) {
2930
+ case bruceModels.MenuItem.EType.Entities:
2931
+ rItem.renderManager = new exports.EntitiesRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item, this.sharedGetters);
2932
+ break;
2933
+ case bruceModels.MenuItem.EType.EntitiesLoaded:
2934
+ rItem.renderManager = new exports.EntitiesLoadedRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
2935
+ break;
2936
+ case bruceModels.MenuItem.EType.EntitiesIds:
2937
+ rItem.renderManager = new exports.EntitiesIdsRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
2938
+ break;
2939
+ case bruceModels.MenuItem.EType.Entity:
2940
+ rItem.renderManager = new exports.EntityRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
2941
+ break;
2942
+ case bruceModels.MenuItem.EType.CadTileset:
2943
+ rItem.renderManager = new exports.TilesetCadRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
2944
+ break;
2945
+ case bruceModels.MenuItem.EType.Osm:
2946
+ // TODO;
2947
+ break;
2948
+ case bruceModels.MenuItem.EType.PointCloud:
2949
+ // TODO;
2950
+ break;
2951
+ case bruceModels.MenuItem.EType.EntityTileset:
2952
+ // TODO;
2953
+ break;
2954
+ case bruceModels.MenuItem.EType.Kml:
2955
+ // TODO;
2956
+ break;
2957
+ // Any "none" type can be ignored. These are just containers for other items.
2958
+ case bruceModels.MenuItem.EType.None:
2959
+ break;
2960
+ default:
2961
+ console.error("Menu item type is not implemented.", params.item.Type);
2962
+ }
2963
+ if (!rItem.renderManager) return [3 /*break*/, 2];
2964
+ return [4 /*yield*/, rItem.renderManager.Init()];
2965
+ case 1:
2966
+ _c.sent();
2967
+ _c.label = 2;
2968
+ case 2:
2969
+ this.items.push(rItem);
2970
+ if (!params.item.Children) return [3 /*break*/, 6];
2971
+ i = 0;
2972
+ _c.label = 3;
2973
+ case 3:
2974
+ if (!(i < params.item.Children.length)) return [3 /*break*/, 6];
2975
+ return [4 /*yield*/, this.RenderItem(__assign(__assign({}, params), { item: params.item.Children[i] }))];
2976
+ case 4:
2977
+ childId = _c.sent();
2978
+ rItem.childIds.push(childId);
2979
+ _c.label = 5;
2980
+ case 5:
2981
+ i++;
2982
+ return [3 /*break*/, 3];
2983
+ case 6:
2984
+ (_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: true, itemId: rItem.id });
2985
+ return [2 /*return*/, rItem.id];
2986
+ }
2987
+ });
2988
+ });
2989
+ };
2990
+ /**
2991
+ * Disables a menu item by ids id.
2992
+ * This will disable all children as well.
2993
+ * @param id
2994
+ */
2995
+ Manager.prototype.RemoveItemById = function (id) {
2996
+ var _a, _b;
2997
+ return __awaiter(this, void 0, void 0, function () {
2998
+ var item, _loop_1, this_1, i;
2999
+ return __generator(this, function (_c) {
3000
+ switch (_c.label) {
3001
+ case 0:
3002
+ item = this.items.find(function (x) { return x.id === id; });
3003
+ if (!item) return [3 /*break*/, 5];
3004
+ _loop_1 = function (i) {
3005
+ var child;
3006
+ return __generator(this, function (_a) {
3007
+ switch (_a.label) {
3008
+ case 0:
3009
+ child = this_1.items.find(function (x) { return x.id === item.childIds[i]; });
3010
+ if (!child) return [3 /*break*/, 2];
3011
+ return [4 /*yield*/, this_1.RemoveItemById(child.id)];
3012
+ case 1:
3013
+ _a.sent();
3014
+ _a.label = 2;
3015
+ case 2: return [2 /*return*/];
3016
+ }
3017
+ });
3018
+ };
3019
+ this_1 = this;
3020
+ i = 0;
3021
+ _c.label = 1;
3022
+ case 1:
3023
+ if (!(i < item.childIds.length)) return [3 /*break*/, 4];
3024
+ return [5 /*yield**/, _loop_1(i)];
3025
+ case 2:
3026
+ _c.sent();
3027
+ _c.label = 3;
3028
+ case 3:
3029
+ i++;
3030
+ return [3 /*break*/, 1];
3031
+ case 4:
3032
+ try {
3033
+ (_a = item.renderManager) === null || _a === void 0 ? void 0 : _a.Dispose();
3034
+ }
3035
+ catch (e) {
3036
+ console.error(e);
3037
+ }
3038
+ this.items = this.items.filter(function (x) { return x.id !== id; });
3039
+ (_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: false, itemId: item.id });
3040
+ _c.label = 5;
3041
+ case 5: return [2 /*return*/];
3042
+ }
3043
+ });
3044
+ });
3045
+ };
3046
+ Manager.prototype.GetEnabledItemIds = function () {
3047
+ return this.items.map(function (x) { return x.id; });
3048
+ };
3049
+ return Manager;
3050
+ }());
3051
+ MenuItemManager.Manager = Manager;
3052
+ })(exports.MenuItemManager || (exports.MenuItemManager = {}));
3053
+
2869
3054
  (function (RenderHelper) {
2870
3055
  function RenderEntities(params, entityIds) {
2871
3056
  return __awaiter(this, void 0, void 0, function () {
@@ -3215,10 +3400,6 @@
3215
3400
  TileRenderEngine.CompareLegacyNames = CompareLegacyNames;
3216
3401
  var Map;
3217
3402
  (function (Map) {
3218
- function MarkProvider(provider, id) {
3219
- provider._bId = id;
3220
- }
3221
- Map.MarkProvider = MarkProvider;
3222
3403
  function Render(params) {
3223
3404
  throw ("Not implemented");
3224
3405
  }
@@ -3388,6 +3569,7 @@
3388
3569
  }
3389
3570
  if (layer) {
3390
3571
  layer._bId = bId;
3572
+ layer._bName = tile.Name;
3391
3573
  if (!params.viewer.imageryLayers.contains(layer)) {
3392
3574
  params.viewer.imageryLayers.add(layer);
3393
3575
  }
@@ -3511,6 +3693,7 @@
3511
3693
  }
3512
3694
  Terrain.Render = Render;
3513
3695
  function RenderLegacy(params) {
3696
+ var _a;
3514
3697
  var bId = createTerrainBId(params.data);
3515
3698
  var curProvider = params.viewer.terrainProvider;
3516
3699
  if (curProvider._bId && curProvider._bId === bId) {
@@ -3545,6 +3728,7 @@
3545
3728
  }
3546
3729
  if (provider) {
3547
3730
  provider._bId = bId;
3731
+ provider._bName = (_a = params.data) === null || _a === void 0 ? void 0 : _a.Name;
3548
3732
  params.viewer.terrainProvider = provider;
3549
3733
  }
3550
3734
  }
@@ -3842,191 +4026,6 @@
3842
4026
  return MeasureAddon;
3843
4027
  }());
3844
4028
 
3845
- (function (MenuItemManager) {
3846
- var Manager = /** @class */ (function () {
3847
- function Manager(viewer, visualsRegister) {
3848
- this.items = [];
3849
- this.onUpdate = null;
3850
- this.viewer = viewer;
3851
- if (!visualsRegister) {
3852
- visualsRegister = new exports.VisualsRegister.Register(viewer);
3853
- }
3854
- this.visualsRegister = visualsRegister;
3855
- this.sharedGetters = new exports.SharedGetters.Cache();
3856
- this.sharedMonitor = new CesiumViewMonitor(this.viewer);
3857
- }
3858
- Object.defineProperty(Manager.prototype, "Viewer", {
3859
- get: function () {
3860
- return this.viewer;
3861
- },
3862
- enumerable: false,
3863
- configurable: true
3864
- });
3865
- Object.defineProperty(Manager.prototype, "VisualsRegister", {
3866
- get: function () {
3867
- return this.visualsRegister;
3868
- },
3869
- enumerable: false,
3870
- configurable: true
3871
- });
3872
- Object.defineProperty(Manager.prototype, "OnUpdate", {
3873
- get: function () {
3874
- if (!this.onUpdate) {
3875
- this.onUpdate = new bruceModels.BruceEvent();
3876
- }
3877
- return this.onUpdate;
3878
- },
3879
- enumerable: false,
3880
- configurable: true
3881
- });
3882
- /**
3883
- * Renders a given menu item and all ids children.
3884
- * Will return the enabled item id.
3885
- * @param params
3886
- * @returns
3887
- */
3888
- Manager.prototype.RenderItem = function (params) {
3889
- var _a, _b;
3890
- return __awaiter(this, void 0, void 0, function () {
3891
- var rItem, i, childId;
3892
- return __generator(this, function (_c) {
3893
- switch (_c.label) {
3894
- case 0:
3895
- if (this.items.find(function (x) { return x.id == params.item.id; })) {
3896
- return [2 /*return*/, params.item.id];
3897
- }
3898
- rItem = {
3899
- id: (_a = params.item.id) !== null && _a !== void 0 ? _a : bruceModels.ObjectUtils.UId(),
3900
- childIds: [],
3901
- item: params.item,
3902
- renderManager: null,
3903
- type: params.item.Type
3904
- };
3905
- switch (params.item.Type) {
3906
- case bruceModels.MenuItem.EType.Entities:
3907
- rItem.renderManager = new exports.EntitiesRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item, this.sharedGetters);
3908
- break;
3909
- case bruceModels.MenuItem.EType.EntitiesLoaded:
3910
- rItem.renderManager = new exports.EntitiesLoadedRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
3911
- break;
3912
- case bruceModels.MenuItem.EType.EntitiesIds:
3913
- rItem.renderManager = new exports.EntitiesIdsRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
3914
- break;
3915
- case bruceModels.MenuItem.EType.Entity:
3916
- rItem.renderManager = new exports.EntityRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
3917
- break;
3918
- case bruceModels.MenuItem.EType.CadTileset:
3919
- rItem.renderManager = new exports.TilesetCadRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
3920
- break;
3921
- case bruceModels.MenuItem.EType.Osm:
3922
- // TODO;
3923
- break;
3924
- case bruceModels.MenuItem.EType.PointCloud:
3925
- // TODO;
3926
- break;
3927
- case bruceModels.MenuItem.EType.EntityTileset:
3928
- // TODO;
3929
- break;
3930
- case bruceModels.MenuItem.EType.Kml:
3931
- // TODO;
3932
- break;
3933
- // Any "none" type can be ignored. These are just containers for other items.
3934
- case bruceModels.MenuItem.EType.None:
3935
- break;
3936
- default:
3937
- console.error("Menu item type is not implemented.", params.item.Type);
3938
- }
3939
- if (!rItem.renderManager) return [3 /*break*/, 2];
3940
- return [4 /*yield*/, rItem.renderManager.Init()];
3941
- case 1:
3942
- _c.sent();
3943
- _c.label = 2;
3944
- case 2:
3945
- this.items.push(rItem);
3946
- if (!params.item.Children) return [3 /*break*/, 6];
3947
- i = 0;
3948
- _c.label = 3;
3949
- case 3:
3950
- if (!(i < params.item.Children.length)) return [3 /*break*/, 6];
3951
- return [4 /*yield*/, this.RenderItem(__assign(__assign({}, params), { item: params.item.Children[i] }))];
3952
- case 4:
3953
- childId = _c.sent();
3954
- rItem.childIds.push(childId);
3955
- _c.label = 5;
3956
- case 5:
3957
- i++;
3958
- return [3 /*break*/, 3];
3959
- case 6:
3960
- (_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: true, itemId: rItem.id });
3961
- return [2 /*return*/, rItem.id];
3962
- }
3963
- });
3964
- });
3965
- };
3966
- /**
3967
- * Disables a menu item by ids id.
3968
- * This will disable all children as well.
3969
- * @param id
3970
- */
3971
- Manager.prototype.RemoveItemById = function (id) {
3972
- var _a, _b;
3973
- return __awaiter(this, void 0, void 0, function () {
3974
- var item, _loop_1, this_1, i;
3975
- return __generator(this, function (_c) {
3976
- switch (_c.label) {
3977
- case 0:
3978
- item = this.items.find(function (x) { return x.id === id; });
3979
- if (!item) return [3 /*break*/, 5];
3980
- _loop_1 = function (i) {
3981
- var child;
3982
- return __generator(this, function (_a) {
3983
- switch (_a.label) {
3984
- case 0:
3985
- child = this_1.items.find(function (x) { return x.id === item.childIds[i]; });
3986
- if (!child) return [3 /*break*/, 2];
3987
- return [4 /*yield*/, this_1.RemoveItemById(child.id)];
3988
- case 1:
3989
- _a.sent();
3990
- _a.label = 2;
3991
- case 2: return [2 /*return*/];
3992
- }
3993
- });
3994
- };
3995
- this_1 = this;
3996
- i = 0;
3997
- _c.label = 1;
3998
- case 1:
3999
- if (!(i < item.childIds.length)) return [3 /*break*/, 4];
4000
- return [5 /*yield**/, _loop_1(i)];
4001
- case 2:
4002
- _c.sent();
4003
- _c.label = 3;
4004
- case 3:
4005
- i++;
4006
- return [3 /*break*/, 1];
4007
- case 4:
4008
- try {
4009
- (_a = item.renderManager) === null || _a === void 0 ? void 0 : _a.Dispose();
4010
- }
4011
- catch (e) {
4012
- console.error(e);
4013
- }
4014
- this.items = this.items.filter(function (x) { return x.id !== id; });
4015
- (_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: false, itemId: item.id });
4016
- _c.label = 5;
4017
- case 5: return [2 /*return*/];
4018
- }
4019
- });
4020
- });
4021
- };
4022
- Manager.prototype.GetEnabledItemIds = function () {
4023
- return this.items.map(function (x) { return x.id; });
4024
- };
4025
- return Manager;
4026
- }());
4027
- MenuItemManager.Manager = Manager;
4028
- })(exports.MenuItemManager || (exports.MenuItemManager = {}));
4029
-
4030
4029
  exports.CesiumViewMonitor = CesiumViewMonitor;
4031
4030
  exports.MeasureAddon = MeasureAddon;
4032
4031