bruce-cesium 0.2.4 → 0.2.6

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.
@@ -86,6 +86,7 @@
86
86
  this.disposed = false;
87
87
  this.updatedEvent = null;
88
88
  this.viewer = viewer;
89
+ this.tryEmitUpdate();
89
90
  this.checkInterval = setInterval(function () {
90
91
  _this.updateQueue();
91
92
  }, POSITION_CHECK_TIMER);
@@ -1555,13 +1556,14 @@
1555
1556
 
1556
1557
  (function (EntitiesLoadedRenderManager) {
1557
1558
  var Manager = /** @class */ (function () {
1558
- function Manager(viewer, visualsManager, apiGetter, item) {
1559
+ function Manager(viewer, visualsManager, apiGetter, monitor, item) {
1559
1560
  this.getter = null;
1560
1561
  this.getterSub = null;
1561
1562
  this.disposed = false;
1562
1563
  this.renderedEntities = {};
1563
1564
  this.viewer = viewer;
1564
1565
  this.apiGetter = apiGetter;
1566
+ this.monitor = monitor;
1565
1567
  this.item = item;
1566
1568
  this.visualsManager = visualsManager;
1567
1569
  }
@@ -1579,7 +1581,7 @@
1579
1581
  if (this.disposed) {
1580
1582
  throw (new Error("This item is disposed."));
1581
1583
  }
1582
- this.getter = new bruceModels.BatchedDataGetter.Getter(this.item.BruceEntity.Entities, new CesiumViewMonitor(this.viewer), 500);
1584
+ this.getter = new bruceModels.BatchedDataGetter.Getter(this.item.BruceEntity.Entities, this.monitor, 500);
1583
1585
  this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
1584
1586
  _this.onGetterUpdate(entities);
1585
1587
  });
@@ -2027,13 +2029,14 @@
2027
2029
 
2028
2030
  (function (EntitiesIdsRenderManager) {
2029
2031
  var Manager = /** @class */ (function () {
2030
- function Manager(viewer, visualsManager, apiGetter, item) {
2032
+ function Manager(viewer, visualsManager, apiGetter, monitor, item) {
2031
2033
  this.getter = null;
2032
2034
  this.getterSub = null;
2033
2035
  this.disposed = false;
2034
2036
  this.renderedEntities = {};
2035
2037
  this.viewer = viewer;
2036
2038
  this.apiGetter = apiGetter;
2039
+ this.monitor = monitor;
2037
2040
  this.item = item;
2038
2041
  this.visualsManager = visualsManager;
2039
2042
  }
@@ -2051,7 +2054,7 @@
2051
2054
  if (this.disposed) {
2052
2055
  throw (new Error("This item is disposed."));
2053
2056
  }
2054
- this.getter = new bruceModels.BatchedDataGetter.Getter(this.item.BruceEntity.EntityIds, new CesiumViewMonitor(this.viewer), 500);
2057
+ this.getter = new bruceModels.BatchedDataGetter.Getter(this.item.BruceEntity.EntityIds, this.monitor, 500);
2055
2058
  this.getterSub = this.getter.OnUpdate.Subscribe(function (ids) {
2056
2059
  _this.onGetterUpdate(ids);
2057
2060
  });
@@ -2124,12 +2127,13 @@
2124
2127
 
2125
2128
  (function (EntityRenderManager) {
2126
2129
  var Manager = /** @class */ (function () {
2127
- function Manager(viewer, visualsManager, apiGetter, item) {
2130
+ function Manager(viewer, visualsManager, apiGetter, monitor, item) {
2128
2131
  this.getter = null;
2129
2132
  this.getterSub = null;
2130
2133
  this.disposed = false;
2131
2134
  this.viewer = viewer;
2132
2135
  this.apiGetter = apiGetter;
2136
+ this.monitor = monitor;
2133
2137
  this.item = item;
2134
2138
  this.visualsManager = visualsManager;
2135
2139
  }
@@ -2147,7 +2151,7 @@
2147
2151
  if (this.disposed) {
2148
2152
  throw (new Error("This item is disposed."));
2149
2153
  }
2150
- this.getter = new bruceModels.BatchedDataGetter.Getter([this.item.BruceEntity.EntityId], new CesiumViewMonitor(this.viewer), 1);
2154
+ this.getter = new bruceModels.BatchedDataGetter.Getter([this.item.BruceEntity.EntityId], this.monitor, 1);
2151
2155
  this.getterSub = this.getter.OnUpdate.Subscribe(function (ids) {
2152
2156
  _this.onGetterUpdate(ids[0]);
2153
2157
  });
@@ -2858,190 +2862,6 @@
2858
2862
  SharedGetters.Cache = Cache;
2859
2863
  })(exports.SharedGetters || (exports.SharedGetters = {}));
2860
2864
 
2861
- (function (MenuItemManager) {
2862
- var Manager = /** @class */ (function () {
2863
- function Manager(viewer, visualsRegister) {
2864
- this.items = [];
2865
- this.onUpdate = null;
2866
- this.viewer = viewer;
2867
- if (!visualsRegister) {
2868
- visualsRegister = new exports.VisualsRegister.Register(viewer);
2869
- }
2870
- this.visualsRegister = visualsRegister;
2871
- this.sharedGetters = new exports.SharedGetters.Cache(this.viewer);
2872
- }
2873
- Object.defineProperty(Manager.prototype, "Viewer", {
2874
- get: function () {
2875
- return this.viewer;
2876
- },
2877
- enumerable: false,
2878
- configurable: true
2879
- });
2880
- Object.defineProperty(Manager.prototype, "VisualsRegister", {
2881
- get: function () {
2882
- return this.visualsRegister;
2883
- },
2884
- enumerable: false,
2885
- configurable: true
2886
- });
2887
- Object.defineProperty(Manager.prototype, "OnUpdate", {
2888
- get: function () {
2889
- if (!this.onUpdate) {
2890
- this.onUpdate = new bruceModels.BruceEvent();
2891
- }
2892
- return this.onUpdate;
2893
- },
2894
- enumerable: false,
2895
- configurable: true
2896
- });
2897
- /**
2898
- * Renders a given menu item and all ids children.
2899
- * Will return the enabled item id.
2900
- * @param params
2901
- * @returns
2902
- */
2903
- Manager.prototype.RenderItem = function (params) {
2904
- var _a, _b;
2905
- return __awaiter(this, void 0, void 0, function () {
2906
- var rItem, i, childId;
2907
- return __generator(this, function (_c) {
2908
- switch (_c.label) {
2909
- case 0:
2910
- if (this.items.find(function (x) { return x.id == params.item.id; })) {
2911
- return [2 /*return*/, params.item.id];
2912
- }
2913
- rItem = {
2914
- id: (_a = params.item.id) !== null && _a !== void 0 ? _a : bruceModels.ObjectUtils.UId(),
2915
- childIds: [],
2916
- item: params.item,
2917
- renderManager: null,
2918
- type: params.item.Type
2919
- };
2920
- switch (params.item.Type) {
2921
- case bruceModels.MenuItem.EType.Entities:
2922
- rItem.renderManager = new exports.EntitiesRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item, this.sharedGetters);
2923
- break;
2924
- case bruceModels.MenuItem.EType.EntitiesLoaded:
2925
- rItem.renderManager = new exports.EntitiesLoadedRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
2926
- break;
2927
- case bruceModels.MenuItem.EType.EntitiesIds:
2928
- rItem.renderManager = new exports.EntitiesIdsRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
2929
- break;
2930
- case bruceModels.MenuItem.EType.Entity:
2931
- rItem.renderManager = new exports.EntityRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
2932
- break;
2933
- case bruceModels.MenuItem.EType.CadTileset:
2934
- rItem.renderManager = new exports.TilesetCadRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
2935
- break;
2936
- case bruceModels.MenuItem.EType.Osm:
2937
- // TODO;
2938
- break;
2939
- case bruceModels.MenuItem.EType.PointCloud:
2940
- // TODO;
2941
- break;
2942
- case bruceModels.MenuItem.EType.EntityTileset:
2943
- // TODO;
2944
- break;
2945
- case bruceModels.MenuItem.EType.Kml:
2946
- // TODO;
2947
- break;
2948
- // Any "none" type can be ignored. These are just containers for other items.
2949
- case bruceModels.MenuItem.EType.None:
2950
- break;
2951
- default:
2952
- console.error("Menu item type is not implemented.", params.item.Type);
2953
- }
2954
- if (!rItem.renderManager) return [3 /*break*/, 2];
2955
- return [4 /*yield*/, rItem.renderManager.Init()];
2956
- case 1:
2957
- _c.sent();
2958
- _c.label = 2;
2959
- case 2:
2960
- this.items.push(rItem);
2961
- if (!params.item.Children) return [3 /*break*/, 6];
2962
- i = 0;
2963
- _c.label = 3;
2964
- case 3:
2965
- if (!(i < params.item.Children.length)) return [3 /*break*/, 6];
2966
- return [4 /*yield*/, this.RenderItem(__assign(__assign({}, params), { item: params.item.Children[i] }))];
2967
- case 4:
2968
- childId = _c.sent();
2969
- rItem.childIds.push(childId);
2970
- _c.label = 5;
2971
- case 5:
2972
- i++;
2973
- return [3 /*break*/, 3];
2974
- case 6:
2975
- (_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: true, itemId: rItem.id });
2976
- return [2 /*return*/, rItem.id];
2977
- }
2978
- });
2979
- });
2980
- };
2981
- /**
2982
- * Disables a menu item by ids id.
2983
- * This will disable all children as well.
2984
- * @param id
2985
- */
2986
- Manager.prototype.RemoveItemById = function (id) {
2987
- var _a, _b;
2988
- return __awaiter(this, void 0, void 0, function () {
2989
- var item, _loop_1, this_1, i;
2990
- return __generator(this, function (_c) {
2991
- switch (_c.label) {
2992
- case 0:
2993
- item = this.items.find(function (x) { return x.id === id; });
2994
- if (!item) return [3 /*break*/, 5];
2995
- _loop_1 = function (i) {
2996
- var child;
2997
- return __generator(this, function (_a) {
2998
- switch (_a.label) {
2999
- case 0:
3000
- child = this_1.items.find(function (x) { return x.id === item.childIds[i]; });
3001
- if (!child) return [3 /*break*/, 2];
3002
- return [4 /*yield*/, this_1.RemoveItemById(child.id)];
3003
- case 1:
3004
- _a.sent();
3005
- _a.label = 2;
3006
- case 2: return [2 /*return*/];
3007
- }
3008
- });
3009
- };
3010
- this_1 = this;
3011
- i = 0;
3012
- _c.label = 1;
3013
- case 1:
3014
- if (!(i < item.childIds.length)) return [3 /*break*/, 4];
3015
- return [5 /*yield**/, _loop_1(i)];
3016
- case 2:
3017
- _c.sent();
3018
- _c.label = 3;
3019
- case 3:
3020
- i++;
3021
- return [3 /*break*/, 1];
3022
- case 4:
3023
- try {
3024
- (_a = item.renderManager) === null || _a === void 0 ? void 0 : _a.Dispose();
3025
- }
3026
- catch (e) {
3027
- console.error(e);
3028
- }
3029
- this.items = this.items.filter(function (x) { return x.id !== id; });
3030
- (_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: false, itemId: item.id });
3031
- _c.label = 5;
3032
- case 5: return [2 /*return*/];
3033
- }
3034
- });
3035
- });
3036
- };
3037
- Manager.prototype.GetEnabledItemIds = function () {
3038
- return this.items.map(function (x) { return x.id; });
3039
- };
3040
- return Manager;
3041
- }());
3042
- MenuItemManager.Manager = Manager;
3043
- })(exports.MenuItemManager || (exports.MenuItemManager = {}));
3044
-
3045
2865
  (function (RenderHelper) {
3046
2866
  function RenderEntities(params, entityIds) {
3047
2867
  return __awaiter(this, void 0, void 0, function () {
@@ -4018,6 +3838,191 @@
4018
3838
  return MeasureAddon;
4019
3839
  }());
4020
3840
 
3841
+ (function (MenuItemManager) {
3842
+ var Manager = /** @class */ (function () {
3843
+ function Manager(viewer, visualsRegister) {
3844
+ this.items = [];
3845
+ this.onUpdate = null;
3846
+ this.viewer = viewer;
3847
+ if (!visualsRegister) {
3848
+ visualsRegister = new exports.VisualsRegister.Register(viewer);
3849
+ }
3850
+ this.visualsRegister = visualsRegister;
3851
+ this.sharedGetters = new exports.SharedGetters.Cache(this.viewer);
3852
+ this.sharedMonitor = new CesiumViewMonitor(this.viewer);
3853
+ }
3854
+ Object.defineProperty(Manager.prototype, "Viewer", {
3855
+ get: function () {
3856
+ return this.viewer;
3857
+ },
3858
+ enumerable: false,
3859
+ configurable: true
3860
+ });
3861
+ Object.defineProperty(Manager.prototype, "VisualsRegister", {
3862
+ get: function () {
3863
+ return this.visualsRegister;
3864
+ },
3865
+ enumerable: false,
3866
+ configurable: true
3867
+ });
3868
+ Object.defineProperty(Manager.prototype, "OnUpdate", {
3869
+ get: function () {
3870
+ if (!this.onUpdate) {
3871
+ this.onUpdate = new bruceModels.BruceEvent();
3872
+ }
3873
+ return this.onUpdate;
3874
+ },
3875
+ enumerable: false,
3876
+ configurable: true
3877
+ });
3878
+ /**
3879
+ * Renders a given menu item and all ids children.
3880
+ * Will return the enabled item id.
3881
+ * @param params
3882
+ * @returns
3883
+ */
3884
+ Manager.prototype.RenderItem = function (params) {
3885
+ var _a, _b;
3886
+ return __awaiter(this, void 0, void 0, function () {
3887
+ var rItem, i, childId;
3888
+ return __generator(this, function (_c) {
3889
+ switch (_c.label) {
3890
+ case 0:
3891
+ if (this.items.find(function (x) { return x.id == params.item.id; })) {
3892
+ return [2 /*return*/, params.item.id];
3893
+ }
3894
+ rItem = {
3895
+ id: (_a = params.item.id) !== null && _a !== void 0 ? _a : bruceModels.ObjectUtils.UId(),
3896
+ childIds: [],
3897
+ item: params.item,
3898
+ renderManager: null,
3899
+ type: params.item.Type
3900
+ };
3901
+ switch (params.item.Type) {
3902
+ case bruceModels.MenuItem.EType.Entities:
3903
+ rItem.renderManager = new exports.EntitiesRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item, this.sharedGetters);
3904
+ break;
3905
+ case bruceModels.MenuItem.EType.EntitiesLoaded:
3906
+ rItem.renderManager = new exports.EntitiesLoadedRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
3907
+ break;
3908
+ case bruceModels.MenuItem.EType.EntitiesIds:
3909
+ rItem.renderManager = new exports.EntitiesIdsRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
3910
+ break;
3911
+ case bruceModels.MenuItem.EType.Entity:
3912
+ rItem.renderManager = new exports.EntityRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
3913
+ break;
3914
+ case bruceModels.MenuItem.EType.CadTileset:
3915
+ rItem.renderManager = new exports.TilesetCadRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
3916
+ break;
3917
+ case bruceModels.MenuItem.EType.Osm:
3918
+ // TODO;
3919
+ break;
3920
+ case bruceModels.MenuItem.EType.PointCloud:
3921
+ // TODO;
3922
+ break;
3923
+ case bruceModels.MenuItem.EType.EntityTileset:
3924
+ // TODO;
3925
+ break;
3926
+ case bruceModels.MenuItem.EType.Kml:
3927
+ // TODO;
3928
+ break;
3929
+ // Any "none" type can be ignored. These are just containers for other items.
3930
+ case bruceModels.MenuItem.EType.None:
3931
+ break;
3932
+ default:
3933
+ console.error("Menu item type is not implemented.", params.item.Type);
3934
+ }
3935
+ if (!rItem.renderManager) return [3 /*break*/, 2];
3936
+ return [4 /*yield*/, rItem.renderManager.Init()];
3937
+ case 1:
3938
+ _c.sent();
3939
+ _c.label = 2;
3940
+ case 2:
3941
+ this.items.push(rItem);
3942
+ if (!params.item.Children) return [3 /*break*/, 6];
3943
+ i = 0;
3944
+ _c.label = 3;
3945
+ case 3:
3946
+ if (!(i < params.item.Children.length)) return [3 /*break*/, 6];
3947
+ return [4 /*yield*/, this.RenderItem(__assign(__assign({}, params), { item: params.item.Children[i] }))];
3948
+ case 4:
3949
+ childId = _c.sent();
3950
+ rItem.childIds.push(childId);
3951
+ _c.label = 5;
3952
+ case 5:
3953
+ i++;
3954
+ return [3 /*break*/, 3];
3955
+ case 6:
3956
+ (_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: true, itemId: rItem.id });
3957
+ return [2 /*return*/, rItem.id];
3958
+ }
3959
+ });
3960
+ });
3961
+ };
3962
+ /**
3963
+ * Disables a menu item by ids id.
3964
+ * This will disable all children as well.
3965
+ * @param id
3966
+ */
3967
+ Manager.prototype.RemoveItemById = function (id) {
3968
+ var _a, _b;
3969
+ return __awaiter(this, void 0, void 0, function () {
3970
+ var item, _loop_1, this_1, i;
3971
+ return __generator(this, function (_c) {
3972
+ switch (_c.label) {
3973
+ case 0:
3974
+ item = this.items.find(function (x) { return x.id === id; });
3975
+ if (!item) return [3 /*break*/, 5];
3976
+ _loop_1 = function (i) {
3977
+ var child;
3978
+ return __generator(this, function (_a) {
3979
+ switch (_a.label) {
3980
+ case 0:
3981
+ child = this_1.items.find(function (x) { return x.id === item.childIds[i]; });
3982
+ if (!child) return [3 /*break*/, 2];
3983
+ return [4 /*yield*/, this_1.RemoveItemById(child.id)];
3984
+ case 1:
3985
+ _a.sent();
3986
+ _a.label = 2;
3987
+ case 2: return [2 /*return*/];
3988
+ }
3989
+ });
3990
+ };
3991
+ this_1 = this;
3992
+ i = 0;
3993
+ _c.label = 1;
3994
+ case 1:
3995
+ if (!(i < item.childIds.length)) return [3 /*break*/, 4];
3996
+ return [5 /*yield**/, _loop_1(i)];
3997
+ case 2:
3998
+ _c.sent();
3999
+ _c.label = 3;
4000
+ case 3:
4001
+ i++;
4002
+ return [3 /*break*/, 1];
4003
+ case 4:
4004
+ try {
4005
+ (_a = item.renderManager) === null || _a === void 0 ? void 0 : _a.Dispose();
4006
+ }
4007
+ catch (e) {
4008
+ console.error(e);
4009
+ }
4010
+ this.items = this.items.filter(function (x) { return x.id !== id; });
4011
+ (_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: false, itemId: item.id });
4012
+ _c.label = 5;
4013
+ case 5: return [2 /*return*/];
4014
+ }
4015
+ });
4016
+ });
4017
+ };
4018
+ Manager.prototype.GetEnabledItemIds = function () {
4019
+ return this.items.map(function (x) { return x.id; });
4020
+ };
4021
+ return Manager;
4022
+ }());
4023
+ MenuItemManager.Manager = Manager;
4024
+ })(exports.MenuItemManager || (exports.MenuItemManager = {}));
4025
+
4021
4026
  exports.CesiumViewMonitor = CesiumViewMonitor;
4022
4027
  exports.MeasureAddon = MeasureAddon;
4023
4028