bruce-cesium 4.7.3 → 4.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.
@@ -1,6 +1,6 @@
1
- import { BruceEvent, Cartes, Entity as Entity$1, Carto, Geometry, MathUtils, LRUCache, Api, Calculator, ClientFile, EntityTag, EntityType, ObjectUtils, Style, ProjectViewTile, DelayQueue, EntityLod, Bounds, ZoomControl, EntityRelationType, ENVIRONMENT, EntityHistoricData, Tileset, EntityCoords, EntitySource, MenuItem, EntityRelation, ProgramKey, ProjectView, ProjectViewBookmark, Camera, ProjectViewLegacyTile, EntityAttribute, EntityAttachment, EntityAttachmentType, AbstractApi, Session } from 'bruce-models';
1
+ import { BruceEvent, Cartes, Entity as Entity$1, Carto, Geometry, MathUtils, LRUCache, Api, Calculator, ClientFile, EntityTag, EntityType, ObjectUtils, Style, ProjectViewTile, DelayQueue, EntityLod, Bounds, ZoomControl, EntityRelationType, ENVIRONMENT, EntityHistoricData, Tileset, EntityCoords, DataLab, EntitySource, MenuItem, EntityRelation, ProgramKey, ProjectView, ProjectViewBookmark, Camera, ProjectViewLegacyTile, EntityAttribute, EntityAttachment, EntityAttachmentType, Session, AbstractApi } from 'bruce-models';
2
2
  import * as Cesium from 'cesium';
3
- import { Cartographic, Cartesian2, Math as Math$1, Cartesian3, CallbackProperty, Color, HeightReference, Rectangle, JulianDate, Entity, DistanceDisplayCondition, ClassificationType, ArcType, CornerType, ShadowMode, ConstantProperty, ConstantPositionProperty, HorizontalOrigin, VerticalOrigin, PolygonHierarchy, PolylineGraphics, ColorMaterialProperty, ColorBlendMode, HeadingPitchRoll, Transforms, Model, SceneMode, GeoJsonDataSource, Primitive, Cesium3DTileFeature, Cesium3DTileColorBlendMode, HeadingPitchRange, Ion, Cesium3DTileStyle, KmlDataSource, SceneTransforms, OrthographicFrustum, EasingFunction, NearFarScalar, EllipsoidTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, UrlTemplateImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, PolygonPipeline, CesiumInspector, defined, ClockRange, Cesium3DTileset, Matrix4, Matrix3, IonResource, EllipsoidGeodesic, sampleTerrainMostDetailed, BoundingSphere, GeometryInstance, Quaternion, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, PolylineDashMaterialProperty, ScreenSpaceEventHandler, ScreenSpaceEventType, CzmlDataSource, Intersect, Fullscreen } from 'cesium';
3
+ import { Cartographic, Cartesian2, Math as Math$1, Cartesian3, CallbackProperty, Color, HeightReference, Rectangle, JulianDate, Entity, DistanceDisplayCondition, HorizontalOrigin, VerticalOrigin, ConstantProperty, ConstantPositionProperty, ClassificationType, ArcType, CornerType, ShadowMode, ColorBlendMode, HeadingPitchRoll, Transforms, Model, SceneMode, Primitive, Cesium3DTileFeature, GeoJsonDataSource, ColorMaterialProperty, Cesium3DTileColorBlendMode, HeadingPitchRange, Cesium3DTileStyle, Ion, KmlDataSource, PolygonHierarchy, PolylineGraphics, SceneTransforms, OrthographicFrustum, EasingFunction, NearFarScalar, EllipsoidTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, UrlTemplateImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, CesiumInspector, defined, ClockRange, Cesium3DTileset, Matrix4, Matrix3, IonResource, EllipsoidGeodesic, sampleTerrainMostDetailed, PolygonPipeline, Quaternion, BoundingSphere, GeometryInstance, ScreenSpaceEventHandler, ScreenSpaceEventType, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, PolylineDashMaterialProperty, CzmlDataSource, Intersect, Fullscreen } from 'cesium';
4
4
 
