bruce-cesium 0.2.7 → 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.
@@ -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, 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';
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;
@@ -2897,6 +2897,195 @@ var SharedGetters;
2897
2897
  SharedGetters.Cache = Cache;
2898
2898
  })(SharedGetters || (SharedGetters = {}));
2899
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
+
2900
3089
  /**
2901
3090
  * Utility to help generate menu items for rendering various data.
2902
3091
  */
@@ -3251,10 +3440,6 @@ var TileRenderEngine;
3251
3440
  TileRenderEngine.CompareLegacyNames = CompareLegacyNames;
3252
3441
  var Map;
3253
3442
  (function (Map) {
3254
- function MarkProvider(provider, id) {
3255
- provider._bId = id;
3256
- }
3257
- Map.MarkProvider = MarkProvider;
3258
3443
  function Render(params) {
3259
3444
  throw ("Not implemented");
3260
3445
  }
@@ -3424,6 +3609,7 @@ var TileRenderEngine;
3424
3609
  }
3425
3610
  if (layer) {
3426
3611
  layer._bId = bId;
3612
+ layer._bName = tile.Name;
3427
3613
  if (!params.viewer.imageryLayers.contains(layer)) {
3428
3614
  params.viewer.imageryLayers.add(layer);
3429
3615
  }
@@ -3547,6 +3733,7 @@ var TileRenderEngine;
3547
3733
  }
3548
3734
  Terrain.Render = Render;
3549
3735
  function RenderLegacy(params) {
3736
+ var _a;
3550
3737
  var bId = createTerrainBId(params.data);
3551
3738
  var curProvider = params.viewer.terrainProvider;
3552
3739
  if (curProvider._bId && curProvider._bId === bId) {
@@ -3581,6 +3768,7 @@ var TileRenderEngine;
3581
3768
  }
3582
3769
  if (provider) {
3583
3770
  provider._bId = bId;
3771
+ provider._bName = (_a = params.data) === null || _a === void 0 ? void 0 : _a.Name;
3584
3772
  params.viewer.terrainProvider = provider;
3585
3773
  }
3586
3774
  }
@@ -3879,194 +4067,5 @@ var MeasureAddon = /** @class */ (function () {
3879
4067
  return MeasureAddon;
3880
4068
  }());
3881
4069
 
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
-
4071
4070
  export { CesiumViewMonitor, ViewerUtils, MenuItemManager, EntityRenderEngine, RenderHelper, VisualsRegister, RenderManager, EntitiesIdsRenderManager, EntitiesLoadedRenderManager, EntitiesRenderManager, EntityRenderManager, TilesetCadRenderManager, ViewRenderEngine, TileRenderEngine, MeasureAddon, SharedGetters };
4072
4071
  //# sourceMappingURL=bruce-cesium.es5.js.map