bruce-cesium 0.4.0 → 0.4.2

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 (34) hide show
  1. package/dist/bruce-cesium.es5.js +46 -58
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +45 -57
  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/menu-item-manager.js +252 -252
  8. package/dist/lib/rendering/render-addons/measure-addon.js +186 -186
  9. package/dist/lib/rendering/render-addons/render-addon.js +2 -2
  10. package/dist/lib/rendering/render-helper.js +296 -296
  11. package/dist/lib/rendering/render-managers/common/shared-getters.js +31 -31
  12. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +146 -146
  13. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +143 -143
  14. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +234 -234
  15. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +139 -139
  16. package/dist/lib/rendering/render-managers/render-manager.js +50 -50
  17. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +236 -236
  18. package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js +320 -320
  19. package/dist/lib/rendering/tile-render-engine.js +815 -831
  20. package/dist/lib/rendering/tile-render-engine.js.map +1 -1
  21. package/dist/lib/rendering/tileset-render-engine.js +499 -499
  22. package/dist/lib/rendering/view-render-engine.js +305 -309
  23. package/dist/lib/rendering/view-render-engine.js.map +1 -1
  24. package/dist/lib/rendering/visuals-register.js +402 -394
  25. package/dist/lib/rendering/visuals-register.js.map +1 -1
  26. package/dist/lib/utils/drawing-utils.js +42 -42
  27. package/dist/lib/utils/entity-utils.js +99 -99
  28. package/dist/lib/utils/measure-utils.js +34 -34
  29. package/dist/lib/utils/view-utils.js +72 -72
  30. package/dist/lib/viewer/cesium-view-monitor.js +231 -231
  31. package/dist/lib/viewer/viewer-utils.js +85 -85
  32. package/dist/types/rendering/tile-render-engine.d.ts +2 -4
  33. package/dist/types/rendering/visuals-register.d.ts +2 -0
  34. package/package.json +76 -76
@@ -1,297 +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 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 = {}));
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 = {}));
297
297
  //# sourceMappingURL=render-helper.js.map