bruce-cesium 4.0.6 → 4.0.7

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
1
  import { BruceEvent, Cartes, Carto, Entity as Entity$1, Geometry, Tileset, MathUtils, LRUCache, ProjectViewTile, DelayQueue, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, ObjectUtils, Bounds, Api, EntityRelationType, ENVIRONMENT, EntityHistoricData, EntityCoords, EntitySource, MenuItem, EntityRelation, ProgramKey, AbstractApi, ProjectViewBookmark, EntityAttachment, EntityAttachmentType, EntityAttribute, ProjectView, ProjectViewLegacyTile, Camera } from 'bruce-models';
2
2
  import * as Cesium from 'cesium';
3
- import { Cartographic, JulianDate, Cartesian2, Math as Math$1, Cartesian3, CallbackProperty, Color, HeightReference, Rectangle, DistanceDisplayCondition, NearFarScalar, Model, ColorMaterialProperty, Entity, HorizontalOrigin, VerticalOrigin, ConstantProperty, ConstantPositionProperty, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, ColorBlendMode, HeadingPitchRoll, Transforms, Primitive, Cesium3DTileFeature, SceneMode, GeoJsonDataSource, Cesium3DTileColorBlendMode, HeadingPitchRange, Ion, Cesium3DTileStyle, KmlDataSource, SceneTransforms, EllipsoidTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, OrthographicFrustum, EasingFunction, Cesium3DTileset, Matrix4, Matrix3, IonResource, CesiumInspector, defined, ClockRange, EllipsoidGeodesic, sampleTerrainMostDetailed, PolygonPipeline, BoundingSphere, GeometryInstance, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, ScreenSpaceEventHandler, ScreenSpaceEventType, CzmlDataSource, Quaternion, Intersect } from 'cesium';
3
+ import { Cartographic, Cartesian2, Math as Math$1, Cartesian3, CallbackProperty, Color, HeightReference, Rectangle, JulianDate, DistanceDisplayCondition, NearFarScalar, Model, ColorMaterialProperty, Entity, HorizontalOrigin, VerticalOrigin, ConstantProperty, ConstantPositionProperty, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, ColorBlendMode, HeadingPitchRoll, Transforms, Primitive, Cesium3DTileFeature, SceneMode, GeoJsonDataSource, HeadingPitchRange, Cesium3DTileColorBlendMode, Ion, Cesium3DTileStyle, KmlDataSource, SceneTransforms, OrthographicFrustum, EasingFunction, EllipsoidTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, Cesium3DTileset, Matrix4, Matrix3, IonResource, CesiumInspector, defined, ClockRange, PolygonPipeline, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, ScreenSpaceEventHandler, ScreenSpaceEventType, EllipsoidGeodesic, sampleTerrainMostDetailed, BoundingSphere, GeometryInstance, CzmlDataSource, Quaternion, Intersect } from 'cesium';
4
4
 