5
5
  /*! *****************************************************************************
6
6
  Copyright (c) Microsoft Corporation. All rights reserved.
@@ -16063,6 +16063,183 @@ var TilesetCadRenderManager;
16063
16063
  TilesetCadRenderManager.Manager = Manager;
16064
16064
  })(TilesetCadRenderManager || (TilesetCadRenderManager = {}));
16065
16065
 
16066
+ var DataLabRenderManager;
16067
+ (function (DataLabRenderManager) {
16068
+ var Manager = /** @class */ (function () {
16069
+ function Manager(params) {
16070
+ this.getter = null;
16071
+ this.disposed = false;
16072
+ var viewer = params.viewer, item = params.item, apiGetter = params.apiGetter, monitor = params.monitor, visualsRegister = params.visualsRegister;
16073
+ this.viewer = viewer;
16074
+ this.item = item;
16075
+ this.apiGetter = apiGetter;
16076
+ this.monitor = monitor;
16077
+ this.visualsManager = visualsRegister;
16078
+ }
16079
+ Object.defineProperty(Manager.prototype, "Disposed", {
16080
+ get: function () {
16081
+ return this.disposed;
16082
+ },
16083
+ enumerable: false,
16084
+ configurable: true
16085
+ });
16086
+ Manager.prototype.Init = function () {
16087
+ var _this = this;
16088
+ var _a;
16089
+ if (this.disposed) {
16090
+ throw new Error("This manager has already been disposed.");
16091
+ }
16092
+ if (!((_a = this.item.CameraZoomSettings) === null || _a === void 0 ? void 0 : _a.length)) {
16093
+ this.item.CameraZoomSettings = [
16094
+ {
16095
+ MinZoom: 0,
16096
+ MaxZoom: 200000,
16097
+ DisplayType: ZoomControl.EDisplayType.Model3D,
16098
+ LODCategoryID: "glb",
16099
+ LODLevel: 0,
16100
+ StyleID: 0
16101
+ }
16102
+ ];
16103
+ }
16104
+ // Perform the initial query and subscribe to updates
16105
+ this.getter = new BatchedDataGetter.Getter([this.item.DataLabQueryID], this.monitor, 1);
16106
+ this.getter.OnUpdate.Subscribe(function (queryIds) {
16107
+ _this.onGetterUpdate(queryIds[0]);
16108
+ });
16109
+ this.getter.Start();
16110
+ };
16111
+ Manager.prototype.Dispose = function () {
16112
+ if (this.disposed) {
16113
+ return;
16114
+ }
16115
+ this.doDispose();
16116
+ };
16117
+ Manager.prototype.doDispose = function () {
16118
+ var _a;
16119
+ this.disposed = true;
16120
+ (_a = this.getter) === null || _a === void 0 ? void 0 : _a.Dispose();
16121
+ this.visualsManager.RemoveRegos({
16122
+ menuItemId: this.item.id
16123
+ });
16124
+ };
16125
+ Manager.prototype.onGetterUpdate = function (queryId) {
16126
+ var _a;
16127
+ return __awaiter(this, void 0, void 0, function () {
16128
+ var api, result, query, queryResult, error_1;
16129
+ var _b;
16130
+ return __generator(this, function (_c) {
16131
+ switch (_c.label) {
16132
+ case 0:
16133
+ if (this.disposed || this.viewer.isDestroyed()) {
16134
+ return [2 /*return*/];
16135
+ }
16136
+ _c.label = 1;
16137
+ case 1:
16138
+ _c.trys.push([1, 4, , 5]);
16139
+ api = this.apiGetter.getApi();
16140
+ return [4 /*yield*/, DataLab.Get({ api: api, queryId: queryId })];
16141
+ case 2:
16142
+ result = _c.sent();
16143
+ query = result.query;
16144
+ return [4 /*yield*/, DataLab.Run({ api: api, query: (_b = {},
16145
+ _b[DataLab.EReqKey.Primary] = {
16146
+ Items: ((_a = query === null || query === void 0 ? void 0 : query.PrimarySelectionCriteria) === null || _a === void 0 ? void 0 : _a.Items) || [],
16147
+ },
16148
+ _b) })];
16149
+ case 3:
16150
+ queryResult = _c.sent();
16151
+ this.renderDataLabEntities(queryResult.entities || []);
16152
+ return [3 /*break*/, 5];
16153
+ case 4:
16154
+ error_1 = _c.sent();
16155
+ console.error("Failed to perform query or render DataLab entities:", error_1);
16156
+ return [3 /*break*/, 5];
16157
+ case 5: return [2 /*return*/];
16158
+ }
16159
+ });
16160
+ });
16161
+ };
16162
+ Manager.prototype.renderDataLabEntities = function (entities) {
16163
+ return __awaiter(this, void 0, void 0, function () {
16164
+ var _a, updated, cEntities, i, entity, id, cEntity, rego;
16165
+ return __generator(this, function (_b) {
16166
+ switch (_b.label) {
16167
+ case 0:
16168
+ if (this.disposed || this.viewer.isDestroyed()) {
16169
+ return [2 /*return*/];
16170
+ }
16171
+ return [4 /*yield*/, EntityRenderEngine.Render({
16172
+ viewer: this.viewer,
16173
+ apiGetter: this.apiGetter,
16174
+ entities: entities,
16175
+ menuItemId: this.item.id,
16176
+ visualRegister: this.visualsManager,
16177
+ zoomControl: this.item.CameraZoomSettings
16178
+ })];
16179
+ case 1:
16180
+ _a = _b.sent(), updated = _a.updated, cEntities = _a.entities;
16181
+ for (i = 0; i < entities.length; i++) {
16182
+ entity = entities[i];
16183
+ id = entity.Bruce.ID;
16184
+ cEntity = cEntities.get(id);
16185
+ if (cEntity) {
16186
+ rego = this.visualsManager.GetRego({
16187
+ entityId: id,
16188
+ menuItemId: this.item.id
16189
+ });
16190
+ if (!rego) {
16191
+ this.visualsManager.AddRego({
16192
+ rego: {
16193
+ entityId: id,
16194
+ menuItemId: this.item.id,
16195
+ menuItemType: this.item.Type,
16196
+ visual: cEntity,
16197
+ priority: 0,
16198
+ entityTypeId: entity.Bruce["EntityType.ID"],
16199
+ accountId: this.apiGetter.accountId,
16200
+ name: cEntity.name
16201
+ },
16202
+ requestRender: false
16203
+ });
16204
+ }
16205
+ }
16206
+ else {
16207
+ this.visualsManager.RemoveRegos({
16208
+ entityId: id,
16209
+ menuItemId: this.item.id,
16210
+ requestRender: false
16211
+ });
16212
+ }
16213
+ }
16214
+ this.viewer.scene.requestRender();
16215
+ return [2 /*return*/];
16216
+ }
16217
+ });
16218
+ });
16219
+ };
16220
+ Manager.prototype.ReRender = function () {
16221
+ return __awaiter(this, void 0, void 0, function () {
16222
+ return __generator(this, function (_a) {
16223
+ switch (_a.label) {
16224
+ case 0:
16225
+ if (this.disposed) {
16226
+ return [2 /*return*/];
16227
+ }
16228
+ // Re-perform the query and render again
16229
+ return [4 /*yield*/, this.onGetterUpdate(this.item.DataLabQueryID)];
16230
+ case 1:
16231
+ // Re-perform the query and render again
16232
+ _a.sent();
16233
+ return [2 /*return*/];
16234
+ }
16235
+ });
16236
+ });
16237
+ };
16238
+ return Manager;
16239
+ }());
16240
+ DataLabRenderManager.Manager = Manager;
16241
+ })(DataLabRenderManager || (DataLabRenderManager = {}));
16242
+
16066
16243
  /**
16067
16244
  * This is a helper for making entity requests based on a grid area.
16068
16245
  * It will return grid cells based on given view-area then will remember when stuff-
@@ -20891,6 +21068,15 @@ var MenuItemManager;
20891
21068
  getters: params.getters
20892
21069
  });
20893
21070
  break;
21071
+ case MenuItem.EType.DataLab:
21072
+ rItem.renderManager = new DataLabRenderManager.Manager({
21073
+ viewer: this.viewer,
21074
+ item: params.item,
21075
+ apiGetter: params.apiGetter,
21076
+ monitor: this.sharedMonitor,
21077
+ visualsRegister: this.visualsRegister
21078
+ });
21079
+ break;
20894
21080
  // Any "none" type can be ignored. These are just containers for other items.
20895
21081
  case MenuItem.EType.None:
20896
21082
  break;
@@ -28280,7 +28466,7 @@ var WidgetViewBar = /** @class */ (function (_super) {
28280
28466
  return WidgetViewBar;
28281
28467
  }(Widget.AWidget));
