bruce-cesium 0.3.3 → 0.3.4

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.
Files changed (78) hide show
  1. package/README.md +0 -0
  2. package/dist/bruce-cesium.es5.js +5 -1
  3. package/dist/bruce-cesium.es5.js.map +1 -1
  4. package/dist/bruce-cesium.umd.js +4 -0
  5. package/dist/bruce-cesium.umd.js.map +1 -1
  6. package/dist/lib/bruce-cesium.js +30 -30
  7. package/dist/lib/bruce-cesium.js.map +0 -0
  8. package/dist/lib/rendering/entity-render-engine.js +848 -848
  9. package/dist/lib/rendering/entity-render-engine.js.map +0 -0
  10. package/dist/lib/rendering/menu-item-manager.js +252 -252
  11. package/dist/lib/rendering/menu-item-manager.js.map +0 -0
  12. package/dist/lib/rendering/render-addons/measure-addon.js +186 -186
  13. package/dist/lib/rendering/render-addons/measure-addon.js.map +0 -0
  14. package/dist/lib/rendering/render-addons/render-addon.js +2 -2
  15. package/dist/lib/rendering/render-addons/render-addon.js.map +0 -0
  16. package/dist/lib/rendering/render-helper.js +279 -279
  17. package/dist/lib/rendering/render-helper.js.map +0 -0
  18. package/dist/lib/rendering/render-managers/common/shared-getters.js +31 -31
  19. package/dist/lib/rendering/render-managers/common/shared-getters.js.map +0 -0
  20. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +144 -144
  21. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +0 -0
  22. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +141 -141
  23. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +0 -0
  24. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +232 -232
  25. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +0 -0
  26. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +138 -138
  27. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +0 -0
  28. package/dist/lib/rendering/render-managers/render-manager.js +50 -50
  29. package/dist/lib/rendering/render-managers/render-manager.js.map +0 -0
  30. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +230 -230
  31. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +0 -0
  32. package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js +320 -320
  33. package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js.map +0 -0
  34. package/dist/lib/rendering/tile-render-engine.js +542 -542
  35. package/dist/lib/rendering/tile-render-engine.js.map +0 -0
  36. package/dist/lib/rendering/tileset-render-engine.js +472 -472
  37. package/dist/lib/rendering/tileset-render-engine.js.map +0 -0
  38. package/dist/lib/rendering/view-render-engine.js +138 -138
  39. package/dist/lib/rendering/view-render-engine.js.map +0 -0
  40. package/dist/lib/rendering/visuals-register.js +394 -394
  41. package/dist/lib/rendering/visuals-register.js.map +0 -0
  42. package/dist/lib/utils/drawing-utils.js +42 -42
  43. package/dist/lib/utils/drawing-utils.js.map +0 -0
  44. package/dist/lib/utils/entity-utils.js +99 -99
  45. package/dist/lib/utils/entity-utils.js.map +0 -0
  46. package/dist/lib/utils/measure-utils.js +34 -34
  47. package/dist/lib/utils/measure-utils.js.map +0 -0
  48. package/dist/lib/utils/view-utils.js +34 -34
  49. package/dist/lib/utils/view-utils.js.map +0 -0
  50. package/dist/lib/viewer/cesium-view-monitor.js +231 -227
  51. package/dist/lib/viewer/cesium-view-monitor.js.map +1 -1
  52. package/dist/lib/viewer/viewer-utils.js +85 -85
  53. package/dist/lib/viewer/viewer-utils.js.map +0 -0
  54. package/dist/types/bruce-cesium.d.ts +0 -0
  55. package/dist/types/rendering/entity-render-engine.d.ts +0 -0
  56. package/dist/types/rendering/menu-item-manager.d.ts +0 -0
  57. package/dist/types/rendering/render-addons/measure-addon.d.ts +0 -0
  58. package/dist/types/rendering/render-addons/render-addon.d.ts +0 -0
  59. package/dist/types/rendering/render-helper.d.ts +0 -0
  60. package/dist/types/rendering/render-managers/common/shared-getters.d.ts +0 -0
  61. package/dist/types/rendering/render-managers/entities/entities-ids-render-manager.d.ts +0 -0
  62. package/dist/types/rendering/render-managers/entities/entities-loaded-render-manager.d.ts +0 -0
  63. package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +0 -0
  64. package/dist/types/rendering/render-managers/entities/entity-render-manager.d.ts +0 -0
  65. package/dist/types/rendering/render-managers/render-manager.d.ts +0 -0
  66. package/dist/types/rendering/render-managers/tilesets/tileset-cad-render-manager.d.ts +0 -0
  67. package/dist/types/rendering/render-managers/tilesets/tileset-osm-render-manager.d.ts +0 -0
  68. package/dist/types/rendering/tile-render-engine.d.ts +0 -0
  69. package/dist/types/rendering/tileset-render-engine.d.ts +0 -0
  70. package/dist/types/rendering/view-render-engine.d.ts +0 -0
  71. package/dist/types/rendering/visuals-register.d.ts +0 -0
  72. package/dist/types/utils/drawing-utils.d.ts +0 -0
  73. package/dist/types/utils/entity-utils.d.ts +0 -0
  74. package/dist/types/utils/measure-utils.d.ts +0 -0
  75. package/dist/types/utils/view-utils.d.ts +0 -0
  76. package/dist/types/viewer/cesium-view-monitor.d.ts +0 -0
  77. package/dist/types/viewer/viewer-utils.d.ts +0 -0
  78. package/package.json +73 -73
