bruce-cesium 0.4.7 → 0.5.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,5 +1,5 @@
1
1
  import { BruceEvent, Cartes, Carto, Geometry, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, DelayQueue, Entity as Entity$1, BatchedDataGetter, ObjectUtils, Tileset, EntityCoords, EntityFilterGetter, EntitySource, MenuItem, ProjectView, ProjectViewBookmark, ProjectViewTile, ProjectViewLegacyTile, TilesetExtMapTiles, Camera, MathUtils } 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, HeadingPitchRange, OrthographicFrustum, createWorldTerrain, EllipsoidTerrainProvider, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, Matrix4, Cesium3DTileset, EllipsoidGeodesic, createOsmBuildings, Cesium3DTileStyle, Rectangle } from 'cesium';
2
+ import { Cartesian2, Cartographic, Math as Math$1, Color, HeightReference, Cartesian3, Entity, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Primitive, Cesium3DTileFeature, OrthographicFrustum, HeadingPitchRange, createWorldTerrain, EllipsoidTerrainProvider, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, Matrix4, Cesium3DTileset, EllipsoidGeodesic, createOsmBuildings, Cesium3DTileStyle, Rectangle } from 'cesium';
3
3
 
4
4
  var TIME_LAG = 300;
5
5
  var POSITION_CHECK_TIMER = 950;
@@ -2299,7 +2299,7 @@ var TilesetRenderEngine;
2299
2299
  root.updateTransform();
2300
2300
  }
2301
2301
  else {
2302
- throw ("Not implemented.");
2302
+ console.warn("Not implemented.");
2303
2303
  }
2304
2304
  }
2305
2305
  TilesetRenderEngine.ApplyPosition = ApplyPosition;
@@ -2312,7 +2312,7 @@ var TilesetRenderEngine;
2312
2312
  }
2313
2313
  }
2314
2314
  else {
2315
- throw ("Not implemented.");
2315
+ console.warn("Not implemented.");
2316
2316
  }
2317
2317
  }
2318
2318
  TilesetRenderEngine.ApplySettings = ApplySettings;
@@ -2329,6 +2329,13 @@ var TilesetRenderEngine;
2329
2329
  });
2330
2330
  return cTileset_1;
2331
2331
  }
2332
+ else if (params.tileset.type === Tileset.EType.EntitiesSet) {
2333
+ var cTileset = new Cesium3DTileset({
2334
+ url: Tileset.GetPublicFileUrl(api, params.tileset.id, "tileset.json") + "?generation=" + params.tileset.generateVersion
2335
+ });
2336
+ params.viewer.scene.primitives.add(cTileset);
2337
+ return cTileset;
2338
+ }
2332
2339
  else {
2333
2340
  throw ("Not implemented.");
2334
2341
  }
@@ -2763,21 +2770,21 @@ var TilesetCadRenderManager;
2763
2770
  coords: coords
2764
2771
  });
2765
2772
  cTileset.readyPromise.then(function () {
2773
+ if (_this.disposed) {
2774
+ return;
2775
+ }
2766
2776
  _this.onCTilesetLoad();
2777
+ _this.styler = new TilesetRenderEngine.CadStyler(api, _this.cTileset, _this.item.styleId, _this.item.StyleMapping);
2767
2778
  });
2768
2779
  cTileset.tileLoad.addEventListener(function (tile) {
2769
2780
  _this.mapCTile(tile);
2770
2781
  });
2771
- this.styler = new TilesetRenderEngine.CadStyler(api, this.cTileset, this.item.styleId, this.item.StyleMapping);
2772
2782
  return [2 /*return*/];
2773
2783
  }
2774
2784
  });
2775
2785
  });
2776
2786
  };
2777
2787
  Manager.prototype.onCTilesetLoad = function () {
2778
- if (this.disposed) {
2779
- return;
2780
- }
2781
2788
  if (this.item.FlyTo) {
2782
2789
  this.viewer.zoomTo(this.cTileset, new HeadingPitchRange(0.0, -0.5, this.cTileset.boundingSphere.radius / 4.0));
2783
2790
  }
@@ -2889,6 +2896,7 @@ var TilesetCadRenderManager;
2889
2896
  return null;
2890
2897
  };
2891
2898
  Manager.prototype.Dispose = function () {
2899
+ var _a;
2892
2900
  if (this.disposed) {
2893
2901
  return;
2894
2902
  }
@@ -2896,7 +2904,7 @@ var TilesetCadRenderManager;
2896
2904
  if (this.cTileset) {
2897
2905
  this.cTileset.show = false;
2898
2906
  }
2899
- this.styler.Dispose();
2907
+ (_a = this.styler) === null || _a === void 0 ? void 0 : _a.Dispose();
2900
2908
  this.visualsManager.RemoveByMenuItemId(this.item.id);
2901
2909
  };
2902
2910
  return Manager;
@@ -3212,6 +3220,103 @@ var TilesetOsmRenderManager;
3212
3220
  TilesetOsmRenderManager.Manager = Manager;
3213
3221
  })(TilesetOsmRenderManager || (TilesetOsmRenderManager = {}));
3214
3222
 
