bruce-cesium 2.7.2 → 2.7.4

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.
Files changed (22) hide show
  1. package/dist/bruce-cesium.es5.js +79 -23
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +78 -22
  4. package/dist/bruce-cesium.umd.js.map +1 -1
  5. package/dist/lib/bruce-cesium.js +1 -1
  6. package/dist/lib/rendering/render-managers/common/cesium-parabola.js +64 -19
  7. package/dist/lib/rendering/render-managers/common/cesium-parabola.js.map +1 -1
  8. package/dist/lib/rendering/render-managers/other/relations-render-manager.js +6 -0
  9. package/dist/lib/rendering/render-managers/other/relations-render-manager.js.map +1 -1
  10. package/dist/lib/rendering/render-managers/tilesets/tileset-arb-render-manager.js +4 -1
  11. package/dist/lib/rendering/render-managers/tilesets/tileset-arb-render-manager.js.map +1 -1
  12. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +1 -0
  13. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +1 -1
  14. package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js +1 -0
  15. package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js.map +1 -1
  16. package/dist/lib/rendering/view-render-engine.js +1 -1
  17. package/dist/lib/rendering/visuals-register.js.map +1 -1
  18. package/dist/types/bruce-cesium.d.ts +1 -1
  19. package/dist/types/rendering/render-managers/common/cesium-parabola.d.ts +1 -0
  20. package/dist/types/rendering/render-managers/tilesets/tileset-arb-render-manager.d.ts +1 -0
  21. package/dist/types/rendering/visuals-register.d.ts +1 -0
  22. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { BruceEvent, Cartes, Carto, Entity as Entity$1, Geometry, Tileset, MathUtils, LRUCache, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, ObjectUtils, Bounds, EntityRelationType, DelayQueue, BatchedDataGetter, EntityCoords, EntityFilterGetter, EntitySource, MenuItem, EntityRelation, ENVIRONMENT, ProjectView, ProjectViewBookmark, ProjectViewTile, ProjectViewLegacyTile, ProgramKey, Camera, AbstractApi, EntityAttachment, EntityAttachmentType, EntityAttribute } from 'bruce-models';
2
2
  import * as Cesium from 'cesium';
3
- import { Cartographic, JulianDate, Cartesian2, CallbackProperty, Cartesian3, Color, Rectangle, Math as Math$1, HeightReference, DistanceDisplayCondition, NearFarScalar, Entity, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, HeadingPitchRoll, Transforms, ColorBlendMode, SceneMode, Primitive, Cesium3DTileFeature, HeadingPitchRange, Cesium3DTileColorBlendMode, createOsmBuildings, Cesium3DTileStyle, OrthographicFrustum, EasingFunction, EllipsoidTerrainProvider, CesiumInspector, defined, EllipsoidGeodesic, sampleTerrainMostDetailed, Cesium3DTileset, Model, createWorldTerrain, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, Matrix4, Matrix3, IonResource, PolygonPipeline, ScreenSpaceEventHandler, ScreenSpaceEventType, KmlDataSource, ColorMaterialProperty, GeometryInstance, Ion, BoundingSphere } from 'cesium';
3
+ import { Cartographic, Entity, Primitive, Cesium3DTileFeature, Color, Cartesian2, JulianDate, Cartesian3, SceneMode, Math as Math$1, CallbackProperty, Rectangle, HeightReference, DistanceDisplayCondition, NearFarScalar, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, HeadingPitchRoll, Transforms, ColorBlendMode, Cesium3DTileColorBlendMode, HeadingPitchRange, createOsmBuildings, Cesium3DTileStyle, KmlDataSource, EllipsoidTerrainProvider, CesiumInspector, OrthographicFrustum, defined, createWorldTerrain, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, EllipsoidGeodesic, sampleTerrainMostDetailed, Cesium3DTileset, Model, PolygonPipeline, Matrix4, Matrix3, IonResource, ScreenSpaceEventHandler, ScreenSpaceEventType, ColorMaterialProperty, EasingFunction, GeometryInstance, Ion, BoundingSphere } from 'cesium';
4
4
 
