bruce-cesium 0.2.5 → 0.2.7
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.
- package/dist/bruce-cesium.es5.js +210 -201
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +205 -196
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/rendering/menu-item-manager.js +7 -5
- package/dist/lib/rendering/menu-item-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/common/shared-getters.js +2 -4
- package/dist/lib/rendering/render-managers/common/shared-getters.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +4 -3
- package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +4 -3
- package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +5 -4
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +4 -3
- package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +1 -1
- package/dist/lib/viewer/cesium-view-monitor.js +1 -0
- package/dist/lib/viewer/cesium-view-monitor.js.map +1 -1
- package/dist/types/rendering/menu-item-manager.d.ts +1 -0
- package/dist/types/rendering/render-managers/common/shared-getters.d.ts +2 -3
- package/dist/types/rendering/render-managers/entities/entities-ids-render-manager.d.ts +3 -1
- package/dist/types/rendering/render-managers/entities/entities-loaded-render-manager.d.ts +3 -1
- package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +3 -1
- package/dist/types/rendering/render-managers/entities/entity-render-manager.d.ts +3 -1
- package/package.json +2 -2
package/dist/bruce-cesium.umd.js
CHANGED
|
@@ -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);
|
|
@@ -1371,7 +1372,7 @@
|
|
|
1371
1372
|
|
|
1372
1373
|
(function (EntitiesRenderManager) {
|
|
1373
1374
|
var Manager = /** @class */ (function () {
|
|
1374
|
-
function Manager(viewer, visualsManager, apiGetter, item, sharedGetters) {
|
|
1375
|
+
function Manager(viewer, visualsManager, apiGetter, monitor, item, sharedGetters) {
|
|
1375
1376
|
this.getter = null;
|
|
1376
1377
|
this.getterSub = null;
|
|
1377
1378
|
this.disposed = false;
|
|
@@ -1382,6 +1383,7 @@
|
|
|
1382
1383
|
this.viewMonitorRemoval = null;
|
|
1383
1384
|
this.viewer = viewer;
|
|
1384
1385
|
this.sharedGetters = sharedGetters;
|
|
1386
|
+
this.monitor = monitor;
|
|
1385
1387
|
this.apiGetter = apiGetter;
|
|
1386
1388
|
this.item = item;
|
|
1387
1389
|
this.visualsManager = visualsManager;
|
|
@@ -1407,14 +1409,15 @@
|
|
|
1407
1409
|
api: api,
|
|
1408
1410
|
attrFilter: (_a = this.item.BruceEntity.Filter) !== null && _a !== void 0 ? _a : {},
|
|
1409
1411
|
batchSize: 500,
|
|
1410
|
-
typeId: this.item.BruceEntity["EntityType.ID"]
|
|
1412
|
+
typeId: this.item.BruceEntity["EntityType.ID"],
|
|
1413
|
+
monitor: this.monitor
|
|
1411
1414
|
});
|
|
1412
1415
|
minMax = exports.RenderManager.Utils.GetZoomMinMax(this.item.CameraZoomSettings);
|
|
1413
1416
|
this.getter.IncludeMenuItem(this.item.id, [], minMax[0], minMax[1]);
|
|
1414
1417
|
this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
|
|
1415
1418
|
_this.onGetterUpdate(entities);
|
|
1416
1419
|
});
|
|
1417
|
-
this.viewMonitorRemoval =
|
|
1420
|
+
this.viewMonitorRemoval = this.monitor.Updated().Subscribe(function () {
|
|
1418
1421
|
_this.entityCheckQueue.Call();
|
|
1419
1422
|
});
|
|
1420
1423
|
this.entityCheckQueue = new bruceModels.DelayQueue(function () {
|
|
@@ -1555,13 +1558,14 @@
|
|
|
1555
1558
|
|
|
1556
1559
|
(function (EntitiesLoadedRenderManager) {
|
|
1557
1560
|
var Manager = /** @class */ (function () {
|
|
1558
|
-
function Manager(viewer, visualsManager, apiGetter, item) {
|
|
1561
|
+
function Manager(viewer, visualsManager, apiGetter, monitor, item) {
|
|
1559
1562
|
this.getter = null;
|
|
1560
1563
|
this.getterSub = null;
|
|
1561
1564
|
this.disposed = false;
|
|
1562
1565
|
this.renderedEntities = {};
|
|
1563
1566
|
this.viewer = viewer;
|
|
1564
1567
|
this.apiGetter = apiGetter;
|
|
1568
|
+
this.monitor = monitor;
|
|
1565
1569
|
this.item = item;
|
|
1566
1570
|
this.visualsManager = visualsManager;
|
|
1567
1571
|
}
|
|
@@ -1579,10 +1583,11 @@
|
|
|
1579
1583
|
if (this.disposed) {
|
|
1580
1584
|
throw (new Error("This item is disposed."));
|
|
1581
1585
|
}
|
|
1582
|
-
this.getter = new bruceModels.BatchedDataGetter.Getter(this.item.BruceEntity.Entities,
|
|
1586
|
+
this.getter = new bruceModels.BatchedDataGetter.Getter(this.item.BruceEntity.Entities, this.monitor, 500);
|
|
1583
1587
|
this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
|
|
1584
1588
|
_this.onGetterUpdate(entities);
|
|
1585
1589
|
});
|
|
1590
|
+
this.getter.Start();
|
|
1586
1591
|
return [2 /*return*/];
|
|
1587
1592
|
});
|
|
1588
1593
|
});
|
|
@@ -2027,13 +2032,14 @@
|
|
|
2027
2032
|
|
|
2028
2033
|
(function (EntitiesIdsRenderManager) {
|
|
2029
2034
|
var Manager = /** @class */ (function () {
|
|
2030
|
-
function Manager(viewer, visualsManager, apiGetter, item) {
|
|
2035
|
+
function Manager(viewer, visualsManager, apiGetter, monitor, item) {
|
|
2031
2036
|
this.getter = null;
|
|
2032
2037
|
this.getterSub = null;
|
|
2033
2038
|
this.disposed = false;
|
|
2034
2039
|
this.renderedEntities = {};
|
|
2035
2040
|
this.viewer = viewer;
|
|
2036
2041
|
this.apiGetter = apiGetter;
|
|
2042
|
+
this.monitor = monitor;
|
|
2037
2043
|
this.item = item;
|
|
2038
2044
|
this.visualsManager = visualsManager;
|
|
2039
2045
|
}
|
|
@@ -2051,10 +2057,11 @@
|
|
|
2051
2057
|
if (this.disposed) {
|
|
2052
2058
|
throw (new Error("This item is disposed."));
|
|
2053
2059
|
}
|
|
2054
|
-
this.getter = new bruceModels.BatchedDataGetter.Getter(this.item.BruceEntity.EntityIds,
|
|
2060
|
+
this.getter = new bruceModels.BatchedDataGetter.Getter(this.item.BruceEntity.EntityIds, this.monitor, 500);
|
|
2055
2061
|
this.getterSub = this.getter.OnUpdate.Subscribe(function (ids) {
|
|
2056
2062
|
_this.onGetterUpdate(ids);
|
|
2057
2063
|
});
|
|
2064
|
+
this.getter.Start();
|
|
2058
2065
|
return [2 /*return*/];
|
|
2059
2066
|
});
|
|
2060
2067
|
});
|
|
@@ -2124,12 +2131,13 @@
|
|
|
2124
2131
|
|
|
2125
2132
|
(function (EntityRenderManager) {
|
|
2126
2133
|
var Manager = /** @class */ (function () {
|
|
2127
|
-
function Manager(viewer, visualsManager, apiGetter, item) {
|
|
2134
|
+
function Manager(viewer, visualsManager, apiGetter, monitor, item) {
|
|
2128
2135
|
this.getter = null;
|
|
2129
2136
|
this.getterSub = null;
|
|
2130
2137
|
this.disposed = false;
|
|
2131
2138
|
this.viewer = viewer;
|
|
2132
2139
|
this.apiGetter = apiGetter;
|
|
2140
|
+
this.monitor = monitor;
|
|
2133
2141
|
this.item = item;
|
|
2134
2142
|
this.visualsManager = visualsManager;
|
|
2135
2143
|
}
|
|
@@ -2147,10 +2155,11 @@
|
|
|
2147
2155
|
if (this.disposed) {
|
|
2148
2156
|
throw (new Error("This item is disposed."));
|
|
2149
2157
|
}
|
|
2150
|
-
this.getter = new bruceModels.BatchedDataGetter.Getter([this.item.BruceEntity.EntityId],
|
|
2158
|
+
this.getter = new bruceModels.BatchedDataGetter.Getter([this.item.BruceEntity.EntityId], this.monitor, 1);
|
|
2151
2159
|
this.getterSub = this.getter.OnUpdate.Subscribe(function (ids) {
|
|
2152
2160
|
_this.onGetterUpdate(ids[0]);
|
|
2153
2161
|
});
|
|
2162
|
+
this.getter.Start();
|
|
2154
2163
|
return [2 /*return*/];
|
|
2155
2164
|
});
|
|
2156
2165
|
});
|
|
@@ -2840,15 +2849,14 @@
|
|
|
2840
2849
|
}
|
|
2841
2850
|
(function (SharedGetters) {
|
|
2842
2851
|
var Cache = /** @class */ (function () {
|
|
2843
|
-
function Cache(
|
|
2852
|
+
function Cache() {
|
|
2844
2853
|
this.data = {};
|
|
2845
|
-
this.viewer = viewer;
|
|
2846
2854
|
}
|
|
2847
2855
|
Cache.prototype.GetOrCreateFilterGetter = function (params) {
|
|
2848
2856
|
var cacheKey = createFilterGetterCacheKey(params);
|
|
2849
2857
|
var getter = this.data[cacheKey];
|
|
2850
2858
|
if (!getter) {
|
|
2851
|
-
getter = new bruceModels.EntityFilterGetter.Getter(params.api,
|
|
2859
|
+
getter = new bruceModels.EntityFilterGetter.Getter(params.api, params.monitor, params.typeId, params.batchSize, params.attrFilter);
|
|
2852
2860
|
this.data[cacheKey] = getter;
|
|
2853
2861
|
}
|
|
2854
2862
|
return getter;
|
|
@@ -2858,190 +2866,6 @@
|
|
|
2858
2866
|
SharedGetters.Cache = Cache;
|
|
2859
2867
|
})(exports.SharedGetters || (exports.SharedGetters = {}));
|
|
2860
2868
|
|
|
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
2869
|
(function (RenderHelper) {
|
|
3046
2870
|
function RenderEntities(params, entityIds) {
|
|
3047
2871
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -4018,6 +3842,191 @@
|
|
|
4018
3842
|
return MeasureAddon;
|
|
4019
3843
|
}());
|
|
4020
3844
|
|
|
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
|
+
|
|
4021
4030
|
exports.CesiumViewMonitor = CesiumViewMonitor;
|
|
4022
4031
|
exports.MeasureAddon = MeasureAddon;
|
|
4023
4032
|
|