28282
28468
 
28283
- var VERSION = "4.7.3";
28469
+ var VERSION = "4.7.4";
28284
28470
 
28285
- export { VERSION, CesiumViewMonitor, ViewerUtils, ViewerEventTracker, MenuItemManager, EntityRenderEngine, EntityRenderEnginePoint, EntityRenderEnginePolyline, EntityRenderEnginePolygon, EntityRenderEngineModel3d, MenuItemCreator, VisualsRegister, RenderManager, EntitiesIdsRenderManager, EntitiesLoadedRenderManager, EntitiesRenderManager, EntityRenderManager, TilesetCadRenderManager, TilesetArbRenderManager, TilesetEntitiesRenderManager, TilesetOsmRenderManager, TilesetPointcloudRenderManager, TilesetGooglePhotosRenderManager, DataSourceStaticKmlManager, GoogleSearchRenderManager, RelationsRenderManager, SharedGetters, CesiumParabola, EntityLabel, ViewRenderEngine, TileRenderEngine, TilesetRenderEngine, CESIUM_INSPECTOR_KEY, CESIUM_TIMELINE_KEY, ViewUtils, DrawingUtils, MeasureUtils, EntityUtils, CesiumEntityStyler, CesiumAnimatedProperty, CesiumAnimatedInOut, Draw3dPolygon, Draw3dPolyline, MeasureCreator, Widget, VIEWER_BOOKMARKS_WIDGET_KEY, WidgetBookmarks, WidgetBranding, WidgetCursorBar, WidgetEmbeddedInfoView, WidgetInfoView, WidgetNavCompass$$1 as WidgetNavCompass, VIEWER_VIEW_BAR_WIDGET_KEY, WidgetViewBar, WidgetControlViewBar, WidgetControlViewBarSearch, VIEWER_LEFT_PANEL_WIDGET_KEY, VIEWER_LEFT_PANEL_CSS_VAR_LEFT, WidgetLeftPanel, WidgetLeftPanelTab, WidgetLeftPanelTabBookmarks };
28471
+ export { VERSION, CesiumViewMonitor, ViewerUtils, ViewerEventTracker, MenuItemManager, EntityRenderEngine, EntityRenderEnginePoint, EntityRenderEnginePolyline, EntityRenderEnginePolygon, EntityRenderEngineModel3d, MenuItemCreator, VisualsRegister, RenderManager, EntitiesIdsRenderManager, DataLabRenderManager, EntitiesLoadedRenderManager, EntitiesRenderManager, EntityRenderManager, TilesetCadRenderManager, TilesetArbRenderManager, TilesetEntitiesRenderManager, TilesetOsmRenderManager, TilesetPointcloudRenderManager, TilesetGooglePhotosRenderManager, DataSourceStaticKmlManager, GoogleSearchRenderManager, RelationsRenderManager, SharedGetters, CesiumParabola, EntityLabel, ViewRenderEngine, TileRenderEngine, TilesetRenderEngine, CESIUM_INSPECTOR_KEY, CESIUM_TIMELINE_KEY, ViewUtils, DrawingUtils, MeasureUtils, EntityUtils, CesiumEntityStyler, CesiumAnimatedProperty, CesiumAnimatedInOut, Draw3dPolygon, Draw3dPolyline, MeasureCreator, Widget, VIEWER_BOOKMARKS_WIDGET_KEY, WidgetBookmarks, WidgetBranding, WidgetCursorBar, WidgetEmbeddedInfoView, WidgetInfoView, WidgetNavCompass$$1 as WidgetNavCompass, VIEWER_VIEW_BAR_WIDGET_KEY, WidgetViewBar, WidgetControlViewBar, WidgetControlViewBarSearch, VIEWER_LEFT_PANEL_WIDGET_KEY, VIEWER_LEFT_PANEL_CSS_VAR_LEFT, WidgetLeftPanel, WidgetLeftPanelTab, WidgetLeftPanelTabBookmarks };
28286
28472
  //# sourceMappingURL=bruce-cesium.es5.js.map