bruce-cesium 1.2.4 → 1.2.6

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, EntityRelationType, ObjectUtils, Tileset, EntityCoords, EntityFilterGetter, EntitySource, EntityRelation, MenuItem, ProjectView, ProjectViewBookmark, ProjectViewTile, ProjectViewLegacyTile, ProgramKey, Camera } from 'bruce-models';
2
- import { Cartesian2, Cartographic, Math as Math$1, Cartesian3, Color, HeightReference, Entity, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Primitive, Cesium3DTileFeature, Cesium3DTileColorBlendMode, HeadingPitchRange, createOsmBuildings, Cesium3DTileStyle, Rectangle, KmlDataSource, CallbackProperty, OrthographicFrustum, JulianDate, createWorldTerrain, EllipsoidTerrainProvider, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, EllipsoidGeodesic, sampleTerrainMostDetailed, PolygonPipeline, ColorMaterialProperty, Matrix3, Matrix4, EasingFunction, GeometryInstance, Cesium3DTileset, IonResource } 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, Cesium3DTileColorBlendMode, HeadingPitchRange, createOsmBuildings, Cesium3DTileStyle, Rectangle, KmlDataSource, CallbackProperty, createWorldTerrain, EllipsoidTerrainProvider, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, OrthographicFrustum, JulianDate, Matrix4, Cesium3DTileset, IonResource, EllipsoidGeodesic, sampleTerrainMostDetailed, PolygonPipeline, ColorMaterialProperty, Matrix3, EasingFunction, GeometryInstance } from 'cesium';
3
3
 
4
4
  var TIME_LAG = 300;
5
5
  var POSITION_CHECK_TIMER = 950;
@@ -1942,19 +1942,42 @@ var EntitiesRenderManager;
1942
1942
  enumerable: false,
1943
1943
  configurable: true
1944
1944
  });
