bruce-cesium 1.2.7 → 1.2.9
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 +118 -29
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +116 -27
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/rendering/entity-render-engine.js +116 -27
- package/dist/lib/rendering/entity-render-engine.js.map +1 -1
- package/package.json +2 -2
package/dist/bruce-cesium.umd.js
CHANGED
|
@@ -1118,6 +1118,13 @@
|
|
|
1118
1118
|
}
|
|
1119
1119
|
return EnsureNumber(zIndex);
|
|
1120
1120
|
}
|
|
1121
|
+
function getValue(viewer, obj) {
|
|
1122
|
+
var _a;
|
|
1123
|
+
if ((_a = obj) === null || _a === void 0 ? void 0 : _a.getValue) {
|
|
1124
|
+
return obj.getValue(viewer.scene.lastRenderTime);
|
|
1125
|
+
}
|
|
1126
|
+
return obj;
|
|
1127
|
+
}
|
|
1121
1128
|
function getStyle(api, entity, styleId) {
|
|
1122
1129
|
return __awaiter(this, void 0, void 0, function () {
|
|
1123
1130
|
var style, type;
|
|
@@ -1162,11 +1169,11 @@
|
|
|
1162
1169
|
}
|
|
1163
1170
|
(function (EntityRenderEngine) {
|
|
1164
1171
|
function Render(params) {
|
|
1165
|
-
var _a;
|
|
1172
|
+
var _a, _b, _c, _d;
|
|
1166
1173
|
return __awaiter(this, void 0, void 0, function () {
|
|
1167
|
-
var groupRenderParams, cEntities, models, polygons, polylines, points, i, entity, id, zoomItem, displayType, newRenderId, existingRego, oldRenderId, mParams, mEntities, i, entity, id, cEntity, pParams, pEntities, i, entity, cEntity, pParams, pEntities, i, entity, cEntity, pParams, pEntities, i, entity, cEntity;
|
|
1168
|
-
return __generator(this, function (
|
|
1169
|
-
switch (
|
|
1174
|
+
var groupRenderParams, i, entity, geometry, cEntities, models, multiGeometry, polygons, polylines, points, i, entity, id, zoomItem, displayType, newRenderId, existingRego, oldRenderId, mParams, mEntities, i, entity, id, cEntity, _loop_1, i, pParams, pEntities, i, entity, cEntity, pParams, pEntities, i, entity, cEntity, pParams, pEntities, i, entity, cEntity;
|
|
1175
|
+
return __generator(this, function (_e) {
|
|
1176
|
+
switch (_e.label) {
|
|
1170
1177
|
case 0:
|
|
1171
1178
|
groupRenderParams = {
|
|
1172
1179
|
apiGetter: params.apiGetter,
|
|
@@ -1176,8 +1183,17 @@
|
|
|
1176
1183
|
menuItemId: params.menuItemId,
|
|
1177
1184
|
visualRegister: params.visualRegister
|
|
1178
1185
|
};
|
|
1186
|
+
// Flatten multi-geometry if it's only got 1 piece.
|
|
1187
|
+
for (i = 0; i < params.entities.length; i++) {
|
|
1188
|
+
entity = params.entities[i];
|
|
1189
|
+
geometry = entity.geometry;
|
|
1190
|
+
if (((_a = geometry === null || geometry === void 0 ? void 0 : geometry.MultiGeometry) === null || _a === void 0 ? void 0 : _a.length) == 1) {
|
|
1191
|
+
entity.geometry = __assign(__assign(__assign({}, entity.geometry), geometry.MultiGeometry[0]), { MultiGeometry: [] });
|
|
1192
|
+
}
|
|
1193
|
+
}
|
|
1179
1194
|
cEntities = {};
|
|
1180
1195
|
models = [];
|
|
1196
|
+
multiGeometry = [];
|
|
1181
1197
|
polygons = [];
|
|
1182
1198
|
polylines = [];
|
|
1183
1199
|
points = [];
|
|
@@ -1204,7 +1220,7 @@
|
|
|
1204
1220
|
entityId: id,
|
|
1205
1221
|
menuItemId: params.menuItemId
|
|
1206
1222
|
});
|
|
1207
|
-
oldRenderId = (
|
|
1223
|
+
oldRenderId = (_b = existingRego === null || existingRego === void 0 ? void 0 : existingRego.visual) === null || _b === void 0 ? void 0 : _b._renderGroup;
|
|
1208
1224
|
if (newRenderId == oldRenderId && !(existingRego === null || existingRego === void 0 ? void 0 : existingRego.stale)) {
|
|
1209
1225
|
cEntities[id] = existingRego.visual;
|
|
1210
1226
|
}
|
|
@@ -1213,7 +1229,12 @@
|
|
|
1213
1229
|
models.push(entity);
|
|
1214
1230
|
}
|
|
1215
1231
|
else if (displayType == bruceModels.ZoomControl.EDisplayType.Geometry) {
|
|
1216
|
-
|
|
1232
|
+
if ((_d = (_c = entity.geometry) === null || _c === void 0 ? void 0 : _c.MultiGeometry) === null || _d === void 0 ? void 0 : _d.length) {
|
|
1233
|
+
multiGeometry.push(entity);
|
|
1234
|
+
}
|
|
1235
|
+
else {
|
|
1236
|
+
polygons.push(entity);
|
|
1237
|
+
}
|
|
1217
1238
|
}
|
|
1218
1239
|
else {
|
|
1219
1240
|
points.push(entity);
|
|
@@ -1226,7 +1247,7 @@
|
|
|
1226
1247
|
mParams = __assign(__assign({}, groupRenderParams), { entities: models });
|
|
1227
1248
|
return [4 /*yield*/, Model3d.RenderGroup(mParams)];
|
|
1228
1249
|
case 1:
|
|
1229
|
-
mEntities =
|
|
1250
|
+
mEntities = _e.sent();
|
|
1230
1251
|
for (i = 0; i < mParams.entities.length; i++) {
|
|
1231
1252
|
entity = mParams.entities[i];
|
|
1232
1253
|
id = entity.Bruce.ID;
|
|
@@ -1235,16 +1256,84 @@
|
|
|
1235
1256
|
cEntities[id] = cEntity;
|
|
1236
1257
|
}
|
|
1237
1258
|
else {
|
|
1238
|
-
|
|
1259
|
+
multiGeometry.push(entity);
|
|
1239
1260
|
}
|
|
1240
1261
|
}
|
|
1241
|
-
|
|
1262
|
+
_e.label = 2;
|
|
1242
1263
|
case 2:
|
|
1243
|
-
if (!(
|
|
1264
|
+
if (!(multiGeometry.length > 0)) return [3 /*break*/, 6];
|
|
1265
|
+
_loop_1 = function (i) {
|
|
1266
|
+
var entity, pParams, zoomItem, j, subEntity, cPoly, rendered, cLines, cPoints, rootEntity, firstEntity;
|
|
1267
|
+
return __generator(this, function (_a) {
|
|
1268
|
+
switch (_a.label) {
|
|
1269
|
+
case 0:
|
|
1270
|
+
entity = multiGeometry[i];
|
|
1271
|
+
pParams = __assign(__assign({}, groupRenderParams), { entities: [] });
|
|
1272
|
+
zoomItem = pParams.zoomItems[entity.Bruce.ID];
|
|
1273
|
+
for (j = 0; j < entity.geometry.MultiGeometry.length; j++) {
|
|
1274
|
+
subEntity = __assign(__assign({}, entity), { geometry: entity.geometry.MultiGeometry[j], Bruce: __assign(__assign({}, entity.Bruce), { ID: bruceModels.ObjectUtils.UId() }) });
|
|
1275
|
+
pParams.zoomItems[subEntity.Bruce.ID] = zoomItem;
|
|
1276
|
+
pParams.entities.push(subEntity);
|
|
1277
|
+
}
|
|
1278
|
+
return [4 /*yield*/, Polygon.RenderGroup(pParams)];
|
|
1279
|
+
case 1:
|
|
1280
|
+
cPoly = _a.sent();
|
|
1281
|
+
Object.keys(cPoly).forEach(function (key) {
|
|
1282
|
+
if (cPoly[key]) {
|
|
1283
|
+
pParams.entities = pParams.entities.filter(function (e) { return e.Bruce.ID != key; });
|
|
1284
|
+
}
|
|
1285
|
+
});
|
|
1286
|
+
rendered = Object.values(cPoly);
|
|
1287
|
+
return [4 /*yield*/, Polyline.RenderGroup(pParams)];
|
|
1288
|
+
case 2:
|
|
1289
|
+
cLines = _a.sent();
|
|
1290
|
+
Object.keys(cLines).forEach(function (key) {
|
|
1291
|
+
if (cLines[key]) {
|
|
1292
|
+
pParams.entities = pParams.entities.filter(function (e) { return e.Bruce.ID != key; });
|
|
1293
|
+
}
|
|
1294
|
+
});
|
|
1295
|
+
rendered = rendered.concat(Object.values(cLines));
|
|
1296
|
+
return [4 /*yield*/, Point.RenderGroup(pParams)];
|
|
1297
|
+
case 3:
|
|
1298
|
+
cPoints = _a.sent();
|
|
1299
|
+
rendered = rendered.concat(Object.values(cPoints));
|
|
1300
|
+
rendered = rendered.filter(function (x) { return x != null; });
|
|
1301
|
+
if (rendered.length) {
|
|
1302
|
+
rootEntity = new Cesium.Entity({});
|
|
1303
|
+
params.viewer.entities.add(rootEntity);
|
|
1304
|
+
rootEntity._siblingGraphics = [];
|
|
1305
|
+
rootEntity._renderGroup = getRenderGroupId(zoomItem);
|
|
1306
|
+
rootEntity._siblingGraphics = rootEntity._siblingGraphics.concat(rendered);
|
|
1307
|
+
cEntities[entity.Bruce.ID] = rootEntity;
|
|
1308
|
+
firstEntity = rendered[0];
|
|
1309
|
+
if (firstEntity) {
|
|
1310
|
+
rootEntity.position = getValue(params.viewer, firstEntity.position.getValue);
|
|
1311
|
+
}
|
|
1312
|
+
}
|
|
1313
|
+
else {
|
|
1314
|
+
polygons.push(entity);
|
|
1315
|
+
}
|
|
1316
|
+
return [2 /*return*/];
|
|
1317
|
+
}
|
|
1318
|
+
});
|
|
1319
|
+
};
|
|
1320
|
+
i = 0;
|
|
1321
|
+
_e.label = 3;
|
|
1322
|
+
case 3:
|
|
1323
|
+
if (!(i < multiGeometry.length)) return [3 /*break*/, 6];
|
|
1324
|
+
return [5 /*yield**/, _loop_1(i)];
|
|
1325
|
+
case 4:
|
|
1326
|
+
_e.sent();
|
|
1327
|
+
_e.label = 5;
|
|
1328
|
+
case 5:
|
|
1329
|
+
i++;
|
|
1330
|
+
return [3 /*break*/, 3];
|
|
1331
|
+
case 6:
|
|
1332
|
+
if (!(polygons.length > 0)) return [3 /*break*/, 8];
|
|
1244
1333
|
pParams = __assign(__assign({}, groupRenderParams), { entities: polygons });
|
|
1245
1334
|
return [4 /*yield*/, Polygon.RenderGroup(pParams)];
|
|
1246
|
-
case
|
|
1247
|
-
pEntities =
|
|
1335
|
+
case 7:
|
|
1336
|
+
pEntities = _e.sent();
|
|
1248
1337
|
for (i = 0; i < pParams.entities.length; i++) {
|
|
1249
1338
|
entity = pParams.entities[i];
|
|
1250
1339
|
cEntity = pEntities[entity.Bruce.ID];
|
|
@@ -1255,13 +1344,13 @@
|
|
|
1255
1344
|
polylines.push(entity);
|
|
1256
1345
|
}
|
|
1257
1346
|
}
|
|
1258
|
-
|
|
1259
|
-
case
|
|
1260
|
-
if (!(polylines.length > 0)) return [3 /*break*/,
|
|
1347
|
+
_e.label = 8;
|
|
1348
|
+
case 8:
|
|
1349
|
+
if (!(polylines.length > 0)) return [3 /*break*/, 10];
|
|
1261
1350
|
pParams = __assign(__assign({}, groupRenderParams), { entities: polylines });
|
|
1262
1351
|
return [4 /*yield*/, Polyline.RenderGroup(pParams)];
|
|
1263
|
-
case
|
|
1264
|
-
pEntities =
|
|
1352
|
+
case 9:
|
|
1353
|
+
pEntities = _e.sent();
|
|
1265
1354
|
for (i = 0; i < pParams.entities.length; i++) {
|
|
1266
1355
|
entity = pParams.entities[i];
|
|
1267
1356
|
cEntity = pEntities[entity.Bruce.ID];
|
|
@@ -1272,13 +1361,13 @@
|
|
|
1272
1361
|
points.push(entity);
|
|
1273
1362
|
}
|
|
1274
1363
|
}
|
|
1275
|
-
|
|
1276
|
-
case
|
|
1277
|
-
if (!(points.length > 0)) return [3 /*break*/,
|
|
1364
|
+
_e.label = 10;
|
|
1365
|
+
case 10:
|
|
1366
|
+
if (!(points.length > 0)) return [3 /*break*/, 12];
|
|
1278
1367
|
pParams = __assign(__assign({}, groupRenderParams), { entities: points });
|
|
1279
1368
|
return [4 /*yield*/, Point.RenderGroup(pParams)];
|
|
1280
|
-
case
|
|
1281
|
-
pEntities =
|
|
1369
|
+
case 11:
|
|
1370
|
+
pEntities = _e.sent();
|
|
1282
1371
|
for (i = 0; i < pParams.entities.length; i++) {
|
|
1283
1372
|
entity = pParams.entities[i];
|
|
1284
1373
|
cEntity = pEntities[entity.Bruce.ID];
|
|
@@ -1286,8 +1375,8 @@
|
|
|
1286
1375
|
cEntities[entity.Bruce.ID] = cEntity;
|
|
1287
1376
|
}
|
|
1288
1377
|
}
|
|
1289
|
-
|
|
1290
|
-
case
|
|
1378
|
+
_e.label = 12;
|
|
1379
|
+
case 12: return [2 /*return*/, cEntities];
|
|
1291
1380
|
}
|
|
1292
1381
|
});
|
|
1293
1382
|
});
|
|
@@ -1782,7 +1871,7 @@
|
|
|
1782
1871
|
function RenderGroup(params) {
|
|
1783
1872
|
var _a, _b, _c, _d;
|
|
1784
1873
|
return __awaiter(this, void 0, void 0, function () {
|
|
1785
|
-
var api, cEntities, reqBody, i, entity, zoomItem, style, tagIds, tags, mStyle, group, level, catId, lodData,
|
|
1874
|
+
var api, cEntities, reqBody, i, entity, zoomItem, style, tagIds, tags, mStyle, group, level, catId, lodData, _loop_2, i;
|
|
1786
1875
|
return __generator(this, function (_e) {
|
|
1787
1876
|
switch (_e.label) {
|
|
1788
1877
|
case 0:
|
|
@@ -1842,7 +1931,7 @@
|
|
|
1842
1931
|
})];
|
|
1843
1932
|
case 7:
|
|
1844
1933
|
lodData = (_e.sent()).lods;
|
|
1845
|
-
|
|
1934
|
+
_loop_2 = function (i) {
|
|
1846
1935
|
var entity, zoomItem, style, tagIds, tags, lod, mStyle, cEntity;
|
|
1847
1936
|
return __generator(this, function (_a) {
|
|
1848
1937
|
switch (_a.label) {
|
|
@@ -1891,7 +1980,7 @@
|
|
|
1891
1980
|
_e.label = 8;
|
|
1892
1981
|
case 8:
|
|
1893
1982
|
if (!(i < params.entities.length)) return [3 /*break*/, 11];
|
|
1894
|
-
return [5 /*yield**/,
|
|
1983
|
+
return [5 /*yield**/, _loop_2(i)];
|
|
1895
1984
|
case 9:
|
|
1896
1985
|
_e.sent();
|
|
1897
1986
|
_e.label = 10;
|