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.
@@ -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, JulianDate, SceneMode, HeightReference, DistanceDisplayCondition, NearFarScalar, Entity, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Model, 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, EllipsoidGeodesic, sampleTerrainMostDetailed, defined, Cesium3DTileset, CesiumInspector, Matrix4, Matrix3, IonResource, Ion, ScreenSpaceEventHandler, ScreenSpaceEventType, PolygonPipeline, ColorMaterialProperty, GeometryInstance, BoundingSphere, Intersect } from 'cesium';
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, lat, lon, e_1, e_2, evaluateRendered, evaluateRecord, renderedPosses, recordPosses, tSettings, pos3d, alt, alt, heading, pitch, roll, matrix4, offset, m1, hpr, transform, transformedOffset;
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, _l, _m;
1241
- return __generator(this, function (_o) {
1242
- switch (_o.label) {
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*/, 9];
1246
- lat = 0;
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
- _o.label = 1;
1248
+ _l.label = 1;
1252
1249
  case 1:
1253
- _o.trys.push([1, 3, , 4]);
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 = (_o.sent()).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 = _o.sent();
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 10:
1469
- renderedPosses = _o.sent();
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 11:
1475
- recordPosses = _o.sent();
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 (!!tileset) return [3 /*break*/, 13];
1480
- if (!(tilesetId && apiCalls < MAX_API_CALLS)) return [3 /*break*/, 13];
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 (!(((_d = entity.location) === null || _d === void 0 ? void 0 : _d.longitude) || ((_e = tSettings === null || tSettings === void 0 ? void 0 : tSettings.location) === null || _e === void 0 ? void 0 : _e.longitude))) return [3 /*break*/, 15];
1493
- if ((_f = entity === null || entity === void 0 ? void 0 : entity.location) === null || _f === void 0 ? void 0 : _f.longitude) {
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*/, 15];
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 ((_g = entity === null || entity === void 0 ? void 0 : entity.transform) === null || _g === void 0 ? void 0 : _g.heading) {
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 ((_h = tSettings === null || tSettings === void 0 ? void 0 : tSettings.transform) === null || _h === void 0 ? void 0 : _h.heading) {
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 ((_j = entity === null || entity === void 0 ? void 0 : entity.transform) === null || _j === void 0 ? void 0 : _j.pitch) {
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 ((_k = tSettings === null || tSettings === void 0 ? void 0 : tSettings.transform) === null || _k === void 0 ? void 0 : _k.pitch) {
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 ((_l = entity === null || entity === void 0 ? void 0 : entity.transform) === null || _l === void 0 ? void 0 : _l.roll) {
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 ((_m = tSettings === null || tSettings === void 0 ? void 0 : tSettings.transform) === null || _m === void 0 ? void 0 : _m.roll) {
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*/, 15];
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.9";
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