bruce-cesium 0.3.6 → 0.3.7

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 (43) hide show
  1. package/dist/bruce-cesium.es5.js +1018 -559
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +1015 -556
  4. package/dist/bruce-cesium.umd.js.map +1 -1
  5. package/dist/lib/bruce-cesium.js +30 -30
  6. package/dist/lib/rendering/entity-render-engine.js +848 -848
  7. package/dist/lib/rendering/entity-render-engine.js.map +1 -1
  8. package/dist/lib/rendering/menu-item-manager.js +252 -252
  9. package/dist/lib/rendering/render-addons/measure-addon.js +186 -186
  10. package/dist/lib/rendering/render-addons/render-addon.js +2 -2
  11. package/dist/lib/rendering/render-helper.js +296 -279
  12. package/dist/lib/rendering/render-helper.js.map +1 -1
  13. package/dist/lib/rendering/render-managers/common/shared-getters.js +31 -31
  14. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +146 -146
  15. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +1 -1
  16. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +143 -143
  17. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +234 -234
  18. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
  19. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +139 -139
  20. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +1 -1
  21. package/dist/lib/rendering/render-managers/render-manager.js +50 -50
  22. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +236 -236
  23. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +1 -1
  24. package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js +320 -320
  25. package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js.map +1 -1
  26. package/dist/lib/rendering/tile-render-engine.js +822 -542
  27. package/dist/lib/rendering/tile-render-engine.js.map +1 -1
  28. package/dist/lib/rendering/tileset-render-engine.js +499 -499
  29. package/dist/lib/rendering/tileset-render-engine.js.map +1 -1
  30. package/dist/lib/rendering/view-render-engine.js +300 -138
  31. package/dist/lib/rendering/view-render-engine.js.map +1 -1
  32. package/dist/lib/rendering/visuals-register.js +394 -394
  33. package/dist/lib/utils/drawing-utils.js +42 -42
  34. package/dist/lib/utils/entity-utils.js +99 -99
  35. package/dist/lib/utils/measure-utils.js +34 -34
  36. package/dist/lib/utils/view-utils.js +34 -34
  37. package/dist/lib/utils/view-utils.js.map +1 -1
  38. package/dist/lib/viewer/cesium-view-monitor.js +231 -231
  39. package/dist/lib/viewer/viewer-utils.js +85 -85
  40. package/dist/types/rendering/render-helper.d.ts +1 -1
  41. package/dist/types/rendering/tile-render-engine.d.ts +60 -44
  42. package/dist/types/utils/view-utils.d.ts +1 -1
  43. package/package.json +76 -73
