bruce-cesium 2.7.4 → 2.7.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.
- package/dist/bruce-cesium.es5.js +143 -126
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +142 -125
- 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 +13 -2
- package/dist/lib/rendering/entity-render-engine.js.map +1 -1
- package/dist/lib/rendering/menu-item-creator.js +7 -1
- package/dist/lib/rendering/menu-item-creator.js.map +1 -1
- package/dist/lib/rendering/menu-item-manager.js +8 -0
- package/dist/lib/rendering/menu-item-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +2 -4
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js +36 -4
- package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js.map +1 -1
- package/dist/lib/widgets/common/draw-3d-polygon.js +26 -54
- package/dist/lib/widgets/common/draw-3d-polygon.js.map +1 -1
- package/dist/lib/widgets/common/draw-3d-polyline.js +46 -56
- package/dist/lib/widgets/common/draw-3d-polyline.js.map +1 -1
- package/dist/types/bruce-cesium.d.ts +1 -1
- package/dist/types/rendering/render-managers/tilesets/tileset-entities-render-manager.d.ts +5 -2
- package/package.json +2 -2
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,
|
|
3
|
+
import { Cartographic, Cartesian2, CallbackProperty, Cartesian3, Color, Rectangle, Math as Math$1, JulianDate, HeightReference, DistanceDisplayCondition, NearFarScalar, Entity, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, HeadingPitchRoll, Transforms, ColorBlendMode, Primitive, Cesium3DTileFeature, SceneMode, Cesium3DTileColorBlendMode, HeadingPitchRange, createOsmBuildings, Cesium3DTileStyle, KmlDataSource, OrthographicFrustum, EasingFunction, Cesium3DTileset, Matrix4, Matrix3, IonResource, createWorldTerrain, EllipsoidTerrainProvider, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, EllipsoidGeodesic, sampleTerrainMostDetailed, defined, Model, PolygonPipeline, CesiumInspector, ColorMaterialProperty, GeometryInstance, ScreenSpaceEventHandler, ScreenSpaceEventType, Ion, BoundingSphere } from 'cesium';
|
|
4
4
|
|
|
5
5
|
var TIME_LAG = 300;
|
|
6
6
|
var POSITION_CHECK_TIMER = 950;
|
|
@@ -1766,7 +1766,7 @@ function getName(api, entity) {
|
|
|
1766
1766
|
}
|
|
1767
1767
|
function getStyle(api, entity, styleId) {
|
|
1768
1768
|
return __awaiter(this, void 0, void 0, function () {
|
|
1769
|
-
var style, e_2, typeId, type, e_3;
|
|
1769
|
+
var style, e_2, typeId, type, e_3, hideError, error, code;
|
|
1770
1770
|
return __generator(this, function (_a) {
|
|
1771
1771
|
switch (_a.label) {
|
|
1772
1772
|
case 0:
|
|
@@ -1809,7 +1809,18 @@ function getStyle(api, entity, styleId) {
|
|
|
1809
1809
|
return [3 /*break*/, 9];
|
|
1810
1810
|
case 8:
|
|
1811
1811
|
e_3 = _a.sent();
|
|
1812
|
-
|
|
1812
|
+
hideError = false;
|
|
1813
|
+
// TODO: we need a util for extracting code + message rather than writing all this every time.
|
|
1814
|
+
if (e_3 && typeof e_3 == "object" && e_3.ERROR) {
|
|
1815
|
+
error = e_3.ERROR;
|
|
1816
|
+
code = error && typeof error == "object" ? error.Code : "";
|
|
1817
|
+
// Avoiding logging a common error.
|
|
1818
|
+
// This happens when rendering entities that don't have records.
|
|
1819
|
+
hideError = String(code).toLowerCase() == "notfound";
|
|
1820
|
+
}
|
|
1821
|
+
if (!hideError) {
|
|
1822
|
+
console.error(e_3);
|
|
1823
|
+
}
|
|
1813
1824
|
return [3 /*break*/, 9];
|
|
1814
1825
|
case 9: return [2 /*return*/, style];
|
|
1815
1826
|
}
|
|
@@ -5519,16 +5530,14 @@ var EntitiesRenderManager;
|
|
|
5519
5530
|
viewer: this.viewer,
|
|
5520
5531
|
// Unfortunately this searches as an "AND" rather than "OR" which does not meet our needs here.
|
|
5521
5532
|
// So for multiple tags we'll manually sort on UI end...
|
|
5522
|
-
tagIds: tagsToRender
|
|
5533
|
+
tagIds: (tagsToRender === null || tagsToRender === void 0 ? void 0 : tagsToRender.length) ? tagsToRender : [],
|
|
5523
5534
|
debugShowBounds: Boolean(window === null || window === void 0 ? void 0 : window.ENTITIES_RENDER_MANAGER_SHOW_BOUNDS),
|
|
5524
5535
|
cdn: this.item.cdnEnabled
|
|
5525
5536
|
});
|
|
5526
5537
|
var minMax = RenderManager.GetZoomMinMax({
|
|
5527
5538
|
zoomControl: this.item.CameraZoomSettings
|
|
5528
5539
|
});
|
|
5529
|
-
|
|
5530
|
-
// So for multiple tags we'll manually sort on UI end...
|
|
5531
|
-
this.getter.IncludeMenuItem(this.item.id, tagsToRender.length == 1 ? tagsToRender : [], minMax[0], minMax[1]);
|
|
5540
|
+
this.getter.IncludeMenuItem(this.item.id, (tagsToRender === null || tagsToRender === void 0 ? void 0 : tagsToRender.length) ? tagsToRender : [], minMax[0], minMax[1]);
|
|
5532
5541
|
this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
|
|
5533
5542
|
if (isTagItem) {
|
|
5534
5543
|
_this.distributeForRender(entities.filter(function (entity) {
|
|
@@ -8247,6 +8256,7 @@ var TilesetEntitiesRenderManager;
|
|
|
8247
8256
|
(function (TilesetEntitiesRenderManager) {
|
|
8248
8257
|
var Manager = /** @class */ (function () {
|
|
8249
8258
|
function Manager(params) {
|
|
8259
|
+
this.initCounter = 0;
|
|
8250
8260
|
this.disposed = false;
|
|
8251
8261
|
this.cTileset = null;
|
|
8252
8262
|
var viewer = params.viewer, visualsManager = params.register, apiGetter = params.getters, item = params.item;
|
|
@@ -8269,23 +8279,32 @@ var TilesetEntitiesRenderManager;
|
|
|
8269
8279
|
enumerable: false,
|
|
8270
8280
|
configurable: true
|
|
8271
8281
|
});
|
|
8272
|
-
Manager.prototype.Init = function () {
|
|
8282
|
+
Manager.prototype.Init = function (params) {
|
|
8273
8283
|
var _a;
|
|
8274
8284
|
return __awaiter(this, void 0, void 0, function () {
|
|
8275
|
-
var tilesetId;
|
|
8285
|
+
var counter, tilesetId;
|
|
8276
8286
|
var _this = this;
|
|
8277
8287
|
return __generator(this, function (_b) {
|
|
8288
|
+
this.initCounter += 1;
|
|
8289
|
+
counter = this.initCounter;
|
|
8290
|
+
if (this.disposed) {
|
|
8291
|
+
return [2 /*return*/];
|
|
8292
|
+
}
|
|
8293
|
+
if (params === null || params === void 0 ? void 0 : params.item) {
|
|
8294
|
+
this.item = params.item;
|
|
8295
|
+
}
|
|
8278
8296
|
tilesetId = (_a = this.item.tileset) === null || _a === void 0 ? void 0 : _a.TilesetID;
|
|
8279
8297
|
if (!tilesetId) {
|
|
8280
8298
|
return [2 /*return*/];
|
|
8281
8299
|
}
|
|
8282
8300
|
(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
8283
|
-
var canAccess, e_1, accountId, api, tileset, cTileset, _a;
|
|
8301
|
+
var canAccess, e_1, accountId, api, tileset, cTileset, _a, attenuation, attenuationMax;
|
|
8284
8302
|
var _this = this;
|
|
8285
8303
|
var _b, _c, _d;
|
|
8286
8304
|
return __generator(this, function (_e) {
|
|
8287
8305
|
switch (_e.label) {
|
|
8288
8306
|
case 0:
|
|
8307
|
+
if (!!this.cTileset) return [3 /*break*/, 9];
|
|
8289
8308
|
if (!tilesetId) return [3 /*break*/, 5];
|
|
8290
8309
|
canAccess = false;
|
|
8291
8310
|
_e.label = 1;
|
|
@@ -8314,6 +8333,9 @@ var TilesetEntitiesRenderManager;
|
|
|
8314
8333
|
console.warn("No tileset id found. Skipping access check.");
|
|
8315
8334
|
_e.label = 6;
|
|
8316
8335
|
case 6:
|
|
8336
|
+
if (this.disposed || counter !== this.initCounter) {
|
|
8337
|
+
return [2 /*return*/];
|
|
8338
|
+
}
|
|
8317
8339
|
accountId = (_d = this.item.tileset) === null || _d === void 0 ? void 0 : _d.ClientAccountID;
|
|
8318
8340
|
if (!accountId) {
|
|
8319
8341
|
accountId = this.getters.GetAccountId();
|
|
@@ -8327,7 +8349,7 @@ var TilesetEntitiesRenderManager;
|
|
|
8327
8349
|
})];
|
|
8328
8350
|
case 7:
|
|
8329
8351
|
tileset = (_e.sent()).tileset;
|
|
8330
|
-
if (!tileset || this.disposed) {
|
|
8352
|
+
if (!tileset || this.disposed || counter !== this.initCounter) {
|
|
8331
8353
|
return [2 /*return*/];
|
|
8332
8354
|
}
|
|
8333
8355
|
this.typeId = tileset.settings.entityTypeId;
|
|
@@ -8361,6 +8383,25 @@ var TilesetEntitiesRenderManager;
|
|
|
8361
8383
|
cTileset.tileLoad.addEventListener(function (tile) {
|
|
8362
8384
|
_this.mapCTile(tile);
|
|
8363
8385
|
});
|
|
8386
|
+
_e.label = 9;
|
|
8387
|
+
case 9:
|
|
8388
|
+
attenuation = this.item.attenuation;
|
|
8389
|
+
if (!attenuation && attenuation != false) {
|
|
8390
|
+
attenuation = true;
|
|
8391
|
+
}
|
|
8392
|
+
attenuationMax = this.item.attenuationMax;
|
|
8393
|
+
if (isNaN(attenuationMax)) {
|
|
8394
|
+
attenuationMax = 20;
|
|
8395
|
+
}
|
|
8396
|
+
this.cTileset.readyPromise.then(function () {
|
|
8397
|
+
TilesetRenderEngine.ApplySettings({
|
|
8398
|
+
cTileset: _this.cTileset,
|
|
8399
|
+
settings: {
|
|
8400
|
+
attenuation: attenuation,
|
|
8401
|
+
maximumAttenuation: attenuationMax
|
|
8402
|
+
}
|
|
8403
|
+
});
|
|
8404
|
+
});
|
|
8364
8405
|
return [2 /*return*/];
|
|
8365
8406
|
}
|
|
8366
8407
|
});
|
|
@@ -9387,6 +9428,14 @@ var MenuItemManager;
|
|
|
9387
9428
|
rItem.item = params.item;
|
|
9388
9429
|
}
|
|
9389
9430
|
}
|
|
9431
|
+
// This means we're updating a entities tileset menu item.
|
|
9432
|
+
// These have different point scaling settings based on bookmark settings.
|
|
9433
|
+
else if (rItem.type == MenuItem.EType.EntityTileset && params.item.Type == MenuItem.EType.EntityTileset) {
|
|
9434
|
+
rItem.renderManager.Init({
|
|
9435
|
+
item: params.item,
|
|
9436
|
+
});
|
|
9437
|
+
rItem.item = params.item;
|
|
9438
|
+
}
|
|
9390
9439
|
}
|
|
9391
9440
|
else {
|
|
9392
9441
|
rItem = {
|
|
@@ -10058,7 +10107,7 @@ var MenuItemCreator;
|
|
|
10058
10107
|
renderedItemIds = [];
|
|
10059
10108
|
if (!((menuItems === null || menuItems === void 0 ? void 0 : menuItems.length) && (enabledIds === null || enabledIds === void 0 ? void 0 : enabledIds.length))) return [3 /*break*/, 10];
|
|
10060
10109
|
traverseItems_1 = function (item) { return __awaiter(_this, void 0, void 0, function () {
|
|
10061
|
-
var eItem, eItemAlt, itemId, i;
|
|
10110
|
+
var eItem, eItemAlt, tItem, tItemAlt, itemId, i;
|
|
10062
10111
|
var _a;
|
|
10063
10112
|
return __generator(this, function (_b) {
|
|
10064
10113
|
switch (_b.label) {
|
|
@@ -10073,6 +10122,12 @@ var MenuItemCreator;
|
|
|
10073
10122
|
eItem.BruceEntity = __assign(__assign({}, eItem.BruceEntity), { SelectedExpandLayers: (_a = eItemAlt.BruceEntity) === null || _a === void 0 ? void 0 : _a.SelectedExpandLayers });
|
|
10074
10123
|
}
|
|
10075
10124
|
}
|
|
10125
|
+
else if (item.Type == MenuItem.EType.EntityTileset) {
|
|
10126
|
+
tItem = item;
|
|
10127
|
+
tItemAlt = alternations[item.id];
|
|
10128
|
+
tItem.attenuation = tItemAlt.attenuation;
|
|
10129
|
+
tItem.attenuationMax = tItemAlt.attenuationMax;
|
|
10130
|
+
}
|
|
10076
10131
|
}
|
|
10077
10132
|
if (!enabledIds.includes(item.id)) return [3 /*break*/, 2];
|
|
10078
10133
|
return [4 /*yield*/, manager.RenderItem({
|
|
@@ -12436,71 +12491,43 @@ var ViewRenderEngine;
|
|
|
12436
12491
|
})(ViewRenderEngine || (ViewRenderEngine = {}));
|
|
12437
12492
|
|
|
12438
12493
|
var DEFAULT_SMOOTH_MULTIPLIER = 0;
|
|
12439
|
-
function
|
|
12440
|
-
var
|
|
12441
|
-
|
|
12442
|
-
|
|
12443
|
-
var x1 = carto1.longitude;
|
|
12444
|
-
var y1 = carto1.latitude;
|
|
12445
|
-
var x2 = carto2.longitude;
|
|
12446
|
-
var y2 = carto2.latitude;
|
|
12447
|
-
var x3 = carto3.longitude;
|
|
12448
|
-
var y3 = carto3.latitude;
|
|
12449
|
-
var A = x1 - x2;
|
|
12450
|
-
var B = y1 - y2;
|
|
12451
|
-
var C = x3 - x2;
|
|
12452
|
-
var D = y3 - y2;
|
|
12453
|
-
var dot = A * C + B * D;
|
|
12454
|
-
var lenSq = C * C + D * D;
|
|
12455
|
-
var param = dot / lenSq;
|
|
12456
|
-
var xx;
|
|
12457
|
-
var yy;
|
|
12458
|
-
if (param < 0 || x2 == x3 && y2 == y3) {
|
|
12459
|
-
xx = x2;
|
|
12460
|
-
yy = y2;
|
|
12461
|
-
}
|
|
12462
|
-
else if (param > 1) {
|
|
12463
|
-
xx = x3;
|
|
12464
|
-
yy = y3;
|
|
12494
|
+
function distanceToSegment$1(p, v, w) {
|
|
12495
|
+
var l2 = Cartesian3.distanceSquared(v, w);
|
|
12496
|
+
if (l2 === 0) {
|
|
12497
|
+
return Cartesian3.distance(p, v);
|
|
12465
12498
|
}
|
|
12466
|
-
|
|
12467
|
-
|
|
12468
|
-
|
|
12499
|
+
var t = Cartesian3.dot(Cartesian3.subtract(p, v, new Cartesian3()), Cartesian3.subtract(w, v, new Cartesian3())) / l2;
|
|
12500
|
+
if (t < 0) {
|
|
12501
|
+
return Cartesian3.distance(p, v);
|
|
12502
|
+
}
|
|
12503
|
+
if (t > 1) {
|
|
12504
|
+
return Cartesian3.distance(p, w);
|
|
12469
12505
|
}
|
|
12470
|
-
var
|
|
12471
|
-
|
|
12472
|
-
return Math.sqrt(dx * dx + dy * dy);
|
|
12506
|
+
var projection = Cartesian3.add(v, Cartesian3.multiplyByScalar(Cartesian3.subtract(w, v, new Cartesian3()), t, new Cartesian3()), new Cartesian3());
|
|
12507
|
+
return Cartesian3.distance(p, projection);
|
|
12473
12508
|
}
|
|
12509
|
+
/**
|
|
12510
|
+
* Returns splice index into a list of positions to insert a new position.
|
|
12511
|
+
* @param positions List of positions to insert into.
|
|
12512
|
+
* @param pos3d New position to insert.
|
|
12513
|
+
* @returns Index to insert at.
|
|
12514
|
+
*/
|
|
12474
12515
|
function getInsertIndex(positions, pos3d) {
|
|
12475
12516
|
if (positions.length < 2) {
|
|
12476
12517
|
return 0;
|
|
12477
12518
|
}
|
|
12519
|
+
var minDistance = Infinity;
|
|
12478
12520
|
var index = -1;
|
|
12479
|
-
|
|
12480
|
-
var
|
|
12481
|
-
|
|
12482
|
-
|
|
12483
|
-
|
|
12484
|
-
|
|
12485
|
-
|
|
12486
|
-
pos2 = positions[0];
|
|
12487
|
-
pos2Index = 0;
|
|
12488
|
-
}
|
|
12489
|
-
else {
|
|
12490
|
-
pos2 = positions[j + 1];
|
|
12491
|
-
pos2Index = j + 1;
|
|
12492
|
-
}
|
|
12493
|
-
if (Cartes.ValidateCartes3(pos1), Cartes.ValidateCartes3(pos2)) {
|
|
12494
|
-
var length_1 = avgDistanceFromPointPair(pos3d, pos1, pos2);
|
|
12495
|
-
if (index == -1 || length_1 < distance) {
|
|
12496
|
-
var insertIndex = pos2Index == 0 ? 0 : j > pos2Index ? j : pos2Index;
|
|
12497
|
-
index = insertIndex;
|
|
12498
|
-
distance = length_1;
|
|
12499
|
-
}
|
|
12500
|
-
}
|
|
12521
|
+
for (var i = 0; i < positions.length; i++) {
|
|
12522
|
+
var pos1 = positions[i];
|
|
12523
|
+
var pos2 = i < positions.length - 1 ? positions[i + 1] : positions[0];
|
|
12524
|
+
var dist = distanceToSegment$1(pos3d, pos1, pos2);
|
|
12525
|
+
if (dist < minDistance) {
|
|
12526
|
+
minDistance = dist;
|
|
12527
|
+
index = i + 1;
|
|
12501
12528
|
}
|
|
12502
12529
|
}
|
|
12503
|
-
return index
|
|
12530
|
+
return index;
|
|
12504
12531
|
}
|
|
12505
12532
|
var OUTLINE_COLOR = "rgba(51, 177, 255, 0.2)";
|
|
12506
12533
|
var FILL_COLOR = "#33B1FF";
|
|
@@ -12903,71 +12930,61 @@ var Draw3dPolygon = /** @class */ (function () {
|
|
|
12903
12930
|
}());
|
|
12904
12931
|
|
|
12905
12932
|
var DEFAULT_SMOOTH_MULTIPLIER$1 = 0;
|
|
12906
|
-
function
|
|
12907
|
-
var
|
|
12908
|
-
|
|
12909
|
-
|
|
12910
|
-
var x1 = carto1.longitude;
|
|
12911
|
-
var y1 = carto1.latitude;
|
|
12912
|
-
var x2 = carto2.longitude;
|
|
12913
|
-
var y2 = carto2.latitude;
|
|
12914
|
-
var x3 = carto3.longitude;
|
|
12915
|
-
var y3 = carto3.latitude;
|
|
12916
|
-
var A = x1 - x2;
|
|
12917
|
-
var B = y1 - y2;
|
|
12918
|
-
var C = x3 - x2;
|
|
12919
|
-
var D = y3 - y2;
|
|
12920
|
-
var dot = A * C + B * D;
|
|
12921
|
-
var lenSq = C * C + D * D;
|
|
12922
|
-
var param = dot / lenSq;
|
|
12923
|
-
var xx;
|
|
12924
|
-
var yy;
|
|
12925
|
-
if (param < 0 || x2 == x3 && y2 == y3) {
|
|
12926
|
-
xx = x2;
|
|
12927
|
-
yy = y2;
|
|
12928
|
-
}
|
|
12929
|
-
else if (param > 1) {
|
|
12930
|
-
xx = x3;
|
|
12931
|
-
yy = y3;
|
|
12933
|
+
function distanceToSegment$2(p, v, w) {
|
|
12934
|
+
var l2 = Cartesian3.distanceSquared(v, w);
|
|
12935
|
+
if (l2 === 0) {
|
|
12936
|
+
return Cartesian3.distance(p, v);
|
|
12932
12937
|
}
|
|
12933
|
-
|
|
12934
|
-
|
|
12935
|
-
|
|
12938
|
+
var t = Cartesian3.dot(Cartesian3.subtract(p, v, new Cartesian3()), Cartesian3.subtract(w, v, new Cartesian3())) / l2;
|
|
12939
|
+
if (t < 0) {
|
|
12940
|
+
return Cartesian3.distance(p, v);
|
|
12936
12941
|
}
|
|
12937
|
-
|
|
12938
|
-
|
|
12939
|
-
|
|
12942
|
+
if (t > 1) {
|
|
12943
|
+
return Cartesian3.distance(p, w);
|
|
12944
|
+
}
|
|
12945
|
+
var projection = Cartesian3.add(v, Cartesian3.multiplyByScalar(Cartesian3.subtract(w, v, new Cartesian3()), t, new Cartesian3()), new Cartesian3());
|
|
12946
|
+
return Cartesian3.distance(p, projection);
|
|
12940
12947
|
}
|
|
12948
|
+
/**
|
|
12949
|
+
* Returns splice index into a list of positions to insert a new position.
|
|
12950
|
+
* @param positions List of positions to insert into.
|
|
12951
|
+
* @param pos3d New position to insert.
|
|
12952
|
+
* @returns Index to insert at.
|
|
12953
|
+
*/
|
|
12941
12954
|
function getInsertIndex$1(positions, pos3d) {
|
|
12942
12955
|
if (positions.length < 2) {
|
|
12943
12956
|
return 0;
|
|
12944
12957
|
}
|
|
12945
|
-
var
|
|
12946
|
-
|
|
12947
|
-
|
|
12948
|
-
|
|
12949
|
-
|
|
12950
|
-
|
|
12951
|
-
|
|
12952
|
-
|
|
12953
|
-
|
|
12954
|
-
|
|
12955
|
-
|
|
12956
|
-
|
|
12957
|
-
|
|
12958
|
-
|
|
12959
|
-
|
|
12960
|
-
|
|
12961
|
-
|
|
12962
|
-
|
|
12963
|
-
|
|
12964
|
-
|
|
12965
|
-
|
|
12966
|
-
|
|
12967
|
-
|
|
12968
|
-
|
|
12969
|
-
|
|
12970
|
-
|
|
12958
|
+
var minDistance = Infinity;
|
|
12959
|
+
var index = -1;
|
|
12960
|
+
// Check against segments
|
|
12961
|
+
for (var i = 0; i < positions.length - 1; i++) {
|
|
12962
|
+
var pos1 = positions[i];
|
|
12963
|
+
var pos2 = positions[i + 1];
|
|
12964
|
+
var dist = distanceToSegment$2(pos3d, pos1, pos2);
|
|
12965
|
+
if (dist < minDistance) {
|
|
12966
|
+
minDistance = dist;
|
|
12967
|
+
index = i + 1;
|
|
12968
|
+
}
|
|
12969
|
+
}
|
|
12970
|
+
// Check against start point
|
|
12971
|
+
var startDist = Cartesian3.distance(pos3d, positions[0]);
|
|
12972
|
+
if (startDist <= minDistance) {
|
|
12973
|
+
index = 0;
|
|
12974
|
+
minDistance = startDist;
|
|
12975
|
+
console.log("Insert at start");
|
|
12976
|
+
}
|
|
12977
|
+
else {
|
|
12978
|
+
console.log("Start distance was longer than cur distance. ".concat(startDist, " > ").concat(minDistance));
|
|
12979
|
+
}
|
|
12980
|
+
// Check against end point
|
|
12981
|
+
var endDist = Cartesian3.distance(pos3d, positions[positions.length - 1]);
|
|
12982
|
+
if (endDist <= minDistance) {
|
|
12983
|
+
index = positions.length;
|
|
12984
|
+
console.log("Insert at end");
|
|
12985
|
+
}
|
|
12986
|
+
else {
|
|
12987
|
+
console.log("End distance was longer than cur distance. ".concat(endDist, " > ").concat(minDistance));
|
|
12971
12988
|
}
|
|
12972
12989
|
return index;
|
|
12973
12990
|
}
|
|
@@ -15272,7 +15289,7 @@ var ViewerUtils;
|
|
|
15272
15289
|
ViewerUtils.CreateWidgets = CreateWidgets;
|
|
15273
15290
|
})(ViewerUtils || (ViewerUtils = {}));
|
|
15274
15291
|
|
|
15275
|
-
var VERSION$1 = "2.7.
|
|
15292
|
+
var VERSION$1 = "2.7.6";
|
|
15276
15293
|
|
|
15277
15294
|
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, ViewRenderEngine, TileRenderEngine, TilesetRenderEngine, CESIUM_INSPECTOR_KEY, ViewUtils, DrawingUtils, MeasureUtils, EntityUtils, Draw3dPolygon, Draw3dPolyline };
|
|
15278
15295
|
//# sourceMappingURL=bruce-cesium.es5.js.map
|