bruce-cesium 4.0.6 → 4.0.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,6 +1,6 @@
1
1
  import { BruceEvent, Cartes, Carto, Entity as Entity$1, Geometry, Tileset, MathUtils, LRUCache, ProjectViewTile, DelayQueue, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, ObjectUtils, Bounds, Api, EntityRelationType, ENVIRONMENT, EntityHistoricData, EntityCoords, EntitySource, MenuItem, EntityRelation, ProgramKey, AbstractApi, ProjectViewBookmark, EntityAttachment, EntityAttachmentType, EntityAttribute, ProjectView, ProjectViewLegacyTile, Camera } from 'bruce-models';
2
2
  import * as Cesium from 'cesium';
3
- import { Cartographic, JulianDate, Cartesian2, Math as Math$1, Cartesian3, CallbackProperty, Color, HeightReference, Rectangle, DistanceDisplayCondition, NearFarScalar, Model, ColorMaterialProperty, Entity, HorizontalOrigin, VerticalOrigin, ConstantProperty, ConstantPositionProperty, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, ColorBlendMode, HeadingPitchRoll, Transforms, Primitive, Cesium3DTileFeature, SceneMode, GeoJsonDataSource, Cesium3DTileColorBlendMode, HeadingPitchRange, Ion, Cesium3DTileStyle, KmlDataSource, SceneTransforms, EllipsoidTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, OrthographicFrustum, EasingFunction, Cesium3DTileset, Matrix4, Matrix3, IonResource, CesiumInspector, defined, ClockRange, EllipsoidGeodesic, sampleTerrainMostDetailed, PolygonPipeline, BoundingSphere, GeometryInstance, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, ScreenSpaceEventHandler, ScreenSpaceEventType, CzmlDataSource, Quaternion, Intersect } from 'cesium';
3
+ import { Cartographic, Cartesian2, Math as Math$1, Cartesian3, CallbackProperty, Color, HeightReference, Rectangle, JulianDate, Entity, Primitive, Cesium3DTileFeature, DistanceDisplayCondition, NearFarScalar, Model, ColorMaterialProperty, HorizontalOrigin, VerticalOrigin, ConstantProperty, ConstantPositionProperty, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, ColorBlendMode, HeadingPitchRoll, Transforms, SceneMode, GeoJsonDataSource, Cesium3DTileColorBlendMode, HeadingPitchRange, Ion, Cesium3DTileStyle, KmlDataSource, SceneTransforms, OrthographicFrustum, EasingFunction, EllipsoidTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, UrlTemplateImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, EllipsoidGeodesic, sampleTerrainMostDetailed, defined, Cesium3DTileset, Matrix4, Matrix3, IonResource, CesiumInspector, ClockRange, PolygonPipeline, BoundingSphere, GeometryInstance, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, ScreenSpaceEventHandler, ScreenSpaceEventType, CzmlDataSource, Quaternion, Intersect } from 'cesium';
4
4
 
