bruce-cesium 3.5.3 → 3.5.5

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, Carto, Entity as Entity$1, Geometry, Tileset, MathUtils, LRUCache, ProjectViewTile, DelayQueue, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, ObjectUtils, Bounds, Api, EntityRelationType, ENVIRONMENT, EntityCoords, EntitySource, MenuItem, EntityRelation, ProgramKey, AbstractApi, ProjectViewBookmark, EntityAttachment, EntityAttachmentType, EntityAttribute, ProjectView, ProjectViewLegacyTile, Camera } from 'bruce-models';
2
2
  import * as Cesium from 'cesium';
3
- import { Cartographic, Cartesian2, Math as Math$1, Cartesian3, CallbackProperty, Color, HeightReference, Rectangle, JulianDate, DistanceDisplayCondition, NearFarScalar, Model, Entity, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Primitive, Cesium3DTileFeature, GeoJsonDataSource, ColorMaterialProperty, SceneMode, Cesium3DTileColorBlendMode, HeadingPitchRange, Ion, Cesium3DTileStyle, KmlDataSource, SceneTransforms, OrthographicFrustum, EasingFunction, EllipsoidTerrainProvider, CesiumInspector, defined, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, EllipsoidGeodesic, sampleTerrainMostDetailed, Cesium3DTileset, Matrix4, Matrix3, IonResource, ScreenSpaceEventHandler, ScreenSpaceEventType, PolygonPipeline, BoundingSphere, GeometryInstance, Intersect, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics } from 'cesium';
3
+ import { Cartographic, Cartesian2, Math as Math$1, Cartesian3, CallbackProperty, Color, HeightReference, Rectangle, JulianDate, Entity, Primitive, Cesium3DTileFeature, SceneMode, DistanceDisplayCondition, NearFarScalar, Model, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, GeoJsonDataSource, ColorMaterialProperty, Cesium3DTileColorBlendMode, HeadingPitchRange, Ion, Cesium3DTileStyle, KmlDataSource, EllipsoidTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, OrthographicFrustum, EasingFunction, SceneTransforms, CesiumInspector, defined, Cesium3DTileset, Matrix4, Matrix3, IonResource, PolygonPipeline, EllipsoidGeodesic, sampleTerrainMostDetailed, BoundingSphere, GeometryInstance, ScreenSpaceEventHandler, ScreenSpaceEventType, Intersect, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics } from 'cesium';
4
4
 
5
5
  /*! *****************************************************************************
6
6
  Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1816,13 +1816,13 @@ var EntityUtils;
1816
1816
  });
1817
1817
  }); };
1818
1818
  getEntityPositions = function (sample) { return __awaiter(_this, void 0, void 0, function () {
1819
- var entityId, entity, tileset, tilesetId, evaluateRendered, evaluateRecord, renderedPosses, e_1, recordPosses, e_2, tSettings, pos3d, alt, alt, heading, pitch, roll, matrix4, offset, m1, hpr, transform, transformedOffset, sphere;
1819
+ var entityId, entity, tileset, tilesetId, disallowRendered, evaluateRendered, evaluateRecord, renderedPosses, e_1, recordPosses, e_2, tSettings, pos3d, alt, alt, heading, pitch, roll, matrix4, offset, m1, hpr, transform, transformedOffset, sphere;
1820
1820
  var _this = this;
1821
1821
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
1822
1822
  return __generator(this, function (_l) {
1823
1823
  switch (_l.label) {
1824
1824
  case 0:
1825
- entityId = sample.entityId, entity = sample.entity, tileset = sample.tileset, tilesetId = sample.tilesetId;
1825
+ entityId = sample.entityId, entity = sample.entity, tileset = sample.tileset, tilesetId = sample.tilesetId, disallowRendered = sample.disallowRendered;
1826
1826
  evaluateRendered = function () { return __awaiter(_this, void 0, void 0, function () {
1827
1827
  var rego, posses, parts, i, part, visualHeightRef, hierarchy, hPosses, hPossesSample, step, i_1, pPosses, pPossesSample, step, i_2, pPosses, pPossesSample, step, i_3, pos3d_1, toAdjust, modelExt, sphere, semiMajorAxis, semiMinorAxis, height, radius, sphere, data_1, pos3d_2, toAdjust, sphere;
1828
1828
  return __generator(this, function (_a) {
@@ -1991,7 +1991,9 @@ var EntityUtils;
1991
1991
  }
1992
1992
  if (!(entity.geometry && typeof entity.geometry == "object")) return [3 /*break*/, 4];
