bruce-cesium 0.1.2 → 0.1.5

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
- import { Cartesian2, Cartographic, Math as Math$1, Color, HeightReference, Cartesian3, Entity, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Viewer, ArcGisMapServerImageryProvider, ScreenSpaceEventType, Primitive, Cesium3DTileFeature, HeadingPitchRange, Matrix4, Cesium3DTileset, EllipsoidGeodesic } from 'cesium';
2
- import { BruceEvent, Cartes, Carto, Geometry, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, DelayQueue, Entity as Entity$1, EntityFilterGetter, BatchedDataGetter, ObjectUtils, Tileset, MenuItem, ProjectView, ProjectViewBookmark } from 'bruce-models';
1
+ import { BruceEvent, Cartes, Carto, Geometry, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, DelayQueue, Entity as Entity$1, EntityFilterGetter, BatchedDataGetter, ObjectUtils, Tileset, MenuItem, ProjectView, ProjectViewBookmark, ProjectViewTileSource, Camera } from 'bruce-models';
2
+ import { Viewer, ArcGisMapServerImageryProvider, ScreenSpaceEventType, Cartesian2, Cartographic, Math as Math$1, Color, HeightReference, Cartesian3, Entity, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Primitive, Cesium3DTileFeature, HeadingPitchRange, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, createWorldTerrain, CesiumTerrainProvider, EllipsoidTerrainProvider, OrthographicFrustum, Matrix4, Cesium3DTileset, EllipsoidGeodesic } from 'cesium';
3
3
 
4
4
  var TIME_LAG = 300;
5
5
  var POSITION_CHECK_TIMER = 950;
@@ -3124,5 +3124,567 @@ var RenderHelper;
3124
3124
  RenderHelper.RenderTileset = RenderTileset;
3125
3125
  })(RenderHelper || (RenderHelper = {}));
3126
3126
 