5
5
  /*! *****************************************************************************
6
6
  Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7733,58 +7733,66 @@ var RelationRenderEngine;
7733
7733
  RelationRenderEngine.GetRenderGroupId = GetRenderGroupId;
7734
7734
  function Render(params) {
7735
7735
  return __awaiter(this, void 0, void 0, function () {
7736
- var apiGetter, viewer, visualRegister, menuItemId, relations, api, rendered, i, relation, fromEntity, toEntity, dataEntity, _a, relationType, style, cEntity, e_3;
7737
- return __generator(this, function (_b) {
7738
- switch (_b.label) {
7736
+ var apiGetter, viewer, visualRegister, menuItemId, relations, api, rendered, neededEntityIdsIds, i, relation, entities, entitiesMap, i, entity, relationTypes, relationTypesMap, i, relationType, i, relation, fromEntity, toEntity, dataEntity, relationType, style, cEntity, e_3;
7737
+ return __generator(this, function (_a) {
7738
+ switch (_a.label) {
7739
7739
  case 0:
7740
7740
  apiGetter = params.apiGetter, viewer = params.viewer, visualRegister = params.visualRegister, menuItemId = params.menuItemId, relations = params.relations;
7741
7741
  api = apiGetter.getApi(apiGetter.accountId);
7742
7742
  rendered = {};
7743
- i = 0;
7744
- _b.label = 1;
7745
- case 1:
7746
- if (!(i < relations.length)) return [3 /*break*/, 13];
7747
- _b.label = 2;
7748
- case 2:
7749
- _b.trys.push([2, 11, , 12]);
7750
- relation = relations[i];
7751
- return [4 /*yield*/, Entity$1.Get({
7752
- api: api,
7753
- entityId: relation["Principal.Entity.ID"],
7743
+ neededEntityIdsIds = [];
7744
+ for (i = 0; i < relations.length; i++) {
7745
+ relation = relations[i];
7746
+ if (relation["Principal.Entity.ID"]) {
7747
+ neededEntityIdsIds.push(relation["Principal.Entity.ID"]);
7748
+ }
7749
+ if (relation["Related.Entity.ID"]) {
7750
+ neededEntityIdsIds.push(relation["Related.Entity.ID"]);
7751
+ }
7752
+ if (relation["Data.Entity.ID"]) {
7753
+ neededEntityIdsIds.push(relation["Data.Entity.ID"]);
7754
+ }
7755
+ }
7756
+ // Turn the set unique.
7757
+ neededEntityIdsIds = neededEntityIdsIds.filter(function (v, i, a) { return a.indexOf(v) === i; });
7758
+ return [4 /*yield*/, Entity$1.GetListByIds({
7759
+ entityIds: neededEntityIdsIds,
7760
+ api: apiGetter.getApi(),
7754
7761
  migrated: true
7755
7762
  })];
7756
- case 3:
7757
- fromEntity = (_b.sent()).entity;
7758
- return [4 /*yield*/, Entity$1.Get({
7759
- api: api,
7760
- entityId: relation["Related.Entity.ID"],
7761
- migrated: true
7763
+ case 1:
7764
+ entities = (_a.sent()).entities;
7765
+ entitiesMap = {};
7766
+ for (i = 0; i < entities.length; i++) {
7767
+ entity = entities[i];
7768
+ entitiesMap[entity.Bruce.ID] = entity;
7769
+ }
7770
+ entities = null;
7771
+ return [4 /*yield*/, EntityRelationType.GetList({
7772
+ api: api
7762
7773
  })];
7774
+ case 2:
7775
+ relationTypes = (_a.sent()).relationTypes;
7776
+ relationTypesMap = {};
7777
+ for (i = 0; i < relationTypes.length; i++) {
7778
+ relationType = relationTypes[i];
7779
+ relationTypesMap[relationType.ID] = relationType;
7780
+ }
7781
+ i = 0;
7782
+ _a.label = 3;
7783
+ case 3:
7784
+ if (!(i < relations.length)) return [3 /*break*/, 9];
7785
+ _a.label = 4;
7763
7786
  case 4:
7764
- toEntity = (_b.sent()).entity;
7765
- if (!relation["Data.Entity.ID"]) return [3 /*break*/, 6];
7766
- return [4 /*yield*/, Entity$1.Get({
7767
- api: api,
7768
- entityId: relation["Data.Entity.ID"],
7769
- migrated: true
7770
- })];
7771
- case 5:
7772
- _a = (_b.sent()).entity;
7773
- return [3 /*break*/, 7];
7774
- case 6:
7775
- _a = null;
7776
- _b.label = 7;
7777
- case 7:
7778
- dataEntity = _a;
7779
- return [4 /*yield*/, EntityRelationType.Get({
7780
- api: api,
7781
- relationTypeId: relation["Relation.Type.ID"]
7782
- })];
7783
- case 8:
7784
- relationType = (_b.sent()).relationType;
7787
+ _a.trys.push([4, 7, , 8]);
7788
+ relation = relations[i];
7789
+ fromEntity = entitiesMap[relation["Principal.Entity.ID"]];
7790
+ toEntity = entitiesMap[relation["Related.Entity.ID"]];
7791
+ dataEntity = relation["Data.Entity.ID"] ? entitiesMap[relation["Data.Entity.ID"]] : null;
7792
+ relationType = relationTypesMap[relation["Relation.Type.ID"]];
7785
7793
  return [4 /*yield*/, getStyle$1(api, relationType === null || relationType === void 0 ? void 0 : relationType["Relation.EntityType.ID"], Number(relationType === null || relationType === void 0 ? void 0 : relationType.EntityDisplaySettingID))];
7786
- case 9:
7787
- style = _b.sent();
7794
+ case 5:
7795
+ style = _a.sent();
7788
7796
  return [4 /*yield*/, Parabola.Render({
7789
7797
  dataEntity: dataEntity,
7790
7798
  fromEntity: fromEntity,
@@ -7795,19 +7803,19 @@ var RelationRenderEngine;
7795
7803
  visualRegister: visualRegister,
7796
7804
  apiGetter: apiGetter
7797
7805
  })];
7798
- case 10:
7799
- cEntity = _b.sent();
7806
+ case 6:
7807
+ cEntity = _a.sent();
7800
7808
  cEntity._renderGroup = GetRenderGroupId(relation);
7801
7809
  rendered[GetRenderGroupId(relation)] = cEntity;
7802
- return [3 /*break*/, 12];
7803
- case 11:
7804
- e_3 = _b.sent();
7810
+ return [3 /*break*/, 8];
7811
+ case 7:
7812
+ e_3 = _a.sent();
7805
7813
  console.error(e_3);
7806
- return [3 /*break*/, 12];
7807
- case 12:
7814
+ return [3 /*break*/, 8];
7815
+ case 8:
7808
7816
  i++;
7809
- return [3 /*break*/, 1];
7810
- case 13: return [2 /*return*/, rendered];
7817
+ return [3 /*break*/, 3];
7818
+ case 9: return [2 /*return*/, rendered];
7811
7819
  }
7812
7820
  });
7813
7821
  });
@@ -22710,9 +22718,12 @@ function renderDefaultMapTile(apiGetter, id) {
22710
22718
  case ProjectViewTile.EDefaultImagery.LINZ: return [3 /*break*/, 38];
22711
22719
  case ProjectViewTile.EDefaultImagery.StamenWaterColor: return [3 /*break*/, 39];
22712
22720
  case ProjectViewTile.EDefaultImagery.StamenToner: return [3 /*break*/, 40];
22713
- case ProjectViewTile.EDefaultImagery.Grid: return [3 /*break*/, 41];
22721
+ case ProjectViewTile.EDefaultImagery.ThunderforestCycle: return [3 /*break*/, 41];
22722
+ case ProjectViewTile.EDefaultImagery.ThunderforestTransport: return [3 /*break*/, 42];
22723
+ case ProjectViewTile.EDefaultImagery.ThunderforestLandscape: return [3 /*break*/, 43];
22724
+ case ProjectViewTile.EDefaultImagery.Grid: return [3 /*break*/, 44];
22714
22725
  }
22715
- return [3 /*break*/, 42];
22726
+ return [3 /*break*/, 45];
22716
22727
  case 1:
22717
22728
  if (!BingMapsImageryProvider.hasOwnProperty("fromUrl")) return [3 /*break*/, 4];
22718
22729
  _c = (_b = CESIUM.BingMapsImageryProvider).fromUrl;
@@ -22737,7 +22748,7 @@ function renderDefaultMapTile(apiGetter, id) {
22737
22748
  provider = new (_f.apply(_e, [void 0, (_z.key = _7.sent(),
22738
22749
  _z)]))();
22739
22750
  _7.label = 6;
22740
- case 6: return [3 /*break*/, 42];
22751
+ case 6: return [3 /*break*/, 45];
22741
22752
  case 7:
22742
22753
  if (!BingMapsImageryProvider.hasOwnProperty("fromUrl")) return [3 /*break*/, 10];
22743
22754
  _h = (_g = CESIUM.BingMapsImageryProvider).fromUrl;
@@ -22762,7 +22773,7 @@ function renderDefaultMapTile(apiGetter, id) {
22762
22773
  provider = new (_l.apply(_k, [void 0, (_1.key = _7.sent(),
22763
22774
  _1)]))();
22764
22775
  _7.label = 12;
22765
- case 12: return [3 /*break*/, 42];
22776
+ case 12: return [3 /*break*/, 45];
22766
22777
  case 13:
22767
22778
  if (!BingMapsImageryProvider.hasOwnProperty("fromUrl")) return [3 /*break*/, 16];
22768
22779
  _o = (_m = CESIUM.BingMapsImageryProvider).fromUrl;
@@ -22787,7 +22798,7 @@ function renderDefaultMapTile(apiGetter, id) {
22787
22798
  provider = new (_r.apply(_q, [void 0, (_3.key = _7.sent(),
22788
22799
  _3)]))();
22789
22800
  _7.label = 18;
22790
- case 18: return [3 /*break*/, 42];
22801
+ case 18: return [3 /*break*/, 45];
22791
22802
  case 19:
22792
22803
  _t = (_s = MapboxImageryProvider).bind;
22793
22804
  _4 = {
@@ -22797,7 +22808,7 @@ function renderDefaultMapTile(apiGetter, id) {
22797
22808
  case 20:
22798
22809
  provider = new (_t.apply(_s, [void 0, (_4.accessToken = _7.sent(),
22799
22810
  _4)]))();
22800
- return [3 /*break*/, 42];
22811
+ return [3 /*break*/, 45];
22801
22812
  case 21:
22802
22813
  _v = (_u = MapboxStyleImageryProvider).bind;
22803
22814
  _5 = {
@@ -22807,7 +22818,7 @@ function renderDefaultMapTile(apiGetter, id) {
22807
22818
  case 22:
22808
22819
  provider = new (_v.apply(_u, [void 0, (_5.accessToken = _7.sent(),
22809
22820
  _5)]))();
22810
- return [3 /*break*/, 42];
22821
+ return [3 /*break*/, 45];
22811
22822
  case 23:
22812
22823
  _x = (_w = MapboxStyleImageryProvider).bind;
22813
22824
  _6 = {
@@ -22817,7 +22828,7 @@ function renderDefaultMapTile(apiGetter, id) {
22817
22828
  case 24:
22818
22829
  provider = new (_x.apply(_w, [void 0, (_6.accessToken = _7.sent(),
22819
22830
  _6)]))();
22820
- return [3 /*break*/, 42];
22831
+ return [3 /*break*/, 45];
22821
22832
  case 25:
22822
22833
  if (!ArcGisMapServerImageryProvider.hasOwnProperty("fromUrl")) return [3 /*break*/, 27];
22823
22834
  return [4 /*yield*/, CESIUM.ArcGisMapServerImageryProvider.fromUrl("https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer", {
@@ -22832,7 +22843,7 @@ function renderDefaultMapTile(apiGetter, id) {
22832
22843
  enablePickFeatures: false
22833
22844
  });
22834
22845
  _7.label = 28;
22835
- case 28: return [3 /*break*/, 42];
22846
+ case 28: return [3 /*break*/, 45];
22836
22847
  case 29:
22837
22848
  if (!ArcGisMapServerImageryProvider.hasOwnProperty("fromUrl")) return [3 /*break*/, 31];
22838
22849
  return [4 /*yield*/, CESIUM.ArcGisMapServerImageryProvider.fromUrl("https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer", {
@@ -22847,7 +22858,7 @@ function renderDefaultMapTile(apiGetter, id) {
22847
22858
  enablePickFeatures: false
22848
22859
  });
22849
22860
  _7.label = 32;
22850
- case 32: return [3 /*break*/, 42];
22861
+ case 32: return [3 /*break*/, 45];
22851
22862
  case 33:
22852
22863
  if (!CESIUM.ArcGisMapServerImageryProvider.hasOwnProperty("fromUrl")) return [3 /*break*/, 35];
22853
22864
  return [4 /*yield*/, CESIUM.ArcGisMapServerImageryProvider.fromUrl("https://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/", {
@@ -22862,29 +22873,54 @@ function renderDefaultMapTile(apiGetter, id) {
22862
22873
  enablePickFeatures: false
22863
22874
  });
22864
22875
  _7.label = 36;
22865
- case 36: return [3 /*break*/, 42];
22876
+ case 36: return [3 /*break*/, 45];
22866
22877
  case 37:
22867
22878
  provider = new OpenStreetMapImageryProvider({
22868
22879
  url: "https://a.tile.openstreetmap.org/"
22869
22880
  });
22870
- return [3 /*break*/, 42];
22881
+ return [3 /*break*/, 45];
22871
22882
  case 38:
22872
22883
  provider = new OpenStreetMapImageryProvider({
22873
22884
  url: "https://s3-ap-southeast-2.amazonaws.com/digitalnewzealand/PROD/Tilesets/nz-img",
22874
22885
  fileExtension: "jpg"
22875
22886
  });
22876
- return [3 /*break*/, 42];
22887
+ return [3 /*break*/, 45];
22877
22888
  case 39:
22878
- provider = new OpenStreetMapImageryProvider({
22879
- url: "https://stamen-tiles.a.ssl.fastly.net/watercolor/"
22889
+ provider = provider = new UrlTemplateImageryProvider({
22890
+ url: 'https://tiles.stadiamaps.com/tiles/stamen_watercolor/{z}/{x}/{y}.jpg?api_key=a652e5f2-8d9e-4706-a9d9-d5daa7d4c89e',
22891
+ credit: '© Stadia Maps, © OpenMapTiles © OpenStreetMap contributors',
22892
+ maximumLevel: 16
22880
22893
  });
22881
- return [3 /*break*/, 42];
22894
+ return [3 /*break*/, 45];
22882
22895
  case 40:
22883
- provider = new OpenStreetMapImageryProvider({
22884
- url: "https://stamen-tiles.a.ssl.fastly.net/toner/"
22896
+ provider = new UrlTemplateImageryProvider({
22897
+ url: 'https://tiles.stadiamaps.com/tiles/stamen_toner/{z}/{x}/{y}.png?api_key=a652e5f2-8d9e-4706-a9d9-d5daa7d4c89e',
22898
+ credit: '© Stadia Maps, © OpenMapTiles © OpenStreetMap contributors',
22899
+ maximumLevel: 18
22885
22900
  });
22886
- return [3 /*break*/, 42];
22901
+ return [3 /*break*/, 45];
22887
22902
  case 41:
22903
+ provider = new UrlTemplateImageryProvider({
22904
+ url: 'https://tile.thunderforest.com/cycle/{z}/{x}/{y}.png?apikey=c3c1b64fbb5240be8e0d284a01e33107',
22905
+ credit: '© Thunderforest, © OpenStreetMap contributors',
22906
+ maximumLevel: 22
22907
+ });
22908
+ return [3 /*break*/, 45];
22909
+ case 42:
22910
+ provider = new UrlTemplateImageryProvider({
22911
+ url: 'https://tile.thunderforest.com/transport/{z}/{x}/{y}.png?apikey=c3c1b64fbb5240be8e0d284a01e33107',
22912
+ credit: '© Thunderforest, © OpenStreetMap contributors',
22913
+ maximumLevel: 22
22914
+ });
22915
+ return [3 /*break*/, 45];
22916
+ case 43:
22917
+ provider = new UrlTemplateImageryProvider({
22918
+ url: 'https://tile.thunderforest.com/landscape/{z}/{x}/{y}.png?apikey=c3c1b64fbb5240be8e0d284a01e33107',
22919
+ credit: '© Thunderforest, © OpenStreetMap contributors',
22920
+ maximumLevel: 22
22921
+ });
22922
+ return [3 /*break*/, 45];
22923
+ case 44:
22888
22924
  provider = new GridImageryProvider({
22889
22925
  tilingScheme: new GeographicTilingScheme(),
22890
22926
  cells: 0,
@@ -22896,8 +22932,8 @@ function renderDefaultMapTile(apiGetter, id) {
22896
22932
  tileHeight: 256,
22897
22933
  canvasSize: 256
22898
22934
  });
22899
- return [3 /*break*/, 42];
22900
- case 42: return [2 /*return*/, provider];
22935
+ return [3 /*break*/, 45];
22936
+ case 45: return [2 /*return*/, provider];
22901
22937
  }
22902
22938
  });
22903
22939
  });
@@ -24629,7 +24665,7 @@ var ViewRenderEngine;
24629
24665
  ViewRenderEngine.Render = Render;
24630
24666
  })(ViewRenderEngine || (ViewRenderEngine = {}));
24631
24667
 
24632
- var VERSION = "4.0.6";
24668
+ var VERSION = "4.0.8";
24633
24669
 
24634
24670
  export { VERSION, CesiumViewMonitor, ViewerUtils, MenuItemManager, EntityRenderEngine, MenuItemCreator, VisualsRegister, RenderManager, EntitiesIdsRenderManager, EntitiesLoadedRenderManager, EntitiesRenderManager, EntityRenderManager, TilesetCadRenderManager, TilesetArbRenderManager, TilesetEntitiesRenderManager, TilesetOsmRenderManager, TilesetPointcloudRenderManager, TilesetGooglePhotosRenderManager, DataSourceStaticKmlManager, RelationsRenderManager, SharedGetters, CesiumParabola, EntityLabel, ViewRenderEngine, TileRenderEngine, TilesetRenderEngine, CESIUM_INSPECTOR_KEY, CESIUM_TIMELINE_KEY, ViewUtils, DrawingUtils, MeasureUtils, EntityUtils, CesiumEntityStyler, CesiumAnimatedProperty, CesiumAnimatedInOut, Draw3dPolygon, Draw3dPolyline };
24635
24671
  //# sourceMappingURL=bruce-cesium.es5.js.map