@@ -1,280 +1,297 @@
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.RenderHelper = void 0;
40
- var bruce_models_1 = require("bruce-models");
41
- /**
42
- * Utility to help generate menu items for rendering various data.
43
- */
44
- var RenderHelper;
45
- (function (RenderHelper) {
46
- function RenderEntities(params, entityIds) {
47
- return __awaiter(this, void 0, void 0, function () {
48
- var item;
49
- return __generator(this, function (_a) {
50
- switch (_a.label) {
51
- case 0:
52
- item = {
53
- Caption: "Rendering Loaded Entities",
54
- Type: bruce_models_1.MenuItem.EType.EntitiesLoaded,
55
- id: bruce_models_1.ObjectUtils.UId(),
56
- Children: [],
57
- BruceEntity: {
58
- EntityIds: entityIds
59
- },
60
- CameraZoomSettings: [
61
- {
62
- DisplayType: bruce_models_1.ZoomControl.EDisplayType.Model3D,
63
- LODCategoryID: "glb",
64
- LODLevel: 0,
65
- MaxZoom: 100000,
66
- MinZoom: 0,
67
- StyleID: 0 // 0 = Attempt to get entity type's default.
68
- }
69
- ]
70
- };
71
- return [4 /*yield*/, params.manager.RenderItem({
72
- apiGetter: params.apiGetter,
73
- item: item
74
- })];
75
- case 1: return [2 /*return*/, _a.sent()];
76
- }
77
- });
78
- });
79
- }
80
- RenderHelper.RenderEntities = RenderEntities;
81
- function RenderEntityTypes(params, typeIds) {
82
- return __awaiter(this, void 0, void 0, function () {
83
- var renderedItemIds, i, typeId, menuItem, itemId;
84
- return __generator(this, function (_a) {
85
- switch (_a.label) {
86
- case 0:
87
- renderedItemIds = [];
88
- i = 0;
89
- _a.label = 1;
90
- case 1:
91
- if (!(i < typeIds.length)) return [3 /*break*/, 4];
92
- typeId = typeIds[i];
93
- menuItem = bruce_models_1.MenuItem.CreateFromTypeId(typeId, 0);
94
- return [4 /*yield*/, params.manager.RenderItem({
95
- apiGetter: params.apiGetter,
96
- item: menuItem
97
- })];
98
- case 2:
99
- itemId = _a.sent();
100
- renderedItemIds.push(itemId);
101
- _a.label = 3;
102
- case 3:
103
- i++;
104
- return [3 /*break*/, 1];
105
- case 4: return [2 /*return*/, renderedItemIds];
106
- }
107
- });
108
- });
109
- }
110
- RenderHelper.RenderEntityTypes = RenderEntityTypes;
111
- function RenderEntityFilter(params, filter) {
112
- return __awaiter(this, void 0, void 0, function () {
113
- var item;
114
- return __generator(this, function (_a) {
115
- switch (_a.label) {
116
- case 0:
117
- item = {
118
- BruceEntity: {
119
- "EntityType.ID": filter.entityTypeId,
120
- Filter: filter
121
- },
122
- Type: bruce_models_1.MenuItem.EType.Entities,
123
- Caption: "Rendering Filtered Entities",
124
- CameraZoomSettings: [
125
- {
126
- DisplayType: bruce_models_1.ZoomControl.EDisplayType.Model3D,
127
- LODCategoryID: "glb",
128
- LODLevel: 0,
129
- MaxZoom: 100000,
130
- MinZoom: 0,
131
- StyleID: 0 // 0 = Attempt to get entity type's default.
132
- }
133
- ],
134
- id: bruce_models_1.ObjectUtils.UId(),
135
- Children: [],
136
- showAllLayers: true,
137
- showAllLayersExcludeBelow: false,
138
- tagIds: []
139
- };
140
- return [4 /*yield*/, params.manager.RenderItem({
141
- apiGetter: params.apiGetter,
142
- item: item
143
- })];
144
- case 1: return [2 /*return*/, _a.sent()];
145
- }
146
- });
147
- });
148
- }
149
- RenderHelper.RenderEntityFilter = RenderEntityFilter;
150
- function RenderBookmarkItems(params, viewId, bookmarkId) {
151
- var _a, _b, _c, _d;
152
- return __awaiter(this, void 0, void 0, function () {
153
- function traverseItems(item) {
154
- return __awaiter(this, void 0, void 0, function () {
155
- var itemId, i;
156
- return __generator(this, function (_a) {
157
- switch (_a.label) {
158
- case 0:
159
- if (!enabledItemIds.includes(item.id)) return [3 /*break*/, 2];
160
- return [4 /*yield*/, params.manager.RenderItem({
161
- item: item,
162
- apiGetter: params.apiGetter
163
- })];
164
- case 1:
165
- itemId = _a.sent();
166
- renderedItemIds.push(itemId);
167
- _a.label = 2;
168
- case 2:
169
- if (!item.Children) return [3 /*break*/, 6];
170
- i = 0;
171
- _a.label = 3;
172
- case 3:
173
- if (!(i < item.Children.length)) return [3 /*break*/, 6];
174
- return [4 /*yield*/, traverseItems(item.Children[i])];
175
- case 4:
176
- _a.sent();
177
- _a.label = 5;
178
- case 5:
179
- i++;
180
- return [3 /*break*/, 3];
181
- case 6: return [2 /*return*/];
182
- }
183
- });
184
- });
185
- }
186
- var api, view, bookmark, items, enabledItemIds, renderedItemIds, i;
187
- return __generator(this, function (_e) {
188
- switch (_e.label) {
189
- case 0:
190
- api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
191
- return [4 /*yield*/, bruce_models_1.ProjectView.Get(api, viewId)];
192
- case 1:
193
- view = _e.sent();
194
- return [4 /*yield*/, bruce_models_1.ProjectViewBookmark.Get(api, viewId, bookmarkId)];
195
- case 2:
196
- bookmark = _e.sent();
197
- items = (_b = (_a = view.Settings) === null || _a === void 0 ? void 0 : _a.LayersMenu) !== null && _b !== void 0 ? _b : [];
198
- enabledItemIds = (_d = (_c = bookmark.Settings) === null || _c === void 0 ? void 0 : _c.selectedItemIds) !== null && _d !== void 0 ? _d : [];
199
- renderedItemIds = [];
200
- i = 0;
201
- _e.label = 3;
202
- case 3:
203
- if (!(i < items.length)) return [3 /*break*/, 6];
204
- return [4 /*yield*/, traverseItems(items[i])];
205
- case 4:
206
- _e.sent();
207
- _e.label = 5;
208
- case 5:
209
- i++;
210
- return [3 /*break*/, 3];
211
- case 6: return [2 /*return*/, renderedItemIds];
212
- }
213
- });
214
- });
215
- }
216
- RenderHelper.RenderBookmarkItems = RenderBookmarkItems;
217
- function RenderMenuItems(params, menuItems) {
218
- return __awaiter(this, void 0, void 0, function () {
219
- var renderedItemIds, i, menuItem, itemId;
220
- return __generator(this, function (_a) {
221
- switch (_a.label) {
222
- case 0:
223
- renderedItemIds = [];
224
- i = 0;
225
- _a.label = 1;
226
- case 1:
227
- if (!(i < menuItems.length)) return [3 /*break*/, 4];
228
- menuItem = menuItems[i];
229
- return [4 /*yield*/, params.manager.RenderItem({
230
- apiGetter: params.apiGetter,
231
- item: menuItem
232
- })];
233
- case 2:
234
- itemId = _a.sent();
235
- renderedItemIds.push(itemId);
236
- _a.label = 3;
237
- case 3:
238
- i++;
239
- return [3 /*break*/, 1];
240
- case 4: return [2 /*return*/, renderedItemIds];
241
- }
242
- });
243
- });
244
- }
245
- RenderHelper.RenderMenuItems = RenderMenuItems;
246
- function RenderTileset(params, tilesetId) {
247
- return __awaiter(this, void 0, void 0, function () {
248
- var api, tileset, menuItem;
249
- return __generator(this, function (_a) {
250
- switch (_a.label) {
251
- case 0:
252
- api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
253
- return [4 /*yield*/, bruce_models_1.Tileset.Get(api, tilesetId)];
254
- case 1:
255
- tileset = _a.sent();
256
- if (!(tileset.type == bruce_models_1.Tileset.EType.Cad)) return [3 /*break*/, 3];
257
- menuItem = {
258
- Caption: "Rendering Tileset",
259
- FlyTo: true,
260
- id: bruce_models_1.ObjectUtils.UId(),
261
- tileset: {
262
- TilesetID: tilesetId
263
- },
264
- Type: bruce_models_1.MenuItem.EType.CadTileset,
265
- styleId: 0,
266
- Children: []
267
- };
268
- return [4 /*yield*/, params.manager.RenderItem({
269
- item: menuItem,
270
- apiGetter: params.apiGetter
271
- })];
272
- case 2: return [2 /*return*/, _a.sent()];
273
- case 3: throw (new Error("Tileset type not supported."));
274
- }
275
- });
276
- });
277
- }
278
- RenderHelper.RenderTileset = RenderTileset;
279
- })(RenderHelper = exports.RenderHelper || (exports.RenderHelper = {}));
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.RenderHelper = void 0;
40
+ var bruce_models_1 = require("bruce-models");
41
+ /**
42
+ * Utility to help generate menu items for rendering various data.
43
+ */
44
+ var RenderHelper;
45
+ (function (RenderHelper) {
46
+ function RenderEntities(params, entityIds) {
47
+ return __awaiter(this, void 0, void 0, function () {
48
+ var item;
49
+ return __generator(this, function (_a) {
50
+ switch (_a.label) {
51
+ case 0:
52
+ item = {
53
+ Caption: "Rendering Loaded Entities",
54
+ Type: bruce_models_1.MenuItem.EType.EntitiesLoaded,
55
+ id: bruce_models_1.ObjectUtils.UId(),
56
+ Children: [],
57
+ BruceEntity: {
58
+ EntityIds: entityIds
59
+ },
60
+ CameraZoomSettings: [
61
+ {
62
+ DisplayType: bruce_models_1.ZoomControl.EDisplayType.Model3D,
63
+ LODCategoryID: "glb",
64
+ LODLevel: 0,
65
+ MaxZoom: 100000,
66
+ MinZoom: 0,
67
+ StyleID: 0 // 0 = Attempt to get entity type's default.
68
+ }
69
+ ]
70
+ };
71
+ return [4 /*yield*/, params.manager.RenderItem({
72
+ apiGetter: params.apiGetter,
73
+ item: item
74
+ })];
75
+ case 1: return [2 /*return*/, _a.sent()];
76
+ }
77
+ });
78
+ });
79
+ }
80
+ RenderHelper.RenderEntities = RenderEntities;
81
+ function RenderEntityTypes(params, typeIds) {
82
+ return __awaiter(this, void 0, void 0, function () {
83
+ var renderedItemIds, i, typeId, menuItem, itemId;
84
+ return __generator(this, function (_a) {
85
+ switch (_a.label) {
86
+ case 0:
87
+ renderedItemIds = [];
88
+ i = 0;
89
+ _a.label = 1;
90
+ case 1:
91
+ if (!(i < typeIds.length)) return [3 /*break*/, 4];
92
+ typeId = typeIds[i];
93
+ menuItem = bruce_models_1.MenuItem.CreateFromTypeId(typeId, 0);
94
+ return [4 /*yield*/, params.manager.RenderItem({
95
+ apiGetter: params.apiGetter,
96
+ item: menuItem
97
+ })];
98
+ case 2:
99
+ itemId = _a.sent();
100
+ renderedItemIds.push(itemId);
101
+ _a.label = 3;
102
+ case 3:
103
+ i++;
104
+ return [3 /*break*/, 1];
105
+ case 4: return [2 /*return*/, renderedItemIds];
106
+ }
107
+ });
108
+ });
109
+ }
110
+ RenderHelper.RenderEntityTypes = RenderEntityTypes;
111
+ function RenderEntityFilter(params, filter) {
112
+ return __awaiter(this, void 0, void 0, function () {
113
+ var item;
114
+ return __generator(this, function (_a) {
115
+ switch (_a.label) {
116
+ case 0:
117
+ item = {
118
+ BruceEntity: {
119
+ "EntityType.ID": filter.entityTypeId,
120
+ Filter: filter
121
+ },
122
+ Type: bruce_models_1.MenuItem.EType.Entities,
123
+ Caption: "Rendering Filtered Entities",
124
+ CameraZoomSettings: [
125
+ {
126
+ DisplayType: bruce_models_1.ZoomControl.EDisplayType.Model3D,
127
+ LODCategoryID: "glb",
128
+ LODLevel: 0,
129
+ MaxZoom: 100000,
130
+ MinZoom: 0,
131
+ StyleID: 0 // 0 = Attempt to get entity type's default.
132
+ }
133
+ ],
134
+ id: bruce_models_1.ObjectUtils.UId(),
135
+ Children: [],
136
+ showAllLayers: true,
137
+ showAllLayersExcludeBelow: false,
138
+ tagIds: []
139
+ };
140
+ return [4 /*yield*/, params.manager.RenderItem({
141
+ apiGetter: params.apiGetter,
142
+ item: item
143
+ })];
144
+ case 1: return [2 /*return*/, _a.sent()];
145
+ }
146
+ });
147
+ });
148
+ }
149
+ RenderHelper.RenderEntityFilter = RenderEntityFilter;
150
+ function RenderMenuItems(params, menuItems) {
151
+ return __awaiter(this, void 0, void 0, function () {
152
+ var renderedItemIds, i, menuItem, itemId;
153
+ return __generator(this, function (_a) {
154
+ switch (_a.label) {
155
+ case 0:
156
+ renderedItemIds = [];
157
+ i = 0;
158
+ _a.label = 1;
159
+ case 1:
160
+ if (!(i < menuItems.length)) return [3 /*break*/, 4];
161
+ menuItem = menuItems[i];
162
+ return [4 /*yield*/, params.manager.RenderItem({
163
+ apiGetter: params.apiGetter,
164
+ item: menuItem
165
+ })];
166
+ case 2:
167
+ itemId = _a.sent();
168
+ renderedItemIds.push(itemId);
169
+ _a.label = 3;
170
+ case 3:
171
+ i++;
172
+ return [3 /*break*/, 1];
173
+ case 4: return [2 /*return*/, renderedItemIds];
174
+ }
175
+ });
176
+ });
177
+ }
178
+ RenderHelper.RenderMenuItems = RenderMenuItems;
179
+ function RenderTileset(params, tilesetId) {
180
+ return __awaiter(this, void 0, void 0, function () {
181
+ var api, tileset, menuItem;
182
+ return __generator(this, function (_a) {
183
+ switch (_a.label) {
184
+ case 0:
185
+ api = params.apiGetter.getApi();
186
+ return [4 /*yield*/, bruce_models_1.Tileset.Get(api, tilesetId)];
187
+ case 1:
188
+ tileset = _a.sent();
189
+ if (!(tileset.type == bruce_models_1.Tileset.EType.Cad)) return [3 /*break*/, 3];
190
+ menuItem = {
191
+ Caption: "Rendering Tileset",
192
+ FlyTo: true,
193
+ id: bruce_models_1.ObjectUtils.UId(),
194
+ tileset: {
195
+ TilesetID: tilesetId
196
+ },
197
+ Type: bruce_models_1.MenuItem.EType.CadTileset,
198
+ styleId: 0,
199
+ Children: []
200
+ };
201
+ return [4 /*yield*/, params.manager.RenderItem({
202
+ item: menuItem,
203
+ apiGetter: params.apiGetter
204
+ })];
205
+ case 2: return [2 /*return*/, _a.sent()];
206
+ case 3: throw (new Error("Tileset type not supported."));
207
+ }
208
+ });
209
+ });
210
+ }
211
+ RenderHelper.RenderTileset = RenderTileset;
212
+ function RenderBookmarkItems(params, viewId, bookmarkId) {
213
+ return __awaiter(this, void 0, void 0, function () {
214
+ var api, view, bookmark, enabledIds, menuItems, version, vSettings, bSettings, vSettings, bSettings, renderedItemIds, traverseItems_1, i;
215
+ var _this = this;
216
+ return __generator(this, function (_a) {
217
+ switch (_a.label) {
218
+ case 0:
219
+ api = params.apiGetter.getApi();
220
+ return [4 /*yield*/, bruce_models_1.ProjectView.Get(api, viewId)];
221
+ case 1:
222
+ view = _a.sent();
223
+ return [4 /*yield*/, bruce_models_1.ProjectViewBookmark.Get(api, viewId, bookmarkId)];
224
+ case 2:
225
+ bookmark = _a.sent();
226
+ if (view.DataVersion != bookmark.DataVersion) {
227
+ throw new Error("View and bookmark settings version mismatch.");
228
+ }
229
+ enabledIds = [];
230
+ menuItems = [];
231
+ version = view.DataVersion;
232
+ if (view.Settings && bookmark.Settings) {
233
+ if (version === 2) {
234
+ vSettings = view.Settings;
235
+ bSettings = bookmark.Settings;
236
+ menuItems = vSettings.menuItems;
237
+ enabledIds = bSettings.menuItemIds;
238
+ }
239
+ else {
240
+ vSettings = view.Settings;
241
+ bSettings = bookmark.Settings;
242
+ menuItems = vSettings.LayersMenu;
243
+ enabledIds = bSettings.selectedItemIds;
244
+ }
245
+ }
246
+ renderedItemIds = [];
247
+ if (!((menuItems === null || menuItems === void 0 ? void 0 : menuItems.length) && (enabledIds === null || enabledIds === void 0 ? void 0 : enabledIds.length))) return [3 /*break*/, 6];
248
+ traverseItems_1 = function (item) { return __awaiter(_this, void 0, void 0, function () {
249
+ var itemId, i;
250
+ return __generator(this, function (_a) {
251
+ switch (_a.label) {
252
+ case 0:
253
+ if (!enabledIds.includes(item.id)) return [3 /*break*/, 2];
254
+ return [4 /*yield*/, params.manager.RenderItem({
255
+ item: item,
256
+ apiGetter: params.apiGetter
257
+ })];
258
+ case 1:
259
+ itemId = _a.sent();
260
+ renderedItemIds.push(itemId);
261
+ _a.label = 2;
262
+ case 2:
263
+ if (!item.Children) return [3 /*break*/, 6];
264
+ i = 0;
265
+ _a.label = 3;
266
+ case 3:
267
+ if (!(i < item.Children.length)) return [3 /*break*/, 6];
268
+ return [4 /*yield*/, traverseItems_1(item.Children[i])];
269
+ case 4:
270
+ _a.sent();
271
+ _a.label = 5;
272
+ case 5:
273
+ i++;
274
+ return [3 /*break*/, 3];
275
+ case 6: return [2 /*return*/];
276
+ }
277
+ });
278
+ }); };
279
+ i = 0;
280
+ _a.label = 3;
281
+ case 3:
282
+ if (!(i < menuItems.length)) return [3 /*break*/, 6];
283
+ return [4 /*yield*/, traverseItems_1(menuItems[i])];
284
+ case 4:
285
+ _a.sent();
286
+ _a.label = 5;
287
+ case 5:
288
+ i++;
289
+ return [3 /*break*/, 3];
290
+ case 6: return [2 /*return*/, renderedItemIds];
291
+ }
292
+ });
293
+ });
294
+ }
295
+ RenderHelper.RenderBookmarkItems = RenderBookmarkItems;
296
+ })(RenderHelper = exports.RenderHelper || (exports.RenderHelper = {}));
280
297
  //# sourceMappingURL=render-helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-helper.js","sourceRoot":"","sources":["../../../src/rendering/render-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-helper.js","sourceRoot":"","sources":["../../../src/rendering/render-helper.ts"],"names":[],"mappings":"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"}