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.
- package/dist/bruce-cesium.es5.js +216 -101
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +210 -99
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +2 -1
- package/dist/lib/bruce-cesium.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-arb-render-manager.js +144 -98
- package/dist/lib/rendering/render-managers/tilesets/tileset-arb-render-manager.js.map +1 -1
- package/dist/lib/rendering/xgrids-render-engine.js +76 -0
- package/dist/lib/rendering/xgrids-render-engine.js.map +1 -0
- package/dist/types/bruce-cesium.d.ts +2 -1
- package/dist/types/rendering/render-managers/tilesets/tileset-arb-render-manager.d.ts +11 -1
- package/dist/types/rendering/xgrids-render-engine.d.ts +14 -0
- package/package.json +1 -1
package/dist/lib/bruce-cesium.js
CHANGED
|
@@ -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.
|
|
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
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
202
|
-
|
|
203
|
-
|
|
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
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
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
|
-
|
|
226
|
-
|
|
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.
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
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
|
-
|
|
259
|
-
|
|
260
|
-
|
|
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
|
-
|
|
263
|
-
|
|
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":"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"}
|
|
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.
|
|
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
|
+
}
|