1945
- Manager.prototype.Init = function () {
1946
- var _a;
1945
+ Manager.prototype.Init = function (params) {
1946
+ var _a, _b, _c, _d, _e;
1947
1947
  return __awaiter(this, void 0, void 0, function () {
1948
- var api, minMax;
1948
+ var isTagItem, tagsToRender, shouldRender, api, minMax;
1949
1949
  var _this = this;
1950
- return __generator(this, function (_b) {
1950
+ return __generator(this, function (_f) {
1951
1951
  if (this.disposed) {
1952
1952
  throw (new Error("This item is disposed."));
1953
1953
  }
1954
+ if (params === null || params === void 0 ? void 0 : params.item) {
1955
+ this.item = params.item;
1956
+ }
1957
+ isTagItem = Boolean(this.item.BruceEntity.ExpandLayers);
1958
+ tagsToRender = isTagItem ? this.item.BruceEntity.SelectedExpandLayers : null;
1959
+ if (!tagsToRender) {
1960
+ tagsToRender = [];
1961
+ }
1962
+ shouldRender = !isTagItem || tagsToRender.length > 0;
1963
+ (_a = this.getter) === null || _a === void 0 ? void 0 : _a.ExcludeMenuItem(this.item.id);
1964
+ this.getter = null;
1965
+ (_b = this.getterSub) === null || _b === void 0 ? void 0 : _b.call(this);
1966
+ this.getterSub = null;
1967
+ (_c = this.viewMonitorRemoval) === null || _c === void 0 ? void 0 : _c.call(this);
1968
+ this.viewMonitorRemoval = null;
1969
+ (_d = this.entityCheckQueue) === null || _d === void 0 ? void 0 : _d.Dispose();
1970
+ this.entityCheckQueue = null;
1971
+ this.visualsManager.RemoveRegos({
1972
+ menuItemId: this.item.id
1973
+ });
1974
+ if (!shouldRender) {
1975
+ return [2 /*return*/];
1976
+ }
1954
1977
  api = this.apiGetter.getApi();
1955
1978
  this.getter = this.sharedGetters.GetOrCreateFilterGetter({
1956
1979
  api: api,
1957
- attrFilter: (_a = this.item.BruceEntity.Filter) !== null && _a !== void 0 ? _a : {},
1980
+ attrFilter: (_e = this.item.BruceEntity.Filter) !== null && _e !== void 0 ? _e : {},
1958
1981
  batchSize: 500,
1959
1982
  typeId: this.item.BruceEntity["EntityType.ID"],
1960
1983
  monitor: this.monitor
@@ -1962,9 +1985,22 @@ var EntitiesRenderManager;
1962
1985
  minMax = RenderManager.GetZoomMinMax({
1963
1986
  zoomControl: this.item.CameraZoomSettings
1964
1987
  });
1965
- this.getter.IncludeMenuItem(this.item.id, [], minMax[0], minMax[1]);
1988
+ this.getter.IncludeMenuItem(this.item.id, isTagItem ? tagsToRender : [], minMax[0], minMax[1]);
1966
1989
  this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
1967
- _this.onGetterUpdate(entities);
1990
+ if (isTagItem) {
1991
+ _this.onGetterUpdate(entities.filter(function (entity) {
1992
+ var entityTags = entity.Bruce["Layer.ID"];
1993
+ if (!entityTags) {
1994
+ entityTags = [];
1995
+ }
1996
+ return entityTags.some(function (tag) {
1997
+ return tagsToRender.indexOf(tag) !== -1;
1998
+ });
1999
+ }));
2000
+ }
2001
+ else {
2002
+ _this.onGetterUpdate(entities);
2003
+ }
1968
2004
  });
1969
2005
  this.viewMonitorRemoval = this.monitor.Updated().Subscribe(function () {
1970
2006
  _this.entityCheckQueue.Call();
@@ -2087,13 +2123,13 @@ var EntitiesRenderManager;
2087
2123
  }
2088
2124
  };
2089
2125
  Manager.prototype.onGetterUpdate = function (entities) {
2090
- var _a, _b;
2126
+ var _a, _b, _c;
2091
2127
  return __awaiter(this, void 0, void 0, function () {
2092
- var typeId_1, cEntities, i, entity, id, cEntity, visual, e_2;
2093
- return __generator(this, function (_c) {
2094
- switch (_c.label) {
2128
+ var typeId_1, cEntities, i, entity, id, cEntity, visual, tagIds, e_2;
2129
+ return __generator(this, function (_d) {
2130
+ switch (_d.label) {
2095
2131
  case 0:
2096
- _c.trys.push([0, 2, , 3]);
2132
+ _d.trys.push([0, 2, , 3]);
2097
2133
  if (this.disposed || this.viewer.isDestroyed()) {
2098
2134
  return [2 /*return*/];
2099
2135
  }
@@ -2110,7 +2146,7 @@ var EntitiesRenderManager;
2110
2146
  zoomControl: this.item.CameraZoomSettings
2111
2147
  })];
2112
2148
  case 1:
2113
- cEntities = _c.sent();
2149
+ cEntities = _d.sent();
2114
2150
  for (i = 0; i < entities.length; i++) {
2115
2151
  entity = entities[i];
2116
2152
  id = entity.Bruce.ID;
@@ -2122,6 +2158,7 @@ var EntitiesRenderManager;
2122
2158
  menuItemId: this.item.id
2123
2159
  })) === null || _b === void 0 ? void 0 : _b.visual;
2124
2160
  if (!visual || visual != cEntity) {
2161
+ tagIds = (_c = entity.Bruce) === null || _c === void 0 ? void 0 : _c["Layer.ID"];
2125
2162
  this.visualsManager.AddRego({
2126
2163
  rego: {
2127
2164
  entityId: id,
@@ -2129,7 +2166,8 @@ var EntitiesRenderManager;
2129
2166
  visual: cEntity,
2130
2167
  priority: 0,
2131
2168
  entityTypeId: entity.Bruce["EntityType.ID"],
2132
- accountId: this.apiGetter.accountId
2169
+ accountId: this.apiGetter.accountId,
2170
+ tagIds: tagIds ? tagIds : []
2133
2171
  }
2134
2172
  });
2135
2173
  }
@@ -2143,7 +2181,7 @@ var EntitiesRenderManager;
2143
2181
  }
2144
2182
  return [3 /*break*/, 3];
2145
2183
  case 2:
2146
- e_2 = _c.sent();
2184
+ e_2 = _d.sent();
2147
2185
  console.error(e_2);
2148
2186
  return [3 /*break*/, 3];
2149
2187
  case 3: return [2 /*return*/];
@@ -6063,6 +6101,13 @@ var MenuItemManager;
6063
6101
  enumerable: false,
6064
6102
  configurable: true
6065
6103
  });
6104
+ Object.defineProperty(Manager.prototype, "Monitor", {
6105
+ get: function () {
6106
+ return this.sharedMonitor;
6107
+ },
6108
+ enumerable: false,
6109
+ configurable: true
6110
+ });
6066
6111
  /**
6067
6112
  * Renders a given menu item and all its children.
6068
6113
  * Will return the enabled item id.
@@ -6441,10 +6486,7 @@ var MenuItemCreator;
6441
6486
  }
6442
6487
  ],
6443
6488
  id: ObjectUtils.UId(),
6444
- Children: [],
6445
- showAllLayers: true,
6446
- showAllLayersExcludeBelow: false,
6447
- tagIds: []
6489
+ Children: []
6448
6490
  };
6449
6491
  return [4 /*yield*/, params.manager.RenderItem({
6450
6492
  apiGetter: params.apiGetter,