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.
- package/dist/bruce-cesium.es5.js +203 -200
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +198 -195
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/rendering/menu-item-manager.js +4 -4
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +1 -1
- package/dist/lib/rendering/tile-render-engine.js +3 -4
- package/dist/lib/rendering/tile-render-engine.js.map +1 -1
- package/dist/lib/utils/view-utils.js +35 -0
- package/dist/lib/utils/view-utils.js.map +1 -0
- package/dist/types/rendering/render-managers/common/shared-getters.d.ts +2 -3
- package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +3 -1
- package/dist/types/rendering/tile-render-engine.d.ts +2 -1
- package/dist/types/utils/view-utils.d.ts +6 -0
- package/package.json +2 -2
package/dist/bruce-cesium.es5.js
CHANGED
|
@@ -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,
|
|
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 =
|
|
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(
|
|
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,
|
|
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
|