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.es5.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BruceEvent, Cartes, Carto, Geometry, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, DelayQueue, Entity as Entity$1, BatchedDataGetter, EntityRelationType,
|
|
2
|
-
import { Cartesian2, Cartographic, Math as Math$1, Color, HeightReference, Cartesian3, Entity, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Primitive, Cesium3DTileFeature, Cesium3DTileColorBlendMode, HeadingPitchRange, createOsmBuildings, Cesium3DTileStyle, Rectangle, KmlDataSource, CallbackProperty, Matrix4, Cesium3DTileset, IonResource, createWorldTerrain, EllipsoidTerrainProvider, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider,
|
|
1
|
+
import { BruceEvent, Cartes, Carto, Geometry, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, ObjectUtils, DelayQueue, Entity as Entity$1, BatchedDataGetter, EntityRelationType, Tileset, EntityCoords, EntityFilterGetter, EntitySource, EntityRelation, MenuItem, ProjectView, ProjectViewBookmark, ProjectViewTile, ProjectViewLegacyTile, ProgramKey, Camera } from 'bruce-models';
|
|
2
|
+
import { Cartesian2, Cartographic, Math as Math$1, Color, HeightReference, Cartesian3, Entity, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Primitive, Cesium3DTileFeature, Cesium3DTileColorBlendMode, HeadingPitchRange, createOsmBuildings, Cesium3DTileStyle, Rectangle, KmlDataSource, OrthographicFrustum, JulianDate, CallbackProperty, Matrix4, Cesium3DTileset, IonResource, createWorldTerrain, EllipsoidTerrainProvider, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, EllipsoidGeodesic, sampleTerrainMostDetailed, PolygonPipeline, ColorMaterialProperty, Matrix3, EasingFunction, GeometryInstance } from 'cesium';
|
|
3
3
|
|
|
4
4
|
var TIME_LAG = 300;
|
|
5
5
|
var POSITION_CHECK_TIMER = 950;
|
|
@@ -1120,6 +1120,13 @@ function getZIndex(style, entity, tags) {
|
|
|
1120
1120
|
}
|
|
1121
1121
|
return EnsureNumber(zIndex);
|
|
1122
1122
|
}
|
|
1123
|
+
function getValue(viewer, obj) {
|
|
1124
|
+
var _a;
|
|
1125
|
+
if ((_a = obj) === null || _a === void 0 ? void 0 : _a.getValue) {
|
|
1126
|
+
return obj.getValue(viewer.scene.lastRenderTime);
|
|
1127
|
+
}
|
|
1128
|
+
return obj;
|
|
1129
|
+
}
|
|
1123
1130
|
function getStyle(api, entity, styleId) {
|
|
1124
1131
|
return __awaiter(this, void 0, void 0, function () {
|
|
1125
1132
|
var style, type;
|
|
@@ -1165,11 +1172,11 @@ function getRenderGroupId(zoomItem) {
|
|
|
1165
1172
|
var EntityRenderEngine;
|
|
1166
1173
|
(function (EntityRenderEngine) {
|
|
1167
1174
|
function Render(params) {
|
|
1168
|
-
var _a;
|
|
1175
|
+
var _a, _b, _c, _d;
|
|
1169
1176
|
return __awaiter(this, void 0, void 0, function () {
|
|
1170
|
-
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;
|
|
1171
|
-
return __generator(this, function (
|
|
1172
|
-
switch (
|
|
1177
|
+
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;
|
|
1178
|
+
return __generator(this, function (_e) {
|
|
1179
|
+
switch (_e.label) {
|
|
1173
1180
|
case 0:
|
|
1174
1181
|
groupRenderParams = {
|
|
1175
1182
|
apiGetter: params.apiGetter,
|
|
@@ -1179,8 +1186,17 @@ var EntityRenderEngine;
|
|
|
1179
1186
|
menuItemId: params.menuItemId,
|
|
1180
1187
|
visualRegister: params.visualRegister
|
|
1181
1188
|
};
|
|
1189
|
+
// Flatten multi-geometry if it's only got 1 piece.
|
|
1190
|
+
for (i = 0; i < params.entities.length; i++) {
|
|
1191
|
+
entity = params.entities[i];
|
|
1192
|
+
geometry = entity.geometry;
|
|
1193
|
+
if (((_a = geometry === null || geometry === void 0 ? void 0 : geometry.MultiGeometry) === null || _a === void 0 ? void 0 : _a.length) == 1) {
|
|
1194
|
+
entity.geometry = __assign(__assign(__assign({}, entity.geometry), geometry.MultiGeometry[0]), { MultiGeometry: [] });
|
|
1195
|
+
}
|
|
1196
|
+
}
|
|
1182
1197
|
cEntities = {};
|
|
1183
1198
|
models = [];
|
|
1199
|
+
multiGeometry = [];
|
|
1184
1200
|
polygons = [];
|
|
1185
1201
|
polylines = [];
|
|
1186
1202
|
points = [];
|
|
@@ -1207,7 +1223,7 @@ var EntityRenderEngine;
|
|
|
1207
1223
|
entityId: id,
|
|
1208
1224
|
menuItemId: params.menuItemId
|
|
1209
1225
|
});
|
|
1210
|
-
oldRenderId = (
|
|
1226
|
+
oldRenderId = (_b = existingRego === null || existingRego === void 0 ? void 0 : existingRego.visual) === null || _b === void 0 ? void 0 : _b._renderGroup;
|
|
1211
1227
|
if (newRenderId == oldRenderId && !(existingRego === null || existingRego === void 0 ? void 0 : existingRego.stale)) {
|
|
1212
1228
|
cEntities[id] = existingRego.visual;
|
|
1213
1229
|
}
|
|
@@ -1216,7 +1232,12 @@ var EntityRenderEngine;
|
|
|
1216
1232
|
models.push(entity);
|
|
1217
1233
|
}
|
|
1218
1234
|
else if (displayType == ZoomControl.EDisplayType.Geometry) {
|
|
1219
|
-
|
|
1235
|
+
if ((_d = (_c = entity.geometry) === null || _c === void 0 ? void 0 : _c.MultiGeometry) === null || _d === void 0 ? void 0 : _d.length) {
|
|
1236
|
+
multiGeometry.push(entity);
|
|
1237
|
+
}
|
|
1238
|
+
else {
|
|
1239
|
+
polygons.push(entity);
|
|
1240
|
+
}
|
|
1220
1241
|
}
|
|
1221
1242
|
else {
|
|
1222
1243
|
points.push(entity);
|
|
@@ -1229,7 +1250,7 @@ var EntityRenderEngine;
|
|
|
1229
1250
|
mParams = __assign(__assign({}, groupRenderParams), { entities: models });
|
|
1230
1251
|
return [4 /*yield*/, Model3d.RenderGroup(mParams)];
|
|
1231
1252
|
case 1:
|
|
1232
|
-
mEntities =
|
|
1253
|
+
mEntities = _e.sent();
|
|
1233
1254
|
for (i = 0; i < mParams.entities.length; i++) {
|
|
1234
1255
|
entity = mParams.entities[i];
|
|
1235
1256
|
id = entity.Bruce.ID;
|
|
@@ -1238,16 +1259,84 @@ var EntityRenderEngine;
|
|
|
1238
1259
|
cEntities[id] = cEntity;
|
|
1239
1260
|
}
|
|
1240
1261
|
else {
|
|
1241
|
-
|
|
1262
|
+
multiGeometry.push(entity);
|
|
1242
1263
|
}
|
|
1243
1264
|
}
|
|
1244
|
-
|
|
1265
|
+
_e.label = 2;
|
|
1245
1266
|
case 2:
|
|
1246
|
-
if (!(
|
|
1267
|
+
if (!(multiGeometry.length > 0)) return [3 /*break*/, 6];
|
|
1268
|
+
_loop_1 = function (i) {
|
|
1269
|
+
var entity, pParams, zoomItem, j, subEntity, cPoly, rendered, cLines, cPoints, rootEntity, firstEntity;
|
|
1270
|
+
return __generator(this, function (_a) {
|
|
1271
|
+
switch (_a.label) {
|
|
1272
|
+
case 0:
|
|
1273
|
+
entity = multiGeometry[i];
|
|
1274
|
+
pParams = __assign(__assign({}, groupRenderParams), { entities: [] });
|
|
1275
|
+
zoomItem = pParams.zoomItems[entity.Bruce.ID];
|
|
1276
|
+
for (j = 0; j < entity.geometry.MultiGeometry.length; j++) {
|
|
1277
|
+
subEntity = __assign(__assign({}, entity), { geometry: entity.geometry.MultiGeometry[j], Bruce: __assign(__assign({}, entity.Bruce), { ID: ObjectUtils.UId() }) });
|
|
1278
|
+
pParams.zoomItems[subEntity.Bruce.ID] = zoomItem;
|
|
1279
|
+
pParams.entities.push(subEntity);
|
|
1280
|
+
}
|
|
1281
|
+
return [4 /*yield*/, Polygon.RenderGroup(pParams)];
|
|
1282
|
+
case 1:
|
|
1283
|
+
cPoly = _a.sent();
|
|
1284
|
+
Object.keys(cPoly).forEach(function (key) {
|
|
1285
|
+
if (cPoly[key]) {
|
|
1286
|
+
pParams.entities = pParams.entities.filter(function (e) { return e.Bruce.ID != key; });
|
|
1287
|
+
}
|
|
1288
|
+
});
|
|
1289
|
+
rendered = Object.values(cPoly);
|
|
1290
|
+
return [4 /*yield*/, Polyline.RenderGroup(pParams)];
|
|
1291
|
+
case 2:
|
|
1292
|
+
cLines = _a.sent();
|
|
1293
|
+
Object.keys(cLines).forEach(function (key) {
|
|
1294
|
+
if (cLines[key]) {
|
|
1295
|
+
pParams.entities = pParams.entities.filter(function (e) { return e.Bruce.ID != key; });
|
|
1296
|
+
}
|
|
1297
|
+
});
|
|
1298
|
+
rendered = rendered.concat(Object.values(cLines));
|
|
1299
|
+
return [4 /*yield*/, Point.RenderGroup(pParams)];
|
|
1300
|
+
case 3:
|
|
1301
|
+
cPoints = _a.sent();
|
|
1302
|
+
rendered = rendered.concat(Object.values(cPoints));
|
|
1303
|
+
rendered = rendered.filter(function (x) { return x != null; });
|
|
1304
|
+
if (rendered.length) {
|
|
1305
|
+
rootEntity = new Entity({});
|
|
1306
|
+
params.viewer.entities.add(rootEntity);
|
|
1307
|
+
rootEntity._siblingGraphics = [];
|
|
1308
|
+
rootEntity._renderGroup = getRenderGroupId(zoomItem);
|
|
1309
|
+
rootEntity._siblingGraphics = rootEntity._siblingGraphics.concat(rendered);
|
|
1310
|
+
cEntities[entity.Bruce.ID] = rootEntity;
|
|
1311
|
+
firstEntity = rendered[0];
|
|
1312
|
+
if (firstEntity) {
|
|
1313
|
+
rootEntity.position = getValue(params.viewer, firstEntity.position.getValue);
|
|
1314
|
+
}
|
|
1315
|
+
}
|
|
1316
|
+
else {
|
|
1317
|
+
polygons.push(entity);
|
|
1318
|
+
}
|
|
1319
|
+
return [2 /*return*/];
|
|
1320
|
+
}
|
|
1321
|
+
});
|
|
1322
|
+
};
|
|
1323
|
+
i = 0;
|
|
1324
|
+
_e.label = 3;
|
|
1325
|
+
case 3:
|
|
1326
|
+
if (!(i < multiGeometry.length)) return [3 /*break*/, 6];
|
|
1327
|
+
return [5 /*yield**/, _loop_1(i)];
|
|
1328
|
+
case 4:
|
|
1329
|
+
_e.sent();
|
|
1330
|
+
_e.label = 5;
|
|
1331
|
+
case 5:
|
|
1332
|
+
i++;
|
|
1333
|
+
return [3 /*break*/, 3];
|
|
1334
|
+
case 6:
|
|
1335
|
+
if (!(polygons.length > 0)) return [3 /*break*/, 8];
|
|
1247
1336
|
pParams = __assign(__assign({}, groupRenderParams), { entities: polygons });
|
|
1248
1337
|
return [4 /*yield*/, Polygon.RenderGroup(pParams)];
|
|
1249
|
-
case
|
|
1250
|
-
pEntities =
|
|
1338
|
+
case 7:
|
|
1339
|
+
pEntities = _e.sent();
|
|
1251
1340
|
for (i = 0; i < pParams.entities.length; i++) {
|
|
1252
1341
|
entity = pParams.entities[i];
|
|
1253
1342
|
cEntity = pEntities[entity.Bruce.ID];
|
|
@@ -1258,13 +1347,13 @@ var EntityRenderEngine;
|
|
|
1258
1347
|
polylines.push(entity);
|
|
1259
1348
|
}
|
|
1260
1349
|
}
|
|
1261
|
-
|
|
1262
|
-
case
|
|
1263
|
-
if (!(polylines.length > 0)) return [3 /*break*/,
|
|
1350
|
+
_e.label = 8;
|
|
1351
|
+
case 8:
|
|
1352
|
+
if (!(polylines.length > 0)) return [3 /*break*/, 10];
|
|
1264
1353
|
pParams = __assign(__assign({}, groupRenderParams), { entities: polylines });
|
|
1265
1354
|
return [4 /*yield*/, Polyline.RenderGroup(pParams)];
|
|
1266
|
-
case
|
|
1267
|
-
pEntities =
|
|
1355
|
+
case 9:
|
|
1356
|
+
pEntities = _e.sent();
|
|
1268
1357
|
for (i = 0; i < pParams.entities.length; i++) {
|
|
1269
1358
|
entity = pParams.entities[i];
|
|
1270
1359
|
cEntity = pEntities[entity.Bruce.ID];
|
|
@@ -1275,13 +1364,13 @@ var EntityRenderEngine;
|
|
|
1275
1364
|
points.push(entity);
|
|
1276
1365
|
}
|
|
1277
1366
|
}
|
|
1278
|
-
|
|
1279
|
-
case
|
|
1280
|
-
if (!(points.length > 0)) return [3 /*break*/,
|
|
1367
|
+
_e.label = 10;
|
|
1368
|
+
case 10:
|
|
1369
|
+
if (!(points.length > 0)) return [3 /*break*/, 12];
|
|
1281
1370
|
pParams = __assign(__assign({}, groupRenderParams), { entities: points });
|
|
1282
1371
|
return [4 /*yield*/, Point.RenderGroup(pParams)];
|
|
1283
|
-
case
|
|
1284
|
-
pEntities =
|
|
1372
|
+
case 11:
|
|
1373
|
+
pEntities = _e.sent();
|
|
1285
1374
|
for (i = 0; i < pParams.entities.length; i++) {
|
|
1286
1375
|
entity = pParams.entities[i];
|
|
1287
1376
|
cEntity = pEntities[entity.Bruce.ID];
|
|
@@ -1289,8 +1378,8 @@ var EntityRenderEngine;
|
|
|
1289
1378
|
cEntities[entity.Bruce.ID] = cEntity;
|
|
1290
1379
|
}
|
|
1291
1380
|
}
|
|
1292
|
-
|
|
1293
|
-
case
|
|
1381
|
+
_e.label = 12;
|
|
1382
|
+
case 12: return [2 /*return*/, cEntities];
|
|
1294
1383
|
}
|
|
1295
1384
|
});
|
|
1296
1385
|
});
|
|
@@ -1785,7 +1874,7 @@ var EntityRenderEngine;
|
|
|
1785
1874
|
function RenderGroup(params) {
|
|
1786
1875
|
var _a, _b, _c, _d;
|
|
1787
1876
|
return __awaiter(this, void 0, void 0, function () {
|
|
1788
|
-
var api, cEntities, reqBody, i, entity, zoomItem, style, tagIds, tags, mStyle, group, level, catId, lodData,
|
|
1877
|
+
var api, cEntities, reqBody, i, entity, zoomItem, style, tagIds, tags, mStyle, group, level, catId, lodData, _loop_2, i;
|
|
1789
1878
|
return __generator(this, function (_e) {
|
|
1790
1879
|
switch (_e.label) {
|
|
1791
1880
|
case 0:
|
|
@@ -1845,7 +1934,7 @@ var EntityRenderEngine;
|
|
|
1845
1934
|
})];
|
|
1846
1935
|
case 7:
|
|
1847
1936
|
lodData = (_e.sent()).lods;
|
|
1848
|
-
|
|
1937
|
+
_loop_2 = function (i) {
|
|
1849
1938
|
var entity, zoomItem, style, tagIds, tags, lod, mStyle, cEntity;
|
|
1850
1939
|
return __generator(this, function (_a) {
|
|
1851
1940
|
switch (_a.label) {
|
|
@@ -1894,7 +1983,7 @@ var EntityRenderEngine;
|
|
|
1894
1983
|
_e.label = 8;
|
|
1895
1984
|
case 8:
|
|
1896
1985
|
if (!(i < params.entities.length)) return [3 /*break*/, 11];
|
|
1897
|
-
return [5 /*yield**/,
|
|
1986
|
+
return [5 /*yield**/, _loop_2(i)];
|
|
1898
1987
|
case 9:
|
|
1899
1988
|
_e.sent();
|
|
1900
1989
|
_e.label = 10;
|