bruce-cesium 2.0.1 → 2.0.3

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
- import { BruceEvent, Cartes, Carto, Entity as Entity$1, Geometry, Tileset, MathUtils, LRUCache, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, ObjectUtils, DelayQueue, BatchedDataGetter, EntityRelationType, EntityCoords, EntityFilterGetter, EntitySource, MenuItem, EntityRelation, ProjectView, ProjectViewBookmark, ProjectViewTile, ProjectViewLegacyTile, ProgramKey, Camera } from 'bruce-models';
1
+ import { BruceEvent, Cartes, Carto, Entity as Entity$1, Geometry, Tileset, MathUtils, LRUCache, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, ObjectUtils, DelayQueue, BatchedDataGetter, EntityRelationType, EntityCoords, EntityFilterGetter, EntitySource, MenuItem, EntityRelation, ENVIRONMENT, ProjectView, ProjectViewBookmark, ProjectViewTile, ProjectViewLegacyTile, ProgramKey, Camera } from 'bruce-models';
2
2
  import * as Cesium from 'cesium';
3
- import { Cartesian2, Cartographic, CallbackProperty, Cartesian3, Color, Rectangle, Math as Math$1, Entity, Primitive, Cesium3DTileFeature, SceneMode, HeightReference, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Cesium3DTileColorBlendMode, HeadingPitchRange, createOsmBuildings, Cesium3DTileStyle, KmlDataSource, Cesium3DTileset, Matrix4, Matrix3, IonResource, OrthographicFrustum, JulianDate, NearFarScalar, EllipsoidGeodesic, EllipsoidTerrainProvider, sampleTerrainMostDetailed, createWorldTerrain, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, CesiumInspector, PolygonPipeline, ColorMaterialProperty, EasingFunction, GeometryInstance } from 'cesium';
3
+ import { Cartesian2, Cartographic, CallbackProperty, Cartesian3, Color, Rectangle, Math as Math$1, HeightReference, Entity, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Primitive, Cesium3DTileFeature, SceneMode, Cesium3DTileColorBlendMode, HeadingPitchRange, createOsmBuildings, Cesium3DTileStyle, KmlDataSource, OrthographicFrustum, JulianDate, NearFarScalar, CesiumInspector, EllipsoidGeodesic, EllipsoidTerrainProvider, sampleTerrainMostDetailed, Cesium3DTileset, Matrix4, Matrix3, IonResource, PolygonPipeline, ColorMaterialProperty, EasingFunction, GeometryInstance, createWorldTerrain, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider } from 'cesium';
4
4
 
5
5
  var TIME_LAG = 300;
6
6
  var POSITION_CHECK_TIMER = 950;
@@ -259,75 +259,6 @@ var CesiumViewMonitor = /** @class */ (function () {
259
259
  return CesiumViewMonitor;
260
260
  }());
261
261
 