5
5
  /*! *****************************************************************************
6
6
  Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7733,58 +7733,66 @@ var RelationRenderEngine;
7733
7733
  RelationRenderEngine.GetRenderGroupId = GetRenderGroupId;
7734
7734
  function Render(params) {
7735
7735
  return __awaiter(this, void 0, void 0, function () {
7736
- var apiGetter, viewer, visualRegister, menuItemId, relations, api, rendered, i, relation, fromEntity, toEntity, dataEntity, _a, relationType, style, cEntity, e_3;
7737
- return __generator(this, function (_b) {
7738
- switch (_b.label) {
7736
+ var apiGetter, viewer, visualRegister, menuItemId, relations, api, rendered, neededEntityIdsIds, i, relation, entities, entitiesMap, i, entity, relationTypes, relationTypesMap, i, relationType, i, relation, fromEntity, toEntity, dataEntity, relationType, style, cEntity, e_3;
7737
+ return __generator(this, function (_a) {
7738
+ switch (_a.label) {
7739
7739
  case 0:
7740
7740
  apiGetter = params.apiGetter, viewer = params.viewer, visualRegister = params.visualRegister, menuItemId = params.menuItemId, relations = params.relations;
7741
7741
  api = apiGetter.getApi(apiGetter.accountId);
7742
7742
  rendered = {};
7743
- i = 0;
7744
- _b.label = 1;
7745
- case 1:
7746
- if (!(i < relations.length)) return [3 /*break*/, 13];
7747
- _b.label = 2;
7748
- case 2:
7749
- _b.trys.push([2, 11, , 12]);
7750
- relation = relations[i];
7751
- return [4 /*yield*/, Entity$1.Get({
7752
- api: api,
7753
- entityId: relation["Principal.Entity.ID"],
7743
+ neededEntityIdsIds = [];
7744
+ for (i = 0; i < relations.length; i++) {
7745
+ relation = relations[i];
7746
+ if (relation["Principal.Entity.ID"]) {
7747
+ neededEntityIdsIds.push(relation["Principal.Entity.ID"]);
7748
+ }
7749
+ if (relation["Related.Entity.ID"]) {
7750
+ neededEntityIdsIds.push(relation["Related.Entity.ID"]);
7751
+ }
7752
+ if (relation["Data.Entity.ID"]) {
7753
+ neededEntityIdsIds.push(relation["Data.Entity.ID"]);
7754
+ }
7755
+ }
7756
+ // Turn the set unique.
7757
+ neededEntityIdsIds = neededEntityIdsIds.filter(function (v, i, a) { return a.indexOf(v) === i; });
7758
+ return [4 /*yield*/, Entity$1.GetListByIds({
7759
+ entityIds: neededEntityIdsIds,
7760
+ api: apiGetter.getApi(),
7754
7761
  migrated: true
7755
7762
  })];
7756
- case 3:
7757
- fromEntity = (_b.sent()).entity;
7758
- return [4 /*yield*/, Entity$1.Get({
7759
- api: api,
7760
- entityId: relation["Related.Entity.ID"],
7761
- migrated: true
7763
+ case 1:
7764
+ entities = (_a.sent()).entities;
7765
+ entitiesMap = {};
7766
+ for (i = 0; i < entities.length; i++) {
7767
+ entity = entities[i];
7768
+ entitiesMap[entity.Bruce.ID] = entity;
7769
+ }
7770
+ entities = null;
7771
+ return [4 /*yield*/, EntityRelationType.GetList({
7772
+ api: api
7762
7773
  })];
7774
+ case 2:
7775
+ relationTypes = (_a.sent()).relationTypes;
7776
+ relationTypesMap = {};
7777
+ for (i = 0; i < relationTypes.length; i++) {
7778
+ relationType = relationTypes[i];
7779
+ relationTypesMap[relationType.ID] = relationType;
7780
+ }
7781
+ i = 0;
7782
+ _a.label = 3;
7783
+ case 3:
7784
+ if (!(i < relations.length)) return [3 /*break*/, 9];
7785
+ _a.label = 4;
7763
7786
  case 4:
7764
- toEntity = (_b.sent()).entity;
7765
- if (!relation["Data.Entity.ID"]) return [3 /*break*/, 6];
7766
- return [4 /*yield*/, Entity$1.Get({
7767
- api: api,
7768
- entityId: relation["Data.Entity.ID"],
7769
- migrated: true
7770
- })];
7771
- case 5:
7772
- _a = (_b.sent()).entity;
7773
- return [3 /*break*/, 7];
7774
- case 6:
7775
- _a = null;
7776
- _b.label = 7;
7777
- case 7:
7778
- dataEntity = _a;
7779
- return [4 /*yield*/, EntityRelationType.Get({
7780
- api: api,
7781
- relationTypeId: relation["Relation.Type.ID"]
7782
- })];
7783
- case 8:
7784
- relationType = (_b.sent()).relationType;
7787
+ _a.trys.push([4, 7, , 8]);
7788
+ relation = relations[i];
7789
+ fromEntity = entitiesMap[relation["Principal.Entity.ID"]];
7790
+ toEntity = entitiesMap[relation["Related.Entity.ID"]];
7791
+ dataEntity = relation["Data.Entity.ID"] ? entitiesMap[relation["Data.Entity.ID"]] : null;
7792
+ relationType = relationTypesMap[relation["Relation.Type.ID"]];
7785
7793
  return [4 /*yield*/, getStyle$1(api, relationType === null || relationType === void 0 ? void 0 : relationType["Relation.EntityType.ID"], Number(relationType === null || relationType === void 0 ? void 0 : relationType.EntityDisplaySettingID))];
7786
- case 9:
7787
- style = _b.sent();
7794
+ case 5:
7795
+ style = _a.sent();
7788
7796
  return [4 /*yield*/, Parabola.Render({
7789
7797
  dataEntity: dataEntity,
7790
7798
  fromEntity: fromEntity,
@@ -7795,19 +7803,19 @@ var RelationRenderEngine;
7795
7803
  visualRegister: visualRegister,
7796
7804
  apiGetter: apiGetter
7797
7805
  })];
7798
- case 10:
7799
- cEntity = _b.sent();
7806
+ case 6:
7807
+ cEntity = _a.sent();
7800
7808
  cEntity._renderGroup = GetRenderGroupId(relation);
7801
7809
  rendered[GetRenderGroupId(relation)] = cEntity;
7802
- return [3 /*break*/, 12];
7803
- case 11:
7804
- e_3 = _b.sent();
7810
+ return [3 /*break*/, 8];
7811
+ case 7:
7812
+ e_3 = _a.sent();
7805
7813
  console.error(e_3);
7806
- return [3 /*break*/, 12];
7807
- case 12:
7814
+ return [3 /*break*/, 8];
7815
+ case 8:
7808
7816
  i++;
7809
- return [3 /*break*/, 1];
7810
- case 13: return [2 /*return*/, rendered];
7817
+ return [3 /*break*/, 3];
7818
+ case 9: return [2 /*return*/, rendered];
7811
7819
  }
7812
7820
  });
7813
7821
  });
@@ -24629,7 +24637,7 @@ var ViewRenderEngine;
24629
24637
  ViewRenderEngine.Render = Render;
24630
24638
  })(ViewRenderEngine || (ViewRenderEngine = {}));
24631
24639
 
24632
- var VERSION = "4.0.6";
24640
+ var VERSION = "4.0.7";
24633
24641
 
24634
24642
  export { VERSION, CesiumViewMonitor, ViewerUtils, MenuItemManager, EntityRenderEngine, MenuItemCreator, VisualsRegister, RenderManager, EntitiesIdsRenderManager, EntitiesLoadedRenderManager, EntitiesRenderManager, EntityRenderManager, TilesetCadRenderManager, TilesetArbRenderManager, TilesetEntitiesRenderManager, TilesetOsmRenderManager, TilesetPointcloudRenderManager, TilesetGooglePhotosRenderManager, DataSourceStaticKmlManager, RelationsRenderManager, SharedGetters, CesiumParabola, EntityLabel, ViewRenderEngine, TileRenderEngine, TilesetRenderEngine, CESIUM_INSPECTOR_KEY, CESIUM_TIMELINE_KEY, ViewUtils, DrawingUtils, MeasureUtils, EntityUtils, CesiumEntityStyler, CesiumAnimatedProperty, CesiumAnimatedInOut, Draw3dPolygon, Draw3dPolyline };
24635
24643
  //# sourceMappingURL=bruce-cesium.es5.js.map