bruce-cesium 6.2.2 → 6.2.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.
@@ -49,6 +49,7 @@ __exportStar(require("./rendering/render-managers/common/live-cursor"), exports)
49
49
  __exportStar(require("./rendering/view-render-engine"), exports);
50
50
  __exportStar(require("./rendering/tile-render-engine"), exports);
51
51
  __exportStar(require("./rendering/tileset-render-engine"), exports);
52
+ __exportStar(require("./rendering/xgrids-render-engine"), exports);
52
53
  __exportStar(require("./utils/view-utils"), exports);
53
54
  __exportStar(require("./utils/drawing-utils"), exports);
54
55
  __exportStar(require("./utils/measure-utils"), exports);
@@ -73,5 +74,5 @@ __exportStar(require("./widgets/controls-view-bar/widget-control-view-bar-search
73
74
  __exportStar(require("./widgets/widget-left-panel"), exports);
74
75
  __exportStar(require("./widgets/tabs-left-panel/widget-left-panel-tab"), exports);
75
76
  __exportStar(require("./widgets/tabs-left-panel/widget-left-panel-tab-bookmarks"), exports);
76
- exports.VERSION = "6.2.2";
77
+ exports.VERSION = "6.2.4";
77
78
  //# sourceMappingURL=bruce-cesium.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bruce-cesium.js","sourceRoot":"","sources":["../../src/bruce-cesium.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,wDAAsC;AACtC,gEAA8C;AAC9C,gEAA8C;AAC9C,mEAAiD;AACjD,yEAAuD;AACvD,4EAA0D;AAC1D,2EAAyD;AACzD,2EAAyD;AACzD,gEAA8C;AAC9C,+DAA6C;AAC7C,6EAA2D;AAC3D,mGAAiF;AACjF,uGAAqF;AACrF,sGAAoF;AACpF,+FAA6E;AAC7E,6FAA2E;AAC3E,kGAAgF;AAChF,kGAAgF;AAChF,uGAAqF;AACrF,kGAAgF;AAChF,yGAAuF;AACvF,4GAA0F;AAC1F,yGAAuF;AACvF,iGAA+E;AAC/E,4FAA0E;AAC1E,6FAA2E;AAC3E,oFAAkE;AAClE,qFAAmE;AACnE,kFAAgE;AAChE,iFAA+D;AAC/D,iEAA+C;AAC/C,iEAA+C;AAC/C,oEAAkD;AAClD,qDAAmC;AACnC,wDAAsC;AACtC,wDAAsC;AACtC,uDAAqC;AACrC,+DAA6C;AAE7C,uEAAqD;AACrD,qEAAmD;AAEnD,mEAAiD;AACjD,oEAAkD;AAClD,mEAAiD;AACjD,+DAA6C;AAC7C,mDAAiC;AACjC,6DAA2C;AAC3C,4DAA0C;AAC1C,6DAA2C;AAC3C,sEAAoD;AACpD,6DAA2C;AAC3C,+DAA6C;AAC7C,4DAA0C;AAC1C,sFAAoE;AACpE,6FAA2E;AAC3E,8DAA4C;AAC5C,kFAAgE;AAChE,4FAA0E;AAE7D,QAAA,OAAO,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"bruce-cesium.js","sourceRoot":"","sources":["../../src/bruce-cesium.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,wDAAsC;AACtC,gEAA8C;AAC9C,gEAA8C;AAC9C,mEAAiD;AACjD,yEAAuD;AACvD,4EAA0D;AAC1D,2EAAyD;AACzD,2EAAyD;AACzD,gEAA8C;AAC9C,+DAA6C;AAC7C,6EAA2D;AAC3D,mGAAiF;AACjF,uGAAqF;AACrF,sGAAoF;AACpF,+FAA6E;AAC7E,6FAA2E;AAC3E,kGAAgF;AAChF,kGAAgF;AAChF,uGAAqF;AACrF,kGAAgF;AAChF,yGAAuF;AACvF,4GAA0F;AAC1F,yGAAuF;AACvF,iGAA+E;AAC/E,4FAA0E;AAC1E,6FAA2E;AAC3E,oFAAkE;AAClE,qFAAmE;AACnE,kFAAgE;AAChE,iFAA+D;AAC/D,iEAA+C;AAC/C,iEAA+C;AAC/C,oEAAkD;AAClD,mEAAiD;AACjD,qDAAmC;AACnC,wDAAsC;AACtC,wDAAsC;AACtC,uDAAqC;AACrC,+DAA6C;AAE7C,uEAAqD;AACrD,qEAAmD;AAEnD,mEAAiD;AACjD,oEAAkD;AAClD,mEAAiD;AACjD,+DAA6C;AAC7C,mDAAiC;AACjC,6DAA2C;AAC3C,4DAA0C;AAC1C,6DAA2C;AAC3C,sEAAoD;AACpD,6DAA2C;AAC3C,+DAA6C;AAC7C,4DAA0C;AAC1C,sFAAoE;AACpE,6FAA2E;AAC3E,8DAA4C;AAC5C,kFAAgE;AAChE,4FAA0E;AAE7D,QAAA,OAAO,GAAG,OAAO,CAAC"}
@@ -5,6 +5,7 @@ const Cesium = require("cesium");
5
5
  const bruce_models_1 = require("bruce-models");
6
6
  const tileset_render_engine_1 = require("../../tileset-render-engine");
7
7
  const shared_getters_1 = require("../../render-managers/common/shared-getters");
8
+ const xgrids_render_engine_1 = require("src/rendering/xgrids-render-engine");
8
9
  async function getLegacyTileset(params) {
9
10
  const { apiGetter, menuItem, tileset } = params;
10
11
  try {
@@ -39,6 +40,12 @@ async function getTileset(params) {
39
40
  }
40
41
  var TilesetArbRenderManager;
41
42
  (function (TilesetArbRenderManager) {
43
+ let ERenderType;
44
+ (function (ERenderType) {
45
+ ERenderType["CesiumTileset"] = "CesiumTileset";
46
+ ERenderType["XGridsLCC"] = "XGridsLCC";
47
+ ERenderType["Unknown"] = "Unknown";
48
+ })(ERenderType = TilesetArbRenderManager.ERenderType || (TilesetArbRenderManager.ERenderType = {}));
42
49
  class Manager {
43
50
  get Disposed() {
44
51
  return this.disposed;
@@ -49,6 +56,12 @@ var TilesetArbRenderManager;
49
56
  get Styler() {
50
57
  return this.styler;
51
58
  }
59
+ get RenderType() {
60
+ return this.renderType;
61
+ }
62
+ get RenderTypeChanged() {
63
+ return this.renderTypeChanged;
64
+ }
52
65
  constructor(params) {
53
66
  this.disposed = false;
54
67
  this.cTileset = null;
@@ -72,6 +85,11 @@ var TilesetArbRenderManager;
72
85
  // Saves having to do a case-insensitive lookup every time.
73
86
  this.featurePropCache = new Map();
74
87
  this.featurePropsChecked = 0;
88
+ // How we're rendering the data.
89
+ this.renderType = ERenderType.Unknown;
90
+ this.renderTypeChanged = new bruce_models_1.BruceEvent();
91
+ // LCC object if we're using XGrids to render LCC data.
92
+ this.lccObject = null;
75
93
  this.viewer = params.viewer;
76
94
  this.getters = params.getters;
77
95
  this.visualsManager = params.register;
@@ -117,7 +135,7 @@ var TilesetArbRenderManager;
117
135
  }
118
136
  const tilesetId = (_c = this.item.tileset) === null || _c === void 0 ? void 0 : _c.TilesetID;
119
137
  (async () => {
120
- var _a, _b, _c, _d, _e, _f, _g;
138
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
121
139
  if (tilesetId) {
122
140
  let canAccess = false;
123
141
  try {
@@ -156,113 +174,137 @@ var TilesetArbRenderManager;
156
174
  if (tileset && loadUrlOverride) {
157
175
  tileset.loadUrl = loadUrlOverride;
158
176
  }
159
- const LEGACY_TYPES = [
160
- bruce_models_1.Tileset.EType.LegacyEntitiesSet,
161
- bruce_models_1.Tileset.EType.LegacyExternal,
162
- bruce_models_1.Tileset.EType.LegacyStatic
163
- ];
164
- if (!type || LEGACY_TYPES.includes(type)) {
165
- // Legacy type. We re-request using ui.tileset endpoint.
166
- const legacyTileset = tileset ? await getLegacyTileset({
167
- apiGetter: this.getters.GetBruceGetter(),
168
- menuItem: this.item,
169
- tileset
170
- }) : null;
171
- if (this.disposed) {
172
- return;
173
- }
174
- let accountId = (_c = (_b = this.item) === null || _b === void 0 ? void 0 : _b.tileset) === null || _c === void 0 ? void 0 : _c.ClientAccountID;
175
- if (!accountId) {
176
- accountId = this.getters.GetAccountId();
177
- }
178
- this.cTileset = await tileset_render_engine_1.TilesetRenderEngine.RenderLegacy({
179
- apiGetter: this.getters.GetBruceGetter(),
180
- tileset: legacyTileset,
181
- viewer: this.viewer,
182
- ionId: (_d = this.item.IonResource) === null || _d === void 0 ? void 0 : _d.AssetID,
183
- ionAccessToken: (_e = this.item.IonResource) === null || _e === void 0 ? void 0 : _e.AccessToken,
184
- loadUrl: loadUrlOverride,
185
- accountId: accountId,
186
- viaCdn: this.item.cdnEnabled == null ? true : Boolean(this.item.cdnEnabled),
187
- noMemoryLimit: this.item.noMaximumMemory,
188
- backFaceCulling: this.item.backFaceCulling
177
+ // LCC Tileset to load through XGrids libs if they're available.
178
+ if (tileset.type === bruce_models_1.Tileset.EType.LegacyStatic && tileset.rootFileName && (tileset.rootFileName.toLowerCase()).endsWith(".lcc")) {
179
+ this.renderType = ERenderType.XGridsLCC;
180
+ this.renderTypeChanged.Trigger(this.renderType);
181
+ const api = this.getters.GetBruceApi({
182
+ accountId: ((_c = (_b = this.item) === null || _b === void 0 ? void 0 : _b.tileset) === null || _c === void 0 ? void 0 : _c.ClientAccountID) || this.getters.GetAccountId()
189
183
  });
190
- }
191
- else if (tileset) {
192
- this.cTileset = await tileset_render_engine_1.TilesetRenderEngine.Render({
193
- apiGetter: this.getters.GetBruceGetter(),
194
- tileset: tileset,
184
+ this.lccObject = xgrids_render_engine_1.XGridsRenderEngine.Render({
185
+ api: api,
195
186
  viewer: this.viewer,
196
- coords: null,
197
- accountId: (_g = (_f = this.item.tileset) === null || _f === void 0 ? void 0 : _f.ClientAccountID) !== null && _g !== void 0 ? _g : this.getters.GetAccountId(),
198
- viaCdn: this.item.cdnEnabled == null ? true : Boolean(this.item.cdnEnabled)
187
+ tileset: tileset
199
188
  });
200
- }
201
- if (this.disposed) {
202
- this.doDispose();
203
- return;
204
- }
205
- this.viewer.scene.requestRender();
206
- tileset_render_engine_1.TilesetRenderEngine.OnTilesetReady(this.cTileset).then(() => {
207
- if (this.disposed || this.viewer.isDestroyed()) {
189
+ // Disposed while it was loading so we'll remove it now.
190
+ if (this.Disposed && this.lccObject) {
191
+ xgrids_render_engine_1.XGridsRenderEngine.Remove(this.viewer, this.lccObject);
192
+ this.lccObject = null;
208
193
  return;
209
194
  }
210
- // Colour mask to apply to the Tileset as a whole.
211
- // Individual Entities can override this.
212
- // This is typically used for Tilesets without Entities to allow some sort of basic styling per-bookmark.
213
- try {
214
- const colorCss = this.item.colorMask;
215
- if (colorCss) {
216
- this.cTileset.style = new Cesium.Cesium3DTileStyle({
217
- color: {
218
- conditions: [
219
- ["true", `color("${colorCss}")`]
220
- ]
221
- }
222
- });
195
+ }
196
+ // Typical Cesium Tileset.
197
+ else {
198
+ this.renderType = ERenderType.CesiumTileset;
199
+ this.renderTypeChanged.Trigger(this.renderType);
200
+ const LEGACY_TYPES = [
201
+ bruce_models_1.Tileset.EType.LegacyEntitiesSet,
202
+ bruce_models_1.Tileset.EType.LegacyExternal,
203
+ bruce_models_1.Tileset.EType.LegacyStatic
204
+ ];
205
+ if (!type || LEGACY_TYPES.includes(type)) {
206
+ // Legacy type. We re-request using ui.tileset endpoint.
207
+ const legacyTileset = tileset ? await getLegacyTileset({
208
+ apiGetter: this.getters.GetBruceGetter(),
209
+ menuItem: this.item,
210
+ tileset
211
+ }) : null;
212
+ if (this.disposed) {
213
+ return;
223
214
  }
224
- }
225
- catch (e) {
226
- console.error(e);
227
- }
228
- try {
229
- if (this.item.ApplyStyles ||
230
- this.item.Type == bruce_models_1.MenuItem.EType.IonTileset) {
231
- const api = this.getters.GetBruceApi();
232
- this.styler.Init({
233
- viewer: this.viewer,
234
- api: api,
235
- cTileset: this.cTileset,
236
- fallbackStyleId: this.item.styleId,
237
- styleMapping: this.item.StyleMapping,
238
- expandSources: false,
239
- menuItemId: this.item.id,
240
- register: this.visualsManager,
241
- });
215
+ let accountId = (_e = (_d = this.item) === null || _d === void 0 ? void 0 : _d.tileset) === null || _e === void 0 ? void 0 : _e.ClientAccountID;
216
+ if (!accountId) {
217
+ accountId = this.getters.GetAccountId();
242
218
  }
243
- this.onCTilesetLoad();
244
- this.viewer.scene.requestRender();
245
- }
246
- catch (e) {
247
- console.error(e);
248
- }
249
- });
250
- this.cTileset.tileLoad.addEventListener((tile) => {
251
- try {
252
- this.queueTile(tile, true);
253
- }
254
- catch (e) {
255
- console.error(e);
219
+ this.cTileset = await tileset_render_engine_1.TilesetRenderEngine.RenderLegacy({
220
+ apiGetter: this.getters.GetBruceGetter(),
221
+ tileset: legacyTileset,
222
+ viewer: this.viewer,
223
+ ionId: (_f = this.item.IonResource) === null || _f === void 0 ? void 0 : _f.AssetID,
224
+ ionAccessToken: (_g = this.item.IonResource) === null || _g === void 0 ? void 0 : _g.AccessToken,
225
+ loadUrl: loadUrlOverride,
226
+ accountId: accountId,
227
+ viaCdn: this.item.cdnEnabled == null ? true : Boolean(this.item.cdnEnabled),
228
+ noMemoryLimit: this.item.noMaximumMemory,
229
+ backFaceCulling: this.item.backFaceCulling
230
+ });
256
231
  }
257
- });
258
- this.cTileset.tileUnload.addEventListener((tile) => {
259
- try {
260
- this.queueTile(tile, false);
232
+ else if (tileset) {
233
+ this.cTileset = await tileset_render_engine_1.TilesetRenderEngine.Render({
234
+ apiGetter: this.getters.GetBruceGetter(),
235
+ tileset: tileset,
236
+ viewer: this.viewer,
237
+ coords: null,
238
+ accountId: (_j = (_h = this.item.tileset) === null || _h === void 0 ? void 0 : _h.ClientAccountID) !== null && _j !== void 0 ? _j : this.getters.GetAccountId(),
239
+ viaCdn: this.item.cdnEnabled == null ? true : Boolean(this.item.cdnEnabled)
240
+ });
261
241
  }
262
- catch (e) {
263
- console.error(e);
242
+ if (this.disposed) {
243
+ this.doDispose();
244
+ return;
264
245
  }
265
- });
246
+ this.viewer.scene.requestRender();
247
+ tileset_render_engine_1.TilesetRenderEngine.OnTilesetReady(this.cTileset).then(() => {
248
+ if (this.disposed || this.viewer.isDestroyed()) {
249
+ return;
250
+ }
251
+ // Colour mask to apply to the Tileset as a whole.
252
+ // Individual Entities can override this.
253
+ // This is typically used for Tilesets without Entities to allow some sort of basic styling per-bookmark.
254
+ try {
255
+ const colorCss = this.item.colorMask;
256
+ if (colorCss) {
257
+ this.cTileset.style = new Cesium.Cesium3DTileStyle({
258
+ color: {
259
+ conditions: [
260
+ ["true", `color("${colorCss}")`]
261
+ ]
262
+ }
263
+ });
264
+ }
265
+ }
266
+ catch (e) {
267
+ console.error(e);
268
+ }
269
+ try {
270
+ if (this.item.ApplyStyles ||
271
+ this.item.Type == bruce_models_1.MenuItem.EType.IonTileset) {
272
+ const api = this.getters.GetBruceApi();
273
+ this.styler.Init({
274
+ viewer: this.viewer,
275
+ api: api,
276
+ cTileset: this.cTileset,
277
+ fallbackStyleId: this.item.styleId,
278
+ styleMapping: this.item.StyleMapping,
279
+ expandSources: false,
280
+ menuItemId: this.item.id,
281
+ register: this.visualsManager,
282
+ });
283
+ }
284
+ this.onCTilesetLoad();
285
+ this.viewer.scene.requestRender();
286
+ }
287
+ catch (e) {
288
+ console.error(e);
289
+ }
290
+ });
291
+ this.cTileset.tileLoad.addEventListener((tile) => {
292
+ try {
293
+ this.queueTile(tile, true);
294
+ }
295
+ catch (e) {
296
+ console.error(e);
297
+ }
298
+ });
299
+ this.cTileset.tileUnload.addEventListener((tile) => {
300
+ try {
301
+ this.queueTile(tile, false);
302
+ }
303
+ catch (e) {
304
+ console.error(e);
305
+ }
306
+ });
307
+ }
266
308
  })();
267
309
  }
268
310
  /**
@@ -406,6 +448,10 @@ var TilesetArbRenderManager;
406
448
  }
407
449
  this.cTileset = null;
408
450
  }
451
+ if (this.lccObject) {
452
+ xgrids_render_engine_1.XGridsRenderEngine.Remove(this.viewer, this.lccObject);
453
+ this.lccObject = null;
454
+ }
409
455
  (_b = this.styler) === null || _b === void 0 ? void 0 : _b.Dispose();
410
456
  this.visualsManager.RemoveRegos({
411
457
  menuItemId: this.item.id
@@ -1 +1 @@
1
- {"version":3,"file":"tileset-arb-render-manager.js","sourceRoot":"","sources":["../../../../../src/rendering/render-managers/tilesets/tileset-arb-render-manager.ts"],"names":[],"mappings":";;;AACA,iCAAiC;AACjC,+CAA4F;AAC5F,uEAAkE;AAElE,gFAA4E;AAM5E,KAAK,UAAU,gBAAgB,CAAC,MAI/B;IACG,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAChD,IAAI;QACA,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAChE,OAAO,aAAa,CAAC;KACxB;IACD,OAAO,CAAC,EAAE;QACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACpB;AACL,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,MAGzB;IAIG,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACvC,IAAI;QACA,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC/D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,sBAAO,CAAC,GAAG,CAAC;YAClC,GAAG;YACH,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS;SACxC,CAAC,CAAC;QACH,MAAM,EAAC,WAAW,EAAC,GAAG,MAAM,sBAAO,CAAC,QAAQ,CAAC;YACzC,GAAG;YACH,UAAU,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;SAC3C,CAAC,CAAC;QACH,OAAO;YACH,OAAO;YACP,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;SAChD,CAAC;KACL;IACD,OAAO,CAAC,EAAE;QACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACpB;AACL,CAAC;AAED,IAAiB,uBAAuB,CA2hBvC;AA3hBD,WAAiB,uBAAuB;IACpC,MAAa,OAAO;QAKhB,IAAW,QAAQ;YACf,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;QAGD,IAAW,OAAO;YACd,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;QAED,IAAW,MAAM;YACb,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;QA0BD,YAAmB,MAKlB;YA3CO,aAAQ,GAAY,KAAK,CAAC;YAK1B,aAAQ,GAA2B,IAAI,CAAC;YAIxC,WAAM,GAA+B,IAAI,2CAAmB,CAAC,MAAM,EAAE,CAAC;YAItE,gBAAW,GAAkB,IAAI,CAAC;YAG1C,qBAAqB;YACrB,6EAA6E;YAC7E,uGAAuG;YAC/F,yBAAoB,GAA6C,EAAE,CAAC;YAE5E,0FAA0F;YAC1F,0EAA0E;YAClE,sBAAiB,GAAmB,IAAI,CAAC;YACzC,8BAAyB,GAAgB,IAAI,CAAC;YAEtD,6DAA6D;YACrD,iBAAY,GAAiC,EAAE,CAAC;YACxD,mDAAmD;YAC3C,uBAAkB,GAA6C,IAAI,GAAG,EAAE,CAAC;YACzE,yBAAoB,GAAmB,IAAI,CAAC;YAEpD,kEAAkE;YAClE,0DAA0D;YAC1D,2DAA2D;YACnD,qBAAgB,GAAwB,IAAI,GAAG,EAAE,CAAC;YAClD,wBAAmB,GAAW,CAAC,CAAC;YAQpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;YACtC,gEAAgE;YAChE,IAAI;gBACA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1E;YACD,OAAO,CAAC,EAAE;gBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACpB;QACL,CAAC;QAEM,IAAI;;YACP,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;YAC/C,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE;gBAC7B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;aAC3B;YAED,kCAAkC;YAClC,IAAI,eAAe,GAAG,IAAI,CAAC;YAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACnB,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,OAAO,0CAAE,UAAU,CAAC;gBAC9C,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;oBACzC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC;iBAC9C;qBACI,IAAI,MAAA,IAAI,CAAC,IAAI,CAAC,WAAW,0CAAE,OAAO,EAAE;oBACrC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC;iBAC9C;gBAED,2BAA2B;gBAC3B,kHAAkH;gBAClH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;oBAC9D,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;oBAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;oBACzC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAChC,kEAAkE;oBAClE,4HAA4H;oBAC5H,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;wBAClD,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;wBACxC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;qBACjD;iBACJ;aACJ;YACD,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,OAAO,0CAAE,SAAS,CAAC;YAC/C,CAAC,KAAK,IAAI,EAAE;;gBACR,IAAI,SAAS,EAAE;oBACX,IAAI,SAAS,GAAG,KAAK,CAAC;oBACtB,IAAI;wBACA,MAAM,8BAAa,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;;4BAChE,IAAI,IAAI,CAAC,QAAQ,EAAE;gCACf,OAAO;6BACV;4BACD,SAAS,GAAG,MAAM,sBAAO,CAAC,OAAO,CAAC,eAAe,CAAC;gCAC9C,eAAe,EAAE,MAAA,IAAI,CAAC,IAAI,CAAC,OAAO,0CAAE,eAAe;gCACnD,SAAS,EAAE,SAAS;gCACpB,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;gCACzC,OAAO,EAAE,IAAI,CAAC,OAAO;6BACxB,CAAC,CAAA;wBACN,CAAC,CAAC,CAAC;qBACN;oBACD,OAAO,CAAC,EAAE;wBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACpB;oBACD,IAAI,CAAC,SAAS,EAAE;wBACZ,OAAO,CAAC,IAAI,CAAC,0BAA0B,SAAS,mBAAmB,MAAA,IAAI,CAAC,IAAI,CAAC,OAAO,0CAAE,eAAe,GAAG,CAAC,CAAC;wBAC1G,OAAO;qBACV;iBACJ;qBACI;oBACD,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;iBAC/D;gBAED,MAAM,EAAC,OAAO,EAAE,IAAI,EAAC,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC;oBACjD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;oBACxC,QAAQ,EAAE,IAAI,CAAC,IAAI;iBACtB,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBACnC,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACf,OAAO;iBACV;gBACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBAExB,IAAI,OAAO,IAAI,eAAe,EAAE;oBAC5B,OAAO,CAAC,OAAO,GAAG,eAAe,CAAC;iBACrC;gBAED,MAAM,YAAY,GAAG;oBACjB,sBAAO,CAAC,KAAK,CAAC,iBAAiB;oBAC/B,sBAAO,CAAC,KAAK,CAAC,cAAc;oBAC5B,sBAAO,CAAC,KAAK,CAAC,YAAY;iBAC7B,CAAC;gBACF,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBACtC,wDAAwD;oBACxD,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC;wBACnD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;wBACxC,QAAQ,EAAE,IAAI,CAAC,IAAiC;wBAChD,OAAO;qBACV,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACV,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACf,OAAO;qBACV;oBAED,IAAI,SAAS,GAAG,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,0CAAE,eAAe,CAAC;oBACpD,IAAI,CAAC,SAAS,EAAE;wBACZ,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;qBAC3C;oBACD,IAAI,CAAC,QAAQ,GAAG,MAAM,2CAAmB,CAAC,YAAY,CAAC;wBACnD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;wBACxC,OAAO,EAAE,aAAa;wBACtB,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,KAAK,EAAE,MAAA,IAAI,CAAC,IAAI,CAAC,WAAW,0CAAE,OAAO;wBACrC,cAAc,EAAE,MAAA,IAAI,CAAC,IAAI,CAAC,WAAW,0CAAE,WAAW;wBAClD,OAAO,EAAE,eAAe;wBACxB,SAAS,EAAE,SAAS;wBACpB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;wBAC3E,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;wBACxC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;qBAC7C,CAAC,CAAC;iBACN;qBACI,IAAI,OAAO,EAAE;oBACd,IAAI,CAAC,QAAQ,GAAG,MAAM,2CAAmB,CAAC,MAAM,CAAC;wBAC7C,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;wBACxC,OAAO,EAAE,OAAO;wBAChB,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,OAAO,0CAAE,eAAe,mCAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;wBAC5E,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;qBAC9E,CAAC,CAAC;iBACN;gBACD,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACf,IAAI,CAAC,SAAS,EAAE,CAAC;oBACjB,OAAO;iBACV;gBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;gBAClC,2CAAmB,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBACxD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE;wBAC5C,OAAO;qBACV;oBACD,kDAAkD;oBAClD,yCAAyC;oBACzC,yGAAyG;oBACzG,IAAI;wBACA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBACrC,IAAI,QAAQ,EAAE;4BACV,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,iBAAiB,CAAC;gCAC/C,KAAK,EAAE;oCACH,UAAU,EAAE;wCACR,CAAE,MAAM,EAAE,UAAU,QAAQ,IAAI,CAAE;qCACrC;iCACJ;6BACJ,CAAC,CAAC;yBACN;qBACJ;oBACD,OAAO,CAAC,EAAE;wBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACpB;oBAED,IAAI;wBACA,IACI,IAAI,CAAC,IAAI,CAAC,WAAW;4BACrB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,UAAU,EAC7C;4BACE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;4BACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gCACb,MAAM,EAAE,IAAI,CAAC,MAAM;gCACnB,GAAG,EAAE,GAAG;gCACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gCACvB,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;gCAClC,YAAY,EAAS,IAAI,CAAC,IAAI,CAAC,YAAY;gCAC3C,aAAa,EAAE,KAAK;gCACpB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;gCACxB,QAAQ,EAAE,IAAI,CAAC,cAAc;6BAChC,CAAC,CAAC;yBACN;wBACD,IAAI,CAAC,cAAc,EAAE,CAAC;wBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;qBACrC;oBACD,OAAO,CAAC,EAAE;wBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACpB;gBACL,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC7C,IAAI;wBACA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;qBAC9B;oBACD,OAAO,CAAC,EAAE;wBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACpB;gBACL,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC/C,IAAI;wBACA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;qBAC/B;oBACD,OAAO,CAAC,EAAE;wBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACpB;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,EAAE,CAAC;QACT,CAAC;QAED;;;;WAIG;QACK,SAAS,CAAC,IAAyB,EAAE,IAAa;YACtD,MAAM,OAAO,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC;YAC9B,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO;aACV;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACnC;gBACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aAC9C;YACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5B,CAAC;QAED;;;;WAIG;QACK,gBAAgB;YACpB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACzE,OAAO;aACV;YACD,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;gBACzC,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACf,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBACzC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;oBACjC,OAAO;iBACV;gBACD,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;oBACpB,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBACzC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;iBACpC;YACL,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,CAAC;QAED;;WAEG;QACK,wBAAwB;YAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;gBAC3B,OAAO;aACV;YAED,MAAM,UAAU,GAAG,IAAI,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YACtD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuC,CAAC;YACpE,MAAM,gBAAgB,GAAiC,EAAE,CAAC;YAE1D,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE;gBACzB,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxC,IAAI,CAAC,IAAI,EAAE;oBACP,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC/B,SAAS;iBACZ;gBAED,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,MAAM,KAAK,IAAI,EAAE;oBACjB,oDAAoD;oBACpD,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;oBACpB,SAAS;iBACZ;qBACI,IAAI,MAAM,EAAE;oBACb,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;iBAC7C;aACJ;YAED,IAAI,gBAAgB,CAAC,MAAM,EAAE;gBACzB,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC;oBAClE,OAAO,EAAE,gBAAgB;oBACzB,aAAa,EAAE,KAAK;oBACpB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;oBACxB,QAAQ,EAAE,KAAK;iBAClB,CAAC,CAAC;gBACH,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE;oBACrC,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;iBAC9C;aACJ;YAED,IAAI,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,EAAE;gBAClC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAChE;QACL,CAAC;QAEO,oBAAoB,CAAC,OAAmC;;YAC5D,8FAA8F;YAC9F,IAAI,IAAI,CAAC,mBAAmB,IAAI,EAAE,EAAE;gBAChC,OAAO;aACV;YACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAE3B,MAAM,UAAU,GAAG,OAAc,CAAC;YAClC,MAAM,KAAK,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,MAAA,UAAU,CAAC,cAAc,0DAAI,CAAC;YAC1G,IAAI,CAAC,KAAK,EAAE;gBACR,OAAO;aACV;YACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,IAAI,CAAC,IAAI,EAAE;oBACP,SAAS;iBACZ;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,UAAU,EAAE;oBACrE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;iBAC/C;qBACI,IAAI,OAAO,KAAK,WAAW,EAAE;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;iBAChD;qBACI,IAAI,OAAO,KAAK,aAAa,IAAI,OAAO,KAAK,YAAY,EAAE;oBAC5D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;iBACjD;aACJ;QACL,CAAC;QAEO,cAAc;YAClB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACjB,IAAI,CAAC,MAAM,CAAC,MAAM,CACd,IAAI,CAAC,QAAQ,EACb,IAAI,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,GAAG,CAAC,CACrF,CAAC;aACL;QACL,CAAC;QAEM,OAAO;YACV,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,OAAO;aACV;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC;QAEO,SAAS;;YACb,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC3B,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBACzC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;aAC1B;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,EAAE,CAAA,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAChF,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;oBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACnD,MAAA,2CAAmB,CAAC,gBAAgB,CAAC,MAAM,CAAC,0CAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACrE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;iBACrC;gBACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACxB;YACD,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;gBAC5B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;aAC3B,CAAC,CAAC;QACP,CAAC;QAEM,KAAK,CAAC,QAAQ,CAAC,MAIrB;YACG,IAAI,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAC,GAAG,MAAM,CAAC;YAC1C,IAAI,QAAQ,IAAI,CAAC,SAAS,EAAE;gBACxB,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,KAAK,0CAAE,EAAE,CAAA,EAAA,CAAC,CAAC;aAC9C;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACd,OAAO;aACV;YACD,IAAI,KAAK,GAAkC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;gBACpE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;aAC3B,CAAC,CAAC;YACH,IAAI,SAAS,IAAI,IAAI,EAAE;gBACnB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;aACjE;YAED,0EAA0E;YAC1E,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;QAEO,iBAAiB,CAAC,OAAmC;;YACzD,MAAM,SAAS,GAAG,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,OAAO,0CAAE,eAAe,mCAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YACpF,MAAM,OAAO,GAAG,SAAS,KAAK,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAE1D,IAAI,IAAI,GAAgC;gBACpC,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAO,IAAI;gBACnB,YAAY,EAAO,IAAI;gBACvB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;gBACxB,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;gBAC5B,QAAQ,EAAE,IAAI,CAAC,cAAc;gBAC7B,MAAM,EAAE,OAAO;gBACf,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,MAAA,IAAI,CAAC,IAAI,CAAC,OAAO,0CAAE,SAAS;gBACvC,WAAW,EAAE,IAAI,CAAC,WAAW;aAChC,CAAC;YAEF,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAEnC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACxD,IAAI,SAAS,EAAE;oBACX,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;iBAClD;aACJ;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACzD,IAAI,SAAS,EAAE;oBACX,MAAM,IAAI,GAAG,MAAA,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,0CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;oBACxD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE;wBACd,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;qBACzC;iBACJ;aACJ;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC1D,IAAI,SAAS,EAAE;oBACX,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;iBAClD;aACJ;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,OAAO,IAAI,CAAC;aACf;YAED,mCAAmC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;gBACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;aAC3B,CAAC,CAAC;YAEH,IACI,IAAI,CAAC,iBAAiB,IAAI,IAAI;gBAC9B,YAAY;gBACZ,CAAC,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,EAC5G;gBACE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;gBAChE,IAAI,CAAC,yBAAyB,GAAG,IAAI,IAAI,EAAE,CAAC;aAC/C;YAED,oDAAoD;YACpD,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,IAAI,KAAK,EAAE;gBACP,IAAI,KAAK,CAAC,MAAM,EAAE;oBACd,IAAI,GAAG,IAAI,CAAC;iBACf;qBACI,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,EAAE;oBAC1B,IAAI,GAAG,IAAI,CAAC;iBACf;qBACI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,EAAE;oBAChD,IAAI,GAAG,IAAI,CAAC;iBACf;aACJ;YACD,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;YAErB,uDAAuD;YACvD,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC1C,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAEhD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBACd,qBAAqB;oBACrB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;iBACzB;qBACI,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE;oBAC7B,+BAA+B;iBAClC;qBACI;oBACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAgC,CAAC;oBACrD,mBAAmB;oBACnB,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;wBAC1B,MAAM,CAAC,gBAAgB,GAAG,EAAE,CAAC;qBAChC;oBACD,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;wBAC9C,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qBACzC;iBACJ;aACJ;YAED,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBACxB,IAAI;gBACJ,aAAa,EAAE,KAAK;aACvB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ;IAzhBY,+BAAO,UAyhBnB,CAAA;AACL,CAAC,EA3hBgB,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QA2hBvC"}
1
+ {"version":3,"file":"tileset-arb-render-manager.js","sourceRoot":"","sources":["../../../../../src/rendering/render-managers/tilesets/tileset-arb-render-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.XGridsRenderEngine = void 0;
4
+ const bruce_models_1 = require("bruce-models");
5
+ const Cesium = require("cesium");
6
+ const js_utils_1 = require("../internal/js-utils");
7
+ /**
8
+ * Render engine to handle LCC / XGrids data through the XGrids library.
9
+ */
10
+ var XGridsRenderEngine;
11
+ (function (XGridsRenderEngine) {
12
+ function Render(params) {
13
+ var _a, _b, _c;
14
+ const { api, viewer, tileset } = params;
15
+ if (!LCCRender) {
16
+ console.warn("[XGridsRenderEngine] Render() LCCRender library not available.");
17
+ return null;
18
+ }
19
+ const settings = tileset.settings;
20
+ let position = settings === null || settings === void 0 ? void 0 : settings.origin;
21
+ if (settings.dontTransform) {
22
+ position = null;
23
+ }
24
+ let m1 = undefined;
25
+ // Location matrix.
26
+ if ((position === null || position === void 0 ? void 0 : position.latitude) || (position === null || position === void 0 ? void 0 : position.longitude) || (position === null || position === void 0 ? void 0 : position.altitude)) {
27
+ m1 = Cesium.Transforms.eastNorthUpToFixedFrame(Cesium.Cartesian3.fromDegrees((0, js_utils_1.EnsureNumber)(position.longitude, 0), (0, js_utils_1.EnsureNumber)(position.latitude, 0), (0, js_utils_1.EnsureNumber)(position.altitude, 0)));
28
+ }
29
+ else {
30
+ m1 = Cesium.Transforms.eastNorthUpToFixedFrame(Cesium.Cartesian3.fromDegrees(0, 0, 0));
31
+ }
32
+ // Apply HPR + scale.
33
+ if (!settings.dontRotate && !settings.dontTransform) {
34
+ const translationMatrix = Cesium.Matrix4.fromTranslation(new Cesium.Cartesian3(0, 0, 0), new Cesium.Matrix4());
35
+ const hpr = Cesium.HeadingPitchRoll.fromDegrees((0, js_utils_1.EnsureNumber)((_a = settings.rotation) === null || _a === void 0 ? void 0 : _a.z), (0, js_utils_1.EnsureNumber)((_b = settings.rotation) === null || _b === void 0 ? void 0 : _b.x), (0, js_utils_1.EnsureNumber)((_c = settings.rotation) === null || _c === void 0 ? void 0 : _c.y), new Cesium.HeadingPitchRoll());
36
+ const hprRotation = Cesium.Matrix3.fromHeadingPitchRoll(hpr);
37
+ const scaleMatrix = Cesium.Matrix4.fromUniformScale((0, js_utils_1.EnsureNumber)((position === null || position === void 0 ? void 0 : position.scale) || 1, 1), new Cesium.Matrix4());
38
+ let combinedMatrix = Cesium.Matrix4.multiply(m1, translationMatrix, new Cesium.Matrix4());
39
+ combinedMatrix = Cesium.Matrix4.multiply(combinedMatrix, Cesium.Matrix4.fromRotation(hprRotation), new Cesium.Matrix4());
40
+ combinedMatrix = Cesium.Matrix4.multiply(combinedMatrix, scaleMatrix, new Cesium.Matrix4());
41
+ m1 = combinedMatrix;
42
+ }
43
+ const loadUrl = bruce_models_1.Tileset.GetFileUrl({
44
+ file: tileset.rootFileName || "meta.lcc",
45
+ tilesetId: tileset.id,
46
+ viaCdn: true,
47
+ legacy: true,
48
+ cacheToken: tileset.generateVersion,
49
+ api: api
50
+ });
51
+ return LCCRender.load({
52
+ camera: viewer.camera,
53
+ scene: viewer.scene,
54
+ dataPath: loadUrl,
55
+ renderLib: Cesium,
56
+ canvas: viewer.canvas,
57
+ useEnv: false,
58
+ modelMatrix: m1,
59
+ useIndexDB: false,
60
+ appKey: null
61
+ });
62
+ }
63
+ XGridsRenderEngine.Render = Render;
64
+ function Remove(viewer, renderObject) {
65
+ if (!renderObject) {
66
+ return;
67
+ }
68
+ if (!LCCRender) {
69
+ console.warn("[XGridsRenderEngine] Remove() LCCRender library not available.");
70
+ return;
71
+ }
72
+ LCCRender.unload(renderObject);
73
+ }
74
+ XGridsRenderEngine.Remove = Remove;
75
+ })(XGridsRenderEngine = exports.XGridsRenderEngine || (exports.XGridsRenderEngine = {}));
76
+ //# sourceMappingURL=xgrids-render-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xgrids-render-engine.js","sourceRoot":"","sources":["../../../src/rendering/xgrids-render-engine.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ export * from "./rendering/render-managers/common/live-cursor";
32
32
  export * from "./rendering/view-render-engine";
33
33
  export * from "./rendering/tile-render-engine";
34
34
  export * from "./rendering/tileset-render-engine";
35
+ export * from "./rendering/xgrids-render-engine";
35
36
  export * from "./utils/view-utils";
36
37
  export * from "./utils/drawing-utils";
37
38
  export * from "./utils/measure-utils";
@@ -56,4 +57,4 @@ export * from "./widgets/controls-view-bar/widget-control-view-bar-search";
56
57
  export * from "./widgets/widget-left-panel";
57
58
  export * from "./widgets/tabs-left-panel/widget-left-panel-tab";
58
59
  export * from "./widgets/tabs-left-panel/widget-left-panel-tab-bookmarks";
59
- export declare const VERSION = "6.2.2";
60
+ export declare const VERSION = "6.2.4";
@@ -1,9 +1,14 @@
1
1
  import { RenderManager } from "../render-manager";
2
2
  import * as Cesium from "cesium";
3
- import { ApiGetters, Entity, MenuItem } from "bruce-models";
3
+ import { ApiGetters, BruceEvent, Entity, MenuItem } from "bruce-models";
4
4
  import { TilesetRenderEngine } from "../../tileset-render-engine";
5
5
  import { VisualsRegister } from "../../visuals-register";
6
6
  export declare namespace TilesetArbRenderManager {
7
+ enum ERenderType {
8
+ CesiumTileset = "CesiumTileset",
9
+ XGridsLCC = "XGridsLCC",
10
+ Unknown = "Unknown"
11
+ }
7
12
  class Manager implements RenderManager.IManager {
8
13
  private viewer;
9
14
  private getters;
@@ -25,6 +30,11 @@ export declare namespace TilesetArbRenderManager {
25
30
  private featureQueueInterval;
26
31
  private featurePropCache;
27
32
  private featurePropsChecked;
33
+ private renderType;
34
+ get RenderType(): ERenderType;
35
+ private renderTypeChanged;
36
+ get RenderTypeChanged(): BruceEvent<ERenderType>;
37
+ private lccObject;
28
38
  constructor(params: {
29
39
  viewer: Cesium.Viewer;
30
40
  item: MenuItem.Item.IArbTileset;
@@ -0,0 +1,14 @@
1
+ import { BruceApi, Tileset } from "bruce-models";
2
+ import * as Cesium from "cesium";
3
+ /**
4
+ * Render engine to handle LCC / XGrids data through the XGrids library.
5
+ */
6
+ export declare namespace XGridsRenderEngine {
7
+ type TRenderObject = any;
8
+ function Render(params: {
9
+ api: BruceApi.Api;
10
+ viewer: Cesium.Viewer;
11
+ tileset: Tileset.ITileset;
12
+ }): TRenderObject | null;
13
+ function Remove(viewer: Cesium.Viewer, renderObject: TRenderObject): void;
14
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bruce-cesium",
3
- "version": "6.2.2",
3
+ "version": "6.2.4",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/bruce-cesium.umd.js",