bruce-cesium 3.0.9 → 3.1.0
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 +64 -69
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +63 -68
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +1 -1
- package/dist/lib/rendering/entity-render-engine.js +4 -0
- package/dist/lib/rendering/entity-render-engine.js.map +1 -1
- package/dist/lib/utils/entity-utils.js +58 -67
- package/dist/lib/utils/entity-utils.js.map +1 -1
- package/dist/types/bruce-cesium.d.ts +1 -1
- package/dist/types/rendering/entity-render-engine.d.ts +12 -0
- package/package.json +1 -1
package/dist/bruce-cesium.es5.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BruceEvent, Cartes, ProjectViewTile, Carto, Entity as Entity$1, Geometry, Tileset, MathUtils, LRUCache, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, ObjectUtils, Bounds, EntityRelationType, DelayQueue, EntityCoords, Api, EntitySource, MenuItem, EntityRelation, ENVIRONMENT, ProjectView, ProjectViewBookmark, ProjectViewLegacyTile, ProgramKey, Camera, AbstractApi, EntityAttachment, EntityAttachmentType, EntityAttribute } from 'bruce-models';
|
|
2
2
|
import * as Cesium from 'cesium';
|
|
3
|
-
import { Cartographic, Cartesian2, CallbackProperty, Cartesian3, Color, Rectangle, Math as Math$1,
|
|
3
|
+
import { Cartographic, Cartesian2, CallbackProperty, Cartesian3, Color, Rectangle, Math as Math$1, HeightReference, DistanceDisplayCondition, NearFarScalar, Entity, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Model, JulianDate, SceneMode, Primitive, Cesium3DTileFeature, Cesium3DTileColorBlendMode, HeadingPitchRange, createOsmBuildings, Cesium3DTileStyle, KmlDataSource, SceneTransforms, OrthographicFrustum, EasingFunction, createWorldTerrain, EllipsoidTerrainProvider, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, Cesium3DTileset, Matrix4, Matrix3, IonResource, Ion, CesiumInspector, defined, PolygonPipeline, EllipsoidGeodesic, sampleTerrainMostDetailed, ColorMaterialProperty, GeometryInstance, ScreenSpaceEventHandler, ScreenSpaceEventType, BoundingSphere, Intersect } from 'cesium';
|
|
4
4
|
|
|
5
5
|
var TIME_LAG = 300;
|
|
6
6
|
var POSITION_CHECK_TIMER = 950;
|
|
@@ -1235,67 +1235,36 @@ var EntityUtils;
|
|
|
1235
1235
|
});
|
|
1236
1236
|
}); };
|
|
1237
1237
|
getEntityPositions = function (sample) { return __awaiter(_this, void 0, void 0, function () {
|
|
1238
|
-
var entityId, entity, tileset, tilesetId,
|
|
1238
|
+
var entityId, entity, tileset, tilesetId, e_1, evaluateRendered, evaluateRecord, renderedPosses, recordPosses, e_2, tSettings, pos3d, alt, alt, heading, pitch, roll, matrix4, offset, m1, hpr, transform, transformedOffset;
|
|
1239
1239
|
var _this = this;
|
|
1240
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k
|
|
1241
|
-
return __generator(this, function (
|
|
1242
|
-
switch (
|
|
1240
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
1241
|
+
return __generator(this, function (_l) {
|
|
1242
|
+
switch (_l.label) {
|
|
1243
1243
|
case 0:
|
|
1244
1244
|
entityId = sample.entityId, entity = sample.entity, tileset = sample.tileset, tilesetId = sample.tilesetId;
|
|
1245
|
-
if (!!entity) return [3 /*break*/,
|
|
1246
|
-
|
|
1247
|
-
lon = 0;
|
|
1248
|
-
if (!(apiCalls < MAX_API_CALLS)) return [3 /*break*/, 9];
|
|
1249
|
-
// Counting this whole area as a single call because it has a single purpose.
|
|
1245
|
+
if (!!entity) return [3 /*break*/, 4];
|
|
1246
|
+
if (!(apiCalls < MAX_API_CALLS)) return [3 /*break*/, 4];
|
|
1250
1247
|
apiCalls += 1;
|
|
1251
|
-
|
|
1248
|
+
_l.label = 1;
|
|
1252
1249
|
case 1:
|
|
1253
|
-
|
|
1250
|
+
_l.trys.push([1, 3, , 4]);
|
|
1254
1251
|
return [4 /*yield*/, Entity$1.Get({
|
|
1255
1252
|
api: api,
|
|
1256
1253
|
entityId: entityId,
|
|
1254
|
+
// Not expanding relative positions at first to see if the entity has valid location just by itself.
|
|
1257
1255
|
expandLocation: false
|
|
1258
1256
|
})];
|
|
1259
1257
|
case 2:
|
|
1260
|
-
entity = (
|
|
1261
|
-
lat = +((_a = entity === null || entity === void 0 ? void 0 : entity.location) === null || _a === void 0 ? void 0 : _a.latitude);
|
|
1262
|
-
lon = +((_b = entity === null || entity === void 0 ? void 0 : entity.location) === null || _b === void 0 ? void 0 : _b.longitude);
|
|
1258
|
+
entity = (_l.sent()).entity;
|
|
1263
1259
|
return [3 /*break*/, 4];
|
|
1264
1260
|
case 3:
|
|
1265
|
-
e_1 =
|
|
1261
|
+
e_1 = _l.sent();
|
|
1266
1262
|
console.error(e_1);
|
|
1267
1263
|
return [3 /*break*/, 4];
|
|
1268
1264
|
case 4:
|
|
1269
|
-
if (!(entity && (isNaN(lat) || isNaN(lon) || (lat == 0 && lon == 0)))) return [3 /*break*/, 9];
|
|
1270
|
-
_o.label = 5;
|
|
1271
|
-
case 5:
|
|
1272
|
-
_o.trys.push([5, 7, , 9]);
|
|
1273
|
-
return [4 /*yield*/, Entity$1.Get({
|
|
1274
|
-
api: api,
|
|
1275
|
-
entityId: entityId,
|
|
1276
|
-
expandLocation: true
|
|
1277
|
-
})];
|
|
1278
|
-
case 6:
|
|
1279
|
-
entity = (_o.sent()).entity;
|
|
1280
|
-
return [3 /*break*/, 9];
|
|
1281
|
-
case 7:
|
|
1282
|
-
e_2 = _o.sent();
|
|
1283
|
-
console.warn(e_2);
|
|
1284
|
-
return [4 /*yield*/, Entity$1.Get({
|
|
1285
|
-
api: api,
|
|
1286
|
-
entityId: entityId,
|
|
1287
|
-
expandLocation: false
|
|
1288
|
-
})];
|
|
1289
|
-
case 8:
|
|
1290
|
-
entity = (_o.sent()).entity;
|
|
1291
|
-
return [3 /*break*/, 9];
|
|
1292
|
-
case 9:
|
|
1293
1265
|
if (!entity) {
|
|
1294
1266
|
return [2 /*return*/, []];
|
|
1295
1267
|
}
|
|
1296
|
-
if (!tilesetId) {
|
|
1297
|
-
tilesetId = ((_c = entity.tilesetID) === null || _c === void 0 ? void 0 : _c.length) ? entity.tilesetID[0] : tilesetId;
|
|
1298
|
-
}
|
|
1299
1268
|
evaluateRendered = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
1300
1269
|
var rego, posses, visual, visualHeightRef, hierarchy, hPosses, hPossesSample, step, i, pPosses, pPossesSample, step, i, pPosses, pPossesSample, step, i, pos3d_1;
|
|
1301
1270
|
return __generator(this, function (_a) {
|
|
@@ -1318,7 +1287,7 @@ var EntityUtils;
|
|
|
1318
1287
|
if (!(hierarchy === null || hierarchy === void 0 ? void 0 : hierarchy.positions)) return [3 /*break*/, 3];
|
|
1319
1288
|
hPosses = hierarchy.positions.map(function (x) { return x.clone ? x.clone() : x; });
|
|
1320
1289
|
hPossesSample = [];
|
|
1321
|
-
step = Math.floor(hPosses.length / 5);
|
|
1290
|
+
step = Math.max(1, Math.floor(hPosses.length / 5));
|
|
1322
1291
|
for (i = 0; i < hPosses.length; i += step) {
|
|
1323
1292
|
hPossesSample.push(hPosses[i]);
|
|
1324
1293
|
}
|
|
@@ -1337,7 +1306,7 @@ var EntityUtils;
|
|
|
1337
1306
|
// Grab 5 positions from the polyline at varied indexes.
|
|
1338
1307
|
pPosses = pPosses.map(function (x) { return x.clone ? x.clone() : x; });
|
|
1339
1308
|
pPossesSample = [];
|
|
1340
|
-
step = Math.floor(pPosses.length / 5);
|
|
1309
|
+
step = Math.max(1, Math.floor(pPosses.length / 5));
|
|
1341
1310
|
for (i = 0; i < pPosses.length; i += step) {
|
|
1342
1311
|
pPossesSample.push(pPosses[i]);
|
|
1343
1312
|
}
|
|
@@ -1359,7 +1328,7 @@ var EntityUtils;
|
|
|
1359
1328
|
// Grab 5 positions from the corridor at varied indexes.
|
|
1360
1329
|
pPosses = pPosses.map(function (x) { return x.clone ? x.clone() : x; });
|
|
1361
1330
|
pPossesSample = [];
|
|
1362
|
-
step = Math.floor(pPosses.length / 5);
|
|
1331
|
+
step = Math.max(1, Math.floor(pPosses.length / 5));
|
|
1363
1332
|
for (i = 0; i < pPosses.length; i += step) {
|
|
1364
1333
|
pPossesSample.push(pPosses[i]);
|
|
1365
1334
|
}
|
|
@@ -1465,32 +1434,54 @@ var EntityUtils;
|
|
|
1465
1434
|
});
|
|
1466
1435
|
}); };
|
|
1467
1436
|
return [4 /*yield*/, evaluateRendered()];
|
|
1468
|
-
case
|
|
1469
|
-
renderedPosses =
|
|
1437
|
+
case 5:
|
|
1438
|
+
renderedPosses = _l.sent();
|
|
1470
1439
|
if (renderedPosses === null || renderedPosses === void 0 ? void 0 : renderedPosses.length) {
|
|
1471
1440
|
return [2 /*return*/, renderedPosses];
|
|
1472
1441
|
}
|
|
1473
1442
|
return [4 /*yield*/, evaluateRecord()];
|
|
1474
|
-
case
|
|
1475
|
-
recordPosses =
|
|
1443
|
+
case 6:
|
|
1444
|
+
recordPosses = _l.sent();
|
|
1476
1445
|
if (recordPosses === null || recordPosses === void 0 ? void 0 : recordPosses.length) {
|
|
1477
1446
|
return [2 /*return*/, recordPosses];
|
|
1478
1447
|
}
|
|
1479
|
-
if (
|
|
1480
|
-
|
|
1448
|
+
if (!(apiCalls < MAX_API_CALLS)) return [3 /*break*/, 10];
|
|
1449
|
+
_l.label = 7;
|
|
1450
|
+
case 7:
|
|
1451
|
+
_l.trys.push([7, 9, , 10]);
|
|
1452
|
+
apiCalls += 1;
|
|
1453
|
+
return [4 /*yield*/, Entity$1.Get({
|
|
1454
|
+
api: api,
|
|
1455
|
+
entityId: entityId,
|
|
1456
|
+
// We'll be expanding relative positioning and related tilesets now.
|
|
1457
|
+
expandLocation: true
|
|
1458
|
+
})];
|
|
1459
|
+
case 8:
|
|
1460
|
+
entity = (_l.sent()).entity;
|
|
1461
|
+
return [3 /*break*/, 10];
|
|
1462
|
+
case 9:
|
|
1463
|
+
e_2 = _l.sent();
|
|
1464
|
+
console.warn(e_2);
|
|
1465
|
+
return [3 /*break*/, 10];
|
|
1466
|
+
case 10:
|
|
1467
|
+
if (!tilesetId) {
|
|
1468
|
+
tilesetId = ((_a = entity.tilesetID) === null || _a === void 0 ? void 0 : _a.length) ? entity.tilesetID[0] : tilesetId;
|
|
1469
|
+
}
|
|
1470
|
+
if (!!tileset) return [3 /*break*/, 12];
|
|
1471
|
+
if (!(tilesetId && apiCalls < MAX_API_CALLS)) return [3 /*break*/, 12];
|
|
1481
1472
|
apiCalls += 1;
|
|
1482
1473
|
return [4 /*yield*/, Tileset.Get({
|
|
1483
1474
|
api: api,
|
|
1484
1475
|
tilesetId: tilesetId
|
|
1485
1476
|
})];
|
|
1477
|
+
case 11:
|
|
1478
|
+
tileset = (_l.sent()).tileset;
|
|
1479
|
+
_l.label = 12;
|
|
1486
1480
|
case 12:
|
|
1487
|
-
tileset = (_o.sent()).tileset;
|
|
1488
|
-
_o.label = 13;
|
|
1489
|
-
case 13:
|
|
1490
1481
|
tSettings = tileset === null || tileset === void 0 ? void 0 : tileset.settings;
|
|
1491
1482
|
pos3d = null;
|
|
1492
|
-
if (!(((
|
|
1493
|
-
if ((
|
|
1483
|
+
if (!(((_b = entity === null || entity === void 0 ? void 0 : entity.location) === null || _b === void 0 ? void 0 : _b.longitude) || ((_c = tSettings === null || tSettings === void 0 ? void 0 : tSettings.location) === null || _c === void 0 ? void 0 : _c.longitude))) return [3 /*break*/, 14];
|
|
1484
|
+
if ((_d = entity === null || entity === void 0 ? void 0 : entity.location) === null || _d === void 0 ? void 0 : _d.longitude) {
|
|
1494
1485
|
alt = +entity.location.altitude;
|
|
1495
1486
|
if (isNaN(alt)) {
|
|
1496
1487
|
alt = 0;
|
|
@@ -1504,26 +1495,26 @@ var EntityUtils;
|
|
|
1504
1495
|
}
|
|
1505
1496
|
pos3d = Cartesian3.fromDegrees(+tSettings.location.longitude, +tSettings.location.latitude, alt);
|
|
1506
1497
|
}
|
|
1507
|
-
if (!(entity === null || entity === void 0 ? void 0 : entity.worldPosition)) return [3 /*break*/,
|
|
1498
|
+
if (!(entity === null || entity === void 0 ? void 0 : entity.worldPosition)) return [3 /*break*/, 14];
|
|
1508
1499
|
heading = 0;
|
|
1509
1500
|
pitch = 0;
|
|
1510
1501
|
roll = 0;
|
|
1511
|
-
if ((
|
|
1502
|
+
if ((_e = entity === null || entity === void 0 ? void 0 : entity.transform) === null || _e === void 0 ? void 0 : _e.heading) {
|
|
1512
1503
|
heading = entity.transform.heading;
|
|
1513
1504
|
}
|
|
1514
|
-
else if ((
|
|
1505
|
+
else if ((_f = tSettings === null || tSettings === void 0 ? void 0 : tSettings.transform) === null || _f === void 0 ? void 0 : _f.heading) {
|
|
1515
1506
|
heading = tSettings.transform.heading;
|
|
1516
1507
|
}
|
|
1517
|
-
if ((
|
|
1508
|
+
if ((_g = entity === null || entity === void 0 ? void 0 : entity.transform) === null || _g === void 0 ? void 0 : _g.pitch) {
|
|
1518
1509
|
pitch = entity.transform.pitch;
|
|
1519
1510
|
}
|
|
1520
|
-
else if ((
|
|
1511
|
+
else if ((_h = tSettings === null || tSettings === void 0 ? void 0 : tSettings.transform) === null || _h === void 0 ? void 0 : _h.pitch) {
|
|
1521
1512
|
pitch = tSettings.transform.pitch;
|
|
1522
1513
|
}
|
|
1523
|
-
if ((
|
|
1514
|
+
if ((_j = entity === null || entity === void 0 ? void 0 : entity.transform) === null || _j === void 0 ? void 0 : _j.roll) {
|
|
1524
1515
|
roll = entity.transform.roll;
|
|
1525
1516
|
}
|
|
1526
|
-
else if ((
|
|
1517
|
+
else if ((_k = tSettings === null || tSettings === void 0 ? void 0 : tSettings.transform) === null || _k === void 0 ? void 0 : _k.roll) {
|
|
1527
1518
|
roll = tSettings.transform.roll;
|
|
1528
1519
|
}
|
|
1529
1520
|
heading = +heading;
|
|
@@ -1549,12 +1540,12 @@ var EntityUtils;
|
|
|
1549
1540
|
transform = Matrix3.fromHeadingPitchRoll(hpr);
|
|
1550
1541
|
transformedOffset = Matrix3.multiplyByVector(transform, offset, new Cartesian3());
|
|
1551
1542
|
pos3d = Matrix4.multiplyByPoint(m1, transformedOffset, new Cartesian3());
|
|
1552
|
-
if (!(pos3d === null || pos3d === void 0 ? void 0 : pos3d.x)) return [3 /*break*/,
|
|
1543
|
+
if (!(pos3d === null || pos3d === void 0 ? void 0 : pos3d.x)) return [3 /*break*/, 14];
|
|
1553
1544
|
return [4 /*yield*/, processPosHeight(pos3d, HeightReference.NONE)];
|
|
1545
|
+
case 13:
|
|
1546
|
+
pos3d = _l.sent();
|
|
1547
|
+
_l.label = 14;
|
|
1554
1548
|
case 14:
|
|
1555
|
-
pos3d = _o.sent();
|
|
1556
|
-
_o.label = 15;
|
|
1557
|
-
case 15:
|
|
1558
1549
|
if (pos3d) {
|
|
1559
1550
|
return [2 /*return*/, [pos3d]];
|
|
1560
1551
|
}
|
|
@@ -3018,6 +3009,10 @@ var EntityRenderEngine;
|
|
|
3018
3009
|
EntityRenderEngine.Remove = Remove;
|
|
3019
3010
|
var Point;
|
|
3020
3011
|
(function (Point) {
|
|
3012
|
+
function CreateCircleBillboard(params) {
|
|
3013
|
+
return createCircleBillboard(params.size, params.colorCss);
|
|
3014
|
+
}
|
|
3015
|
+
Point.CreateCircleBillboard = CreateCircleBillboard;
|
|
3021
3016
|
function Render(params) {
|
|
3022
3017
|
return __awaiter(this, void 0, void 0, function () {
|
|
3023
3018
|
var entity, style, type, cEntity, siblings, iconUrlRows, icon, iconUrl_1, res, blob_1, e_4, e_5, iconScale, disableDepthTest, heightRef, radius, bFill, cFill, outline, cOutline, outlineWidth, bOutline, heightRef, pos3d, extrusion, outlineExtrusion, bColor, cColor, size, heightRef, circleBillboard;
|
|
@@ -18541,7 +18536,7 @@ var ViewerUtils;
|
|
|
18541
18536
|
ViewerUtils.CreateWidgets = CreateWidgets;
|
|
18542
18537
|
})(ViewerUtils || (ViewerUtils = {}));
|
|
18543
18538
|
|
|
18544
|
-
var VERSION$1 = "3.0
|
|
18539
|
+
var VERSION$1 = "3.1.0";
|
|
18545
18540
|
|
|
18546
18541
|
export { VERSION$1 as VERSION, CesiumViewMonitor, ViewerUtils, MenuItemManager, EntityRenderEngine, MenuItemCreator, VisualsRegister, RenderManager, EntitiesIdsRenderManager, EntitiesLoadedRenderManager, EntitiesRenderManager, EntityRenderManager, TilesetCadRenderManager, TilesetArbRenderManager, TilesetEntitiesRenderManager, TilesetOsmRenderManager, TilesetPointcloudRenderManager, TilesetGooglePhotosRenderManager, DataSourceStaticKmlManager, RelationsRenderManager, SharedGetters, CesiumParabola, EntityLabel, ViewRenderEngine, TileRenderEngine, TilesetRenderEngine, CESIUM_INSPECTOR_KEY, ViewUtils, DrawingUtils, MeasureUtils, EntityUtils, Draw3dPolygon, Draw3dPolyline };
|
|
18547
18542
|
//# sourceMappingURL=bruce-cesium.es5.js.map
|