bruce-cesium 2.9.3 → 2.9.5
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 +44 -4
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +43 -3
- 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 +30 -2
- package/dist/lib/rendering/entity-render-engine.js.map +1 -1
- package/dist/lib/rendering/tileset-render-engine.js +12 -0
- package/dist/lib/rendering/tileset-render-engine.js.map +1 -1
- package/dist/types/bruce-cesium.d.ts +1 -1
- package/package.json +1 -1
package/dist/bruce-cesium.es5.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BruceEvent, Cartes, Carto, Entity as Entity$1, Geometry, Tileset, MathUtils, LRUCache, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, ObjectUtils, Bounds, EntityRelationType, DelayQueue, BatchedDataGetter, EntityCoords, EntityFilterGetter, EntitySource, MenuItem, EntityRelation, ENVIRONMENT, ProjectView, ProjectViewBookmark, ProjectViewTile, ProjectViewLegacyTile, ProgramKey, Camera, AbstractApi, EntityAttachment, EntityAttachmentType, EntityAttribute } from 'bruce-models';
|
|
2
2
|
import * as Cesium from 'cesium';
|
|
3
|
-
import { Cartographic, Cartesian2, CallbackProperty, Cartesian3, Color, Rectangle, Math as Math$1, JulianDate, HeightReference, DistanceDisplayCondition, NearFarScalar,
|
|
3
|
+
import { Cartographic, Cartesian2, CallbackProperty, Cartesian3, Color, Rectangle, Math as Math$1, JulianDate, Entity, Primitive, Cesium3DTileFeature, SceneMode, HeightReference, DistanceDisplayCondition, NearFarScalar, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Cesium3DTileColorBlendMode, HeadingPitchRange, Cesium3DTileStyle, KmlDataSource, createOsmBuildings, createWorldTerrain, EllipsoidTerrainProvider, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, SceneTransforms, CesiumInspector, OrthographicFrustum, defined, Cesium3DTileset, Matrix4, Matrix3, IonResource, Ion, EllipsoidGeodesic, sampleTerrainMostDetailed, Model, EasingFunction, PolygonPipeline, ColorMaterialProperty, GeometryInstance, ScreenSpaceEventHandler, ScreenSpaceEventType, BoundingSphere } from 'cesium';
|
|
4
4
|
|
|
5
5
|
var TIME_LAG = 300;
|
|
6
6
|
var POSITION_CHECK_TIMER = 950;
|
|
@@ -1967,6 +1967,24 @@ var createCircleBillboard = function (size, colorCss) {
|
|
|
1967
1967
|
_billboardCache.Set(key, data);
|
|
1968
1968
|
return data;
|
|
1969
1969
|
};
|
|
1970
|
+
/**
|
|
1971
|
+
* Removes duplicate points in a row and returns a new array.
|
|
1972
|
+
* Passed array is not mutated.
|
|
1973
|
+
* @param posses
|
|
1974
|
+
*/
|
|
1975
|
+
function cullDuplicatePoints(posses) {
|
|
1976
|
+
var newPosses = [];
|
|
1977
|
+
var lastPos = null;
|
|
1978
|
+
for (var i = 0; i < posses.length; i++) {
|
|
1979
|
+
var pos = posses[i];
|
|
1980
|
+
// Avoiding 'Cesium.Cartesian3.equals' because passed data might be just a json blob in certain cases.
|
|
1981
|
+
if (pos && (!lastPos || (pos.x != lastPos.x || pos.y != lastPos.y || pos.z != lastPos.z))) {
|
|
1982
|
+
newPosses.push(pos);
|
|
1983
|
+
lastPos = pos;
|
|
1984
|
+
}
|
|
1985
|
+
}
|
|
1986
|
+
return newPosses;
|
|
1987
|
+
}
|
|
1970
1988
|
var EntityRenderEngine;
|
|
1971
1989
|
(function (EntityRenderEngine) {
|
|
1972
1990
|
function Render(params) {
|
|
@@ -2098,10 +2116,13 @@ var EntityRenderEngine;
|
|
|
2098
2116
|
}
|
|
2099
2117
|
});
|
|
2100
2118
|
rendered = rendered.concat(Object.values(cLines));
|
|
2119
|
+
if (!!rendered.length) return [3 /*break*/, 4];
|
|
2101
2120
|
return [4 /*yield*/, Point.RenderGroup(pParams)];
|
|
2102
2121
|
case 3:
|
|
2103
2122
|
cPoints = _k.sent();
|
|
2104
2123
|
rendered = rendered.concat(Object.values(cPoints));
|
|
2124
|
+
_k.label = 4;
|
|
2125
|
+
case 4:
|
|
2105
2126
|
rendered = rendered.filter(function (x) { return x != null; });
|
|
2106
2127
|
if (rendered.length) {
|
|
2107
2128
|
rootEntity_1 = new Entity({});
|
|
@@ -2552,6 +2573,7 @@ var EntityRenderEngine;
|
|
|
2552
2573
|
flattenPoints = true;
|
|
2553
2574
|
}
|
|
2554
2575
|
var posses = points.map(function (x) { return Cartesian3.fromDegrees(EnsureNumber(x.longitude), EnsureNumber(x.latitude), EnsureNumber(flattenPoints ? 0 : x.altitude)); });
|
|
2576
|
+
posses = cullDuplicatePoints(posses);
|
|
2555
2577
|
// 5 points should be enough to tell most bad data.
|
|
2556
2578
|
var CHECK_POINTS = 5;
|
|
2557
2579
|
var MIN_LEN = 0.001;
|
|
@@ -2730,6 +2752,10 @@ var EntityRenderEngine;
|
|
|
2730
2752
|
Cartes.CloseRing3(posses);
|
|
2731
2753
|
var extrusion = getPolygonExtrusion(entity, params.tags, outerRing, posses, heightRef, style);
|
|
2732
2754
|
posses = extrusion.posses;
|
|
2755
|
+
posses = cullDuplicatePoints(posses);
|
|
2756
|
+
if (posses.length < 4) {
|
|
2757
|
+
return null;
|
|
2758
|
+
}
|
|
2733
2759
|
var flattenPoints = false;
|
|
2734
2760
|
if (heightRef == HeightReference.CLAMP_TO_GROUND && shouldApplyFlatFix((_b = params.viewer) === null || _b === void 0 ? void 0 : _b.terrainProvider)) {
|
|
2735
2761
|
heightRef = HeightReference.NONE;
|
|
@@ -2738,8 +2764,10 @@ var EntityRenderEngine;
|
|
|
2738
2764
|
var holeRings = pRings.filter(function (x) { return x.Facing == Geometry.EPolygonRingType.Hole; });
|
|
2739
2765
|
var holePosses = holeRings.map(function (x) {
|
|
2740
2766
|
var points = Geometry.ParsePoints(x.LinearRing);
|
|
2741
|
-
|
|
2742
|
-
|
|
2767
|
+
var holePosses = points.map(function (x) { return Cartesian3.fromDegrees(EnsureNumber(x.longitude), EnsureNumber(x.latitude), EnsureNumber(flattenPoints ? 0 : x.altitude)); });
|
|
2768
|
+
holePosses = cullDuplicatePoints(holePosses);
|
|
2769
|
+
return holePosses;
|
|
2770
|
+
}).filter(function (x) { return x.length >= 4; });
|
|
2743
2771
|
var zIndex = getZIndex(style, entity, params.tags);
|
|
2744
2772
|
var size = getSizeOfPolygonEntity(entity);
|
|
2745
2773
|
var classification = ClassificationType.TERRAIN;
|
|
@@ -7468,6 +7496,18 @@ var TilesetRenderEngine;
|
|
|
7468
7496
|
}
|
|
7469
7497
|
if (!pos3d) {
|
|
7470
7498
|
pos3d = getCurPos3d();
|
|
7499
|
+
if (pos3d === null || pos3d === void 0 ? void 0 : pos3d.x) {
|
|
7500
|
+
var carto = Cartographic.fromCartesian(pos3d);
|
|
7501
|
+
if (!isNaN(carto === null || carto === void 0 ? void 0 : carto.latitude)) {
|
|
7502
|
+
// We reapply back to the tileset so we can reference this location later.
|
|
7503
|
+
// For example we can reference within editing tools in navigator.
|
|
7504
|
+
position.location = {
|
|
7505
|
+
altitude: carto.height,
|
|
7506
|
+
latitude: Math$1.toDegrees(carto.latitude),
|
|
7507
|
+
longitude: Math$1.toDegrees(carto.longitude)
|
|
7508
|
+
};
|
|
7509
|
+
}
|
|
7510
|
+
}
|
|
7471
7511
|
}
|
|
7472
7512
|
var offset = getOffset(pos3d, transform.x, transform.y, transform.z);
|
|
7473
7513
|
if (Cartes.ValidateCartes3(offset)) {
|
|
@@ -16699,7 +16739,7 @@ var ViewerUtils;
|
|
|
16699
16739
|
ViewerUtils.CreateWidgets = CreateWidgets;
|
|
16700
16740
|
})(ViewerUtils || (ViewerUtils = {}));
|
|
16701
16741
|
|
|
16702
|
-
var VERSION$1 = "2.9.
|
|
16742
|
+
var VERSION$1 = "2.9.5";
|
|
16703
16743
|
|
|
16704
16744
|
export { VERSION$1 as 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, ViewUtils, DrawingUtils, MeasureUtils, EntityUtils, Draw3dPolygon, Draw3dPolyline };
|
|
16705
16745
|
//# sourceMappingURL=bruce-cesium.es5.js.map
|