3223
+ var TilesetEntitiesRenderManager;
3224
+ (function (TilesetEntitiesRenderManager) {
3225
+ var Manager = /** @class */ (function () {
3226
+ function Manager(viewer, visualsManager, apiGetter, item) {
3227
+ this.disposed = false;
3228
+ this.cTileset = null;
3229
+ this.viewer = viewer;
3230
+ this.apiGetter = apiGetter;
3231
+ this.item = item;
3232
+ this.visualsManager = visualsManager;
3233
+ }
3234
+ Object.defineProperty(Manager.prototype, "Disposed", {
3235
+ get: function () {
3236
+ return this.disposed;
3237
+ },
3238
+ enumerable: false,
3239
+ configurable: true
3240
+ });
3241
+ Manager.prototype.Init = function () {
3242
+ var _a;
3243
+ return __awaiter(this, void 0, void 0, function () {
3244
+ var tilesetId, api, tileset, cTileset;
3245
+ var _this = this;
3246
+ return __generator(this, function (_b) {
3247
+ switch (_b.label) {
3248
+ case 0:
3249
+ tilesetId = (_a = this.item.tileset) === null || _a === void 0 ? void 0 : _a.TilesetID;
3250
+ if (!tilesetId) {
3251
+ return [2 /*return*/];
3252
+ }
3253
+ api = this.apiGetter.getApi();
3254
+ return [4 /*yield*/, Tileset.Get(api, tilesetId)];
3255
+ case 1:
3256
+ tileset = _b.sent();
3257
+ if (!tileset) {
3258
+ return [2 /*return*/];
3259
+ }
3260
+ this.typeId = tileset.settings.entityTypeId;
3261
+ cTileset = this.cTileset = TilesetRenderEngine.Render({
3262
+ apiGetter: this.apiGetter,
3263
+ tileset: tileset,
3264
+ viewer: this.viewer
3265
+ });
3266
+ cTileset.readyPromise.then(function () {
3267
+ if (_this.disposed) {
3268
+ return;
3269
+ }
3270
+ _this.onCTilesetLoad();
3271
+ });
3272
+ cTileset.tileLoad.addEventListener(function (tile) {
3273
+ _this.mapCTile(tile);
3274
+ });
3275
+ return [2 /*return*/];
3276
+ }
3277
+ });
3278
+ });
3279
+ };
3280
+ Manager.prototype.Dispose = function () {
3281
+ if (this.disposed) {
3282
+ return;
3283
+ }
3284
+ this.disposed = true;
3285
+ if (this.cTileset) {
3286
+ this.cTileset.show = false;
3287
+ }
3288
+ this.visualsManager.RemoveByMenuItemId(this.item.id);
3289
+ };
3290
+ Manager.prototype.onCTilesetLoad = function () {
3291
+ if (this.item.FlyTo) {
3292
+ this.viewer.zoomTo(this.cTileset, new HeadingPitchRange(0.0, -0.5, this.cTileset.boundingSphere.radius / 4.0));
3293
+ }
3294
+ };
3295
+ Manager.prototype.mapCTile = function (tile) {
3296
+ var content = tile.content;
3297
+ for (var i = 0; i < content.featuresLength; i++) {
3298
+ var feature = content.getFeature(i);
3299
+ this.mapTilesetFeature(feature);
3300
+ }
3301
+ };
3302
+ Manager.prototype.mapTilesetFeature = function (feature) {
3303
+ var id = feature.getProperty("BruceId");
3304
+ if (id) {
3305
+ var rego = {
3306
+ entityId: id,
3307
+ entityTypeId: this.typeId,
3308
+ menuItemId: this.item.id,
3309
+ priority: 0,
3310
+ visual: feature
3311
+ };
3312
+ this.visualsManager.Add(rego);
3313
+ }
3314
+ };
3315
+ return Manager;
3316
+ }());
3317
+ TilesetEntitiesRenderManager.Manager = Manager;
3318
+ })(TilesetEntitiesRenderManager || (TilesetEntitiesRenderManager = {}));
3319
+
3215
3320
  /**
3216
3321
  * Utility to keep track of enabled menu items within a Cesium viewer.
3217
3322
  */
@@ -3301,7 +3406,7 @@ var MenuItemManager;
3301
3406
  // TODO;
3302
3407
  break;
3303
3408
  case MenuItem.EType.EntityTileset:
3304
- // TODO;
3409
+ rItem.renderManager = new TilesetEntitiesRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
3305
3410
  break;
3306
3411
  case MenuItem.EType.Kml:
3307
3412
  // TODO;
@@ -3825,15 +3930,15 @@ function renderDefaultMapTile(id) {
3825
3930
  break;
3826
3931
  case ProjectViewTile.EDefaultImagery.MapBoxStreets:
3827
3932
  // TODO: Read account key if available.
3828
- provider = new MapboxImageryProvider({
3829
- mapId: "satellite-streets-v11",
3933
+ provider = new MapboxStyleImageryProvider({
3934
+ styleId: "satellite-streets-v11",
3830
3935
  accessToken: DEFAULT_MAPBOX_KEY
3831
3936
  });
3832
3937
  break;
3833
3938
  case ProjectViewTile.EDefaultImagery.MapBoxStreetsClassic:
3834
3939
  // TODO: Read account key if available.
3835
- provider = new MapboxImageryProvider({
3836
- mapId: "streets-v11",
3940
+ provider = new MapboxStyleImageryProvider({
3941
+ styleId: "streets-v11",
3837
3942
  accessToken: DEFAULT_MAPBOX_KEY
3838
3943
  });
3839
3944
  break;