bruce-cesium 0.2.5 → 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.
- package/dist/bruce-cesium.es5.js +200 -195
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +195 -190
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/rendering/menu-item-manager.js +5 -3
- package/dist/lib/rendering/menu-item-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +3 -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 +3 -3
- package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +3 -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/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/entity-render-manager.d.ts +3 -1
- 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, Color, HeightReference, Cartesian3, Entity, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode,
|
|
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';
|
|
3
3
|
|
|
4
4
|
var TIME_LAG = 300;
|
|
5
5
|
var POSITION_CHECK_TIMER = 950;
|
|
@@ -83,6 +83,7 @@ var CesiumViewMonitor = /** @class */ (function () {
|
|
|
83
83
|
this.disposed = false;
|
|
84
84
|
this.updatedEvent = null;
|
|
85
85
|
this.viewer = viewer;
|
|
86
|
+
this.tryEmitUpdate();
|
|
86
87
|
this.checkInterval = setInterval(function () {
|
|
87
88
|
_this.updateQueue();
|
|
88
89
|
}, POSITION_CHECK_TIMER);
|
|
@@ -1566,13 +1567,14 @@ var EntitiesRenderManager;
|
|
|
1566
1567
|
var EntitiesLoadedRenderManager;
|
|
1567
1568
|
(function (EntitiesLoadedRenderManager) {
|
|
1568
1569
|
var Manager = /** @class */ (function () {
|
|
1569
|
-
function Manager(viewer, visualsManager, apiGetter, item) {
|
|
1570
|
+
function Manager(viewer, visualsManager, apiGetter, monitor, item) {
|
|
1570
1571
|
this.getter = null;
|
|
1571
1572
|
this.getterSub = null;
|
|
1572
1573
|
this.disposed = false;
|
|
1573
1574
|
this.renderedEntities = {};
|
|
1574
1575
|
this.viewer = viewer;
|
|
1575
1576
|
this.apiGetter = apiGetter;
|
|
1577
|
+
this.monitor = monitor;
|
|
1576
1578
|
this.item = item;
|
|
1577
1579
|
this.visualsManager = visualsManager;
|
|
1578
1580
|
}
|
|
@@ -1590,7 +1592,7 @@ var EntitiesLoadedRenderManager;
|
|
|
1590
1592
|
if (this.disposed) {
|
|
1591
1593
|
throw (new Error("This item is disposed."));
|
|
1592
1594
|
}
|
|
1593
|
-
this.getter = new BatchedDataGetter.Getter(this.item.BruceEntity.Entities,
|
|
1595
|
+
this.getter = new BatchedDataGetter.Getter(this.item.BruceEntity.Entities, this.monitor, 500);
|
|
1594
1596
|
this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
|
|
1595
1597
|
_this.onGetterUpdate(entities);
|
|
1596
1598
|
});
|
|
@@ -2048,13 +2050,14 @@ var VisualsRegister;
|
|
|
2048
2050
|
var EntitiesIdsRenderManager;
|
|
2049
2051
|
(function (EntitiesIdsRenderManager) {
|
|
2050
2052
|
var Manager = /** @class */ (function () {
|
|
2051
|
-
function Manager(viewer, visualsManager, apiGetter, item) {
|
|
2053
|
+
function Manager(viewer, visualsManager, apiGetter, monitor, item) {
|
|
2052
2054
|
this.getter = null;
|
|
2053
2055
|
this.getterSub = null;
|
|
2054
2056
|
this.disposed = false;
|
|
2055
2057
|
this.renderedEntities = {};
|
|
2056
2058
|
this.viewer = viewer;
|
|
2057
2059
|
this.apiGetter = apiGetter;
|
|
2060
|
+
this.monitor = monitor;
|
|
2058
2061
|
this.item = item;
|
|
2059
2062
|
this.visualsManager = visualsManager;
|
|
2060
2063
|
}
|
|
@@ -2072,7 +2075,7 @@ var EntitiesIdsRenderManager;
|
|
|
2072
2075
|
if (this.disposed) {
|
|
2073
2076
|
throw (new Error("This item is disposed."));
|
|
2074
2077
|
}
|
|
2075
|
-
this.getter = new BatchedDataGetter.Getter(this.item.BruceEntity.EntityIds,
|
|
2078
|
+
this.getter = new BatchedDataGetter.Getter(this.item.BruceEntity.EntityIds, this.monitor, 500);
|
|
2076
2079
|
this.getterSub = this.getter.OnUpdate.Subscribe(function (ids) {
|
|
2077
2080
|
_this.onGetterUpdate(ids);
|
|
2078
2081
|
});
|
|
@@ -2149,12 +2152,13 @@ var EntitiesIdsRenderManager;
|
|
|
2149
2152
|
var EntityRenderManager;
|
|
2150
2153
|
(function (EntityRenderManager) {
|
|
2151
2154
|
var Manager = /** @class */ (function () {
|
|
2152
|
-
function Manager(viewer, visualsManager, apiGetter, item) {
|
|
2155
|
+
function Manager(viewer, visualsManager, apiGetter, monitor, item) {
|
|
2153
2156
|
this.getter = null;
|
|
2154
2157
|
this.getterSub = null;
|
|
2155
2158
|
this.disposed = false;
|
|
2156
2159
|
this.viewer = viewer;
|
|
2157
2160
|
this.apiGetter = apiGetter;
|
|
2161
|
+
this.monitor = monitor;
|
|
2158
2162
|
this.item = item;
|
|
2159
2163
|
this.visualsManager = visualsManager;
|
|
2160
2164
|
}
|
|
@@ -2172,7 +2176,7 @@ var EntityRenderManager;
|
|
|
2172
2176
|
if (this.disposed) {
|
|
2173
2177
|
throw (new Error("This item is disposed."));
|
|
2174
2178
|
}
|
|
2175
|
-
this.getter = new BatchedDataGetter.Getter([this.item.BruceEntity.EntityId],
|
|
2179
|
+
this.getter = new BatchedDataGetter.Getter([this.item.BruceEntity.EntityId], this.monitor, 1);
|
|
2176
2180
|
this.getterSub = this.getter.OnUpdate.Subscribe(function (ids) {
|
|
2177
2181
|
_this.onGetterUpdate(ids[0]);
|
|
2178
2182
|
});
|
|
@@ -2889,194 +2893,6 @@ var SharedGetters;
|
|
|
2889
2893
|
SharedGetters.Cache = Cache;
|
|
2890
2894
|
})(SharedGetters || (SharedGetters = {}));
|
|
2891
2895
|
|
|
2892
|
-
/**
|
|
2893
|
-
* Utility to keep track of enabled menu items within a Cesium viewer.
|
|
2894
|
-
*/
|
|
2895
|
-
var MenuItemManager;
|
|
2896
|
-
(function (MenuItemManager) {
|
|
2897
|
-
var Manager = /** @class */ (function () {
|
|
2898
|
-
function Manager(viewer, visualsRegister) {
|
|
2899
|
-
this.items = [];
|
|
2900
|
-
this.onUpdate = null;
|
|
2901
|
-
this.viewer = viewer;
|
|
2902
|
-
if (!visualsRegister) {
|
|
2903
|
-
visualsRegister = new VisualsRegister.Register(viewer);
|
|
2904
|
-
}
|
|
2905
|
-
this.visualsRegister = visualsRegister;
|
|
2906
|
-
this.sharedGetters = new SharedGetters.Cache(this.viewer);
|
|
2907
|
-
}
|
|
2908
|
-
Object.defineProperty(Manager.prototype, "Viewer", {
|
|
2909
|
-
get: function () {
|
|
2910
|
-
return this.viewer;
|
|
2911
|
-
},
|
|
2912
|
-
enumerable: false,
|
|
2913
|
-
configurable: true
|
|
2914
|
-
});
|
|
2915
|
-
Object.defineProperty(Manager.prototype, "VisualsRegister", {
|
|
2916
|
-
get: function () {
|
|
2917
|
-
return this.visualsRegister;
|
|
2918
|
-
},
|
|
2919
|
-
enumerable: false,
|
|
2920
|
-
configurable: true
|
|
2921
|
-
});
|
|
2922
|
-
Object.defineProperty(Manager.prototype, "OnUpdate", {
|
|
2923
|
-
get: function () {
|
|
2924
|
-
if (!this.onUpdate) {
|
|
2925
|
-
this.onUpdate = new BruceEvent();
|
|
2926
|
-
}
|
|
2927
|
-
return this.onUpdate;
|
|
2928
|
-
},
|
|
2929
|
-
enumerable: false,
|
|
2930
|
-
configurable: true
|
|
2931
|
-
});
|
|
2932
|
-
/**
|
|
2933
|
-
* Renders a given menu item and all ids children.
|
|
2934
|
-
* Will return the enabled item id.
|
|
2935
|
-
* @param params
|
|
2936
|
-
* @returns
|
|
2937
|
-
*/
|
|
2938
|
-
Manager.prototype.RenderItem = function (params) {
|
|
2939
|
-
var _a, _b;
|
|
2940
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
2941
|
-
var rItem, i, childId;
|
|
2942
|
-
return __generator(this, function (_c) {
|
|
2943
|
-
switch (_c.label) {
|
|
2944
|
-
case 0:
|
|
2945
|
-
if (this.items.find(function (x) { return x.id == params.item.id; })) {
|
|
2946
|
-
return [2 /*return*/, params.item.id];
|
|
2947
|
-
}
|
|
2948
|
-
rItem = {
|
|
2949
|
-
id: (_a = params.item.id) !== null && _a !== void 0 ? _a : ObjectUtils.UId(),
|
|
2950
|
-
childIds: [],
|
|
2951
|
-
item: params.item,
|
|
2952
|
-
renderManager: null,
|
|
2953
|
-
type: params.item.Type
|
|
2954
|
-
};
|
|
2955
|
-
switch (params.item.Type) {
|
|
2956
|
-
case MenuItem.EType.Entities:
|
|
2957
|
-
rItem.renderManager = new EntitiesRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item, this.sharedGetters);
|
|
2958
|
-
break;
|
|
2959
|
-
case MenuItem.EType.EntitiesLoaded:
|
|
2960
|
-
rItem.renderManager = new EntitiesLoadedRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
|
|
2961
|
-
break;
|
|
2962
|
-
case MenuItem.EType.EntitiesIds:
|
|
2963
|
-
rItem.renderManager = new EntitiesIdsRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
|
|
2964
|
-
break;
|
|
2965
|
-
case MenuItem.EType.Entity:
|
|
2966
|
-
rItem.renderManager = new EntityRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
|
|
2967
|
-
break;
|
|
2968
|
-
case MenuItem.EType.CadTileset:
|
|
2969
|
-
rItem.renderManager = new TilesetCadRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
|
|
2970
|
-
break;
|
|
2971
|
-
case MenuItem.EType.Osm:
|
|
2972
|
-
// TODO;
|
|
2973
|
-
break;
|
|
2974
|
-
case MenuItem.EType.PointCloud:
|
|
2975
|
-
// TODO;
|
|
2976
|
-
break;
|
|
2977
|
-
case MenuItem.EType.EntityTileset:
|
|
2978
|
-
// TODO;
|
|
2979
|
-
break;
|
|
2980
|
-
case MenuItem.EType.Kml:
|
|
2981
|
-
// TODO;
|
|
2982
|
-
break;
|
|
2983
|
-
// Any "none" type can be ignored. These are just containers for other items.
|
|
2984
|
-
case MenuItem.EType.None:
|
|
2985
|
-
break;
|
|
2986
|
-
default:
|
|
2987
|
-
console.error("Menu item type is not implemented.", params.item.Type);
|
|
2988
|
-
}
|
|
2989
|
-
if (!rItem.renderManager) return [3 /*break*/, 2];
|
|
2990
|
-
return [4 /*yield*/, rItem.renderManager.Init()];
|
|
2991
|
-
case 1:
|
|
2992
|
-
_c.sent();
|
|
2993
|
-
_c.label = 2;
|
|
2994
|
-
case 2:
|
|
2995
|
-
this.items.push(rItem);
|
|
2996
|
-
if (!params.item.Children) return [3 /*break*/, 6];
|
|
2997
|
-
i = 0;
|
|
2998
|
-
_c.label = 3;
|
|
2999
|
-
case 3:
|
|
3000
|
-
if (!(i < params.item.Children.length)) return [3 /*break*/, 6];
|
|
3001
|
-
return [4 /*yield*/, this.RenderItem(__assign(__assign({}, params), { item: params.item.Children[i] }))];
|
|
3002
|
-
case 4:
|
|
3003
|
-
childId = _c.sent();
|
|
3004
|
-
rItem.childIds.push(childId);
|
|
3005
|
-
_c.label = 5;
|
|
3006
|
-
case 5:
|
|
3007
|
-
i++;
|
|
3008
|
-
return [3 /*break*/, 3];
|
|
3009
|
-
case 6:
|
|
3010
|
-
(_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: true, itemId: rItem.id });
|
|
3011
|
-
return [2 /*return*/, rItem.id];
|
|
3012
|
-
}
|
|
3013
|
-
});
|
|
3014
|
-
});
|
|
3015
|
-
};
|
|
3016
|
-
/**
|
|
3017
|
-
* Disables a menu item by ids id.
|
|
3018
|
-
* This will disable all children as well.
|
|
3019
|
-
* @param id
|
|
3020
|
-
*/
|
|
3021
|
-
Manager.prototype.RemoveItemById = function (id) {
|
|
3022
|
-
var _a, _b;
|
|
3023
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
3024
|
-
var item, _loop_1, this_1, i;
|
|
3025
|
-
return __generator(this, function (_c) {
|
|
3026
|
-
switch (_c.label) {
|
|
3027
|
-
case 0:
|
|
3028
|
-
item = this.items.find(function (x) { return x.id === id; });
|
|
3029
|
-
if (!item) return [3 /*break*/, 5];
|
|
3030
|
-
_loop_1 = function (i) {
|
|
3031
|
-
var child;
|
|
3032
|
-
return __generator(this, function (_a) {
|
|
3033
|
-
switch (_a.label) {
|
|
3034
|
-
case 0:
|
|
3035
|
-
child = this_1.items.find(function (x) { return x.id === item.childIds[i]; });
|
|
3036
|
-
if (!child) return [3 /*break*/, 2];
|
|
3037
|
-
return [4 /*yield*/, this_1.RemoveItemById(child.id)];
|
|
3038
|
-
case 1:
|
|
3039
|
-
_a.sent();
|
|
3040
|
-
_a.label = 2;
|
|
3041
|
-
case 2: return [2 /*return*/];
|
|
3042
|
-
}
|
|
3043
|
-
});
|
|
3044
|
-
};
|
|
3045
|
-
this_1 = this;
|
|
3046
|
-
i = 0;
|
|
3047
|
-
_c.label = 1;
|
|
3048
|
-
case 1:
|
|
3049
|
-
if (!(i < item.childIds.length)) return [3 /*break*/, 4];
|
|
3050
|
-
return [5 /*yield**/, _loop_1(i)];
|
|
3051
|
-
case 2:
|
|
3052
|
-
_c.sent();
|
|
3053
|
-
_c.label = 3;
|
|
3054
|
-
case 3:
|
|
3055
|
-
i++;
|
|
3056
|
-
return [3 /*break*/, 1];
|
|
3057
|
-
case 4:
|
|
3058
|
-
try {
|
|
3059
|
-
(_a = item.renderManager) === null || _a === void 0 ? void 0 : _a.Dispose();
|
|
3060
|
-
}
|
|
3061
|
-
catch (e) {
|
|
3062
|
-
console.error(e);
|
|
3063
|
-
}
|
|
3064
|
-
this.items = this.items.filter(function (x) { return x.id !== id; });
|
|
3065
|
-
(_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: false, itemId: item.id });
|
|
3066
|
-
_c.label = 5;
|
|
3067
|
-
case 5: return [2 /*return*/];
|
|
3068
|
-
}
|
|
3069
|
-
});
|
|
3070
|
-
});
|
|
3071
|
-
};
|
|
3072
|
-
Manager.prototype.GetEnabledItemIds = function () {
|
|
3073
|
-
return this.items.map(function (x) { return x.id; });
|
|
3074
|
-
};
|
|
3075
|
-
return Manager;
|
|
3076
|
-
}());
|
|
3077
|
-
MenuItemManager.Manager = Manager;
|
|
3078
|
-
})(MenuItemManager || (MenuItemManager = {}));
|
|
3079
|
-
|
|
3080
2896
|
/**
|
|
3081
2897
|
* Utility to help generate menu items for rendering various data.
|
|
3082
2898
|
*/
|
|
@@ -4059,5 +3875,194 @@ var MeasureAddon = /** @class */ (function () {
|
|
|
4059
3875
|
return MeasureAddon;
|
|
4060
3876
|
}());
|
|
4061
3877
|
|
|
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
|
+
|
|
4062
4067
|
export { CesiumViewMonitor, ViewerUtils, MenuItemManager, EntityRenderEngine, RenderHelper, VisualsRegister, RenderManager, EntitiesIdsRenderManager, EntitiesLoadedRenderManager, EntitiesRenderManager, EntityRenderManager, TilesetCadRenderManager, ViewRenderEngine, TileRenderEngine, MeasureAddon, SharedGetters };
|
|
4063
4068
|
//# sourceMappingURL=bruce-cesium.es5.js.map
|