bruce-cesium 1.2.8 → 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 +110 -29
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +108 -27
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/rendering/entity-render-engine.js +108 -27
- package/dist/lib/rendering/entity-render-engine.js.map +1 -1
- package/package.json +1 -1
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,
|
|
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, _b;
|
|
1175
|
+
var _a, _b, _c, _d;
|
|
1169
1176
|
return __awaiter(this, void 0, void 0, function () {
|
|
1170
|
-
var groupRenderParams, i, entity, geometry, 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,
|
|
@@ -1184,11 +1191,12 @@ var EntityRenderEngine;
|
|
|
1184
1191
|
entity = params.entities[i];
|
|
1185
1192
|
geometry = entity.geometry;
|
|
1186
1193
|
if (((_a = geometry === null || geometry === void 0 ? void 0 : geometry.MultiGeometry) === null || _a === void 0 ? void 0 : _a.length) == 1) {
|
|
1187
|
-
entity.geometry = __assign(__assign({}, entity.geometry), geometry.MultiGeometry[0]);
|
|
1194
|
+
entity.geometry = __assign(__assign(__assign({}, entity.geometry), geometry.MultiGeometry[0]), { MultiGeometry: [] });
|
|
1188
1195
|
}
|
|
1189
1196
|
}
|
|
1190
1197
|
cEntities = {};
|
|
1191
1198
|
models = [];
|
|
1199
|
+
multiGeometry = [];
|
|
1192
1200
|
polygons = [];
|
|
1193
1201
|
polylines = [];
|
|
1194
1202
|
points = [];
|
|
@@ -1224,7 +1232,12 @@ var EntityRenderEngine;
|
|
|
1224
1232
|
models.push(entity);
|
|
1225
1233
|
}
|
|
1226
1234
|
else if (displayType == ZoomControl.EDisplayType.Geometry) {
|
|
1227
|
-
|
|
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
|
+
}
|
|
1228
1241
|
}
|
|
1229
1242
|
else {
|
|
1230
1243
|
points.push(entity);
|
|
@@ -1237,7 +1250,7 @@ var EntityRenderEngine;
|
|
|
1237
1250
|
mParams = __assign(__assign({}, groupRenderParams), { entities: models });
|
|
1238
1251
|
return [4 /*yield*/, Model3d.RenderGroup(mParams)];
|
|
1239
1252
|
case 1:
|
|
1240
|
-
mEntities =
|
|
1253
|
+
mEntities = _e.sent();
|
|
1241
1254
|
for (i = 0; i < mParams.entities.length; i++) {
|
|
1242
1255
|
entity = mParams.entities[i];
|
|
1243
1256
|
id = entity.Bruce.ID;
|
|
@@ -1246,16 +1259,84 @@ var EntityRenderEngine;
|
|
|
1246
1259
|
cEntities[id] = cEntity;
|
|
1247
1260
|
}
|
|
1248
1261
|
else {
|
|
1249
|
-
|
|
1262
|
+
multiGeometry.push(entity);
|
|
1250
1263
|
}
|
|
1251
1264
|
}
|
|
1252
|
-
|
|
1265
|
+
_e.label = 2;
|
|
1253
1266
|
case 2:
|
|
1254
|
-
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];
|
|
1255
1336
|
pParams = __assign(__assign({}, groupRenderParams), { entities: polygons });
|
|
1256
1337
|
return [4 /*yield*/, Polygon.RenderGroup(pParams)];
|
|
1257
|
-
case
|
|
1258
|
-
pEntities =
|
|
1338
|
+
case 7:
|
|
1339
|
+
pEntities = _e.sent();
|
|
1259
1340
|
for (i = 0; i < pParams.entities.length; i++) {
|
|
1260
1341
|
entity = pParams.entities[i];
|
|
1261
1342
|
cEntity = pEntities[entity.Bruce.ID];
|
|
@@ -1266,13 +1347,13 @@ var EntityRenderEngine;
|
|
|
1266
1347
|
polylines.push(entity);
|
|
1267
1348
|
}
|
|
1268
1349
|
}
|
|
1269
|
-
|
|
1270
|
-
case
|
|
1271
|
-
if (!(polylines.length > 0)) return [3 /*break*/,
|
|
1350
|
+
_e.label = 8;
|
|
1351
|
+
case 8:
|
|
1352
|
+
if (!(polylines.length > 0)) return [3 /*break*/, 10];
|
|
1272
1353
|
pParams = __assign(__assign({}, groupRenderParams), { entities: polylines });
|
|
1273
1354
|
return [4 /*yield*/, Polyline.RenderGroup(pParams)];
|
|
1274
|
-
case
|
|
1275
|
-
pEntities =
|
|
1355
|
+
case 9:
|
|
1356
|
+
pEntities = _e.sent();
|
|
1276
1357
|
for (i = 0; i < pParams.entities.length; i++) {
|
|
1277
1358
|
entity = pParams.entities[i];
|
|
1278
1359
|
cEntity = pEntities[entity.Bruce.ID];
|
|
@@ -1283,13 +1364,13 @@ var EntityRenderEngine;
|
|
|
1283
1364
|
points.push(entity);
|
|
1284
1365
|
}
|
|
1285
1366
|
}
|
|
1286
|
-
|
|
1287
|
-
case
|
|
1288
|
-
if (!(points.length > 0)) return [3 /*break*/,
|
|
1367
|
+
_e.label = 10;
|
|
1368
|
+
case 10:
|
|
1369
|
+
if (!(points.length > 0)) return [3 /*break*/, 12];
|
|
1289
1370
|
pParams = __assign(__assign({}, groupRenderParams), { entities: points });
|
|
1290
1371
|
return [4 /*yield*/, Point.RenderGroup(pParams)];
|
|
1291
|
-
case
|
|
1292
|
-
pEntities =
|
|
1372
|
+
case 11:
|
|
1373
|
+
pEntities = _e.sent();
|
|
1293
1374
|
for (i = 0; i < pParams.entities.length; i++) {
|
|
1294
1375
|
entity = pParams.entities[i];
|
|
1295
1376
|
cEntity = pEntities[entity.Bruce.ID];
|
|
@@ -1297,8 +1378,8 @@ var EntityRenderEngine;
|
|
|
1297
1378
|
cEntities[entity.Bruce.ID] = cEntity;
|
|
1298
1379
|
}
|
|
1299
1380
|
}
|
|
1300
|
-
|
|
1301
|
-
case
|
|
1381
|
+
_e.label = 12;
|
|
1382
|
+
case 12: return [2 /*return*/, cEntities];
|
|
1302
1383
|
}
|
|
1303
1384
|
});
|
|
1304
1385
|
});
|
|
@@ -1793,7 +1874,7 @@ var EntityRenderEngine;
|
|
|
1793
1874
|
function RenderGroup(params) {
|
|
1794
1875
|
var _a, _b, _c, _d;
|
|
1795
1876
|
return __awaiter(this, void 0, void 0, function () {
|
|
1796
|
-
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;
|
|
1797
1878
|
return __generator(this, function (_e) {
|
|
1798
1879
|
switch (_e.label) {
|
|
1799
1880
|
case 0:
|
|
@@ -1853,7 +1934,7 @@ var EntityRenderEngine;
|
|
|
1853
1934
|
})];
|
|
1854
1935
|
case 7:
|
|
1855
1936
|
lodData = (_e.sent()).lods;
|
|
1856
|
-
|
|
1937
|
+
_loop_2 = function (i) {
|
|
1857
1938
|
var entity, zoomItem, style, tagIds, tags, lod, mStyle, cEntity;
|
|
1858
1939
|
return __generator(this, function (_a) {
|
|
1859
1940
|
switch (_a.label) {
|
|
@@ -1902,7 +1983,7 @@ var EntityRenderEngine;
|
|
|
1902
1983
|
_e.label = 8;
|
|
1903
1984
|
case 8:
|
|
1904
1985
|
if (!(i < params.entities.length)) return [3 /*break*/, 11];
|
|
1905
|
-
return [5 /*yield**/,
|
|
1986
|
+
return [5 /*yield**/, _loop_2(i)];
|
|
1906
1987
|
case 9:
|
|
1907
1988
|
_e.sent();
|
|
1908
1989
|
_e.label = 10;
|