1993
1993
  pointStr = entity.geometry.Point;
1994
- if (pointStr && typeof pointStr == "string") {
1994
+ // "0.0,0.0" seems to be generated on missing geometry in our re-index.
1995
+ // No location -> turns into 0,0 -> turns into 0.0,0.0 point geometry.
1996
+ if (pointStr && typeof pointStr == "string" && pointStr != "0.0,0.0") {
1995
1997
  points = Geometry.ParsePoints(pointStr);
1996
1998
  point = points.length > 0 ? points[0] : null;
1997
1999
  if (point && Carto.ValidateCarto(point)) {
@@ -2042,45 +2044,48 @@ var EntityUtils;
2042
2044
  }
2043
2045
  });
2044
2046
  }); };
2047
+ if (!(disallowRendered != true)) return [3 /*break*/, 2];
2045
2048
  return [4 /*yield*/, evaluateRendered()];
2046
2049
  case 1:
2047
2050
  renderedPosses = _l.sent();
2048
2051
  if (renderedPosses === null || renderedPosses === void 0 ? void 0 : renderedPosses.length) {
2049
2052
  return [2 /*return*/, renderedPosses];
2050
2053
  }
2051
- if (!!entity) return [3 /*break*/, 5];
2052
- if (!(apiCalls < MAX_API_CALLS)) return [3 /*break*/, 5];
2053
- apiCalls += 1;
2054
2054
  _l.label = 2;
2055
2055
  case 2:
2056
- _l.trys.push([2, 4, , 5]);
2056
+ if (!!entity) return [3 /*break*/, 6];
2057
+ if (!(apiCalls < MAX_API_CALLS)) return [3 /*break*/, 6];
2058
+ apiCalls += 1;
2059
+ _l.label = 3;
2060
+ case 3:
2061
+ _l.trys.push([3, 5, , 6]);
2057
2062
  return [4 /*yield*/, Entity$1.Get({
2058
2063
  api: api,
2059
2064
  entityId: entityId,
2060
2065
  // Not expanding relative positions at first to see if the entity has valid location just by itself.
2061
2066
  expandLocation: false
2062
2067
  })];
2063
- case 3:
2064
- entity = (_l.sent()).entity;
2065
- return [3 /*break*/, 5];
2066
2068
  case 4:
2069
+ entity = (_l.sent()).entity;
2070
+ return [3 /*break*/, 6];
2071
+ case 5:
2067
2072
  e_1 = _l.sent();
2068
2073
  console.error(e_1);
2069
- return [3 /*break*/, 5];
2070
- case 5:
2074
+ return [3 /*break*/, 6];
2075
+ case 6:
2071
2076
  if (!entity) {
2072
2077
  return [2 /*return*/, []];
2073
2078
  }
2074
2079
  return [4 /*yield*/, evaluateRecord()];
2075
- case 6:
2080
+ case 7:
2076
2081
  recordPosses = _l.sent();
2077
2082
  if (recordPosses === null || recordPosses === void 0 ? void 0 : recordPosses.length) {
2078
2083
  return [2 /*return*/, recordPosses];
2079
2084
  }
2080
- if (!(apiCalls < MAX_API_CALLS)) return [3 /*break*/, 10];
2081
- _l.label = 7;
2082
- case 7:
2083
- _l.trys.push([7, 9, , 10]);
2085
+ if (!(apiCalls < MAX_API_CALLS)) return [3 /*break*/, 11];
2086
+ _l.label = 8;
2087
+ case 8:
2088
+ _l.trys.push([8, 10, , 11]);
2084
2089
  apiCalls += 1;
2085
2090
  return [4 /*yield*/, Entity$1.Get({
2086
2091
  api: api,
@@ -2088,31 +2093,31 @@ var EntityUtils;
2088
2093
  // We'll be expanding relative positioning and related tilesets now.
2089
2094
  expandLocation: true
2090
2095
  })];
