bruce-cesium 2.8.8 → 2.9.0
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 +58 -17
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +57 -16
- 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 +47 -7
- package/dist/lib/rendering/entity-render-engine.js.map +1 -1
- package/dist/lib/rendering/render-managers/common/entity-label.js +1 -1
- package/dist/lib/rendering/render-managers/common/entity-label.js.map +1 -1
- package/dist/lib/rendering/render-managers/other/relations-render-manager.js +2 -5
- package/dist/lib/rendering/render-managers/other/relations-render-manager.js.map +1 -1
- package/dist/lib/viewer/viewer-utils.js +6 -2
- package/dist/lib/viewer/viewer-utils.js.map +1 -1
- package/dist/types/bruce-cesium.d.ts +1 -1
- package/dist/types/rendering/entity-render-engine.d.ts +3 -0
- 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, JulianDate,
|
|
3
|
+
import { Cartographic, JulianDate, Cartesian2, CallbackProperty, Cartesian3, Color, Rectangle, Math as Math$1, Entity, Primitive, Cesium3DTileFeature, HeightReference, DistanceDisplayCondition, NearFarScalar, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, SceneMode, Cesium3DTileStyle, Cesium3DTileColorBlendMode, HeadingPitchRange, createOsmBuildings, KmlDataSource, OrthographicFrustum, EasingFunction, EllipsoidTerrainProvider, CesiumInspector, defined, SceneTransforms, createWorldTerrain, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, PolygonPipeline, EllipsoidGeodesic, sampleTerrainMostDetailed, Cesium3DTileset, Model, ScreenSpaceEventHandler, ScreenSpaceEventType, ColorMaterialProperty, Matrix3, Matrix4, GeometryInstance, IonResource, Ion, BoundingSphere } from 'cesium';
|
|
4
4
|
|
|
5
5
|
var TIME_LAG = 300;
|
|
6
6
|
var POSITION_CHECK_TIMER = 950;
|
|
@@ -1939,6 +1939,34 @@ function getSizeOfPolygonEntity(entity) {
|
|
|
1939
1939
|
}
|
|
1940
1940
|
return length;
|
|
1941
1941
|
}
|
|
1942
|
+
var _billboardCache = new LRUCache(100);
|
|
1943
|
+
var POINT_BILLBOARD_PADDING = 1;
|
|
1944
|
+
var createCircleBillboard = function (size, colorCss) {
|
|
1945
|
+
var key = size + "-" + colorCss;
|
|
1946
|
+
var cacheData = _billboardCache.Get(key);
|
|
1947
|
+
if ((cacheData === null || cacheData === void 0 ? void 0 : cacheData.canvas) instanceof HTMLCanvasElement) {
|
|
1948
|
+
return cacheData;
|
|
1949
|
+
}
|
|
1950
|
+
// Slight padding to avoid corners clipping.
|
|
1951
|
+
var canvasSize = size + (POINT_BILLBOARD_PADDING * 4);
|
|
1952
|
+
var canvas = document.createElement("canvas");
|
|
1953
|
+
canvas.width = canvasSize;
|
|
1954
|
+
canvas.height = canvasSize;
|
|
1955
|
+
var context = canvas.getContext("2d");
|
|
1956
|
+
context.beginPath();
|
|
1957
|
+
context.arc(canvasSize / 2, canvasSize / 2, size / 2, 0, 2 * Math.PI, false);
|
|
1958
|
+
context.fillStyle = colorCss;
|
|
1959
|
+
context.fill();
|
|
1960
|
+
var data = {
|
|
1961
|
+
canvas: canvas,
|
|
1962
|
+
colorCss: colorCss,
|
|
1963
|
+
size: size,
|
|
1964
|
+
height: canvasSize,
|
|
1965
|
+
width: canvasSize
|
|
1966
|
+
};
|
|
1967
|
+
_billboardCache.Set(key, data);
|
|
1968
|
+
return data;
|
|
1969
|
+
};
|
|
1942
1970
|
var EntityRenderEngine;
|
|
1943
1971
|
(function (EntityRenderEngine) {
|
|
1944
1972
|
function Render(params) {
|
|
@@ -2199,7 +2227,7 @@ var EntityRenderEngine;
|
|
|
2199
2227
|
(function (Point) {
|
|
2200
2228
|
function Render(params) {
|
|
2201
2229
|
return __awaiter(this, void 0, void 0, function () {
|
|
2202
|
-
var entity, style, type, cEntity, siblings, iconUrlRows, icon, iconUrl_1, res, blob_1, e_4, e_5, iconScale, disableDepthTest, heightRef, radius, bFill, cFill, outline, cOutline, outlineWidth, bOutline, heightRef, pos3d, extrusion, outlineExtrusion, bColor, cColor, size, heightRef;
|
|
2230
|
+
var entity, style, type, cEntity, siblings, iconUrlRows, icon, iconUrl_1, res, blob_1, e_4, e_5, iconScale, disableDepthTest, heightRef, radius, bFill, cFill, outline, cOutline, outlineWidth, bOutline, heightRef, pos3d, extrusion, outlineExtrusion, bColor, cColor, size, heightRef, circleBillboard;
|
|
2203
2231
|
return __generator(this, function (_a) {
|
|
2204
2232
|
switch (_a.label) {
|
|
2205
2233
|
case 0:
|
|
@@ -2297,8 +2325,7 @@ var EntityRenderEngine;
|
|
|
2297
2325
|
heightReference: getHeightRef(style),
|
|
2298
2326
|
scale: iconScale,
|
|
2299
2327
|
disableDepthTestDistance: disableDepthTest ? Number.POSITIVE_INFINITY : undefined,
|
|
2300
|
-
distanceDisplayCondition: getDisplayCondition(params.minDistance, params.maxDistance)
|
|
2301
|
-
height: _fileHeightCache[iconUrl_1]
|
|
2328
|
+
distanceDisplayCondition: getDisplayCondition(params.minDistance, params.maxDistance)
|
|
2302
2329
|
// Would be great once we have a setting for this.
|
|
2303
2330
|
// translucencyByDistance: getTranslucencyByDistance(params.minDistance, params.maxDistance),
|
|
2304
2331
|
},
|
|
@@ -2310,6 +2337,7 @@ var EntityRenderEngine;
|
|
|
2310
2337
|
}),
|
|
2311
2338
|
show: true
|
|
2312
2339
|
});
|
|
2340
|
+
cEntity.billboard._billboardSize = _fileHeightCache[iconUrl_1];
|
|
2313
2341
|
}
|
|
2314
2342
|
}
|
|
2315
2343
|
_a.label = 12;
|
|
@@ -2389,11 +2417,22 @@ var EntityRenderEngine;
|
|
|
2389
2417
|
return [2 /*return*/, null];
|
|
2390
2418
|
}
|
|
2391
2419
|
heightRef = getHeightRef(style);
|
|
2420
|
+
circleBillboard = createCircleBillboard(size, cColor.toCssColorString());
|
|
2392
2421
|
cEntity = new Entity({
|
|
2393
|
-
point: {
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2422
|
+
// point: {
|
|
2423
|
+
// pixelSize: size,
|
|
2424
|
+
// color: cColor,
|
|
2425
|
+
// heightReference: getHeightRef(style),
|
|
2426
|
+
// distanceDisplayCondition: getDisplayCondition(params.minDistance, params.maxDistance)
|
|
2427
|
+
// },
|
|
2428
|
+
// We are generating a billboard instead of using the point.
|
|
2429
|
+
// This is because points were behaving strangely where they would appear oblong shapes.
|
|
2430
|
+
// This occurred consistently when rendering many icons and points at the same time.
|
|
2431
|
+
billboard: {
|
|
2432
|
+
height: circleBillboard.height,
|
|
2433
|
+
width: circleBillboard.width,
|
|
2434
|
+
image: circleBillboard.canvas,
|
|
2435
|
+
heightReference: heightRef,
|
|
2397
2436
|
distanceDisplayCondition: getDisplayCondition(params.minDistance, params.maxDistance)
|
|
2398
2437
|
},
|
|
2399
2438
|
position: EntityUtils.GetPos({
|
|
@@ -2404,6 +2443,7 @@ var EntityRenderEngine;
|
|
|
2404
2443
|
}),
|
|
2405
2444
|
show: true
|
|
2406
2445
|
});
|
|
2446
|
+
cEntity.billboard._billboardSize = Math.ceil(circleBillboard.height / 2);
|
|
2407
2447
|
}
|
|
2408
2448
|
if (cEntity) {
|
|
2409
2449
|
cEntity._siblingGraphics = siblings;
|
|
@@ -3900,7 +3940,7 @@ var EntityLabel;
|
|
|
3900
3940
|
}
|
|
3901
3941
|
else if (visual.billboard) {
|
|
3902
3942
|
heightRef = getValue$1(this.viewer, visual.billboard.heightReference);
|
|
3903
|
-
height =
|
|
3943
|
+
height = visual.billboard._billboardSize;
|
|
3904
3944
|
if (height) {
|
|
3905
3945
|
scale = EnsureNumber(getValue$1(this.viewer, visual.billboard.scale), 1);
|
|
3906
3946
|
pixelOffset.y = -(height * scale);
|
|
@@ -9971,11 +10011,8 @@ var RelationsRenderManager;
|
|
|
9971
10011
|
* @param relation
|
|
9972
10012
|
*/
|
|
9973
10013
|
Manager.prototype.shouldRenderRelation = function (relation) {
|
|
9974
|
-
var _a, _b
|
|
9975
|
-
|
|
9976
|
-
return false;
|
|
9977
|
-
}
|
|
9978
|
-
var renderedIds = (_c = (_b = this.item) === null || _b === void 0 ? void 0 : _b.BruceEntity) === null || _c === void 0 ? void 0 : _c.EntityIds;
|
|
10014
|
+
var _a, _b;
|
|
10015
|
+
var renderedIds = (_b = (_a = this.item) === null || _a === void 0 ? void 0 : _a.BruceEntity) === null || _b === void 0 ? void 0 : _b.EntityIds;
|
|
9979
10016
|
if (!renderedIds) {
|
|
9980
10017
|
return false;
|
|
9981
10018
|
}
|
|
@@ -16005,9 +16042,13 @@ function backgroundRendering(viewer) {
|
|
|
16005
16042
|
// We check in case something else is also requesting renders.
|
|
16006
16043
|
var lastRenderTime = viewer.scene.lastRenderTime;
|
|
16007
16044
|
if (!lastRenderTime || JulianDate.secondsDifference(JulianDate.now(), lastRenderTime) > 3) {
|
|
16008
|
-
|
|
16045
|
+
// Check if window is active/in focus.
|
|
16046
|
+
// TODO: Should render the moment it is in focus as well.
|
|
16047
|
+
if (document.hasFocus()) {
|
|
16048
|
+
viewer.scene.requestRender();
|
|
16049
|
+
}
|
|
16009
16050
|
}
|
|
16010
|
-
},
|
|
16051
|
+
}, 1500);
|
|
16011
16052
|
}
|
|
16012
16053
|
var ViewerUtils;
|
|
16013
16054
|
(function (ViewerUtils) {
|
|
@@ -16161,7 +16202,7 @@ var ViewerUtils;
|
|
|
16161
16202
|
ViewerUtils.CreateWidgets = CreateWidgets;
|
|
16162
16203
|
})(ViewerUtils || (ViewerUtils = {}));
|
|
16163
16204
|
|
|
16164
|
-
var VERSION$1 = "2.
|
|
16205
|
+
var VERSION$1 = "2.9.0";
|
|
16165
16206
|
|
|
16166
16207
|
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 };
|
|
16167
16208
|
//# sourceMappingURL=bruce-cesium.es5.js.map
|