3127
- export { CesiumViewMonitor, ViewerUtils, MenuItemManager, EntityRenderEngine, RenderHelper, VisualsRegister, RenderManager, EntitiesIdsRenderManager, EntitiesLoadedRenderManager, EntitiesRenderManager, EntityRenderManager, TilesetCadRenderManager };
3127
+ var re = /[\0-\x1F\x7F-\x9F\xAD\u0378\u0379\u037F-\u0383\u038B\u038D\u03A2\u0528-\u0530\u0557\u0558\u0560\u0588\u058B-\u058E\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08A1\u08AD-\u08E3\u08FF\u0978\u0980\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0C00\u0C04\u0C0D\u0C11\u0C29\u0C34\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5A-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C80\u0C81\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D01\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D4F-\u0D56\u0D58-\u0D5F\u0D64\u0D65\u0D76-\u0D78\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F5-\u13FF\u169D-\u169F\u16F1-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191D-\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C80-\u1CBF\u1CC8-\u1CCF\u1CF7-\u1CFF\u1DE7-\u1DFB\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BB-\u20CF\u20F1-\u20FF\u218A-\u218F\u23F4-\u23FF\u2427-\u243F\u244B-\u245F\u2700\u2B4D-\u2B4F\u2B5A-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E3C-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FCD-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA698-\uA69E\uA6F8-\uA6FF\uA78F\uA794-\uA79F\uA7AB-\uA7F7\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C5-\uA8CD\uA8DA-\uA8DF\uA8FC-\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9E0-\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAA7C-\uAA7F\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F-\uABBF\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE27-\uFE2F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF]/g;
3128
+ function prepLegacyName(name) {
3129
+ if (!name) {
3130
+ return "";
3131
+ }
3132
+ name = name.replace(/" "/g, "");
3133
+ name = name.replace(re, "");
3134
+ name = name.toLowerCase();
3135
+ if (name === "cwt") {
3136
+ name = "cesiumworldterrain";
3137
+ }
3138
+ return name;
3139
+ }
3140
+ var EDefaultTerrain;
3141
+ (function (EDefaultTerrain) {
3142
+ EDefaultTerrain["CesiumWorldTerrain"] = "cesiumworldterrain";
3143
+ EDefaultTerrain["Linz"] = "linz";
3144
+ EDefaultTerrain["FlatTerrain"] = "flatterrain";
3145
+ })(EDefaultTerrain || (EDefaultTerrain = {}));
3146
+ var DEFAULT_TERRAIN_NAMES = [
3147
+ EDefaultTerrain.CesiumWorldTerrain,
3148
+ EDefaultTerrain.Linz,
3149
+ EDefaultTerrain.FlatTerrain
3150
+ ];
3151
+ function isDefaultTerrain(name) {
3152
+ name = prepLegacyName(name);
3153
+ return DEFAULT_TERRAIN_NAMES.includes(name);
3154
+ }
3155
+ function createTerrainBId(source) {
3156
+ if (!source) {
3157
+ return "";
3158
+ }
3159
+ if (isDefaultTerrain(source.Name)) {
3160
+ return source.Name;
3161
+ }
3162
+ if (source.SourceUrl) {
3163
+ return source.SourceUrl;
3164
+ }
3165
+ return "";
3166
+ }
3167
+ function createImageryBId(source) {
3168
+ if (!source) {
3169
+ return "";
3170
+ }
3171
+ if (isDefaultTerrain(source.Name)) {
3172
+ return source.Name;
3173
+ }
3174
+ if (source.SourceUrl) {
3175
+ return source.SourceUrl;
3176
+ }
3177
+ return "";
3178
+ }
3179
+ var EDefaultImagery;
3180
+ (function (EDefaultImagery) {
3181
+ EDefaultImagery["BingMapsAerial"] = "bingmapsaerial";
3182
+ EDefaultImagery["BingMapsAerialWithLabels"] = "bingmapsaerialwithlabels";
3183
+ EDefaultImagery["BingMapsRoads"] = "bingmapsroads";
3184
+ EDefaultImagery["MapboxSatellite"] = "mapboxsatellite";
3185
+ EDefaultImagery["MapBoxStreets"] = "mapboxstreets";
3186
+ EDefaultImagery["MapBoxStreetsClassic"] = "mapboxstreetsclassic";
3187
+ EDefaultImagery["EsriWorldImagery"] = "esriworldimagery";
3188
+ EDefaultImagery["EsriWorldStreetMap"] = "esriworldstreetmap";
3189
+ EDefaultImagery["EsriNationalGeographic"] = "esrinationalgeographic";
3190
+ EDefaultImagery["OpenStreetMap"] = "openstreetmap";
3191
+ EDefaultImagery["StamenWaterColor"] = "stamenwatercolor";
3192
+ EDefaultImagery["StamenToner"] = "stamentoner";
3193
+ EDefaultImagery["Grid"] = "grid";
3194
+ })(EDefaultImagery || (EDefaultImagery = {}));
3195
+ var DEFAULT_IMAGERY_NAMES = [
3196
+ EDefaultImagery.BingMapsAerial,
3197
+ EDefaultImagery.BingMapsAerialWithLabels,
3198
+ EDefaultImagery.BingMapsRoads,
3199
+ EDefaultImagery.MapboxSatellite,
3200
+ EDefaultImagery.MapBoxStreets,
3201
+ EDefaultImagery.MapBoxStreetsClassic,
3202
+ EDefaultImagery.EsriWorldImagery,
3203
+ EDefaultImagery.EsriWorldStreetMap,
3204
+ EDefaultImagery.EsriNationalGeographic,
3205
+ EDefaultImagery.OpenStreetMap,
3206
+ EDefaultImagery.StamenWaterColor,
3207
+ EDefaultImagery.StamenToner,
3208
+ EDefaultImagery.Grid
3209
+ ];
3210
+ function isDefaultImagery(name) {
3211
+ name = prepLegacyName(name);
3212
+ return DEFAULT_IMAGERY_NAMES.includes(name);
3213
+ }
3214
+ var DEFAULT_BING_KEY = "AqL0uYT5T84jiJeX55_b9zJeeP3MX2p1WLOHH4ljIEPZ7ZL2M81bYLzyYeSwuzzl";
3215
+ var DEFAULT_MAPBOX_KEY = "pk.eyJ1IjoiYWxleHRodW5kZXIiLCJhIjoiY2psbHJxbnN5MTBvbzNxczZwMHNpeTI0MCJ9.fdoj2QW_7n8RV4e0NCFgZA";
3216
+ function gatherEnabledImageries(viewer) {
3217
+ var collection = viewer.imageryLayers;
3218
+ var layers = [];
3219
+ for (var i = 0; i < collection.length; i++) {
3220
+ var layer = collection.get(i);
3221
+ layers.push(layer);
3222
+ }
3223
+ return layers;
3224
+ }
3225
+ var TileRenderEngine;
3226
+ (function (TileRenderEngine) {
3227
+ /**
3228
+ * Legacy data did name comparisons instead of ids.
3229
+ * We need to strip spacing, remove special characters, and make lowercase before comparison...
3230
+ * @param nameA
3231
+ * @param nameB
3232
+ */
3233
+ function CompareLegacyNames(nameA, nameB) {
3234
+ nameA = prepLegacyName(nameA);
3235
+ nameB = prepLegacyName(nameB);
3236
+ return nameA === nameB;
3237
+ }
3238
+ TileRenderEngine.CompareLegacyNames = CompareLegacyNames;
3239
+ var Map;
3240
+ (function (Map) {
3241
+ function MarkProvider(provider, id) {
3242
+ provider._bId = id;
3243
+ }
3244
+ Map.MarkProvider = MarkProvider;
3245
+ function Render(params) {
3246
+ throw ("Not implemented");
3247
+ }
3248
+ Map.Render = Render;
3249
+ function RenderLegacy(params) {
3250
+ var enabled = gatherEnabledImageries(params.viewer);
3251
+ var tile = params.data;
3252
+ var bId = createImageryBId(tile);
3253
+ var layer = enabled.find(function (x) { return x._bId == bId; });
3254
+ if (layer) ;
3255
+ else if (isDefaultImagery(tile.Name)) {
3256
+ var provider = null;
3257
+ // TODO: Rest of defaults.
3258
+ // TODO: Should be enum.
3259
+ switch (prepLegacyName(tile.Name)) {
3260
+ case EDefaultImagery.BingMapsAerial:
3261
+ // TODO: Read account key if available.
3262
+ provider = new BingMapsImageryProvider({
3263
+ url: "https://dev.virtualearth.net",
3264
+ mapStyle: BingMapsStyle.AERIAL,
3265
+ key: DEFAULT_BING_KEY
3266
+ });
3267
+ break;
3268
+ case EDefaultImagery.BingMapsAerialWithLabels:
3269
+ // TODO: Read account key if available.
3270
+ provider = new BingMapsImageryProvider({
3271
+ url: "https://dev.virtualearth.net",
3272
+ mapStyle: BingMapsStyle.AERIAL_WITH_LABELS,
3273
+ key: DEFAULT_BING_KEY
3274
+ });
3275
+ break;
3276
+ case EDefaultImagery.BingMapsRoads:
3277
+ // TODO: Read account key if available.
3278
+ provider = new BingMapsImageryProvider({
3279
+ url: "https://dev.virtualearth.net",
3280
+ mapStyle: BingMapsStyle.ROAD_ON_DEMAND,
3281
+ key: DEFAULT_BING_KEY
3282
+ });
3283
+ break;
3284
+ case EDefaultImagery.MapboxSatellite:
3285
+ // TODO: Read account key if available.
3286
+ provider = new MapboxImageryProvider({
3287
+ mapId: "mapbox.satellite",
3288
+ accessToken: DEFAULT_MAPBOX_KEY
3289
+ });
3290
+ break;
3291
+ case EDefaultImagery.MapBoxStreets:
3292
+ // TODO: Read account key if available.
3293
+ provider = new MapboxImageryProvider({
3294
+ mapId: "satellite-streets-v11",
3295
+ accessToken: DEFAULT_MAPBOX_KEY
3296
+ });
3297
+ break;
3298
+ case EDefaultImagery.MapBoxStreetsClassic:
3299
+ // TODO: Read account key if available.
3300
+ provider = new MapboxImageryProvider({
3301
+ mapId: "streets-v11",
3302
+ accessToken: DEFAULT_MAPBOX_KEY
3303
+ });
3304
+ break;
3305
+ case EDefaultImagery.EsriWorldImagery:
3306
+ provider = new ArcGisMapServerImageryProvider({
3307
+ url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",
3308
+ enablePickFeatures: false
3309
+ });
3310
+ break;
3311
+ case EDefaultImagery.EsriWorldStreetMap:
3312
+ provider = new ArcGisMapServerImageryProvider({
3313
+ url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer",
3314
+ enablePickFeatures: false
3315
+ });
3316
+ break;
3317
+ case EDefaultImagery.EsriNationalGeographic:
3318
+ provider = new ArcGisMapServerImageryProvider({
3319
+ url: "https://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/",
3320
+ enablePickFeatures: false
3321
+ });
3322
+ break;
3323
+ case EDefaultImagery.OpenStreetMap:
3324
+ provider = new OpenStreetMapImageryProvider({
3325
+ url: "https://a.tile.openstreetmap.org/"
3326
+ });
3327
+ break;
3328
+ case EDefaultImagery.StamenWaterColor:
3329
+ provider = new OpenStreetMapImageryProvider({
3330
+ url: "https://stamen-tiles.a.ssl.fastly.net/watercolor/"
3331
+ });
3332
+ break;
3333
+ case EDefaultImagery.StamenToner:
3334
+ provider = new OpenStreetMapImageryProvider({
3335
+ url: "https://stamen-tiles.a.ssl.fastly.net/toner/"
3336
+ });
3337
+ break;
3338
+ case EDefaultImagery.Grid:
3339
+ provider = new GridImageryProvider({
3340
+ tilingScheme: new GeographicTilingScheme(),
3341
+ cells: 0,
3342
+ color: Color.fromCssColorString("rgb(97, 151, 237)"),
3343
+ glowColor: Color.fromCssColorString("rgb(54, 54, 54)"),
3344
+ glowWidth: 4,
3345
+ backgroundColor: Color.TRANSPARENT,
3346
+ tileWidth: 256,
3347
+ tileHeight: 256,
3348
+ canvasSize: 256
3349
+ });
3350
+ break;
3351
+ }
3352
+ if (provider) {
3353
+ layer = new ImageryLayer(provider);
3354
+ }
3355
+ }
3356
+ else if (tile.SourceUrl) {
3357
+ var provider = null;
3358
+ var min = tile.Minimum;
3359
+ var max = tile.Maximum;
3360
+ if (min != undefined && min <= -1) {
3361
+ min = undefined;
3362
+ }
3363
+ if (max != undefined && max <= -1) {
3364
+ max = undefined;
3365
+ }
3366
+ switch (tile.Type) {
3367
+ case "BruceImagery":
3368
+ provider = new UrlTemplateImageryProvider({
3369
+ url: tile.SourceUrl,
3370
+ tileHeight: 256,
3371
+ tileWidth: 256
3372
+ });
3373
+ break;
3374
+ case "ArcGisImagery":
3375
+ provider = new OpenStreetMapImageryProvider({
3376
+ url: tile.SourceUrl,
3377
+ fileExtension: tile.FileExtension,
3378
+ minimumLevel: min,
3379
+ maximumLevel: max
3380
+ });
3381
+ break;
3382
+ case "TileMapImagery":
3383
+ provider = new TileMapServiceImageryProvider({
3384
+ url: tile.SourceUrl,
3385
+ fileExtension: tile.FileExtension,
3386
+ minimumLevel: min,
3387
+ maximumLevel: max
3388
+ });
3389
+ break;
3390
+ case "OpenStreetMapImagery":
3391
+ provider = new OpenStreetMapImageryProvider({
3392
+ url: tile.SourceUrl,
3393
+ fileExtension: tile.FileExtension,
3394
+ minimumLevel: min,
3395
+ maximumLevel: max
3396
+ });
3397
+ break;
3398
+ case "MapBoxImagery":
3399
+ // TODO: Read default account key when missing.
3400
+ provider = new UrlTemplateImageryProvider({
3401
+ url: "https://api.mapbox.com/styles/v1/"
3402
+ + tile.MapBoxUsername + "/" + tile.MapBoxID +
3403
+ "/tiles/256/{z}/{x}/{y}?access_token="
3404
+ + tile.ProgramKey
3405
+ });
3406
+ break;
3407
+ }
3408
+ if (provider) {
3409
+ layer = new ImageryLayer(provider);
3410
+ }
3411
+ }
3412
+ if (layer) {
3413
+ layer._bId = bId;
3414
+ if (!params.viewer.imageryLayers.contains(layer)) {
3415
+ params.viewer.imageryLayers.add(layer);
3416
+ }
3417
+ }
3418
+ return layer;
3419
+ }
3420
+ function RenderLegacyView(params) {
3421
+ var _a, _b, _c, _d, _e;
3422
+ return __awaiter(this, void 0, void 0, function () {
3423
+ var view, bookmark, data, dataNames, i, source, tiles, i, name_1, j, tile, enabled, layers, _loop_1, i, i, tile, layer, i, layer;
3424
+ return __generator(this, function (_f) {
3425
+ switch (_f.label) {
3426
+ case 0: return [4 /*yield*/, ProjectView.Get(params.api, params.viewId)];
3427
+ case 1:
3428
+ view = _f.sent();
3429
+ bookmark = null;
3430
+ if (!params.bookmarkId) return [3 /*break*/, 3];
3431
+ return [4 /*yield*/, ProjectViewBookmark.Get(params.api, params.viewId, params.bookmarkId)];
3432
+ case 2:
3433
+ bookmark = _f.sent();
3434
+ _f.label = 3;
3435
+ case 3:
3436
+ data = [];
3437
+ dataNames = [];
3438
+ if ((_a = bookmark.Settings) === null || _a === void 0 ? void 0 : _a.imagery) {
3439
+ for (i = 0; i < bookmark.Settings.imagery.length; i++) {
3440
+ source = bookmark.Settings.imagery[i];
3441
+ dataNames.push(source.title);
3442
+ }
3443
+ }
3444
+ else if ((_b = view.Settings) === null || _b === void 0 ? void 0 : _b.DefaultMapTiles) {
3445
+ dataNames.push(view.Settings.DefaultMapTiles);
3446
+ }
3447
+ tiles = (_d = (_c = view.Settings) === null || _c === void 0 ? void 0 : _c.CesiumMapSources) !== null && _d !== void 0 ? _d : [];
3448
+ return [4 /*yield*/, ProjectViewTileSource.MergeMapTemplateData(tiles, ((_e = view.Settings) === null || _e === void 0 ? void 0 : _e.CesiumMapSources) == null)];
3449
+ case 4:
3450
+ _f.sent();
3451
+ for (i = 0; i < dataNames.length; i++) {
3452
+ name_1 = dataNames[i];
3453
+ for (j = 0; j < tiles.length; j++) {
3454
+ tile = tiles[j];
3455
+ if (CompareLegacyNames(tile.Name, name_1)) {
3456
+ data.push(tile);
3457
+ break;
3458
+ }
3459
+ }
3460
+ }
3461
+ enabled = gatherEnabledImageries(params.viewer);
3462
+ layers = [];
3463
+ // Gather layers we want to render.
3464
+ // Any new layer is added to viewer at the bottom.
3465
+ if (params.ignoreIds) {
3466
+ _loop_1 = function (i) {
3467
+ var id = params.ignoreIds[i];
3468
+ var layer = enabled.find(function (x) {
3469
+ var layer = x;
3470
+ if (layer._bId === id) {
3471
+ return true;
3472
+ }
3473
+ });
3474
+ if (layer) {
3475
+ layers.push(layer);
3476
+ }
3477
+ };
3478
+ for (i = 0; i < params.ignoreIds.length; i++) {
3479
+ _loop_1(i);
3480
+ }
3481
+ }
3482
+ for (i = 0; i < tiles.length; i++) {
3483
+ tile = tiles[i];
3484
+ layer = RenderLegacy({
3485
+ api: params.api,
3486
+ viewer: params.viewer,
3487
+ data: tile,
3488
+ });
3489
+ if (layer) {
3490
+ layers.push(layer);
3491
+ }
3492
+ }
3493
+ // Sort currently enabled (after new ones added) to match desired order.
3494
+ enabled = gatherEnabledImageries(params.viewer);
3495
+ enabled.sort(function (a, b) {
3496
+ var indexA = layers.indexOf(a);
3497
+ var indexB = layers.indexOf(b);
3498
+ if (indexA < 0 && indexB < 0) {
3499
+ return 0;
3500
+ }
3501
+ if (indexA < 0) {
3502
+ return 1;
3503
+ }
3504
+ if (indexB < 0) {
3505
+ return -1;
3506
+ }
3507
+ return indexA - indexB;
3508
+ });
3509
+ // Move enabled layers to match desired order.
3510
+ // Remove any layers that aren't in enabled list.
3511
+ enabled = enabled.reverse();
3512
+ for (i = 0; i < enabled.length; i++) {
3513
+ layer = enabled[i];
3514
+ if (layers.includes(layer)) {
3515
+ params.viewer.imageryLayers.raiseToTop(layer);
3516
+ }
3517
+ else {
3518
+ params.viewer.imageryLayers.remove(layer);
3519
+ }
3520
+ }
3521
+ return [2 /*return*/];
3522
+ }
3523
+ });
3524
+ });
3525
+ }
3526
+ Map.RenderLegacyView = RenderLegacyView;
3527
+ })(Map = TileRenderEngine.Map || (TileRenderEngine.Map = {}));
3528
+ var Terrain;
3529
+ (function (Terrain) {
3530
+ function Render(params) {
3531
+ throw ("Not implemented");
3532
+ }
3533
+ Terrain.Render = Render;
3534
+ function RenderLegacy(params) {
3535
+ var bId = createTerrainBId(params.data);
3536
+ var curProvider = params.viewer.terrainProvider;
3537
+ if (curProvider._bId && curProvider._bId === bId) {
3538
+ return;
3539
+ }
3540
+ var provider = null;
3541
+ if (isDefaultTerrain(params.data.Name)) {
3542
+ var name_2 = prepLegacyName(params.data.Name);
3543
+ switch (name_2) {
3544
+ case EDefaultTerrain.CesiumWorldTerrain:
3545
+ provider = createWorldTerrain({
3546
+ requestVertexNormals: true
3547
+ });
3548
+ break;
3549
+ case EDefaultTerrain.Linz:
3550
+ provider = new CesiumTerrainProvider({
3551
+ url: "https://s3-ap-southeast-2.amazonaws.com/digitalnewzealand/PROD/Tilesets/nz-dem",
3552
+ requestVertexNormals: true
3553
+ });
3554
+ break;
3555
+ case EDefaultTerrain.FlatTerrain:
3556
+ provider = new EllipsoidTerrainProvider();
3557
+ break;
3558
+ }
3559
+ }
3560
+ else if (params.data.SourceUrl) {
3561
+ provider = new CesiumTerrainProvider({
3562
+ url: params.data.SourceUrl,
3563
+ requestWaterMask: params.data.RequestWaterMask,
3564
+ requestVertexNormals: true
3565
+ });
3566
+ }
3567
+ if (provider) {
3568
+ provider._bId = bId;
3569
+ params.viewer.terrainProvider = provider;
3570
+ }
3571
+ }
3572
+ Terrain.RenderLegacy = RenderLegacy;
3573
+ })(Terrain = TileRenderEngine.Terrain || (TileRenderEngine.Terrain = {}));
3574
+ })(TileRenderEngine || (TileRenderEngine = {}));
3575
+
3576
+ var ViewRenderEngine;
3577
+ (function (ViewRenderEngine) {
3578
+ function Render(params) {
3579
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
3580
+ return __awaiter(this, void 0, void 0, function () {
3581
+ var view, bookmark, terrainTiles, terrainTile, terrainTileName, i, tile, frustum, scene, curFrustum, camera, pos, go, enabledItems, newItemIds, _i, enabledItems_1, id;
3582
+ return __generator(this, function (_l) {
3583
+ switch (_l.label) {
3584
+ case 0: return [4 /*yield*/, ProjectView.Get(params.api, params.viewId)];
3585
+ case 1:
3586
+ view = _l.sent();
3587
+ bookmark = null;
3588
+ if (!params.bookmarkId) return [3 /*break*/, 3];
3589
+ return [4 /*yield*/, ProjectViewBookmark.Get(params.api, params.viewId, params.bookmarkId)];
3590
+ case 2:
3591
+ bookmark = _l.sent();
3592
+ _l.label = 3;
3593
+ case 3:
3594
+ terrainTiles = (_b = (_a = view.Settings) === null || _a === void 0 ? void 0 : _a.CesiumTerrainSources) !== null && _b !== void 0 ? _b : [];
3595
+ terrainTile = null;
3596
+ terrainTileName = null;
3597
+ if ((_c = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _c === void 0 ? void 0 : _c.terrain) {
3598
+ terrainTileName = bookmark.Settings.terrain;
3599
+ }
3600
+ else {
3601
+ terrainTileName = (_d = view.Settings) === null || _d === void 0 ? void 0 : _d.DefaultTerrain;
3602
+ }
3603
+ return [4 /*yield*/, ProjectViewTileSource.MergeTerrainTemplateData(terrainTiles, ((_e = view.Settings) === null || _e === void 0 ? void 0 : _e.CesiumTerrainSources) == null)];
3604
+ case 4:
3605
+ _l.sent();
3606
+ for (i = 0; i < terrainTiles.length; i++) {
3607
+ tile = terrainTiles[i];
3608
+ if (TileRenderEngine.CompareLegacyNames(tile.Name, terrainTileName)) {
3609
+ terrainTile = tile;
3610
+ break;
3611
+ }
3612
+ }
3613
+ if (terrainTile) {
3614
+ TileRenderEngine.Terrain.RenderLegacy({
3615
+ data: terrainTile,
3616
+ viewer: params.manager.Viewer,
3617
+ });
3618
+ }
3619
+ return [4 /*yield*/, TileRenderEngine.Map.RenderLegacyView({
3620
+ api: params.api,
3621
+ bookmarkId: params.bookmarkId,
3622
+ viewer: params.manager.Viewer,
3623
+ viewId: params.viewId,
3624
+ ignoreIds: []
3625
+ })];
3626
+ case 5:
3627
+ _l.sent();
3628
+ frustum = (_f = bookmark.Settings) === null || _f === void 0 ? void 0 : _f.cameraFrustum;
3629
+ if (frustum == null) {
3630
+ frustum = Camera.EFrustum.Perspective;
3631
+ }
3632
+ scene = params.manager.Viewer.scene;
3633
+ curFrustum = scene.camera.frustum instanceof OrthographicFrustum ? Camera.EFrustum.Orthographic : Camera.EFrustum.Perspective;
3634
+ if (curFrustum != frustum) {
3635
+ if (frustum == Camera.EFrustum.Perspective) {
3636
+ scene.camera.switchToPerspectiveFrustum();
3637
+ scene.screenSpaceCameraController.enableTilt = true;
3638
+ }
3639
+ else {
3640
+ scene.camera.switchToOrthographicFrustum();
3641
+ scene.screenSpaceCameraController.enableTilt = false;
3642
+ }
3643
+ params.skipTransition = true;
3644
+ }
3645
+ camera = bookmark.Camera;
3646
+ pos = Cartesian3.fromDegrees(+camera.position.longitude, +camera.position.latitude, +camera.position.height);
3647
+ params.manager.Viewer.scene.camera.flyTo({
3648
+ destination: pos,
3649
+ orientation: {
3650
+ heading: +camera.heading,
3651
+ pitch: +camera.pitch,
3652
+ roll: +camera.roll
3653
+ },
3654
+ duration: params.skipTransition ? 0 : 2
3655
+ });
3656
+ go = (_g = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _g === void 0 ? void 0 : _g.groundOcclusion;
3657
+ if (go == null) {
3658
+ go = (_h = view.Settings) === null || _h === void 0 ? void 0 : _h.GroundOcclusion;
3659
+ }
3660
+ if (go == null) {
3661
+ go = false;
3662
+ }
3663
+ params.manager.Viewer.scene.globe.depthTestAgainstTerrain = go;
3664
+ enabledItems = params.manager.GetEnabledItemIds();
3665
+ newItemIds = (_k = (_j = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _j === void 0 ? void 0 : _j.selectedItemIds) !== null && _k !== void 0 ? _k : [];
3666
+ for (_i = 0, enabledItems_1 = enabledItems; _i < enabledItems_1.length; _i++) {
3667
+ id = enabledItems_1[_i];
3668
+ if (newItemIds.indexOf(id) === -1) {
3669
+ params.manager.RemoveItemById(id);
3670
+ }
3671
+ }
3672
+ if (!params.bookmarkId) return [3 /*break*/, 7];
3673
+ return [4 /*yield*/, RenderHelper.RenderBookmarkItems({
3674
+ api: params.api,
3675
+ apiGetter: params.apiGetter,
3676
+ manager: params.manager,
3677
+ }, params.viewId, params.bookmarkId)];
3678
+ case 6:
3679
+ _l.sent();
3680
+ _l.label = 7;
3681
+ case 7: return [2 /*return*/];
3682
+ }
3683
+ });
3684
+ });
3685
+ }
3686
+ ViewRenderEngine.Render = Render;
3687
+ })(ViewRenderEngine || (ViewRenderEngine = {}));
3688
+
3689
+ export { CesiumViewMonitor, ViewerUtils, MenuItemManager, EntityRenderEngine, RenderHelper, VisualsRegister, RenderManager, EntitiesIdsRenderManager, EntitiesLoadedRenderManager, EntitiesRenderManager, EntityRenderManager, TilesetCadRenderManager, ViewRenderEngine, TileRenderEngine };
3128
3690
  //# sourceMappingURL=bruce-cesium.es5.js.map