2091
- case 8:
2092
- entity = (_l.sent()).entity;
2093
- return [3 /*break*/, 10];
2094
2096
  case 9:
2097
+ entity = (_l.sent()).entity;
2098
+ return [3 /*break*/, 11];
2099
+ case 10:
2095
2100
  e_2 = _l.sent();
2096
2101
  console.warn(e_2);
2097
- return [3 /*break*/, 10];
2098
- case 10:
2102
+ return [3 /*break*/, 11];
2103
+ case 11:
2099
2104
  if (!tilesetId) {
2100
2105
  tilesetId = ((_a = entity.tilesetID) === null || _a === void 0 ? void 0 : _a.length) ? entity.tilesetID[0] : tilesetId;
2101
2106
  }
2102
- if (!!tileset) return [3 /*break*/, 12];
2103
- if (!(tilesetId && apiCalls < MAX_API_CALLS)) return [3 /*break*/, 12];
2107
+ if (!!tileset) return [3 /*break*/, 13];
2108
+ if (!(tilesetId && apiCalls < MAX_API_CALLS)) return [3 /*break*/, 13];
2104
2109
  apiCalls += 1;
2105
2110
  return [4 /*yield*/, Tileset.Get({
2106
2111
  api: api,
2107
2112
  tilesetId: tilesetId
2108
2113
  })];
2109
- case 11:
2110
- tileset = (_l.sent()).tileset;
2111
- _l.label = 12;
2112
2114
  case 12:
2115
+ tileset = (_l.sent()).tileset;
2116
+ _l.label = 13;
2117
+ case 13:
2113
2118
  tSettings = tileset === null || tileset === void 0 ? void 0 : tileset.settings;
2114
2119
  pos3d = null;
2115
- 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*/, 15];
2120
+ 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*/, 16];
2116
2121
  if ((_d = entity === null || entity === void 0 ? void 0 : entity.location) === null || _d === void 0 ? void 0 : _d.longitude) {
2117
2122
  alt = +entity.location.altitude;
2118
2123
  if (isNaN(alt)) {
@@ -2127,7 +2132,7 @@ var EntityUtils;
2127
2132
  }
2128
2133
  pos3d = Cartesian3.fromDegrees(+tSettings.location.longitude, +tSettings.location.latitude, alt);
2129
2134
  }
2130
- if (!(entity === null || entity === void 0 ? void 0 : entity.worldPosition)) return [3 /*break*/, 15];
2135
+ if (!(entity === null || entity === void 0 ? void 0 : entity.worldPosition)) return [3 /*break*/, 16];
2131
2136
  heading = 0;
2132
2137
  pitch = 0;
2133
2138
  roll = 0;
@@ -2172,22 +2177,22 @@ var EntityUtils;
2172
2177
  transform = Matrix3.fromHeadingPitchRoll(hpr);
2173
2178
  transformedOffset = Matrix3.multiplyByVector(transform, offset, new Cartesian3());
2174
2179
  pos3d = Matrix4.multiplyByPoint(m1, transformedOffset, new Cartesian3());
2175
- if (!(pos3d === null || pos3d === void 0 ? void 0 : pos3d.x)) return [3 /*break*/, 14];
2180
+ if (!(pos3d === null || pos3d === void 0 ? void 0 : pos3d.x)) return [3 /*break*/, 15];
2176
2181
  return [4 /*yield*/, processPosHeight(pos3d, HeightReference.NONE)];
2177
- case 13:
2178
- pos3d = _l.sent();
2179
- _l.label = 14;
2180
2182
  case 14:
