bruce-cesium 4.2.0 → 4.2.1
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.
- package/dist/bruce-cesium.es5.js +108 -67
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +106 -65
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +1 -1
- package/dist/lib/rendering/entity-render-engine.js +43 -41
- package/dist/lib/rendering/entity-render-engine.js.map +1 -1
- package/dist/lib/utils/simplify-geometry.js +62 -23
- package/dist/lib/utils/simplify-geometry.js.map +1 -1
- package/dist/types/bruce-cesium.d.ts +1 -1
- package/package.json +1 -1
package/dist/lib/bruce-cesium.js
CHANGED
|
@@ -50,5 +50,5 @@ __exportStar(require("./rendering/cesium-animated-property"), exports);
|
|
|
50
50
|
__exportStar(require("./rendering/cesium-animated-in-out"), exports);
|
|
51
51
|
__exportStar(require("./widgets/common/draw-3d-polygon"), exports);
|
|
52
52
|
__exportStar(require("./widgets/common/draw-3d-polyline"), exports);
|
|
53
|
-
exports.VERSION = "4.2.
|
|
53
|
+
exports.VERSION = "4.2.1";
|
|
54
54
|
//# sourceMappingURL=bruce-cesium.js.map
|
|
@@ -750,11 +750,11 @@ function compareColorMaterials(viewer, a, b) {
|
|
|
750
750
|
var EntityRenderEngine;
|
|
751
751
|
(function (EntityRenderEngine) {
|
|
752
752
|
function Render(params) {
|
|
753
|
-
var _a, _b, _c, _d, _e, _f
|
|
753
|
+
var _a, _b, _c, _d, _e, _f;
|
|
754
754
|
return __awaiter(this, void 0, void 0, function () {
|
|
755
|
-
var groupRenderParams,
|
|
756
|
-
return __generator(this, function (
|
|
757
|
-
switch (
|
|
755
|
+
var groupRenderParams, updated, cEntities, models, multiGeometry, polygons, polylines, points, prepareGeometry, i, entity, id, zoomItem, displayType, existingRego, newRenderId, oldRenderId, geometry, mParams, mEntities, i, entity, id, cEntity, _loop_1, i, pParams, pEntities, i, entity, cEntity, pParams, pEntities, i, entity, cEntity, pParams, pEntities, i, entity, cEntity;
|
|
756
|
+
return __generator(this, function (_g) {
|
|
757
|
+
switch (_g.label) {
|
|
758
758
|
case 0:
|
|
759
759
|
groupRenderParams = {
|
|
760
760
|
apiGetter: params.apiGetter,
|
|
@@ -764,10 +764,16 @@ var EntityRenderEngine;
|
|
|
764
764
|
menuItemId: params.menuItemId,
|
|
765
765
|
visualRegister: params.visualRegister
|
|
766
766
|
};
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
767
|
+
updated = new Map();
|
|
768
|
+
cEntities = new Map();
|
|
769
|
+
models = [];
|
|
770
|
+
multiGeometry = [];
|
|
771
|
+
polygons = [];
|
|
772
|
+
polylines = [];
|
|
773
|
+
points = [];
|
|
774
|
+
prepareGeometry = function (entity) {
|
|
775
|
+
var _a;
|
|
776
|
+
var geometry = bruce_models_1.Entity.GetValue({
|
|
771
777
|
entity: entity,
|
|
772
778
|
path: ["Bruce", "VectorGeometry"]
|
|
773
779
|
});
|
|
@@ -782,14 +788,13 @@ var EntityRenderEngine;
|
|
|
782
788
|
if (params.optimizeTolerance == null) {
|
|
783
789
|
params.optimizeTolerance = 0.00001;
|
|
784
790
|
}
|
|
785
|
-
optimized = simplify_geometry_1.SimplifyGeometry.Simplify(entity.Bruce.ID, geometry, params.optimizeTolerance);
|
|
791
|
+
var optimized = simplify_geometry_1.SimplifyGeometry.Simplify(entity.Bruce.ID, geometry, params.optimizeTolerance);
|
|
786
792
|
if (optimized) {
|
|
787
793
|
// Continue on with the rendering using the optimized geometry.
|
|
788
794
|
geometry = optimized;
|
|
789
795
|
// Dereference the Entity object now that we have done a destructive operation.
|
|
790
796
|
entity = Object.assign({}, entity);
|
|
791
797
|
entity.Bruce = Object.assign({}, entity.Bruce);
|
|
792
|
-
params.entities[i] = entity;
|
|
793
798
|
}
|
|
794
799
|
}
|
|
795
800
|
}
|
|
@@ -802,14 +807,8 @@ var EntityRenderEngine;
|
|
|
802
807
|
else {
|
|
803
808
|
entity.Bruce.VectorGeometry = geometry;
|
|
804
809
|
}
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
cEntities = new Map();
|
|
808
|
-
models = [];
|
|
809
|
-
multiGeometry = [];
|
|
810
|
-
polygons = [];
|
|
811
|
-
polylines = [];
|
|
812
|
-
points = [];
|
|
810
|
+
return entity;
|
|
811
|
+
};
|
|
813
812
|
// Initial sorting.
|
|
814
813
|
for (i = 0; i < params.entities.length; i++) {
|
|
815
814
|
entity = params.entities[i];
|
|
@@ -833,12 +832,12 @@ var EntityRenderEngine;
|
|
|
833
832
|
menuItemId: params.menuItemId
|
|
834
833
|
});
|
|
835
834
|
newRenderId = getRenderGroupId(zoomItem);
|
|
836
|
-
oldRenderId = (
|
|
835
|
+
oldRenderId = (_a = existingRego === null || existingRego === void 0 ? void 0 : existingRego.visual) === null || _a === void 0 ? void 0 : _a._renderGroup;
|
|
837
836
|
if (!params.force &&
|
|
838
837
|
newRenderId == oldRenderId &&
|
|
839
838
|
!(existingRego === null || existingRego === void 0 ? void 0 : existingRego.stale) &&
|
|
840
839
|
// If historic metadata is different then it's also stale.
|
|
841
|
-
((existingRego === null || existingRego === void 0 ? void 0 : existingRego.historicDateTime) == ((
|
|
840
|
+
((existingRego === null || existingRego === void 0 ? void 0 : existingRego.historicDateTime) == ((_b = entity.Bruce) === null || _b === void 0 ? void 0 : _b.HistoricDateTime))) {
|
|
842
841
|
// No sorting category needed. Already rendered the way we want.
|
|
843
842
|
cEntities.set(id, existingRego.visual);
|
|
844
843
|
}
|
|
@@ -849,20 +848,22 @@ var EntityRenderEngine;
|
|
|
849
848
|
// Flag as no longer stale as we're unlikely to recreate the rego if we're reusing the graphic.
|
|
850
849
|
existingRego.stale = false;
|
|
851
850
|
// Update metadata for the same reason.
|
|
852
|
-
existingRego.historicDateTime = (
|
|
853
|
-
existingRego.historicAttrKey = (
|
|
851
|
+
existingRego.historicDateTime = (_c = entity.Bruce) === null || _c === void 0 ? void 0 : _c.HistoricDateTime;
|
|
852
|
+
existingRego.historicAttrKey = (_d = entity.Bruce) === null || _d === void 0 ? void 0 : _d.HistoricAttrKey;
|
|
854
853
|
existingRego.entityTypeId = entity.Bruce["EntityType.ID"];
|
|
855
854
|
updated.set(id, true);
|
|
856
855
|
}
|
|
857
856
|
if (displayType == bruce_models_1.ZoomControl.EDisplayType.Model3D) {
|
|
857
|
+
entity = params.entities[i] = prepareGeometry(entity);
|
|
858
858
|
models.push(entity);
|
|
859
859
|
}
|
|
860
860
|
else if (displayType == bruce_models_1.ZoomControl.EDisplayType.Geometry) {
|
|
861
|
+
entity = params.entities[i] = prepareGeometry(entity);
|
|
861
862
|
geometry = bruce_models_1.Entity.GetValue({
|
|
862
863
|
entity: entity,
|
|
863
864
|
path: ["Bruce", "VectorGeometry"]
|
|
864
865
|
});
|
|
865
|
-
if ((
|
|
866
|
+
if ((_e = geometry === null || geometry === void 0 ? void 0 : geometry.MultiGeometry) === null || _e === void 0 ? void 0 : _e.length) {
|
|
866
867
|
multiGeometry.push(entity);
|
|
867
868
|
}
|
|
868
869
|
else {
|
|
@@ -880,7 +881,7 @@ var EntityRenderEngine;
|
|
|
880
881
|
mParams = __assign(__assign({}, groupRenderParams), { rendered: cEntities, entities: models, entitiesHistoric: params.entitiesHistoric });
|
|
881
882
|
return [4 /*yield*/, Model3d.RenderGroup(mParams)];
|
|
882
883
|
case 1:
|
|
883
|
-
mEntities =
|
|
884
|
+
mEntities = _g.sent();
|
|
884
885
|
for (i = 0; i < mParams.entities.length; i++) {
|
|
885
886
|
entity = mParams.entities[i];
|
|
886
887
|
id = entity.Bruce.ID;
|
|
@@ -892,20 +893,20 @@ var EntityRenderEngine;
|
|
|
892
893
|
multiGeometry.push(entity);
|
|
893
894
|
}
|
|
894
895
|
}
|
|
895
|
-
|
|
896
|
+
_g.label = 2;
|
|
896
897
|
case 2:
|
|
897
898
|
if (!(multiGeometry.length > 0)) return [3 /*break*/, 6];
|
|
898
899
|
_loop_1 = function (i) {
|
|
899
900
|
var entity, geometry, pParams, zoomItem, j, subEntity, cPoly, rendered, cLines, cPoints, rootEntity_1, firstEntity;
|
|
900
|
-
return __generator(this, function (
|
|
901
|
-
switch (
|
|
901
|
+
return __generator(this, function (_h) {
|
|
902
|
+
switch (_h.label) {
|
|
902
903
|
case 0:
|
|
903
904
|
entity = multiGeometry[i];
|
|
904
905
|
geometry = bruce_models_1.Entity.GetValue({
|
|
905
906
|
entity: entity,
|
|
906
907
|
path: ["Bruce", "VectorGeometry"]
|
|
907
908
|
});
|
|
908
|
-
if (!((
|
|
909
|
+
if (!((_f = geometry === null || geometry === void 0 ? void 0 : geometry.MultiGeometry) === null || _f === void 0 ? void 0 : _f.length)) {
|
|
909
910
|
polygons.push(entity);
|
|
910
911
|
return [2 /*return*/, "continue"];
|
|
911
912
|
}
|
|
@@ -919,7 +920,7 @@ var EntityRenderEngine;
|
|
|
919
920
|
}
|
|
920
921
|
return [4 /*yield*/, Polygon.RenderGroup(pParams)];
|
|
921
922
|
case 1:
|
|
922
|
-
cPoly =
|
|
923
|
+
cPoly = _h.sent();
|
|
923
924
|
Array.from(cPoly.keys()).forEach(function (key) {
|
|
924
925
|
if (cPoly.get(key)) {
|
|
925
926
|
pParams.entities = pParams.entities.filter(function (e) { return e.Bruce.ID != key; });
|
|
@@ -928,7 +929,7 @@ var EntityRenderEngine;
|
|
|
928
929
|
rendered = Array.from(cPoly.values());
|
|
929
930
|
return [4 /*yield*/, Polyline.RenderGroup(pParams)];
|
|
930
931
|
case 2:
|
|
931
|
-
cLines =
|
|
932
|
+
cLines = _h.sent();
|
|
932
933
|
Array.from(cLines.keys()).forEach(function (key) {
|
|
933
934
|
if (cLines.get(key)) {
|
|
934
935
|
pParams.entities = pParams.entities.filter(function (e) { return e.Bruce.ID != key; });
|
|
@@ -938,9 +939,9 @@ var EntityRenderEngine;
|
|
|
938
939
|
if (!!rendered.length) return [3 /*break*/, 4];
|
|
939
940
|
return [4 /*yield*/, Point.RenderGroup(pParams)];
|
|
940
941
|
case 3:
|
|
941
|
-
cPoints =
|
|
942
|
+
cPoints = _h.sent();
|
|
942
943
|
rendered = rendered.concat(Array.from(cPoints.values()));
|
|
943
|
-
|
|
944
|
+
_h.label = 4;
|
|
944
945
|
case 4:
|
|
945
946
|
rendered = rendered.filter(function (x) { return x != null; });
|
|
946
947
|
if (rendered.length) {
|
|
@@ -967,13 +968,13 @@ var EntityRenderEngine;
|
|
|
967
968
|
});
|
|
968
969
|
};
|
|
969
970
|
i = 0;
|
|
970
|
-
|
|
971
|
+
_g.label = 3;
|
|
971
972
|
case 3:
|
|
972
973
|
if (!(i < multiGeometry.length)) return [3 /*break*/, 6];
|
|
973
974
|
return [5 /*yield**/, _loop_1(i)];
|
|
974
975
|
case 4:
|
|
975
|
-
|
|
976
|
-
|
|
976
|
+
_g.sent();
|
|
977
|
+
_g.label = 5;
|
|
977
978
|
case 5:
|
|
978
979
|
i++;
|
|
979
980
|
return [3 /*break*/, 3];
|
|
@@ -982,7 +983,7 @@ var EntityRenderEngine;
|
|
|
982
983
|
pParams = __assign(__assign({}, groupRenderParams), { entities: polygons, rendered: cEntities });
|
|
983
984
|
return [4 /*yield*/, Polygon.RenderGroup(pParams)];
|
|
984
985
|
case 7:
|
|
985
|
-
pEntities =
|
|
986
|
+
pEntities = _g.sent();
|
|
986
987
|
for (i = 0; i < pParams.entities.length; i++) {
|
|
987
988
|
entity = pParams.entities[i];
|
|
988
989
|
cEntity = pEntities.get(entity.Bruce.ID);
|
|
@@ -993,13 +994,13 @@ var EntityRenderEngine;
|
|
|
993
994
|
polylines.push(entity);
|
|
994
995
|
}
|
|
995
996
|
}
|
|
996
|
-
|
|
997
|
+
_g.label = 8;
|
|
997
998
|
case 8:
|
|
998
999
|
if (!(polylines.length > 0)) return [3 /*break*/, 10];
|
|
999
1000
|
pParams = __assign(__assign({}, groupRenderParams), { entities: polylines, rendered: cEntities });
|
|
1000
1001
|
return [4 /*yield*/, Polyline.RenderGroup(pParams)];
|
|
1001
1002
|
case 9:
|
|
1002
|
-
pEntities =
|
|
1003
|
+
pEntities = _g.sent();
|
|
1003
1004
|
for (i = 0; i < pParams.entities.length; i++) {
|
|
1004
1005
|
entity = pParams.entities[i];
|
|
1005
1006
|
cEntity = pEntities.get(entity.Bruce.ID);
|
|
@@ -1010,13 +1011,13 @@ var EntityRenderEngine;
|
|
|
1010
1011
|
points.push(entity);
|
|
1011
1012
|
}
|
|
1012
1013
|
}
|
|
1013
|
-
|
|
1014
|
+
_g.label = 10;
|
|
1014
1015
|
case 10:
|
|
1015
1016
|
if (!(points.length > 0)) return [3 /*break*/, 12];
|
|
1016
1017
|
pParams = __assign(__assign({}, groupRenderParams), { entities: points, rendered: cEntities, entitiesHistoric: params.entitiesHistoric });
|
|
1017
1018
|
return [4 /*yield*/, Point.RenderGroup(pParams)];
|
|
1018
1019
|
case 11:
|
|
1019
|
-
pEntities =
|
|
1020
|
+
pEntities = _g.sent();
|
|
1020
1021
|
for (i = 0; i < pParams.entities.length; i++) {
|
|
1021
1022
|
entity = pParams.entities[i];
|
|
1022
1023
|
cEntity = pEntities.get(entity.Bruce.ID);
|
|
@@ -1024,7 +1025,7 @@ var EntityRenderEngine;
|
|
|
1024
1025
|
cEntities.set(entity.Bruce.ID, cEntity);
|
|
1025
1026
|
}
|
|
1026
1027
|
}
|
|
1027
|
-
|
|
1028
|
+
_g.label = 12;
|
|
1028
1029
|
case 12: return [2 /*return*/, {
|
|
1029
1030
|
entities: cEntities,
|
|
1030
1031
|
updated: updated
|
|
@@ -1938,6 +1939,7 @@ var EntityRenderEngine;
|
|
|
1938
1939
|
var points = bruce_models_1.Geometry.ParsePoints(x.LinearRing);
|
|
1939
1940
|
var holePosses = points.map(function (x) { return Cesium.Cartesian3.fromDegrees((0, js_utils_1.EnsureNumber)(x.longitude), (0, js_utils_1.EnsureNumber)(x.latitude), (0, js_utils_1.EnsureNumber)(x.altitude)); });
|
|
1940
1941
|
holePosses = cullDuplicatePoints(holePosses);
|
|
1942
|
+
bruce_models_1.Cartes.CloseRing3(holePosses);
|
|
1941
1943
|
return holePosses;
|
|
1942
1944
|
}).filter(function (x) { return x.length >= 4; });
|
|
1943
1945
|
var zIndex = getZIndex(style, entity, params.tags);
|