@@ -1,543 +1,543 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.TileRenderEngine = void 0;
40
- var bruce_models_1 = require("bruce-models");
41
- var Cesium = require("cesium");
42
- 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;
43
- function prepLegacyName(name) {
44
- if (!name) {
45
- return "";
46
- }
47
- name = name.replace(/\s/g, "");
48
- name = name.replace(re, "");
49
- name = name.toLowerCase();
50
- if (name === "cwt") {
51
- name = "cesiumworldterrain";
52
- }
53
- return name;
54
- }
55
- var EDefaultTerrain;
56
- (function (EDefaultTerrain) {
57
- EDefaultTerrain["CesiumWorldTerrain"] = "cesiumworldterrain";
58
- EDefaultTerrain["Linz"] = "linz";
59
- EDefaultTerrain["FlatTerrain"] = "flatterrain";
60
- })(EDefaultTerrain || (EDefaultTerrain = {}));
61
- var DEFAULT_TERRAIN_NAMES = [
62
- EDefaultTerrain.CesiumWorldTerrain,
63
- EDefaultTerrain.Linz,
64
- EDefaultTerrain.FlatTerrain
65
- ];
66
- function isDefaultTerrain(name) {
67
- name = prepLegacyName(name);
68
- return DEFAULT_TERRAIN_NAMES.includes(name);
69
- }
70
- function createTerrainBId(source) {
71
- if (!source) {
72
- return "";
73
- }
74
- if (isDefaultTerrain(source.Name)) {
75
- return source.Name;
76
- }
77
- if (source.SourceUrl) {
78
- return source.SourceUrl;
79
- }
80
- return "";
81
- }
82
- function createImageryBId(source) {
83
- if (!source) {
84
- return "";
85
- }
86
- if (isDefaultImagery(source.Name)) {
87
- return source.Name;
88
- }
89
- if (source.SourceUrl) {
90
- return source.SourceUrl;
91
- }
92
- return "";
93
- }
94
- var EDefaultImagery;
95
- (function (EDefaultImagery) {
96
- EDefaultImagery["BingMapsAerial"] = "bingmapsaerial";
97
- EDefaultImagery["BingMapsAerialWithLabels"] = "bingmapsaerialwithlabels";
98
- EDefaultImagery["BingMapsRoads"] = "bingmapsroads";
99
- EDefaultImagery["MapboxSatellite"] = "mapboxsatellite";
100
- EDefaultImagery["MapBoxStreets"] = "mapboxstreets";
101
- EDefaultImagery["MapBoxStreetsClassic"] = "mapboxstreetsclassic";
102
- EDefaultImagery["EsriWorldImagery"] = "esriworldimagery";
103
- EDefaultImagery["EsriWorldStreetMap"] = "esriworldstreetmap";
104
- EDefaultImagery["EsriNationalGeographic"] = "esrinationalgeographic";
105
- EDefaultImagery["OpenStreetMap"] = "openstreetmap";
106
- EDefaultImagery["StamenWaterColor"] = "stamenwatercolor";
107
- EDefaultImagery["StamenToner"] = "stamentoner";
108
- EDefaultImagery["Grid"] = "grid";
109
- })(EDefaultImagery || (EDefaultImagery = {}));
110
- var DEFAULT_IMAGERY_NAMES = [
111
- EDefaultImagery.BingMapsAerial,
112
- EDefaultImagery.BingMapsAerialWithLabels,
113
- EDefaultImagery.BingMapsRoads,
114
- EDefaultImagery.MapboxSatellite,
115
- EDefaultImagery.MapBoxStreets,
116
- EDefaultImagery.MapBoxStreetsClassic,
117
- EDefaultImagery.EsriWorldImagery,
118
- EDefaultImagery.EsriWorldStreetMap,
119
- EDefaultImagery.EsriNationalGeographic,
120
- EDefaultImagery.OpenStreetMap,
121
- EDefaultImagery.StamenWaterColor,
122
- EDefaultImagery.StamenToner,
123
- EDefaultImagery.Grid
124
- ];
125
- function isDefaultImagery(name) {
126
- name = prepLegacyName(name);
127
- return DEFAULT_IMAGERY_NAMES.includes(name);
128
- }
129
- var DEFAULT_BING_KEY = "AqL0uYT5T84jiJeX55_b9zJeeP3MX2p1WLOHH4ljIEPZ7ZL2M81bYLzyYeSwuzzl";
130
- var DEFAULT_MAPBOX_KEY = "pk.eyJ1IjoiYWxleHRodW5kZXIiLCJhIjoiY2psbHJxbnN5MTBvbzNxczZwMHNpeTI0MCJ9.fdoj2QW_7n8RV4e0NCFgZA";
131
- function gatherEnabledImageries(viewer) {
132
- var collection = viewer.imageryLayers;
133
- var layers = [];
134
- for (var i = 0; i < collection.length; i++) {
135
- var layer = collection.get(i);
136
- layers.push(layer);
137
- }
138
- return layers;
139
- }
140
- var TileRenderEngine;
141
- (function (TileRenderEngine) {
142
- /**
143
- * Legacy data did name comparisons instead of ids.
144
- * We need to strip spacing, remove special characters, and make lowercase before comparison...
145
- * @param nameA
146
- * @param nameB
147
- */
148
- function CompareLegacyNames(nameA, nameB) {
149
- nameA = prepLegacyName(nameA);
150
- nameB = prepLegacyName(nameB);
151
- return nameA === nameB;
152
- }
153
- TileRenderEngine.CompareLegacyNames = CompareLegacyNames;
154
- var Map;
155
- (function (Map) {
156
- function Render(params) {
157
- throw ("Not implemented");
158
- }
159
- Map.Render = Render;
160
- function RenderLegacy(params) {
161
- var enabled = gatherEnabledImageries(params.viewer);
162
- var tile = params.data;
163
- var bId = createImageryBId(tile);
164
- var layer = enabled.find(function (x) { return x._bId == bId; });
165
- if (layer) {
166
- // Already exists.
167
- }
168
- else if (isDefaultImagery(tile.Name)) {
169
- var provider = null;
170
- // TODO: Rest of defaults.
171
- // TODO: Should be enum.
172
- switch (prepLegacyName(tile.Name)) {
173
- case EDefaultImagery.BingMapsAerial:
174
- // TODO: Read account key if available.
175
- provider = new Cesium.BingMapsImageryProvider({
176
- url: "https://dev.virtualearth.net",
177
- mapStyle: Cesium.BingMapsStyle.AERIAL,
178
- key: DEFAULT_BING_KEY
179
- });
180
- break;
181
- case EDefaultImagery.BingMapsAerialWithLabels:
182
- // TODO: Read account key if available.
183
- provider = new Cesium.BingMapsImageryProvider({
184
- url: "https://dev.virtualearth.net",
185
- mapStyle: Cesium.BingMapsStyle.AERIAL_WITH_LABELS,
186
- key: DEFAULT_BING_KEY
187
- });
188
- break;
189
- case EDefaultImagery.BingMapsRoads:
190
- // TODO: Read account key if available.
191
- provider = new Cesium.BingMapsImageryProvider({
192
- url: "https://dev.virtualearth.net",
193
- mapStyle: Cesium.BingMapsStyle.ROAD_ON_DEMAND,
194
- key: DEFAULT_BING_KEY
195
- });
196
- break;
197
- case EDefaultImagery.MapboxSatellite:
198
- // TODO: Read account key if available.
199
- provider = new Cesium.MapboxImageryProvider({
200
- mapId: "mapbox.satellite",
201
- accessToken: DEFAULT_MAPBOX_KEY
202
- });
203
- break;
204
- case EDefaultImagery.MapBoxStreets:
205
- // TODO: Read account key if available.
206
- provider = new Cesium.MapboxImageryProvider({
207
- mapId: "satellite-streets-v11",
208
- accessToken: DEFAULT_MAPBOX_KEY
209
- });
210
- break;
211
- case EDefaultImagery.MapBoxStreetsClassic:
212
- // TODO: Read account key if available.
213
- provider = new Cesium.MapboxImageryProvider({
214
- mapId: "streets-v11",
215
- accessToken: DEFAULT_MAPBOX_KEY
216
- });
217
- break;
218
- case EDefaultImagery.EsriWorldImagery:
219
- provider = new Cesium.ArcGisMapServerImageryProvider({
220
- url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",
221
- enablePickFeatures: false
222
- });
223
- break;
224
- case EDefaultImagery.EsriWorldStreetMap:
225
- provider = new Cesium.ArcGisMapServerImageryProvider({
226
- url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer",
227
- enablePickFeatures: false
228
- });
229
- break;
230
- case EDefaultImagery.EsriNationalGeographic:
231
- provider = new Cesium.ArcGisMapServerImageryProvider({
232
- url: "https://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/",
233
- enablePickFeatures: false
234
- });
235
- break;
236
- case EDefaultImagery.OpenStreetMap:
237
- provider = new Cesium.OpenStreetMapImageryProvider({
238
- url: "https://a.tile.openstreetmap.org/"
239
- });
240
- break;
241
- case EDefaultImagery.StamenWaterColor:
242
- provider = new Cesium.OpenStreetMapImageryProvider({
243
- url: "https://stamen-tiles.a.ssl.fastly.net/watercolor/"
244
- });
245
- break;
246
- case EDefaultImagery.StamenToner:
247
- provider = new Cesium.OpenStreetMapImageryProvider({
248
- url: "https://stamen-tiles.a.ssl.fastly.net/toner/"
249
- });
250
- break;
251
- case EDefaultImagery.Grid:
252
- provider = new Cesium.GridImageryProvider({
253
- tilingScheme: new Cesium.GeographicTilingScheme(),
254
- cells: 0,
255
- color: Cesium.Color.fromCssColorString("rgb(97, 151, 237)"),
256
- glowColor: Cesium.Color.fromCssColorString("rgb(54, 54, 54)"),
257
- glowWidth: 4,
258
- backgroundColor: Cesium.Color.TRANSPARENT,
259
- tileWidth: 256,
260
- tileHeight: 256,
261
- canvasSize: 256
262
- });
263
- break;
264
- }
265
- if (provider) {
266
- layer = new Cesium.ImageryLayer(provider);
267
- }
268
- }
269
- else if (tile.SourceUrl) {
270
- var provider = null;
271
- var min = tile.Minimum;
272
- var max = tile.Maximum;
273
- if (min != undefined && min <= -1) {
274
- min = undefined;
275
- }
276
- if (max != undefined && max <= -1) {
277
- max = undefined;
278
- }
279
- switch (tile.Type) {
280
- case "BruceImagery":
281
- provider = new Cesium.UrlTemplateImageryProvider({
282
- url: tile.SourceUrl,
283
- tileHeight: 256,
284
- tileWidth: 256
285
- });
286
- break;
287
- case "ArcGisImagery":
288
- provider = new Cesium.OpenStreetMapImageryProvider({
289
- url: tile.SourceUrl,
290
- fileExtension: tile.FileExtension,
291
- minimumLevel: min,
292
- maximumLevel: max
293
- });
294
- break;
295
- case "TileMapImagery":
296
- provider = new Cesium.TileMapServiceImageryProvider({
297
- url: tile.SourceUrl,
298
- fileExtension: tile.FileExtension,
299
- minimumLevel: min,
300
- maximumLevel: max
301
- });
302
- break;
303
- case "OpenStreetMapImagery":
304
- provider = new Cesium.OpenStreetMapImageryProvider({
305
- url: tile.SourceUrl,
306
- fileExtension: tile.FileExtension,
307
- minimumLevel: min,
308
- maximumLevel: max
309
- });
310
- break;
311
- case "MapBoxImagery":
312
- // TODO: Read default account key when missing.
313
- provider = new Cesium.UrlTemplateImageryProvider({
314
- url: "https://api.mapbox.com/styles/v1/"
315
- + tile.MapBoxUsername + "/" + tile.MapBoxID +
316
- "/tiles/256/{z}/{x}/{y}?access_token="
317
- + tile.ProgramKey
318
- });
319
- break;
320
- }
321
- if (provider) {
322
- layer = new Cesium.ImageryLayer(provider);
323
- }
324
- }
325
- if (layer) {
326
- layer._bId = bId;
327
- layer._bName = tile.Name;
328
- if (!params.viewer.imageryLayers.contains(layer)) {
329
- params.viewer.imageryLayers.add(layer);
330
- }
331
- }
332
- return layer;
333
- }
334
- Map.RenderLegacy = RenderLegacy;
335
- function RenderLegacyView(params) {
336
- var _a, _b, _c, _d, _e;
337
- return __awaiter(this, void 0, void 0, function () {
338
- var api, view, bookmark, data, dataNames, i, source, tiles, i, name_1, j, tile, enabled, layers, _loop_1, i, i, tile, layer, i, layer;
339
- return __generator(this, function (_f) {
340
- switch (_f.label) {
341
- case 0:
342
- api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
343
- return [4 /*yield*/, bruce_models_1.ProjectView.Get(api, params.viewId)];
344
- case 1:
345
- view = _f.sent();
346
- bookmark = null;
347
- if (!params.bookmarkId) return [3 /*break*/, 3];
348
- return [4 /*yield*/, bruce_models_1.ProjectViewBookmark.Get(api, params.viewId, params.bookmarkId)];
349
- case 2:
350
- bookmark = _f.sent();
351
- _f.label = 3;
352
- case 3:
353
- data = [];
354
- dataNames = [];
355
- if ((_a = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _a === void 0 ? void 0 : _a.imagery) {
356
- for (i = 0; i < bookmark.Settings.imagery.length; i++) {
357
- source = bookmark.Settings.imagery[i];
358
- dataNames.push(source.title);
359
- }
360
- }
361
- else if ((_b = view.Settings) === null || _b === void 0 ? void 0 : _b.DefaultMapTiles) {
362
- dataNames.push(view.Settings.DefaultMapTiles);
363
- }
364
- tiles = (_d = (_c = view.Settings) === null || _c === void 0 ? void 0 : _c.CesiumMapSources) !== null && _d !== void 0 ? _d : [];
365
- return [4 /*yield*/, bruce_models_1.ProjectViewTileSource.MergeMapTemplateData(params.apiGetter, tiles, ((_e = view.Settings) === null || _e === void 0 ? void 0 : _e.CesiumMapSources) == null)];
366
- case 4:
367
- _f.sent();
368
- for (i = 0; i < dataNames.length; i++) {
369
- name_1 = dataNames[i];
370
- for (j = 0; j < tiles.length; j++) {
371
- tile = tiles[j];
372
- if (CompareLegacyNames(tile.Name, name_1)) {
373
- data.push(tile);
374
- break;
375
- }
376
- }
377
- }
378
- enabled = gatherEnabledImageries(params.viewer);
379
- layers = [];
380
- // Gather layers we want to render.
381
- // Any new layer is added to viewer at the bottom.
382
- if (params.ignoreIds) {
383
- _loop_1 = function (i) {
384
- var id = params.ignoreIds[i];
385
- var layer = enabled.find(function (x) {
386
- var layer = x;
387
- if (layer._bId === id) {
388
- return true;
389
- }
390
- });
391
- if (layer) {
392
- layers.push(layer);
393
- }
394
- };
395
- for (i = 0; i < params.ignoreIds.length; i++) {
396
- _loop_1(i);
397
- }
398
- }
399
- for (i = 0; i < data.length; i++) {
400
- tile = data[i];
401
- layer = RenderLegacy({
402
- apiGetter: params.apiGetter,
403
- viewer: params.viewer,
404
- data: tile,
405
- });
406
- if (layer) {
407
- layers.push(layer);
408
- }
409
- }
410
- // Sort currently enabled (after new ones added) to match desired order.
411
- enabled = gatherEnabledImageries(params.viewer);
412
- enabled.sort(function (a, b) {
413
- var indexA = layers.indexOf(a);
414
- var indexB = layers.indexOf(b);
415
- if (indexA < 0 && indexB < 0) {
416
- return 0;
417
- }
418
- if (indexA < 0) {
419
- return 1;
420
- }
421
- if (indexB < 0) {
422
- return -1;
423
- }
424
- return indexA - indexB;
425
- });
426
- // Move enabled layers to match desired order.
427
- // Remove any layers that aren't in enabled list.
428
- enabled = enabled.reverse();
429
- for (i = 0; i < enabled.length; i++) {
430
- layer = enabled[i];
431
- if (layers.includes(layer)) {
432
- params.viewer.imageryLayers.raiseToTop(layer);
433
- }
434
- else {
435
- params.viewer.imageryLayers.remove(layer);
436
- }
437
- }
438
- return [2 /*return*/];
439
- }
440
- });
441
- });
442
- }
443
- Map.RenderLegacyView = RenderLegacyView;
444
- })(Map = TileRenderEngine.Map || (TileRenderEngine.Map = {}));
445
- var Terrain;
446
- (function (Terrain) {
447
- function Render(params) {
448
- throw ("Not implemented");
449
- }
450
- Terrain.Render = Render;
451
- function RenderLegacy(params) {
452
- var _a;
453
- var bId = createTerrainBId(params.data);
454
- var curProvider = params.viewer.terrainProvider;
455
- if (curProvider._bId && curProvider._bId === bId) {
456
- return;
457
- }
458
- var provider = null;
459
- if (isDefaultTerrain(params.data.Name)) {
460
- var name_2 = prepLegacyName(params.data.Name);
461
- switch (name_2) {
462
- case EDefaultTerrain.CesiumWorldTerrain:
463
- provider = Cesium.createWorldTerrain({
464
- requestVertexNormals: true
465
- });
466
- break;
467
- case EDefaultTerrain.Linz:
468
- provider = new Cesium.CesiumTerrainProvider({
469
- url: "https://s3-ap-southeast-2.amazonaws.com/digitalnewzealand/PROD/Tilesets/nz-dem",
470
- requestVertexNormals: true
471
- });
472
- break;
473
- case EDefaultTerrain.FlatTerrain:
474
- provider = new Cesium.EllipsoidTerrainProvider();
475
- break;
476
- }
477
- }
478
- else if (params.data.SourceUrl) {
479
- provider = new Cesium.CesiumTerrainProvider({
480
- url: params.data.SourceUrl,
481
- requestWaterMask: params.data.RequestWaterMask,
482
- requestVertexNormals: true
483
- });
484
- }
485
- if (provider) {
486
- provider._bId = bId;
487
- provider._bName = (_a = params.data) === null || _a === void 0 ? void 0 : _a.Name;
488
- params.viewer.terrainProvider = provider;
489
- }
490
- }
491
- Terrain.RenderLegacy = RenderLegacy;
492
- function RenderLegacyView(params) {
493
- var _a, _b, _c, _d, _e;
494
- return __awaiter(this, void 0, void 0, function () {
495
- var api, view, bookmark, terrainTiles, terrainTile, terrainTileName, i, tile;
496
- return __generator(this, function (_f) {
497
- switch (_f.label) {
498
- case 0:
499
- api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
500
- return [4 /*yield*/, bruce_models_1.ProjectView.Get(api, params.viewId)];
501
- case 1:
502
- view = _f.sent();
503
- bookmark = null;
504
- if (!params.bookmarkId) return [3 /*break*/, 3];
505
- return [4 /*yield*/, bruce_models_1.ProjectViewBookmark.Get(api, params.viewId, params.bookmarkId)];
506
- case 2:
507
- bookmark = _f.sent();
508
- _f.label = 3;
509
- case 3:
510
- terrainTiles = (_b = (_a = view.Settings) === null || _a === void 0 ? void 0 : _a.CesiumTerrainSources) !== null && _b !== void 0 ? _b : [];
511
- terrainTile = null;
512
- terrainTileName = null;
513
- if ((_c = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _c === void 0 ? void 0 : _c.terrain) {
514
- terrainTileName = bookmark.Settings.terrain;
515
- }
516
- else {
517
- terrainTileName = (_d = view.Settings) === null || _d === void 0 ? void 0 : _d.DefaultTerrain;
518
- }
519
- return [4 /*yield*/, bruce_models_1.ProjectViewTileSource.MergeTerrainTemplateData(params.apiGetter, terrainTiles, ((_e = view.Settings) === null || _e === void 0 ? void 0 : _e.CesiumTerrainSources) == null)];
520
- case 4:
521
- _f.sent();
522
- for (i = 0; i < terrainTiles.length; i++) {
523
- tile = terrainTiles[i];
524
- if (TileRenderEngine.CompareLegacyNames(tile.Name, terrainTileName)) {
525
- terrainTile = tile;
526
- break;
527
- }
528
- }
529
- if (terrainTile) {
530
- TileRenderEngine.Terrain.RenderLegacy({
531
- data: terrainTile,
532
- viewer: params.viewer,
533
- });
534
- }
535
- return [2 /*return*/];
536
- }
537
- });
538
- });
539
- }
540
- Terrain.RenderLegacyView = RenderLegacyView;
541
- })(Terrain = TileRenderEngine.Terrain || (TileRenderEngine.Terrain = {}));
542
- })(TileRenderEngine = exports.TileRenderEngine || (exports.TileRenderEngine = {}));
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.TileRenderEngine = void 0;
40
+ var bruce_models_1 = require("bruce-models");
41
+ var Cesium = require("cesium");
42
+ 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;
43
+ function prepLegacyName(name) {
44
+ if (!name) {
45
+ return "";
46
+ }
47
+ name = name.replace(/\s/g, "");
48
+ name = name.replace(re, "");
49
+ name = name.toLowerCase();
50
+ if (name === "cwt") {
51
+ name = "cesiumworldterrain";
52
+ }
53
+ return name;
54
+ }
55
+ var EDefaultTerrain;
56
+ (function (EDefaultTerrain) {
57
+ EDefaultTerrain["CesiumWorldTerrain"] = "cesiumworldterrain";
58
+ EDefaultTerrain["Linz"] = "linz";
59
+ EDefaultTerrain["FlatTerrain"] = "flatterrain";
60
+ })(EDefaultTerrain || (EDefaultTerrain = {}));
61
+ var DEFAULT_TERRAIN_NAMES = [
62
+ EDefaultTerrain.CesiumWorldTerrain,
63
+ EDefaultTerrain.Linz,
64
+ EDefaultTerrain.FlatTerrain
65
+ ];
66
+ function isDefaultTerrain(name) {
67
+ name = prepLegacyName(name);
68
+ return DEFAULT_TERRAIN_NAMES.includes(name);
69
+ }
70
+ function createTerrainBId(source) {
71
+ if (!source) {
72
+ return "";
73
+ }
74
+ if (isDefaultTerrain(source.Name)) {
75
+ return source.Name;
76
+ }
77
+ if (source.SourceUrl) {
78
+ return source.SourceUrl;
79
+ }
80
+ return "";
81
+ }
82
+ function createImageryBId(source) {
83
+ if (!source) {
84
+ return "";
85
+ }
86
+ if (isDefaultImagery(source.Name)) {
87
+ return source.Name;
88
+ }
89
+ if (source.SourceUrl) {
90
+ return source.SourceUrl;
91
+ }
92
+ return "";
93
+ }
94
+ var EDefaultImagery;
95
+ (function (EDefaultImagery) {
96
+ EDefaultImagery["BingMapsAerial"] = "bingmapsaerial";
97
+ EDefaultImagery["BingMapsAerialWithLabels"] = "bingmapsaerialwithlabels";
98
+ EDefaultImagery["BingMapsRoads"] = "bingmapsroads";
99
+ EDefaultImagery["MapboxSatellite"] = "mapboxsatellite";
100
+ EDefaultImagery["MapBoxStreets"] = "mapboxstreets";
101
+ EDefaultImagery["MapBoxStreetsClassic"] = "mapboxstreetsclassic";
102
+ EDefaultImagery["EsriWorldImagery"] = "esriworldimagery";
103
+ EDefaultImagery["EsriWorldStreetMap"] = "esriworldstreetmap";
104
+ EDefaultImagery["EsriNationalGeographic"] = "esrinationalgeographic";
105
+ EDefaultImagery["OpenStreetMap"] = "openstreetmap";
106
+ EDefaultImagery["StamenWaterColor"] = "stamenwatercolor";
107
+ EDefaultImagery["StamenToner"] = "stamentoner";
108
+ EDefaultImagery["Grid"] = "grid";
109
+ })(EDefaultImagery || (EDefaultImagery = {}));
110
+ var DEFAULT_IMAGERY_NAMES = [
111
+ EDefaultImagery.BingMapsAerial,
112
+ EDefaultImagery.BingMapsAerialWithLabels,
113
+ EDefaultImagery.BingMapsRoads,
114
+ EDefaultImagery.MapboxSatellite,
115
+ EDefaultImagery.MapBoxStreets,
116
+ EDefaultImagery.MapBoxStreetsClassic,
117
+ EDefaultImagery.EsriWorldImagery,
118
+ EDefaultImagery.EsriWorldStreetMap,
119
+ EDefaultImagery.EsriNationalGeographic,
120
+ EDefaultImagery.OpenStreetMap,
121
+ EDefaultImagery.StamenWaterColor,
122
+ EDefaultImagery.StamenToner,
123
+ EDefaultImagery.Grid
124
+ ];
125
+ function isDefaultImagery(name) {
126
+ name = prepLegacyName(name);
127
+ return DEFAULT_IMAGERY_NAMES.includes(name);
128
+ }
129
+ var DEFAULT_BING_KEY = "AqL0uYT5T84jiJeX55_b9zJeeP3MX2p1WLOHH4ljIEPZ7ZL2M81bYLzyYeSwuzzl";
130
+ var DEFAULT_MAPBOX_KEY = "pk.eyJ1IjoiYWxleHRodW5kZXIiLCJhIjoiY2psbHJxbnN5MTBvbzNxczZwMHNpeTI0MCJ9.fdoj2QW_7n8RV4e0NCFgZA";
131
+ function gatherEnabledImageries(viewer) {
132
+ var collection = viewer.imageryLayers;
133
+ var layers = [];
134
+ for (var i = 0; i < collection.length; i++) {
135
+ var layer = collection.get(i);
136
+ layers.push(layer);
137
+ }
138
+ return layers;
139
+ }
140
+ var TileRenderEngine;
141
+ (function (TileRenderEngine) {
142
+ /**
143
+ * Legacy data did name comparisons instead of ids.
144
+ * We need to strip spacing, remove special characters, and make lowercase before comparison...
145
+ * @param nameA
146
+ * @param nameB
147
+ */
148
+ function CompareLegacyNames(nameA, nameB) {
149
+ nameA = prepLegacyName(nameA);
150
+ nameB = prepLegacyName(nameB);
151
+ return nameA === nameB;
152
+ }
153
+ TileRenderEngine.CompareLegacyNames = CompareLegacyNames;
154
+ var Map;
155
+ (function (Map) {
156
+ function Render(params) {
157
+ throw ("Not implemented");
158
+ }
159
+ Map.Render = Render;
160
+ function RenderLegacy(params) {
161
+ var enabled = gatherEnabledImageries(params.viewer);
162
+ var tile = params.data;
163
+ var bId = createImageryBId(tile);
164
+ var layer = enabled.find(function (x) { return x._bId == bId; });
165
+ if (layer) {
166
+ // Already exists.
167
+ }
168
+ else if (isDefaultImagery(tile.Name)) {
169
+ var provider = null;
170
+ // TODO: Rest of defaults.
171
+ // TODO: Should be enum.
172
+ switch (prepLegacyName(tile.Name)) {
173
+ case EDefaultImagery.BingMapsAerial:
174
+ // TODO: Read account key if available.
175
+ provider = new Cesium.BingMapsImageryProvider({
176
+ url: "https://dev.virtualearth.net",
177
+ mapStyle: Cesium.BingMapsStyle.AERIAL,
178
+ key: DEFAULT_BING_KEY
179
+ });
180
+ break;
181
+ case EDefaultImagery.BingMapsAerialWithLabels:
182
+ // TODO: Read account key if available.
183
+ provider = new Cesium.BingMapsImageryProvider({
184
+ url: "https://dev.virtualearth.net",
185
+ mapStyle: Cesium.BingMapsStyle.AERIAL_WITH_LABELS,
186
+ key: DEFAULT_BING_KEY
187
+ });
188
+ break;
189
+ case EDefaultImagery.BingMapsRoads:
190
+ // TODO: Read account key if available.
191
+ provider = new Cesium.BingMapsImageryProvider({
192
+ url: "https://dev.virtualearth.net",
193
+ mapStyle: Cesium.BingMapsStyle.ROAD_ON_DEMAND,
194
+ key: DEFAULT_BING_KEY
195
+ });
196
+ break;
197
+ case EDefaultImagery.MapboxSatellite:
198
+ // TODO: Read account key if available.
199
+ provider = new Cesium.MapboxImageryProvider({
200
+ mapId: "mapbox.satellite",
201
+ accessToken: DEFAULT_MAPBOX_KEY
202
+ });
203
+ break;
204
+ case EDefaultImagery.MapBoxStreets:
205
+ // TODO: Read account key if available.
206
+ provider = new Cesium.MapboxImageryProvider({
207
+ mapId: "satellite-streets-v11",
208
+ accessToken: DEFAULT_MAPBOX_KEY
209
+ });
210
+ break;
211
+ case EDefaultImagery.MapBoxStreetsClassic:
212
+ // TODO: Read account key if available.
213
+ provider = new Cesium.MapboxImageryProvider({
214
+ mapId: "streets-v11",
215
+ accessToken: DEFAULT_MAPBOX_KEY
216
+ });
217
+ break;
218
+ case EDefaultImagery.EsriWorldImagery:
219
+ provider = new Cesium.ArcGisMapServerImageryProvider({
220
+ url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",
221
+ enablePickFeatures: false
222
+ });
223
+ break;
224
+ case EDefaultImagery.EsriWorldStreetMap:
225
+ provider = new Cesium.ArcGisMapServerImageryProvider({
226
+ url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer",
227
+ enablePickFeatures: false
228
+ });
229
+ break;
230
+ case EDefaultImagery.EsriNationalGeographic:
231
+ provider = new Cesium.ArcGisMapServerImageryProvider({
232
+ url: "https://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/",
233
+ enablePickFeatures: false
234
+ });
235
+ break;
236
+ case EDefaultImagery.OpenStreetMap:
237
+ provider = new Cesium.OpenStreetMapImageryProvider({
238
+ url: "https://a.tile.openstreetmap.org/"
239
+ });
240
+ break;
241
+ case EDefaultImagery.StamenWaterColor:
242
+ provider = new Cesium.OpenStreetMapImageryProvider({
243
+ url: "https://stamen-tiles.a.ssl.fastly.net/watercolor/"
244
+ });
245
+ break;
246
+ case EDefaultImagery.StamenToner:
247
+ provider = new Cesium.OpenStreetMapImageryProvider({
248
+ url: "https://stamen-tiles.a.ssl.fastly.net/toner/"
249
+ });
250
+ break;
251
+ case EDefaultImagery.Grid:
252
+ provider = new Cesium.GridImageryProvider({
253
+ tilingScheme: new Cesium.GeographicTilingScheme(),
254
+ cells: 0,
255
+ color: Cesium.Color.fromCssColorString("rgb(97, 151, 237)"),
256
+ glowColor: Cesium.Color.fromCssColorString("rgb(54, 54, 54)"),
257
+ glowWidth: 4,
258
+ backgroundColor: Cesium.Color.TRANSPARENT,
259
+ tileWidth: 256,
260
+ tileHeight: 256,
261
+ canvasSize: 256
262
+ });
263
+ break;
264
+ }
265
+ if (provider) {
266
+ layer = new Cesium.ImageryLayer(provider);
267
+ }
268
+ }
269
+ else if (tile.SourceUrl) {
270
+ var provider = null;
271
+ var min = tile.Minimum;
272
+ var max = tile.Maximum;
273
+ if (min != undefined && min <= -1) {
274
+ min = undefined;
275
+ }
276
+ if (max != undefined && max <= -1) {
277
+ max = undefined;
278
+ }
279
+ switch (tile.Type) {
280
+ case "BruceImagery":
281
+ provider = new Cesium.UrlTemplateImageryProvider({
282
+ url: tile.SourceUrl,
283
+ tileHeight: 256,
284
+ tileWidth: 256
285
+ });
286
+ break;
287
+ case "ArcGisImagery":
288
+ provider = new Cesium.OpenStreetMapImageryProvider({
289
+ url: tile.SourceUrl,
290
+ fileExtension: tile.FileExtension,
291
+ minimumLevel: min,
292
+ maximumLevel: max
293
+ });
294
+ break;
295
+ case "TileMapImagery":
296
+ provider = new Cesium.TileMapServiceImageryProvider({
297
+ url: tile.SourceUrl,
298
+ fileExtension: tile.FileExtension,
299
+ minimumLevel: min,
300
+ maximumLevel: max
301
+ });
302
+ break;
303
+ case "OpenStreetMapImagery":
304
+ provider = new Cesium.OpenStreetMapImageryProvider({
305
+ url: tile.SourceUrl,
306
+ fileExtension: tile.FileExtension,
307
+ minimumLevel: min,
308
+ maximumLevel: max
309
+ });
310
+ break;
311
+ case "MapBoxImagery":
312
+ // TODO: Read default account key when missing.
313
+ provider = new Cesium.UrlTemplateImageryProvider({
314
+ url: "https://api.mapbox.com/styles/v1/"
315
+ + tile.MapBoxUsername + "/" + tile.MapBoxID +
316
+ "/tiles/256/{z}/{x}/{y}?access_token="
317
+ + tile.ProgramKey
318
+ });
319
+ break;
320
+ }
321
+ if (provider) {
322
+ layer = new Cesium.ImageryLayer(provider);
323
+ }
324
+ }
325
+ if (layer) {
326
+ layer._bId = bId;
327
+ layer._bName = tile.Name;
328
+ if (!params.viewer.imageryLayers.contains(layer)) {
329
+ params.viewer.imageryLayers.add(layer);
330
+ }
331
+ }
332
+ return layer;
333
+ }
334
+ Map.RenderLegacy = RenderLegacy;
335
+ function RenderLegacyView(params) {
336
+ var _a, _b, _c, _d, _e;
337
+ return __awaiter(this, void 0, void 0, function () {
338
+ var api, view, bookmark, data, dataNames, i, source, tiles, i, name_1, j, tile, enabled, layers, _loop_1, i, i, tile, layer, i, layer;
339
+ return __generator(this, function (_f) {
340
+ switch (_f.label) {
341
+ case 0:
342
+ api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
343
+ return [4 /*yield*/, bruce_models_1.ProjectView.Get(api, params.viewId)];
344
+ case 1:
345
+ view = _f.sent();
346
+ bookmark = null;
347
+ if (!params.bookmarkId) return [3 /*break*/, 3];
348
+ return [4 /*yield*/, bruce_models_1.ProjectViewBookmark.Get(api, params.viewId, params.bookmarkId)];
349
+ case 2:
350
+ bookmark = _f.sent();
351
+ _f.label = 3;
352
+ case 3:
353
+ data = [];
354
+ dataNames = [];
355
+ if ((_a = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _a === void 0 ? void 0 : _a.imagery) {
356
+ for (i = 0; i < bookmark.Settings.imagery.length; i++) {
357
+ source = bookmark.Settings.imagery[i];
358
+ dataNames.push(source.title);
359
+ }
360
+ }
361
+ else if ((_b = view.Settings) === null || _b === void 0 ? void 0 : _b.DefaultMapTiles) {
362
+ dataNames.push(view.Settings.DefaultMapTiles);
363
+ }
364
+ tiles = (_d = (_c = view.Settings) === null || _c === void 0 ? void 0 : _c.CesiumMapSources) !== null && _d !== void 0 ? _d : [];
365
+ return [4 /*yield*/, bruce_models_1.ProjectViewTileSource.MergeMapTemplateData(params.apiGetter, tiles, ((_e = view.Settings) === null || _e === void 0 ? void 0 : _e.CesiumMapSources) == null)];
366
+ case 4:
367
+ _f.sent();
368
+ for (i = 0; i < dataNames.length; i++) {
369
+ name_1 = dataNames[i];
370
+ for (j = 0; j < tiles.length; j++) {
371
+ tile = tiles[j];
372
+ if (CompareLegacyNames(tile.Name, name_1)) {
373
+ data.push(tile);
374
+ break;
375
+ }
376
+ }
377
+ }
378
+ enabled = gatherEnabledImageries(params.viewer);
379
+ layers = [];
380
+ // Gather layers we want to render.
381
+ // Any new layer is added to viewer at the bottom.
382
+ if (params.ignoreIds) {
383
+ _loop_1 = function (i) {
384
+ var id = params.ignoreIds[i];
385
+ var layer = enabled.find(function (x) {
386
+ var layer = x;
387
+ if (layer._bId === id) {
388
+ return true;
389
+ }
390
+ });
391
+ if (layer) {
392
+ layers.push(layer);
393
+ }
394
+ };
395
+ for (i = 0; i < params.ignoreIds.length; i++) {
396
+ _loop_1(i);
397
+ }
398
+ }
399
+ for (i = 0; i < data.length; i++) {
400
+ tile = data[i];
401
+ layer = RenderLegacy({
402
+ apiGetter: params.apiGetter,
403
+ viewer: params.viewer,
404
+ data: tile,
405
+ });
406
+ if (layer) {
407
+ layers.push(layer);
408
+ }
409
+ }
410
+ // Sort currently enabled (after new ones added) to match desired order.
411
+ enabled = gatherEnabledImageries(params.viewer);
412
+ enabled.sort(function (a, b) {
413
+ var indexA = layers.indexOf(a);
414
+ var indexB = layers.indexOf(b);
415
+ if (indexA < 0 && indexB < 0) {
416
+ return 0;
417
+ }
418
+ if (indexA < 0) {
419
+ return 1;
420
+ }
421
+ if (indexB < 0) {
422
+ return -1;
423
+ }
424
+ return indexA - indexB;
425
+ });
426
+ // Move enabled layers to match desired order.
427
+ // Remove any layers that aren't in enabled list.
428
+ enabled = enabled.reverse();
429
+ for (i = 0; i < enabled.length; i++) {
430
+ layer = enabled[i];
431
+ if (layers.includes(layer)) {
432
+ params.viewer.imageryLayers.raiseToTop(layer);
433
+ }
434
+ else {
435
+ params.viewer.imageryLayers.remove(layer);
436
+ }
437
+ }
438
+ return [2 /*return*/];
439
+ }
440
+ });
441
+ });
442
+ }
443
+ Map.RenderLegacyView = RenderLegacyView;
444
+ })(Map = TileRenderEngine.Map || (TileRenderEngine.Map = {}));
445
+ var Terrain;
446
+ (function (Terrain) {
447
+ function Render(params) {
448
+ throw ("Not implemented");
449
+ }
450
+ Terrain.Render = Render;
451
+ function RenderLegacy(params) {
452
+ var _a;
453
+ var bId = createTerrainBId(params.data);
454
+ var curProvider = params.viewer.terrainProvider;
455
+ if (curProvider._bId && curProvider._bId === bId) {
456
+ return;
457
+ }
458
+ var provider = null;
459
+ if (isDefaultTerrain(params.data.Name)) {
460
+ var name_2 = prepLegacyName(params.data.Name);
461
+ switch (name_2) {
462
+ case EDefaultTerrain.CesiumWorldTerrain:
463
+ provider = Cesium.createWorldTerrain({
464
+ requestVertexNormals: true
465
+ });
466
+ break;
467
+ case EDefaultTerrain.Linz:
468
+ provider = new Cesium.CesiumTerrainProvider({
469
+ url: "https://s3-ap-southeast-2.amazonaws.com/digitalnewzealand/PROD/Tilesets/nz-dem",
470
+ requestVertexNormals: true
471
+ });
472
+ break;
473
+ case EDefaultTerrain.FlatTerrain:
474
+ provider = new Cesium.EllipsoidTerrainProvider();
475
+ break;
476
+ }
477
+ }
478
+ else if (params.data.SourceUrl) {
479
+ provider = new Cesium.CesiumTerrainProvider({
480
+ url: params.data.SourceUrl,
481
+ requestWaterMask: params.data.RequestWaterMask,
482
+ requestVertexNormals: true
483
+ });
484
+ }
485
+ if (provider) {
486
+ provider._bId = bId;
487
+ provider._bName = (_a = params.data) === null || _a === void 0 ? void 0 : _a.Name;
488
+ params.viewer.terrainProvider = provider;
489
+ }
490
+ }
491
+ Terrain.RenderLegacy = RenderLegacy;
492
+ function RenderLegacyView(params) {
493
+ var _a, _b, _c, _d, _e;
494
+ return __awaiter(this, void 0, void 0, function () {
495
+ var api, view, bookmark, terrainTiles, terrainTile, terrainTileName, i, tile;
496
+ return __generator(this, function (_f) {
497
+ switch (_f.label) {
498
+ case 0:
499
+ api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
500
+ return [4 /*yield*/, bruce_models_1.ProjectView.Get(api, params.viewId)];
501
+ case 1:
502
+ view = _f.sent();
503
+ bookmark = null;
504
+ if (!params.bookmarkId) return [3 /*break*/, 3];
505
+ return [4 /*yield*/, bruce_models_1.ProjectViewBookmark.Get(api, params.viewId, params.bookmarkId)];
506
+ case 2:
507
+ bookmark = _f.sent();
508
+ _f.label = 3;
509
+ case 3:
510
+ terrainTiles = (_b = (_a = view.Settings) === null || _a === void 0 ? void 0 : _a.CesiumTerrainSources) !== null && _b !== void 0 ? _b : [];
511
+ terrainTile = null;
512
+ terrainTileName = null;
513
+ if ((_c = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _c === void 0 ? void 0 : _c.terrain) {
514
+ terrainTileName = bookmark.Settings.terrain;
515
+ }
516
+ else {
517
+ terrainTileName = (_d = view.Settings) === null || _d === void 0 ? void 0 : _d.DefaultTerrain;
518
+ }
519
+ return [4 /*yield*/, bruce_models_1.ProjectViewTileSource.MergeTerrainTemplateData(params.apiGetter, terrainTiles, ((_e = view.Settings) === null || _e === void 0 ? void 0 : _e.CesiumTerrainSources) == null)];
520
+ case 4:
521
+ _f.sent();
522
+ for (i = 0; i < terrainTiles.length; i++) {
523
+ tile = terrainTiles[i];
524
+ if (TileRenderEngine.CompareLegacyNames(tile.Name, terrainTileName)) {
525
+ terrainTile = tile;
526
+ break;
527
+ }
528
+ }
529
+ if (terrainTile) {
530
+ TileRenderEngine.Terrain.RenderLegacy({
531
+ data: terrainTile,
532
+ viewer: params.viewer,
533
+ });
534
+ }
535
+ return [2 /*return*/];
536
+ }
537
+ });
538
+ });
539
+ }
540
+ Terrain.RenderLegacyView = RenderLegacyView;
541
+ })(Terrain = TileRenderEngine.Terrain || (TileRenderEngine.Terrain = {}));
542
+ })(TileRenderEngine = exports.TileRenderEngine || (exports.TileRenderEngine = {}));
543
543
  //# sourceMappingURL=tile-render-engine.js.map