5
5
  var TIME_LAG = 300;
6
6
  var POSITION_CHECK_TIMER = 950;
@@ -3066,6 +3066,7 @@ var EntityRenderEngine;
3066
3066
  */
3067
3067
  var CesiumParabola = /** @class */ (function () {
3068
3068
  function CesiumParabola(params) {
3069
+ this.disposed = false;
3069
3070
  this.color = "white";
3070
3071
  this.width = 2;
3071
3072
  this.duration = 10;
@@ -3147,6 +3148,9 @@ var CesiumParabola = /** @class */ (function () {
3147
3148
  };
3148
3149
  CesiumParabola.prototype.Animate = function () {
3149
3150
  var _this = this;
3151
+ if (this.disposed) {
3152
+ return null;
3153
+ }
3150
3154
  if (this.parabola && !this.viewer.entities.contains(this.parabola)) {
3151
3155
  this.viewer.entities.add(this.parabola);
3152
3156
  }
@@ -3178,9 +3182,34 @@ var CesiumParabola = /** @class */ (function () {
3178
3182
  var RATE_PER_SECOND = 1000 / 40;
3179
3183
  var SEC_DURATION = this.duration;
3180
3184
  var HEIGHT_DISTANCE_RATIO = this.heightDistanceRatio;
3181
- var TOTAL_POINTS = Math.max(50, Math.min(1000, TOTAL_LENGTH * 0.1));
3182
- var POINT_LENGTH = TOTAL_LENGTH / TOTAL_POINTS;
3183
- var TICK_LENGTH_INC = SEC_DURATION == 0 ? TOTAL_LENGTH : TOTAL_POINTS / (RATE_PER_SECOND * SEC_DURATION);
3185
+ var TOTAL_POINTS = null;
3186
+ var POINT_LENGTH = null;
3187
+ var TICK_LENGTH_INC = null;
3188
+ // Updates TOTAL_POINTS, POINT_LENGTH, and TICK_LENGTH_INC based on current TOTAL_LENGTH and camera position.
3189
+ // We want less points the further away the camera is.
3190
+ var updateParams = function () {
3191
+ var _a, _b;
3192
+ // TODO: Do distance to parabola line instead.
3193
+ var MIN_POINTS = 30;
3194
+ var totalPoints = 80;
3195
+ var cameraHeight = (_b = (_a = _this.viewer.camera) === null || _a === void 0 ? void 0 : _a.positionCartographic) === null || _b === void 0 ? void 0 : _b.height;
3196
+ if (isNaN(cameraHeight) || cameraHeight >= 100000) {
3197
+ totalPoints = MIN_POINTS;
3198
+ }
3199
+ else if (cameraHeight >= 10000) {
3200
+ totalPoints = 50;
3201
+ }
3202
+ else if (cameraHeight >= 1000) {
3203
+ totalPoints = 80;
3204
+ }
3205
+ else if (cameraHeight >= 100) {
3206
+ totalPoints = 100;
3207
+ }
3208
+ TOTAL_POINTS = Math.max(MIN_POINTS, Math.min(totalPoints, TOTAL_LENGTH * 0.1));
3209
+ POINT_LENGTH = TOTAL_LENGTH / TOTAL_POINTS;
3210
+ TICK_LENGTH_INC = SEC_DURATION == 0 ? TOTAL_LENGTH : TOTAL_POINTS / (RATE_PER_SECOND * SEC_DURATION);
3211
+ };
3212
+ updateParams();
3184
3213
  var curPoint = 0;
3185
3214
  var quadraticKey = null;
3186
3215
  var quadratic = null;
@@ -3336,30 +3365,45 @@ var CesiumParabola = /** @class */ (function () {
3336
3365
  for (var i = 0; i < totalCycles; i++) {
3337
3366
  posses.push(getPosition(i));
3338
3367
  }
3339
- posses.push(getPosition(increment + chips));
3368
+ if (chips) {
3369
+ posses.push(getPosition(increment + chips));
3370
+ }
3340
3371
  if (posses.find(function (x) { return !x || !Cartes.ValidateCartes3(x); })) {
3341
3372
  return;
3342
3373
  }
3343
3374
  _this.curPoints = posses;
3344
3375
  };
3376
+ var lastTickDate = new Date();
3377
+ var finished = false;
3345
3378
  var doTick = function () {
3346
- var p1 = _this.curPos1;
3347
- var p2 = _this.curPos2;
3348
- var newLength = p1 && p2 ? Cartesian3.distance(p1, p2) : -1;
3349
- if (newLength > 0 && newLength != TOTAL_LENGTH) {
3350
- TOTAL_LENGTH = newLength;
3351
- TOTAL_POINTS = Math.max(50, Math.min(1000, TOTAL_LENGTH * 0.1));
3352
- POINT_LENGTH = TOTAL_LENGTH / TOTAL_POINTS;
3353
- TICK_LENGTH_INC = SEC_DURATION == 0 ? TOTAL_LENGTH : TOTAL_POINTS / (RATE_PER_SECOND * SEC_DURATION);
3354
- }
3355
- prepareQuadratic();
3356
- if (quadratic) {
3357
- if (curPoint < TOTAL_POINTS) {
3358
- curPoint += TICK_LENGTH_INC;
3379
+ var curDate = new Date();
3380
+ var seconds = (curDate.getTime() - lastTickDate.getTime()) / 1000;
3381
+ var ticks = seconds * RATE_PER_SECOND;
3382
+ if (!isNaN(ticks) && ticks >= 1) {
3383
+ lastTickDate = curDate;
3384
+ var p1 = _this.curPos1;
3385
+ var p2 = _this.curPos2;
3386
+ var newLength = p1 && p2 ? Cartesian3.distance(p1, p2) : -1;
3387
+ if (newLength > 0 && newLength != TOTAL_LENGTH) {
3388
+ TOTAL_LENGTH = newLength;
3389
+ updateParams();
3390
+ }
3391
+ prepareQuadratic();
3392
+ if (quadratic) {
3393
+ if (curPoint < TOTAL_POINTS) {
3394
+ curPoint += (TICK_LENGTH_INC * ticks);
3395
+ }
3396
+ updatePoints();
3397
+ }
3398
+ _this.viewer.scene.requestRender();
3399
+ if (curPoint >= TOTAL_POINTS && !finished) {
3400
+ finished = true;
3401
+ // We can make the interval update super slow now.
3402
+ // We keep it updating in case the positions move.
3403
+ clearInterval(_this.animateInterval);
3404
+ _this.animateInterval = setInterval(doTick, 3000);
3359
3405
  }
3360
- updatePoints();
3361
3406
  }
3362
- _this.viewer.scene.requestRender();
3363
3407
  };
3364
3408
  this.animateInterval = setInterval(doTick, RATE_PER_SECOND);
3365
3409
  return {
@@ -3369,6 +3413,7 @@ var CesiumParabola = /** @class */ (function () {
3369
3413
  };
3370
3414
  CesiumParabola.prototype.Dispose = function () {
3371
3415
  var _this = this;
3416
+ this.disposed = true;
3372
3417
  clearTimeout(this.retryTimeout);
3373
3418
  clearInterval(this.animateInterval);
3374
3419
  var cEntities = [
@@ -7600,6 +7645,7 @@ var TilesetCadRenderManager;
7600
7645
  visual: feature,
7601
7646
  accountId: (_b = (_a = this.item.tileset) === null || _a === void 0 ? void 0 : _a.ClientAccountID) !== null && _b !== void 0 ? _b : this.getters.GetAccountId(),
7602
7647
  tilesetId: (_c = this.item.tileset) === null || _c === void 0 ? void 0 : _c.TilesetID,
7648
+ tilesetType: Tileset.EType.Cad,
7603
7649
  rootId: this.rootId
7604
7650
  };
7605
7651
  var featureAny = feature;
@@ -8373,6 +8419,7 @@ var TilesetEntitiesRenderManager;
8373
8419
  priority: 0,
8374
8420
  visual: feature,
8375
8421
  tilesetId: (_a = this.item.tileset) === null || _a === void 0 ? void 0 : _a.TilesetID,
8422
+ tilesetType: Tileset.EType.EntitiesSet,
8376
8423
  accountId: (_c = (_b = this.item.tileset) === null || _b === void 0 ? void 0 : _b.ClientAccountID) !== null && _c !== void 0 ? _c : this.getters.GetAccountId()
8377
8424
  };
8378
8425
  this.visualsManager.AddRego({
@@ -8698,6 +8745,7 @@ var TilesetArbRenderManager;
8698
8745
  this.disposed = false;
8699
8746
  this.cTileset = null;
8700
8747
  this.styler = null;
8748
+ this.tilesetType = null;
8701
8749
  this.viewer = params.viewer;
8702
8750
  this.getters = params.getters;
8703
8751
  this.visualsManager = params.register;
@@ -8802,6 +8850,7 @@ var TilesetArbRenderManager;
8802
8850
  if (this.disposed) {
8803
8851
  return [2 /*return*/];
8804
8852
  }
8853
+ this.tilesetType = type;
8805
8854
  if (tileset && loadUrlOverride) {
8806
8855
  tileset.loadUrl = loadUrlOverride;
8807
8856
  }
@@ -8964,7 +9013,8 @@ var TilesetArbRenderManager;
8964
9013
  priority: 0,
8965
9014
  visual: feature,
8966
9015
  accountId: (_b = (_a = this.item.tileset) === null || _a === void 0 ? void 0 : _a.ClientAccountID) !== null && _b !== void 0 ? _b : this.getters.GetAccountId(),
8967
- tilesetId: (_c = this.item.tileset) === null || _c === void 0 ? void 0 : _c.TilesetID
9016
+ tilesetId: (_c = this.item.tileset) === null || _c === void 0 ? void 0 : _c.TilesetID,
9017
+ tilesetType: this.tilesetType
8968
9018
  };
8969
9019
  // Two different methods for two different Cesium versions...
8970
9020
  var props = feature.getPropertyNames ? feature.getPropertyNames([]) :
@@ -9110,6 +9160,12 @@ var RelationsRenderManager;
9110
9160
  })];
9111
9161
  case 1:
9112
9162
  cEntities = _c.sent();
9163
+ if (this.disposed) {
9164
+ this.register.RemoveRegos({
9165
+ menuItemId: this.item.id
9166
+ });
9167
+ return [2 /*return*/];
9168
+ }
9113
9169
  for (i = 0; i < relations.length; i++) {
9114
9170
  relation = relations[i];
9115
9171
  key = RelationRenderEngine.GetRenderGroupId(relation);
@@ -12093,7 +12149,7 @@ function renderNavigator(iteration, params, bookmark, view) {
12093
12149
  }
12094
12150
  viewer.shadowMap.size = size;
12095
12151
  viewer.shadowMap.softShadows = Boolean(shadows.soften);
12096
- viewer.shadowMap.darkness = EnsureNumber(shadows.darkness, 0.5);
12152
+ viewer.shadowMap.darkness = EnsureNumber(shadows.darkness, 0.3);
12097
12153
  ambientOcclusion = bSettings === null || bSettings === void 0 ? void 0 : bSettings.ambientOcclusion;
12098
12154
  if (ambientOcclusion == null) {
12099
12155
  ambientOcclusion = (_v = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _v === void 0 ? void 0 : _v.ambientOcclusion;
@@ -15216,7 +15272,7 @@ var ViewerUtils;
15216
15272
  ViewerUtils.CreateWidgets = CreateWidgets;
15217
15273
  })(ViewerUtils || (ViewerUtils = {}));
15218
15274
 
15219
- var VERSION$1 = "2.7.2";
15275
+ var VERSION$1 = "2.7.4";
15220
15276
 
15221
15277
  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, ViewRenderEngine, TileRenderEngine, TilesetRenderEngine, CESIUM_INSPECTOR_KEY, ViewUtils, DrawingUtils, MeasureUtils, EntityUtils, Draw3dPolygon, Draw3dPolyline };
15222
15278
  //# sourceMappingURL=bruce-cesium.es5.js.map