bruce-cesium 1.9.2 → 1.9.3

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,6 +1,6 @@
1
1
  import { BruceEvent, Cartes, Carto, Entity as Entity$1, Geometry, Tileset, MathUtils, LRUCache, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, ObjectUtils, DelayQueue, BatchedDataGetter, EntityRelationType, EntityCoords, EntityFilterGetter, EntitySource, MenuItem, EntityRelation, ProjectView, ProjectViewBookmark, ProjectViewTile, ProjectViewLegacyTile, ProgramKey, Camera } from 'bruce-models';
2
2
  import * as Cesium from 'cesium';
3
- import { Cartesian2, Cartographic, CallbackProperty, Cartesian3, Color, Rectangle, Math as Math$1, HeightReference, EllipsoidTerrainProvider, Entity, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Primitive, Cesium3DTileFeature, SceneMode, HeadingPitchRange, Cesium3DTileColorBlendMode, createOsmBuildings, Cesium3DTileStyle, OrthographicFrustum, JulianDate, NearFarScalar, createWorldTerrain, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, EllipsoidGeodesic, sampleTerrainMostDetailed, KmlDataSource, Cesium3DTileset, Matrix4, Matrix3, IonResource, PolygonPipeline, ColorMaterialProperty, EasingFunction, GeometryInstance } from 'cesium';
3
+ import { Cartesian2, Cartographic, CallbackProperty, Cartesian3, Color, Rectangle, Math as Math$1, Entity, Primitive, Cesium3DTileFeature, HeightReference, EllipsoidTerrainProvider, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, SceneMode, Cesium3DTileColorBlendMode, HeadingPitchRange, createOsmBuildings, Cesium3DTileStyle, KmlDataSource, createWorldTerrain, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, OrthographicFrustum, JulianDate, NearFarScalar, EllipsoidGeodesic, sampleTerrainMostDetailed, Cesium3DTileset, Matrix4, Matrix3, IonResource, PolygonPipeline, ColorMaterialProperty, EasingFunction, GeometryInstance } from 'cesium';
4
4
 
5
5
  var TIME_LAG = 300;
6
6
  var POSITION_CHECK_TIMER = 950;
@@ -2850,6 +2850,7 @@ var EntitiesRenderManager;
2850
2850
  });
2851
2851
  }
2852
2852
  }
2853
+ this.viewer.scene.requestRender();
2853
2854
  return [3 /*break*/, 3];
2854
2855
  case 2:
2855
2856
  e_3 = _d.sent();
@@ -3048,6 +3049,7 @@ var EntitiesLoadedRenderManager;
3048
3049
  });
3049
3050
  }
3050
3051
  }
3052
+ this.viewer.scene.requestRender();
3051
3053
  return [3 /*break*/, 3];
3052
3054
  case 2:
3053
3055
  e_2 = _b.sent();
@@ -4506,6 +4508,7 @@ var EntitiesIdsRenderManager;
4506
4508
  });
4507
4509
  }
4508
4510
  }
4511
+ this.viewer.scene.requestRender();
4509
4512
  return [3 /*break*/, 5];
4510
4513
  case 4:
4511
4514
  e_1 = _b.sent();
@@ -4645,6 +4648,7 @@ var EntityRenderManager;
4645
4648
  menuItemId: this.item.id
4646
4649
  });
4647
4650
  }
4651
+ this.viewer.scene.requestRender();
4648
4652
  return [3 /*break*/, 4];
4649
4653
  case 3:
4650
4654
  e_1 = _b.sent();
