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.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);
|
|
@@ -1376,7 +1377,7 @@ var EntityRenderEngine;
|
|
|
1376
1377
|
var EntitiesRenderManager;
|
|
1377
1378
|
(function (EntitiesRenderManager) {
|
|
1378
1379
|
var Manager = /** @class */ (function () {
|
|
1379
|
-
function Manager(viewer, visualsManager, apiGetter, item, sharedGetters) {
|
|
1380
|
+
function Manager(viewer, visualsManager, apiGetter, monitor, item, sharedGetters) {
|
|
1380
1381
|
this.getter = null;
|
|
1381
1382
|
this.getterSub = null;
|
|
1382
1383
|
this.disposed = false;
|
|
@@ -1387,6 +1388,7 @@ var EntitiesRenderManager;
|
|
|
1387
1388
|
this.viewMonitorRemoval = null;
|
|
1388
1389
|
this.viewer = viewer;
|
|
1389
1390
|
this.sharedGetters = sharedGetters;
|
|
1391
|
+
this.monitor = monitor;
|
|
1390
1392
|
this.apiGetter = apiGetter;
|
|
1391
1393
|
this.item = item;
|
|
1392
1394
|
this.visualsManager = visualsManager;
|
|
@@ -1412,14 +1414,15 @@ var EntitiesRenderManager;
|
|
|
1412
1414
|
api: api,
|
|
1413
1415
|
attrFilter: (_a = this.item.BruceEntity.Filter) !== null && _a !== void 0 ? _a : {},
|
|
1414
1416
|
batchSize: 500,
|
|
1415
|
-
typeId: this.item.BruceEntity["EntityType.ID"]
|
|
1417
|
+
typeId: this.item.BruceEntity["EntityType.ID"],
|
|
1418
|
+
monitor: this.monitor
|
|
1416
1419
|
});
|
|
1417
1420
|
minMax = RenderManager.Utils.GetZoomMinMax(this.item.CameraZoomSettings);
|
|
1418
1421
|
this.getter.IncludeMenuItem(this.item.id, [], minMax[0], minMax[1]);
|
|
1419
1422
|
this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
|
|
1420
1423
|
_this.onGetterUpdate(entities);
|
|
1421
1424
|
});
|
|
1422
|
-
this.viewMonitorRemoval =
|
|
1425
|
+
this.viewMonitorRemoval = this.monitor.Updated().Subscribe(function () {
|
|
1423
1426
|
_this.entityCheckQueue.Call();
|
|
1424
1427
|
});
|
|
1425
1428
|
this.entityCheckQueue = new DelayQueue(function () {
|
|
@@ -1566,13 +1569,14 @@ var EntitiesRenderManager;
|
|
|
1566
1569
|
var EntitiesLoadedRenderManager;
|
|
1567
1570
|
(function (EntitiesLoadedRenderManager) {
|
|
1568
1571
|
var Manager = /** @class */ (function () {
|
|
1569
|
-
function Manager(viewer, visualsManager, apiGetter, item) {
|
|
1572
|
+
function Manager(viewer, visualsManager, apiGetter, monitor, item) {
|
|
1570
1573
|
this.getter = null;
|
|
1571
1574
|
this.getterSub = null;
|
|
1572
1575
|
this.disposed = false;
|
|
1573
1576
|
this.renderedEntities = {};
|
|
1574
1577
|
this.viewer = viewer;
|
|
1575
1578
|
this.apiGetter = apiGetter;
|
|
1579
|
+
this.monitor = monitor;
|
|
1576
1580
|
this.item = item;
|
|
1577
1581
|
this.visualsManager = visualsManager;
|
|
1578
1582
|
}
|
|
@@ -1590,10 +1594,11 @@ var EntitiesLoadedRenderManager;
|
|
|
1590
1594
|
if (this.disposed) {
|
|
1591
1595
|
throw (new Error("This item is disposed."));
|
|
1592
1596
|
}
|
|
1593
|
-
this.getter = new BatchedDataGetter.Getter(this.item.BruceEntity.Entities,
|
|
1597
|
+
this.getter = new BatchedDataGetter.Getter(this.item.BruceEntity.Entities, this.monitor, 500);
|
|
1594
1598
|
this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
|
|
1595
1599
|
_this.onGetterUpdate(entities);
|
|
1596
1600
|
});
|
|
1601
|
+
this.getter.Start();
|
|
1597
1602
|
return [2 /*return*/];
|
|
1598
1603
|
});
|
|
1599
1604
|
});
|
|
@@ -2048,13 +2053,14 @@ var VisualsRegister;
|
|
|
2048
2053
|
var EntitiesIdsRenderManager;
|
|
2049
2054
|
(function (EntitiesIdsRenderManager) {
|
|
2050
2055
|
var Manager = /** @class */ (function () {
|
|
2051
|
-
function Manager(viewer, visualsManager, apiGetter, item) {
|
|
2056
|
+
function Manager(viewer, visualsManager, apiGetter, monitor, item) {
|
|
2052
2057
|
this.getter = null;
|
|
2053
2058
|
this.getterSub = null;
|
|
2054
2059
|
this.disposed = false;
|
|
2055
2060
|
this.renderedEntities = {};
|
|
2056
2061
|
this.viewer = viewer;
|
|
2057
2062
|
this.apiGetter = apiGetter;
|
|
2063
|
+
this.monitor = monitor;
|
|
2058
2064
|
this.item = item;
|
|
2059
2065
|
this.visualsManager = visualsManager;
|
|
2060
2066
|
}
|
|
@@ -2072,10 +2078,11 @@ var EntitiesIdsRenderManager;
|
|
|
2072
2078
|
if (this.disposed) {
|
|
2073
2079
|
throw (new Error("This item is disposed."));
|
|
2074
2080
|
}
|
|
2075
|
-
this.getter = new BatchedDataGetter.Getter(this.item.BruceEntity.EntityIds,
|
|
2081
|
+
this.getter = new BatchedDataGetter.Getter(this.item.BruceEntity.EntityIds, this.monitor, 500);
|
|
2076
2082
|
this.getterSub = this.getter.OnUpdate.Subscribe(function (ids) {
|
|
2077
2083
|
_this.onGetterUpdate(ids);
|
|
2078
2084
|
});
|
|
2085
|
+
this.getter.Start();
|
|
2079
2086
|
return [2 /*return*/];
|
|
2080
2087
|
});
|
|
2081
2088
|
});
|
|
@@ -2149,12 +2156,13 @@ var EntitiesIdsRenderManager;
|
|
|
2149
2156
|
var EntityRenderManager;
|
|
2150
2157
|
(function (EntityRenderManager) {
|
|
2151
2158
|
var Manager = /** @class */ (function () {
|
|
2152
|
-
function Manager(viewer, visualsManager, apiGetter, item) {
|
|
2159
|
+
function Manager(viewer, visualsManager, apiGetter, monitor, item) {
|
|
2153
2160
|
this.getter = null;
|
|
2154
2161
|
this.getterSub = null;
|
|
2155
2162
|
this.disposed = false;
|
|
2156
2163
|
this.viewer = viewer;
|
|
2157
2164
|
this.apiGetter = apiGetter;
|
|
2165
|
+
this.monitor = monitor;
|
|
2158
2166
|
this.item = item;
|
|
2159
2167
|
this.visualsManager = visualsManager;
|
|
2160
2168
|
}
|
|
@@ -2172,10 +2180,11 @@ var EntityRenderManager;
|
|
|
2172
2180
|
if (this.disposed) {
|
|
2173
2181
|
throw (new Error("This item is disposed."));
|
|
2174
2182
|
}
|
|
2175
|
-
this.getter = new BatchedDataGetter.Getter([this.item.BruceEntity.EntityId],
|
|
2183
|
+
this.getter = new BatchedDataGetter.Getter([this.item.BruceEntity.EntityId], this.monitor, 1);
|
|
2176
2184
|
this.getterSub = this.getter.OnUpdate.Subscribe(function (ids) {
|
|
2177
2185
|
_this.onGetterUpdate(ids[0]);
|
|
2178
2186
|
});
|
|
2187
|
+
this.getter.Start();
|
|
2179
2188
|
return [2 /*return*/];
|
|
2180
2189
|
});
|
|
2181
2190
|
});
|
|
@@ -2871,15 +2880,14 @@ function createFilterGetterCacheKey(params) {
|
|
|
2871
2880
|
var SharedGetters;
|
|
2872
2881
|
(function (SharedGetters) {
|
|
2873
2882
|
var Cache = /** @class */ (function () {
|
|
2874
|
-
function Cache(
|
|
2883
|
+
function Cache() {
|
|
2875
2884
|
this.data = {};
|
|
2876
|
-
this.viewer = viewer;
|
|
2877
2885
|
}
|
|
2878
2886
|
Cache.prototype.GetOrCreateFilterGetter = function (params) {
|
|
2879
2887
|
var cacheKey = createFilterGetterCacheKey(params);
|
|
2880
2888
|
var getter = this.data[cacheKey];
|
|
2881
2889
|
if (!getter) {
|
|
2882
|
-
getter = new EntityFilterGetter.Getter(params.api,
|
|
2890
|
+
getter = new EntityFilterGetter.Getter(params.api, params.monitor, params.typeId, params.batchSize, params.attrFilter);
|
|
2883
2891
|
this.data[cacheKey] = getter;
|
|
2884
2892
|
}
|
|
2885
2893
|
return getter;
|
|
@@ -2889,194 +2897,6 @@ var SharedGetters;
|
|
|
2889
2897
|
SharedGetters.Cache = Cache;
|
|
2890
2898
|
})(SharedGetters || (SharedGetters = {}));
|
|
2891
2899
|
|
|
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
2900
|
/**
|
|
3081
2901
|
* Utility to help generate menu items for rendering various data.
|
|
3082
2902
|
*/
|
|
@@ -4059,5 +3879,194 @@ var MeasureAddon = /** @class */ (function () {
|
|
|
4059
3879
|
return MeasureAddon;
|
|
4060
3880
|
}());
|
|
4061
3881
|
|
|
3882
|
+
/**
|
|
3883
|
+
* Utility to keep track of enabled menu items within a Cesium viewer.
|
|
3884
|
+
*/
|
|
3885
|
+
var MenuItemManager;
|
|
3886
|
+
(function (MenuItemManager$$1) {
|
|
3887
|
+
var Manager = /** @class */ (function () {
|
|
3888
|
+
function Manager(viewer, visualsRegister) {
|
|
3889
|
+
this.items = [];
|
|
3890
|
+
this.onUpdate = null;
|
|
3891
|
+
this.viewer = viewer;
|
|
3892
|
+
if (!visualsRegister) {
|
|
3893
|
+
visualsRegister = new VisualsRegister.Register(viewer);
|
|
3894
|
+
}
|
|
3895
|
+
this.visualsRegister = visualsRegister;
|
|
3896
|
+
this.sharedGetters = new SharedGetters.Cache();
|
|
3897
|
+
this.sharedMonitor = new CesiumViewMonitor(this.viewer);
|
|
3898
|
+
}
|
|
3899
|
+
Object.defineProperty(Manager.prototype, "Viewer", {
|
|
3900
|
+
get: function () {
|
|
3901
|
+
return this.viewer;
|
|
3902
|
+
},
|
|
3903
|
+
enumerable: false,
|
|
3904
|
+
configurable: true
|
|
3905
|
+
});
|
|
3906
|
+
Object.defineProperty(Manager.prototype, "VisualsRegister", {
|
|
3907
|
+
get: function () {
|
|
3908
|
+
return this.visualsRegister;
|
|
3909
|
+
},
|
|
3910
|
+
enumerable: false,
|
|
3911
|
+
configurable: true
|
|
3912
|
+
});
|
|
3913
|
+
Object.defineProperty(Manager.prototype, "OnUpdate", {
|
|
3914
|
+
get: function () {
|
|
3915
|
+
if (!this.onUpdate) {
|
|
3916
|
+
this.onUpdate = new BruceEvent();
|
|
3917
|
+
}
|
|
3918
|
+
return this.onUpdate;
|
|
3919
|
+
},
|
|
3920
|
+
enumerable: false,
|
|
3921
|
+
configurable: true
|
|
3922
|
+
});
|
|
3923
|
+
/**
|
|
3924
|
+
* Renders a given menu item and all ids children.
|
|
3925
|
+
* Will return the enabled item id.
|
|
3926
|
+
* @param params
|
|
3927
|
+
* @returns
|
|
3928
|
+
*/
|
|
3929
|
+
Manager.prototype.RenderItem = function (params) {
|
|
3930
|
+
var _a, _b;
|
|
3931
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
3932
|
+
var rItem, i, childId;
|
|
3933
|
+
return __generator(this, function (_c) {
|
|
3934
|
+
switch (_c.label) {
|
|
3935
|
+
case 0:
|
|
3936
|
+
if (this.items.find(function (x) { return x.id == params.item.id; })) {
|
|
3937
|
+
return [2 /*return*/, params.item.id];
|
|
3938
|
+
}
|
|
3939
|
+
rItem = {
|
|
3940
|
+
id: (_a = params.item.id) !== null && _a !== void 0 ? _a : ObjectUtils.UId(),
|
|
3941
|
+
childIds: [],
|
|
3942
|
+
item: params.item,
|
|
3943
|
+
renderManager: null,
|
|
3944
|
+
type: params.item.Type
|
|
3945
|
+
};
|
|
3946
|
+
switch (params.item.Type) {
|
|
3947
|
+
case MenuItem.EType.Entities:
|
|
3948
|
+
rItem.renderManager = new EntitiesRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item, this.sharedGetters);
|
|
3949
|
+
break;
|
|
3950
|
+
case MenuItem.EType.EntitiesLoaded:
|
|
3951
|
+
rItem.renderManager = new EntitiesLoadedRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
|
|
3952
|
+
break;
|
|
3953
|
+
case MenuItem.EType.EntitiesIds:
|
|
3954
|
+
rItem.renderManager = new EntitiesIdsRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
|
|
3955
|
+
break;
|
|
3956
|
+
case MenuItem.EType.Entity:
|
|
3957
|
+
rItem.renderManager = new EntityRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
|
|
3958
|
+
break;
|
|
3959
|
+
case MenuItem.EType.CadTileset:
|
|
3960
|
+
rItem.renderManager = new TilesetCadRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
|
|
3961
|
+
break;
|
|
3962
|
+
case MenuItem.EType.Osm:
|
|
3963
|
+
// TODO;
|
|
3964
|
+
break;
|
|
3965
|
+
case MenuItem.EType.PointCloud:
|
|
3966
|
+
// TODO;
|
|
3967
|
+
break;
|
|
3968
|
+
case MenuItem.EType.EntityTileset:
|
|
3969
|
+
// TODO;
|
|
3970
|
+
break;
|
|
3971
|
+
case MenuItem.EType.Kml:
|
|
3972
|
+
// TODO;
|
|
3973
|
+
break;
|
|
3974
|
+
// Any "none" type can be ignored. These are just containers for other items.
|
|
3975
|
+
case MenuItem.EType.None:
|
|
3976
|
+
break;
|
|
3977
|
+
default:
|
|
3978
|
+
console.error("Menu item type is not implemented.", params.item.Type);
|
|
3979
|
+
}
|
|
3980
|
+
if (!rItem.renderManager) return [3 /*break*/, 2];
|
|
3981
|
+
return [4 /*yield*/, rItem.renderManager.Init()];
|
|
3982
|
+
case 1:
|
|
3983
|
+
_c.sent();
|
|
3984
|
+
_c.label = 2;
|
|
3985
|
+
case 2:
|
|
3986
|
+
this.items.push(rItem);
|
|
3987
|
+
if (!params.item.Children) return [3 /*break*/, 6];
|
|
3988
|
+
i = 0;
|
|
3989
|
+
_c.label = 3;
|
|
3990
|
+
case 3:
|
|
3991
|
+
if (!(i < params.item.Children.length)) return [3 /*break*/, 6];
|
|
3992
|
+
return [4 /*yield*/, this.RenderItem(__assign(__assign({}, params), { item: params.item.Children[i] }))];
|
|
3993
|
+
case 4:
|
|
3994
|
+
childId = _c.sent();
|
|
3995
|
+
rItem.childIds.push(childId);
|
|
3996
|
+
_c.label = 5;
|
|
3997
|
+
case 5:
|
|
3998
|
+
i++;
|
|
3999
|
+
return [3 /*break*/, 3];
|
|
4000
|
+
case 6:
|
|
4001
|
+
(_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: true, itemId: rItem.id });
|
|
4002
|
+
return [2 /*return*/, rItem.id];
|
|
4003
|
+
}
|
|
4004
|
+
});
|
|
4005
|
+
});
|
|
4006
|
+
};
|
|
4007
|
+
/**
|
|
4008
|
+
* Disables a menu item by ids id.
|
|
4009
|
+
* This will disable all children as well.
|
|
4010
|
+
* @param id
|
|
4011
|
+
*/
|
|
4012
|
+
Manager.prototype.RemoveItemById = function (id) {
|
|
4013
|
+
var _a, _b;
|
|
4014
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
4015
|
+
var item, _loop_1, this_1, i;
|
|
4016
|
+
return __generator(this, function (_c) {
|
|
4017
|
+
switch (_c.label) {
|
|
4018
|
+
case 0:
|
|
4019
|
+
item = this.items.find(function (x) { return x.id === id; });
|
|
4020
|
+
if (!item) return [3 /*break*/, 5];
|
|
4021
|
+
_loop_1 = function (i) {
|
|
4022
|
+
var child;
|
|
4023
|
+
return __generator(this, function (_a) {
|
|
4024
|
+
switch (_a.label) {
|
|
4025
|
+
case 0:
|
|
4026
|
+
child = this_1.items.find(function (x) { return x.id === item.childIds[i]; });
|
|
4027
|
+
if (!child) return [3 /*break*/, 2];
|
|
4028
|
+
return [4 /*yield*/, this_1.RemoveItemById(child.id)];
|
|
4029
|
+
case 1:
|
|
4030
|
+
_a.sent();
|
|
4031
|
+
_a.label = 2;
|
|
4032
|
+
case 2: return [2 /*return*/];
|
|
4033
|
+
}
|
|
4034
|
+
});
|
|
4035
|
+
};
|
|
4036
|
+
this_1 = this;
|
|
4037
|
+
i = 0;
|
|
4038
|
+
_c.label = 1;
|
|
4039
|
+
case 1:
|
|
4040
|
+
if (!(i < item.childIds.length)) return [3 /*break*/, 4];
|
|
4041
|
+
return [5 /*yield**/, _loop_1(i)];
|
|
4042
|
+
case 2:
|
|
4043
|
+
_c.sent();
|
|
4044
|
+
_c.label = 3;
|
|
4045
|
+
case 3:
|
|
4046
|
+
i++;
|
|
4047
|
+
return [3 /*break*/, 1];
|
|
4048
|
+
case 4:
|
|
4049
|
+
try {
|
|
4050
|
+
(_a = item.renderManager) === null || _a === void 0 ? void 0 : _a.Dispose();
|
|
4051
|
+
}
|
|
4052
|
+
catch (e) {
|
|
4053
|
+
console.error(e);
|
|
4054
|
+
}
|
|
4055
|
+
this.items = this.items.filter(function (x) { return x.id !== id; });
|
|
4056
|
+
(_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: false, itemId: item.id });
|
|
4057
|
+
_c.label = 5;
|
|
4058
|
+
case 5: return [2 /*return*/];
|
|
4059
|
+
}
|
|
4060
|
+
});
|
|
4061
|
+
});
|
|
4062
|
+
};
|
|
4063
|
+
Manager.prototype.GetEnabledItemIds = function () {
|
|
4064
|
+
return this.items.map(function (x) { return x.id; });
|
|
4065
|
+
};
|
|
4066
|
+
return Manager;
|
|
4067
|
+
}());
|
|
4068
|
+
MenuItemManager$$1.Manager = Manager;
|
|
4069
|
+
})(MenuItemManager || (MenuItemManager = {}));
|
|
4070
|
+
|
|
4062
4071
|
export { CesiumViewMonitor, ViewerUtils, MenuItemManager, EntityRenderEngine, RenderHelper, VisualsRegister, RenderManager, EntitiesIdsRenderManager, EntitiesLoadedRenderManager, EntitiesRenderManager, EntityRenderManager, TilesetCadRenderManager, ViewRenderEngine, TileRenderEngine, MeasureAddon, SharedGetters };
|
|
4063
4072
|
//# sourceMappingURL=bruce-cesium.es5.js.map
|