262
- var ViewerUtils;
263
- (function (ViewerUtils) {
264
- /**
265
- * Destroys all the junk that cesium viewer ships with.
266
- * @param viewer
267
- */
268
- function InitViewer(params) {
269
- var viewer = params.viewer, destroyWidgets = params.destroyWidgets, styleContainer = params.styleContainer;
270
- if (destroyWidgets != false) {
271
- ViewerUtils.DestroyWidget(viewer.timeline);
272
- ViewerUtils.DestroyWidget(viewer.vrButton);
273
- ViewerUtils.DestroyWidget(viewer.sceneModePicker);
274
- ViewerUtils.DestroyWidget(viewer.homeButton);
275
- ViewerUtils.DestroyWidget(viewer.fullscreenButton);
276
- ViewerUtils.DestroyWidget(viewer.baseLayerPicker);
277
- }
278
- if (styleContainer != false) {
279
- ViewerUtils.StyleContainer({ viewer: viewer });
280
- }
281
- }
282
- ViewerUtils.InitViewer = InitViewer;
283
- function DestroyWidget(widget) {
284
- if (widget && !widget.isDestroyed()) {
285
- widget.destroy();
286
- }
287
- }
288
- ViewerUtils.DestroyWidget = DestroyWidget;
289
- /**
290
- * Hides all unnecessary elements from the Cesium viewer container.
291
- * @param viewer
292
- */
293
- function StyleContainer(params) {
294
- var _a;
295
- var viewer = params.viewer;
296
- var container = viewer.container;
297
- var genContainer = (_a = container.getElementsByClassName("cesium-viewer")) === null || _a === void 0 ? void 0 : _a[0];
298
- if (genContainer) {
299
- var children = genContainer.children;
300
- for (var i = 0; i < children.length; i++) {
301
- var child = children[i];
302
- if (!child.classList.contains("cesium-viewer-cesiumWidgetContainer")) {
303
- child.style.display = "none";
304
- }
305
- }
306
- }
307
- var canvas = viewer.canvas;
308
- canvas.style.width = "100%";
309
- canvas.style.height = "100%";
310
- var widget = canvas.parentElement;
311
- widget.style.width = "100%";
312
- widget.style.height = "100%";
313
- widget.style.touchAction = "none";
314
- var widgetContainer = widget.parentElement;
315
- widgetContainer.style.width = "100%";
316
- widgetContainer.style.height = "100%";
317
- var viewerContainer = widgetContainer.parentElement;
318
- viewerContainer.style.fontFamily = "sans-serif";
319
- viewerContainer.style.fontSize = "16px";
320
- viewerContainer.style.overflow = "hidden";
321
- viewerContainer.style.display = "block";
322
- viewerContainer.style.position = "relative";
323
- viewerContainer.style.top = "0";
324
- viewerContainer.style.left = "0";
325
- viewerContainer.style.width = "100%";
326
- viewerContainer.style.height = "100%";
327
- }
328
- ViewerUtils.StyleContainer = StyleContainer;
329
- })(ViewerUtils || (ViewerUtils = {}));
330
-
331
262
  /*! *****************************************************************************
332
263
  Copyright (c) Microsoft Corporation. All rights reserved.
333
264
  Licensed under the Apache License, Version 2.0 (the "License"); you may not use
@@ -7312,6 +7243,9 @@ var MenuItemManager;
7312
7243
  if (this.viewer.isDestroyed()) {
7313
7244
  return null;
7314
7245
  }
7246
+ if (!params.apiGetter) {
7247
+ params.apiGetter = ENVIRONMENT.Api().GetBruceGetter();
7248
+ }
7315
7249
  var rItem = this.items.find(function (x) { return x.id == params.item.id; });
7316
7250
  if (rItem) {
7317
7251
  // This means we're updating a tag menu item.
@@ -7563,6 +7497,95 @@ var MenuItemManager;
7563
7497
  MenuItemManager.Manager = Manager;
7564
7498
  })(MenuItemManager || (MenuItemManager = {}));
7565
7499
 
7500
+ var CESIUM_VIEWER_MANAGER_KEY = "_cesiumViewerManager";
7501
+ var ViewerUtils;
7502
+ (function (ViewerUtils) {
7503
+ /**
7504
+ * Destroys all the junk that cesium viewer ships with.
7505
+ * @param viewer
7506
+ */
7507
+ function InitViewer(params) {
7508
+ var viewer = params.viewer, destroyWidgets = params.destroyWidgets, styleContainer = params.styleContainer;
7509
+ if (destroyWidgets != false) {
7510
+ ViewerUtils.DestroyWidget(viewer.timeline);
7511
+ ViewerUtils.DestroyWidget(viewer.vrButton);
7512
+ ViewerUtils.DestroyWidget(viewer.sceneModePicker);
7513
+ ViewerUtils.DestroyWidget(viewer.homeButton);
7514
+ ViewerUtils.DestroyWidget(viewer.fullscreenButton);
7515
+ ViewerUtils.DestroyWidget(viewer.baseLayerPicker);
7516
+ }
7517
+ if (styleContainer != false) {
7518
+ ViewerUtils.StyleContainer({ viewer: viewer });
7519
+ }
7520
+ }
7521
+ ViewerUtils.InitViewer = InitViewer;
7522
+ function DestroyWidget(widget) {
7523
+ if (widget && !widget.isDestroyed()) {
7524
+ widget.destroy();
7525
+ }
7526
+ }
7527
+ ViewerUtils.DestroyWidget = DestroyWidget;
7528
+ /**
7529
+ * Hides all unnecessary elements from the Cesium viewer container.
7530
+ * @param viewer
7531
+ */
7532
+ function StyleContainer(params) {
7533
+ var _a;
7534
+ var viewer = params.viewer;
7535
+ var container = viewer.container;
7536
+ var genContainer = (_a = container.getElementsByClassName("cesium-viewer")) === null || _a === void 0 ? void 0 : _a[0];
7537
+ if (genContainer) {
7538
+ var children = genContainer.children;
7539
+ for (var i = 0; i < children.length; i++) {
7540
+ var child = children[i];
7541
+ if (!child.classList.contains("cesium-viewer-cesiumWidgetContainer")) {
7542
+ child.style.display = "none";
7543
+ }
7544
+ }
7545
+ }
7546
+ var canvas = viewer.canvas;
7547
+ canvas.style.width = "100%";
7548
+ canvas.style.height = "100%";
7549
+ var widget = canvas.parentElement;
7550
+ widget.style.width = "100%";
7551
+ widget.style.height = "100%";
7552
+ widget.style.touchAction = "none";
7553
+ var widgetContainer = widget.parentElement;
7554
+ widgetContainer.style.width = "100%";
7555
+ widgetContainer.style.height = "100%";
7556
+ var viewerContainer = widgetContainer.parentElement;
7557
+ viewerContainer.style.fontFamily = "sans-serif";
7558
+ viewerContainer.style.fontSize = "16px";
7559
+ viewerContainer.style.overflow = "hidden";
7560
+ viewerContainer.style.display = "block";
7561
+ viewerContainer.style.position = "relative";
7562
+ viewerContainer.style.top = "0";
7563
+ viewerContainer.style.left = "0";
7564
+ viewerContainer.style.width = "100%";
7565
+ viewerContainer.style.height = "100%";
7566
+ }
7567
+ ViewerUtils.StyleContainer = StyleContainer;
7568
+ /**
7569
+ * Returns a given Cesium viewer's menu item manager.
7570
+ * If one is missing then it'll optionally create one before returning it.
7571
+ * @param params
7572
+ * @returns
7573
+ */
7574
+ function GetManager(params) {
7575
+ var viewer = params.viewer, createIfMissing = params.createIfMissing;
7576
+ if (viewer[CESIUM_VIEWER_MANAGER_KEY]) {
7577
+ return viewer[CESIUM_VIEWER_MANAGER_KEY];
7578
+ }
7579
+ else if (createIfMissing != false) {
7580
+ var manager = new MenuItemManager.Manager({ viewer: viewer });
7581
+ viewer[CESIUM_VIEWER_MANAGER_KEY] = manager;
7582
+ return manager;
7583
+ }
7584
+ return null;
7585
+ }
7586
+ ViewerUtils.GetManager = GetManager;
7587
+ })(ViewerUtils || (ViewerUtils = {}));
7588
+
7566
7589
  /**
7567
7590
  * Utility to help generate menu items for rendering various data.
7568
7591
  */
@@ -9587,6 +9610,18 @@ var ViewRenderEngine;
9587
9610
  return __generator(this, function (_c) {
9588
9611
  switch (_c.label) {
9589
9612
  case 0:
9613
+ if (!params.manager && params.viewer) {
9614
+ params.manager = ViewerUtils.GetManager({
9615
+ viewer: params.viewer,
9616
+ createIfMissing: true
9617
+ });
9618
+ }
9619
+ else if (!params.viewer && params.manager) {
9620
+ params.viewer = params.manager.Viewer;
9621
+ }
9622
+ if (!params.apiGetter) {
9623
+ params.apiGetter = ENVIRONMENT.Api().GetBruceGetter();
9624
+ }
9590
9625
  api = params.apiGetter.getApi();
9591
9626
  if (!params.view) return [3 /*break*/, 1];
9592
9627
  _a = params.view;