@@ -8971,11 +8975,11 @@ function renderLegacyNavigator(params, bookmark, view) {
8971
8975
  * @param view
8972
8976
  */
8973
8977
  function renderNavigator(params, bookmark, view) {
8974
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4;
8978
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5;
8975
8979
  return __awaiter(this, void 0, void 0, function () {
8976
- var viewer, scene, vSettings, bSettings, defaults, camera, newLens, curLens, transition, pos, terrain, gOcclusion, hillShades, baseColor, globeHidden, globeAlpha, shadows, size, ambientOcclusion, AO, lighting, light, quality, fxaa, dateTime, clock, selectedIds, hiddenIds, isolatedIds, entityOpacityMap, entityId, opacity, imagery, renderedRelationEntityIds, curEnabled, newItemIds, _i, curEnabled_1, id, menuItem;
8977
- return __generator(this, function (_5) {
8978
- switch (_5.label) {
8980
+ var viewer, scene, vSettings, bSettings, defaults, camera, newLens, modePicker, is2d, curLens, modePicker_1, transition, pos, terrain, gOcclusion, hillShades, baseColor, globeHidden, globeAlpha, shadows, size, ambientOcclusion, AO, lighting, light, quality, fxaa, dateTime, clock, selectedIds, hiddenIds, isolatedIds, entityOpacityMap, entityId, opacity, imagery, renderedRelationEntityIds, curEnabled, newItemIds, _i, curEnabled_1, id, menuItem;
8981
+ return __generator(this, function (_6) {
8982
+ switch (_6.label) {
8979
8983
  case 0:
8980
8984
  viewer = params.manager.Viewer;
8981
8985
  scene = viewer.scene;
@@ -8994,23 +8998,25 @@ function renderNavigator(params, bookmark, view) {
8994
8998
  // TODO: Need global default.
8995
8999
  newLens = Camera.EFrustum.Perspective;
8996
9000
  }
8997
- curLens = scene.camera.frustum instanceof OrthographicFrustum ?
8998
- Camera.EFrustum.Orthographic :
8999
- Camera.EFrustum.Perspective;
9001
+ modePicker = viewer === null || viewer === void 0 ? void 0 : viewer.sceneModePicker;
9002
+ is2d = ((_l = modePicker === null || modePicker === void 0 ? void 0 : modePicker.viewModel) === null || _l === void 0 ? void 0 : _l.sceneMode) === SceneMode.SCENE2D;
9003
+ curLens = is2d ? Camera.EFrustum.Orthographic : Camera.EFrustum.Perspective;
9000
9004
  if (newLens != curLens) {
9001
- if (newLens == Camera.EFrustum.Perspective) {
9002
- scene.camera.switchToPerspectiveFrustum();
9003
- scene.screenSpaceCameraController.enableTilt = true;
9004
- }
9005
- else {
9006
- scene.camera.switchToOrthographicFrustum();
9007
- scene.screenSpaceCameraController.enableTilt = false;
9005
+ modePicker_1 = viewer === null || viewer === void 0 ? void 0 : viewer.sceneModePicker;
9006
+ if (modePicker_1) {
9007
+ modePicker_1.viewModel.duration = 0;
9008
+ if (newLens == Camera.EFrustum.Perspective) {
9009
+ modePicker_1.viewModel._morphTo3D();
9010
+ }
9011
+ else {
9012
+ modePicker_1.viewModel._morphTo2D();
9013
+ }
9008
9014
  }
9009
9015
  }
9010
9016
  if (!params.skipCamera) {
9011
9017
  transition = params.skipTransition ? 0 : curLens === newLens ? camera.transition : 0;
9012
9018
  if (transition == null) {
9013
- transition = (_l = defaults.camera) === null || _l === void 0 ? void 0 : _l.transition;
9019
+ transition = (_m = defaults.camera) === null || _m === void 0 ? void 0 : _m.transition;
9014
9020
  }
9015
9021
  if (transition == null) {
9016
9022
  // TODO: Need global default.
@@ -9029,7 +9035,7 @@ function renderNavigator(params, bookmark, view) {
9029
9035
  });
9030
9036
  }
9031
9037
  }
9032
- terrain = (bSettings === null || bSettings === void 0 ? void 0 : bSettings.terrain) != null ? bSettings === null || bSettings === void 0 ? void 0 : bSettings.terrain : (_m = defaults.settings) === null || _m === void 0 ? void 0 : _m.terrain;
9038
+ terrain = (bSettings === null || bSettings === void 0 ? void 0 : bSettings.terrain) != null ? bSettings === null || bSettings === void 0 ? void 0 : bSettings.terrain : (_o = defaults.settings) === null || _o === void 0 ? void 0 : _o.terrain;
9033
9039
  if (!terrain) return [3 /*break*/, 2];
9034
9040
  return [4 /*yield*/, TileRenderEngine.Terrain.Navigator.Render({
9035
9041
  apiGetter: params.apiGetter,
@@ -9037,21 +9043,21 @@ function renderNavigator(params, bookmark, view) {
9037
9043
  viewer: params.manager.Viewer,
9038
9044
  })];
9039
9045
  case 1:
9040
- _5.sent();
9041
- _5.label = 2;
9046
+ _6.sent();
9047
+ _6.label = 2;
9042
9048
  case 2:
9043
9049
  gOcclusion = bSettings === null || bSettings === void 0 ? void 0 : bSettings.groundOcclusion;
9044
9050
  if (gOcclusion == null) {
9045
- gOcclusion = (_o = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _o === void 0 ? void 0 : _o.groundOcclusion;
9051
+ gOcclusion = (_p = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _p === void 0 ? void 0 : _p.groundOcclusion;
9046
9052
  }
9047
9053
  if (gOcclusion == null) {
9048
9054
  // TODO: Need global default.
9049
9055
  gOcclusion = true;
9050
9056
  }
9051
9057
  scene.globe.depthTestAgainstTerrain = Boolean(gOcclusion);
9052
- hillShades = (_p = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _p === void 0 ? void 0 : _p.hillShades;
9058
+ hillShades = (_q = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _q === void 0 ? void 0 : _q.hillShades;
9053
9059
  if (hillShades == null) {
9054
- hillShades = (_q = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _q === void 0 ? void 0 : _q.hillShades;
9060
+ hillShades = (_r = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _r === void 0 ? void 0 : _r.hillShades;
9055
9061
  }
9056
9062
  if (hillShades == null) {
9057
9063
  hillShades = true;
@@ -9059,7 +9065,7 @@ function renderNavigator(params, bookmark, view) {
9059
9065
  scene.globe.enableLighting = Boolean(hillShades);
9060
9066
  baseColor = bSettings === null || bSettings === void 0 ? void 0 : bSettings.globeColor;
9061
9067
  if (baseColor == null) {
9062
- baseColor = (_r = defaults.settings) === null || _r === void 0 ? void 0 : _r.globeColor;
9068
+ baseColor = (_s = defaults.settings) === null || _s === void 0 ? void 0 : _s.globeColor;
9063
9069
  }
9064
9070
  if (baseColor == null) {
9065
9071
  // TODO: Need global default.
@@ -9068,7 +9074,7 @@ function renderNavigator(params, bookmark, view) {
9068
9074
  scene.globe.baseColor = Color.fromCssColorString(baseColor);
9069
9075
  globeHidden = bSettings === null || bSettings === void 0 ? void 0 : bSettings.globeHidden;
9070
9076
  if (globeHidden == null) {
9071
- globeHidden = (_s = defaults.settings) === null || _s === void 0 ? void 0 : _s.globeHidden;
9077
+ globeHidden = (_t = defaults.settings) === null || _t === void 0 ? void 0 : _t.globeHidden;
9072
9078
  }
9073
9079
  if (globeHidden == null) {
9074
9080
  globeHidden = false;
@@ -9076,7 +9082,7 @@ function renderNavigator(params, bookmark, view) {
9076
9082
  scene.globe.show = !globeHidden;
9077
9083
  globeAlpha = +(bSettings === null || bSettings === void 0 ? void 0 : bSettings.globeAlpha);
9078
9084
  if (isNaN(globeAlpha)) {
9079
- globeAlpha = +((_t = defaults.settings) === null || _t === void 0 ? void 0 : _t.globeAlpha);
9085
+ globeAlpha = +((_u = defaults.settings) === null || _u === void 0 ? void 0 : _u.globeAlpha);
9080
9086
  }
9081
9087
  if (!scene.globe.translucency.enabled) {
9082
9088
  scene.globe.translucency.enabled = true;
@@ -9086,7 +9092,7 @@ function renderNavigator(params, bookmark, view) {
9086
9092
  scene.globe.translucency.frontFaceAlphaByDistance.nearValue = EnsureNumber(globeAlpha, 1);
9087
9093
  shadows = bSettings === null || bSettings === void 0 ? void 0 : bSettings.shadows;
9088
9094
  if (shadows == null) {
9089
- shadows = (_u = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _u === void 0 ? void 0 : _u.shadows;
9095
+ shadows = (_v = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _v === void 0 ? void 0 : _v.shadows;
9090
9096
  }
9091
9097
  if (shadows == null) {
9092
9098
  shadows = {
@@ -9113,7 +9119,7 @@ function renderNavigator(params, bookmark, view) {
9113
9119
  }
9114
9120
  ambientOcclusion = bSettings === null || bSettings === void 0 ? void 0 : bSettings.ambientOcclusion;
9115
9121
  if (ambientOcclusion == null) {
9116
- ambientOcclusion = (_v = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _v === void 0 ? void 0 : _v.ambientOcclusion;
9122
+ ambientOcclusion = (_w = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _w === void 0 ? void 0 : _w.ambientOcclusion;
9117
9123
  }
9118
9124
  if (ambientOcclusion == null) {
9119
9125
  ambientOcclusion = {
@@ -9136,7 +9142,7 @@ function renderNavigator(params, bookmark, view) {
9136
9142
  }
9137
9143
  lighting = bSettings === null || bSettings === void 0 ? void 0 : bSettings.lighting;
9138
9144
  if (lighting == null) {
9139
- lighting = (_w = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _w === void 0 ? void 0 : _w.lighting;
9145
+ lighting = (_x = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _x === void 0 ? void 0 : _x.lighting;
9140
9146
  }
9141
9147
  if (lighting == null) {
9142
9148
  lighting = {
@@ -9151,7 +9157,7 @@ function renderNavigator(params, bookmark, view) {
9151
9157
  }
9152
9158
  quality = bSettings === null || bSettings === void 0 ? void 0 : bSettings.quality;
9153
9159
  if (quality == null) {
9154
- quality = (_x = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _x === void 0 ? void 0 : _x.quality;
9160
+ quality = (_y = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _y === void 0 ? void 0 : _y.quality;
9155
9161
  }
9156
9162
  if (quality == null) {
9157
9163
  quality = {
@@ -9162,7 +9168,7 @@ function renderNavigator(params, bookmark, view) {
9162
9168
  fxaa.enabled = Boolean(quality.fxaa);
9163
9169
  dateTime = bSettings === null || bSettings === void 0 ? void 0 : bSettings.dateTime;
9164
9170
  if (dateTime == null) {
9165
- dateTime = (_y = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _y === void 0 ? void 0 : _y.dateTime;
9171
+ dateTime = (_z = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _z === void 0 ? void 0 : _z.dateTime;
9166
9172
  }
9167
9173
  if (dateTime != null) {
9168
9174
  clock = viewer.clock;
@@ -9170,7 +9176,7 @@ function renderNavigator(params, bookmark, view) {
9170
9176
  }
9171
9177
  selectedIds = bSettings === null || bSettings === void 0 ? void 0 : bSettings.selectedEntityIds;
9172
9178
  if (selectedIds == null) {
9173
- selectedIds = (_z = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _z === void 0 ? void 0 : _z.selectedEntityIds;
9179
+ selectedIds = (_0 = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _0 === void 0 ? void 0 : _0.selectedEntityIds;
9174
9180
  }
9175
9181
  if (selectedIds != null) {
9176
9182
  params.manager.VisualsRegister.ClearSelected();
@@ -9183,7 +9189,7 @@ function renderNavigator(params, bookmark, view) {
9183
9189
  params.manager.VisualsRegister.ClearHidden();
9184
9190
  hiddenIds = bSettings === null || bSettings === void 0 ? void 0 : bSettings.hiddenEntityIds;
9185
9191
  if (hiddenIds == null) {
9186
- hiddenIds = (_0 = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _0 === void 0 ? void 0 : _0.hiddenEntityIds;
9192
+ hiddenIds = (_1 = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _1 === void 0 ? void 0 : _1.hiddenEntityIds;
9187
9193
  }
9188
9194
  if (hiddenIds != null) {
9189
9195
  params.manager.VisualsRegister.SetHidden({
@@ -9194,7 +9200,7 @@ function renderNavigator(params, bookmark, view) {
9194
9200
  params.manager.VisualsRegister.ClearIsolated();
9195
9201
  isolatedIds = bSettings === null || bSettings === void 0 ? void 0 : bSettings.isolatedEntityIds;
9196
9202
  if (isolatedIds == null) {
9197
- isolatedIds = (_1 = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _1 === void 0 ? void 0 : _1.isolatedEntityIds;
9203
+ isolatedIds = (_2 = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _2 === void 0 ? void 0 : _2.isolatedEntityIds;
9198
9204
  }
9199
9205
  if (isolatedIds != null) {
9200
9206
  params.manager.VisualsRegister.SetIsolated({
@@ -9205,7 +9211,7 @@ function renderNavigator(params, bookmark, view) {
9205
9211
  params.manager.VisualsRegister.ClearOpacity();
9206
9212
  entityOpacityMap = bSettings === null || bSettings === void 0 ? void 0 : bSettings.entityOpacityMap;
9207
9213
  if (entityOpacityMap == null) {
9208
- entityOpacityMap = (_2 = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _2 === void 0 ? void 0 : _2.entityOpacityMap;
9214
+ entityOpacityMap = (_3 = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _3 === void 0 ? void 0 : _3.entityOpacityMap;
9209
9215
  }
9210
9216
  if (entityOpacityMap != null) {
9211
9217
  for (entityId in entityOpacityMap) {
@@ -9218,7 +9224,7 @@ function renderNavigator(params, bookmark, view) {
9218
9224
  }
9219
9225
  }
9220
9226
  }
9221
- imagery = (bSettings === null || bSettings === void 0 ? void 0 : bSettings.imagery) != null ? bSettings.imagery : (_3 = defaults.settings) === null || _3 === void 0 ? void 0 : _3.imagery;
9227
+ imagery = (bSettings === null || bSettings === void 0 ? void 0 : bSettings.imagery) != null ? bSettings.imagery : (_4 = defaults.settings) === null || _4 === void 0 ? void 0 : _4.imagery;
9222
9228
  if (imagery == null) {
9223
9229
  // TODO: Need global default.
9224
9230
  imagery = [
@@ -9240,13 +9246,13 @@ function renderNavigator(params, bookmark, view) {
9240
9246
  viewer: params.manager.Viewer,
9241
9247
  })];
9242
9248
  case 3:
9243
- _5.sent();
9249
+ _6.sent();
9244
9250
  renderedRelationEntityIds = bSettings === null || bSettings === void 0 ? void 0 : bSettings.renderedEntityRelations;
9245
9251
  if (!renderedRelationEntityIds) {
9246
9252
  renderedRelationEntityIds = [];
9247
9253
  }
9248
9254
  curEnabled = params.manager.GetEnabledItemIds();
9249
- newItemIds = (_4 = bSettings === null || bSettings === void 0 ? void 0 : bSettings.menuItemIds) !== null && _4 !== void 0 ? _4 : [];
9255
+ newItemIds = (_5 = bSettings === null || bSettings === void 0 ? void 0 : bSettings.menuItemIds) !== null && _5 !== void 0 ? _5 : [];
9250
9256
  for (_i = 0, curEnabled_1 = curEnabled; _i < curEnabled_1.length; _i++) {
9251
9257
  id = curEnabled_1[_i];
9252
9258
  if (newItemIds.indexOf(id) === -1 ||
@@ -9264,8 +9270,8 @@ function renderNavigator(params, bookmark, view) {
9264
9270
  bookmark: bookmark
9265
9271
  })];
9266
9272
  case 4:
9267
- _5.sent();
9268
- _5.label = 5;
9273
+ _6.sent();
9274
+ _6.label = 5;
9269
9275
  case 5:
9270
9276
  if (!(renderedRelationEntityIds.length > 0)) return [3 /*break*/, 7];
9271
9277
  menuItem = {
@@ -9281,8 +9287,8 @@ function renderNavigator(params, bookmark, view) {
9281
9287
  item: menuItem
9282
9288
  })];
9283
9289
  case 6:
9284
- _5.sent();
9285
- _5.label = 7;
9290
+ _6.sent();
9291
+ _6.label = 7;
9286
9292
  case 7: return [2 /*return*/];
9287
9293
  }
9288
9294
  });