2183
+ pos3d = _l.sent();
2184
+ _l.label = 15;
2185
+ case 15:
2181
2186
  if ((entity === null || entity === void 0 ? void 0 : entity.geometryRadius) && (pos3d === null || pos3d === void 0 ? void 0 : pos3d.x)) {
2182
2187
  sphere = BoundingSphere.fromPoints([pos3d]);
2183
2188
  // For now making sure it's less than x amount because we had a bug which made it huge.
2184
- if (entity.geometryRadius && entity.geometryRadius < 100 && entity.geometryRadius > 1) {
2189
+ if (entity.geometryRadius && entity.geometryRadius < 500 && entity.geometryRadius > 1) {
2185
2190
  sphere.radius = entity.geometryRadius;
2186
2191
  spheres.push(sphere);
2187
2192
  }
2188
2193
  }
2189
- _l.label = 15;
2190
- case 15:
2194
+ _l.label = 16;
2195
+ case 16:
2191
2196
  if (pos3d) {
2192
2197
  return [2 /*return*/, [pos3d]];
2193
2198
  }
@@ -6154,7 +6159,7 @@ var RelationRenderEngine;
6154
6159
  toPos = null;
6155
6160
  updatingPosses = false;
6156
6161
  updatePosses = function () { return __awaiter(_this, void 0, void 0, function () {
6157
- var e_4;
6162
+ var fromData, toData, e_4;
6158
6163
  return __generator(this, function (_a) {
6159
6164
  switch (_a.label) {
6160
6165
  case 0:
@@ -6165,30 +6170,34 @@ var RelationRenderEngine;
6165
6170
  _a.label = 1;
6166
6171
  case 1:
6167
6172
  _a.trys.push([1, 4, , 5]);
6168
- return [4 /*yield*/, EntityUtils.GetPosAsync({
6169
- // Not passing it so it requests entity with expanded tileset information instead.
6170
- //entity: params.fromEntity,
6173
+ return [4 /*yield*/, EntityUtils.GetLocation({
6174
+ samples: [{
6175
+ entity: params.fromEntity,
6176
+ entityId: params.fromEntity.Bruce.ID,
6177
+ heightRef: HeightReference.CLAMP_TO_GROUND,
6178
+ returnHeightRef: HeightReference.NONE
6179
+ }],
6171
6180
  viewer: params.viewer,
6172
6181
  visualRegister: params.visualRegister,
6173
- returnHeightRef: HeightReference.NONE,
6174
- recordHeightRef: HeightReference.CLAMP_TO_GROUND,
6175
- api: params.apiGetter.getApi(),
6176
- entityId: params.fromEntity.Bruce.ID
6182
+ api: params.apiGetter.getApi()
6177
6183
  })];
6178
6184
  case 2:
6179
- fromPos = _a.sent();
6180
- return [4 /*yield*/, EntityUtils.GetPosAsync({
6181
- // Not passing it so it requests entity with expanded tileset information instead.
6182
- //entity: params.toEntity,
6185
+ fromData = _a.sent();
6186
+ fromPos = fromData.pos3d;
6187
+ return [4 /*yield*/, EntityUtils.GetLocation({
6188
+ samples: [{
6189
+ entity: params.toEntity,
6190
+ entityId: params.toEntity.Bruce.ID,
6191
+ heightRef: HeightReference.CLAMP_TO_GROUND,
6192
+ returnHeightRef: HeightReference.NONE
6193
+ }],
6183
6194
  viewer: params.viewer,
6184
6195
  visualRegister: params.visualRegister,
6185
- returnHeightRef: HeightReference.NONE,
6186
- recordHeightRef: HeightReference.CLAMP_TO_GROUND,
6187
- api: params.apiGetter.getApi(),
6188
- entityId: params.toEntity.Bruce.ID
6196
+ api: params.apiGetter.getApi()
6189
6197
  })];
6190
6198
  case 3:
6191
- toPos = _a.sent();
6199
+ toData = _a.sent();
6200
+ toPos = toData.pos3d;
6192
6201
  return [3 /*break*/, 5];
6193
6202
  case 4:
6194
6203
  e_4 = _a.sent();
@@ -21637,7 +21646,7 @@ var ViewRenderEngine;
21637
21646
  ViewRenderEngine.Render = Render;
21638
21647
  })(ViewRenderEngine || (ViewRenderEngine = {}));
21639
21648
 
21640
- var VERSION = "3.5.3";
21649
+ var VERSION = "3.5.5";
21641
21650
 
21642
21651
  export { 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 };
21643
21652
  //# sourceMappingURL=bruce-cesium.es5.js.map