@itwin/rpcinterface-full-stack-tests 5.1.0-dev.10 → 5.1.0-dev.12
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/lib/backend/BackendInit.js.map +1 -1
- package/lib/common/Settings.js +12 -12
- package/lib/common/Settings.js.map +1 -1
- package/lib/common/SideChannels.js.map +1 -1
- package/lib/dist/_bea9.bundled-tests.js.map +1 -1
- package/lib/dist/bundled-tests.js +268 -202
- package/lib/dist/bundled-tests.js.map +1 -1
- package/lib/dist/core_frontend_lib_esm_ApproximateTerrainHeightsProps_js.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_cross-fetch_4_0_0_node_modules_cross-fetch_dist_browser-24291b.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_1_6_node_modules_loaders_gl_draco_di-0642a6.bundled-tests.js.map +1 -1
- package/lib/frontend/CodeSpecs.test.js.map +1 -1
- package/lib/frontend/DevToolsRpc.test.js.map +1 -1
- package/lib/frontend/Elements.test.js.map +1 -1
- package/lib/frontend/IModel.test.js.map +1 -1
- package/lib/frontend/IModelConnection.test.js.map +1 -1
- package/lib/frontend/Models.test.js.map +1 -1
- package/lib/frontend/PresentationRpc.test.js.map +1 -1
- package/lib/frontend/Views.test.js.map +1 -1
- package/lib/frontend/setup/IModelSession.js.map +1 -1
- package/lib/frontend/setup/TestContext.js.map +1 -1
- package/lib/frontend/workflows/BasicScenarios.test.js.map +1 -1
- package/package.json +13 -13
|
@@ -94270,34 +94270,44 @@ class ECClass extends _SchemaItem__WEBPACK_IMPORTED_MODULE_9__.SchemaItem {
|
|
|
94270
94270
|
* @param name The name of the property to retrieve.
|
|
94271
94271
|
* @param excludeInherited If true, excludes inherited properties from the results. Defaults to false.
|
|
94272
94272
|
*/
|
|
94273
|
-
async getProperty(name, excludeInherited
|
|
94273
|
+
async getProperty(name, excludeInherited) {
|
|
94274
|
+
const upperKey = name.toUpperCase();
|
|
94275
|
+
let property;
|
|
94274
94276
|
if (this._properties) {
|
|
94275
|
-
|
|
94276
|
-
|
|
94277
|
-
if (property)
|
|
94277
|
+
property = this._properties.get(upperKey);
|
|
94278
|
+
if (property) {
|
|
94278
94279
|
return property;
|
|
94280
|
+
}
|
|
94279
94281
|
}
|
|
94280
94282
|
if (excludeInherited) {
|
|
94281
94283
|
return undefined;
|
|
94282
94284
|
}
|
|
94283
|
-
|
|
94285
|
+
if (!this._mergedPropertyCache) {
|
|
94286
|
+
this._mergedPropertyCache = await this.buildPropertyCache();
|
|
94287
|
+
}
|
|
94288
|
+
return this._mergedPropertyCache.get(upperKey);
|
|
94284
94289
|
}
|
|
94285
94290
|
/**
|
|
94286
94291
|
* Searches, case-insensitive, for a local ECProperty with the name provided.
|
|
94287
94292
|
* @param name The name of the property to retrieve.
|
|
94288
94293
|
* @param excludeInherited If true, excludes inherited properties from the results. Defaults to false.
|
|
94289
94294
|
*/
|
|
94290
|
-
getPropertySync(name, excludeInherited
|
|
94295
|
+
getPropertySync(name, excludeInherited) {
|
|
94296
|
+
const upperKey = name.toUpperCase();
|
|
94297
|
+
let property;
|
|
94291
94298
|
if (this._properties) {
|
|
94292
|
-
|
|
94293
|
-
|
|
94294
|
-
if (property)
|
|
94299
|
+
property = this._properties.get(upperKey);
|
|
94300
|
+
if (property) {
|
|
94295
94301
|
return property;
|
|
94302
|
+
}
|
|
94296
94303
|
}
|
|
94297
94304
|
if (excludeInherited) {
|
|
94298
94305
|
return undefined;
|
|
94299
94306
|
}
|
|
94300
|
-
|
|
94307
|
+
if (!this._mergedPropertyCache) {
|
|
94308
|
+
this._mergedPropertyCache = this.buildPropertyCacheSync();
|
|
94309
|
+
}
|
|
94310
|
+
return this._mergedPropertyCache.get(upperKey);
|
|
94301
94311
|
}
|
|
94302
94312
|
/**
|
|
94303
94313
|
* Searches the base class, if one exists, for the property with the name provided.
|
|
@@ -94629,69 +94639,51 @@ class ECClass extends _SchemaItem__WEBPACK_IMPORTED_MODULE_9__.SchemaItem {
|
|
|
94629
94639
|
}
|
|
94630
94640
|
/**
|
|
94631
94641
|
*
|
|
94632
|
-
* @param
|
|
94633
|
-
* @
|
|
94634
|
-
* @param propertiesToMerge
|
|
94635
|
-
* @param overwriteExisting
|
|
94642
|
+
* @param cache
|
|
94643
|
+
* @returns
|
|
94636
94644
|
*
|
|
94637
94645
|
* @internal
|
|
94638
94646
|
*/
|
|
94639
|
-
|
|
94640
|
-
|
|
94641
|
-
|
|
94642
|
-
|
|
94643
|
-
|
|
94644
|
-
if (
|
|
94645
|
-
|
|
94647
|
+
async buildPropertyCache() {
|
|
94648
|
+
const cache = new Map();
|
|
94649
|
+
const baseClass = await this.baseClass;
|
|
94650
|
+
if (baseClass) {
|
|
94651
|
+
for (const property of await baseClass.getProperties()) {
|
|
94652
|
+
if (!cache.has(property.name.toUpperCase())) {
|
|
94653
|
+
cache.set(property.name.toUpperCase(), property);
|
|
94646
94654
|
}
|
|
94647
94655
|
}
|
|
94648
|
-
else {
|
|
94649
|
-
existingValues.set(upperCaseName, target.length);
|
|
94650
|
-
target.push(property);
|
|
94651
|
-
}
|
|
94652
|
-
}
|
|
94653
|
-
}
|
|
94654
|
-
/**
|
|
94655
|
-
*
|
|
94656
|
-
* @param result
|
|
94657
|
-
* @param existingValues
|
|
94658
|
-
* @returns
|
|
94659
|
-
*
|
|
94660
|
-
* @internal
|
|
94661
|
-
*/
|
|
94662
|
-
async buildPropertyCache(result, existingValues) {
|
|
94663
|
-
if (!existingValues) {
|
|
94664
|
-
existingValues = new Map();
|
|
94665
94656
|
}
|
|
94666
|
-
if (this.
|
|
94667
|
-
|
|
94668
|
-
|
|
94669
|
-
|
|
94670
|
-
}
|
|
94657
|
+
if (this._properties) {
|
|
94658
|
+
this._properties.forEach(property => {
|
|
94659
|
+
cache.set(property.name.toUpperCase(), property);
|
|
94660
|
+
});
|
|
94671
94661
|
}
|
|
94672
|
-
|
|
94673
|
-
return;
|
|
94674
|
-
ECClass.mergeProperties(result, existingValues, [...this._properties.values()], true);
|
|
94662
|
+
return cache;
|
|
94675
94663
|
}
|
|
94676
94664
|
/**
|
|
94677
94665
|
*
|
|
94678
|
-
* @param
|
|
94679
|
-
* @param existingValues
|
|
94666
|
+
* @param cache
|
|
94680
94667
|
* @returns
|
|
94681
94668
|
*
|
|
94682
94669
|
* @internal
|
|
94683
94670
|
*/
|
|
94684
|
-
buildPropertyCacheSync(
|
|
94685
|
-
|
|
94686
|
-
existingValues = new Map();
|
|
94687
|
-
}
|
|
94671
|
+
buildPropertyCacheSync() {
|
|
94672
|
+
const cache = new Map();
|
|
94688
94673
|
const baseClass = this.getBaseClassSync();
|
|
94689
94674
|
if (baseClass) {
|
|
94690
|
-
|
|
94675
|
+
for (const property of baseClass.getPropertiesSync()) {
|
|
94676
|
+
if (!cache.has(property.name.toUpperCase())) {
|
|
94677
|
+
cache.set(property.name.toUpperCase(), property);
|
|
94678
|
+
}
|
|
94679
|
+
}
|
|
94691
94680
|
}
|
|
94692
|
-
if (
|
|
94693
|
-
|
|
94694
|
-
|
|
94681
|
+
if (this._properties) {
|
|
94682
|
+
this._properties.forEach(property => {
|
|
94683
|
+
cache.set(property.name.toUpperCase(), property);
|
|
94684
|
+
});
|
|
94685
|
+
}
|
|
94686
|
+
return cache;
|
|
94695
94687
|
}
|
|
94696
94688
|
/**
|
|
94697
94689
|
* Clears all caches on this object. This is called implicitly for this class,
|
|
@@ -94712,10 +94704,9 @@ class ECClass extends _SchemaItem__WEBPACK_IMPORTED_MODULE_9__.SchemaItem {
|
|
|
94712
94704
|
return this._properties && this._properties.size > 0 ? this._properties.values() : [];
|
|
94713
94705
|
}
|
|
94714
94706
|
if (!this._mergedPropertyCache) {
|
|
94715
|
-
this._mergedPropertyCache =
|
|
94716
|
-
this.buildPropertyCacheSync(this._mergedPropertyCache, undefined);
|
|
94707
|
+
this._mergedPropertyCache = this.buildPropertyCacheSync();
|
|
94717
94708
|
}
|
|
94718
|
-
return this._mergedPropertyCache;
|
|
94709
|
+
return this._mergedPropertyCache.values();
|
|
94719
94710
|
}
|
|
94720
94711
|
/**
|
|
94721
94712
|
* Quick way to check whether this class has any local properties without having to use the iterable
|
|
@@ -95336,44 +95327,64 @@ class EntityClass extends _Class__WEBPACK_IMPORTED_MODULE_4__.ECClass {
|
|
|
95336
95327
|
}
|
|
95337
95328
|
/**
|
|
95338
95329
|
*
|
|
95339
|
-
* @param
|
|
95340
|
-
* @
|
|
95330
|
+
* @param cache
|
|
95331
|
+
* @returns
|
|
95332
|
+
*
|
|
95341
95333
|
* @internal
|
|
95342
95334
|
*/
|
|
95343
|
-
async buildPropertyCache(
|
|
95344
|
-
|
|
95345
|
-
existingValues = new Map();
|
|
95346
|
-
}
|
|
95335
|
+
async buildPropertyCache() {
|
|
95336
|
+
const cache = new Map();
|
|
95347
95337
|
const baseClass = await this.baseClass;
|
|
95348
95338
|
if (baseClass) {
|
|
95349
|
-
|
|
95339
|
+
for (const property of await baseClass.getProperties()) {
|
|
95340
|
+
if (!cache.has(property.name.toUpperCase()))
|
|
95341
|
+
cache.set(property.name.toUpperCase(), property);
|
|
95342
|
+
}
|
|
95350
95343
|
}
|
|
95351
95344
|
for (const mixin of this.mixins) {
|
|
95352
|
-
const
|
|
95353
|
-
|
|
95345
|
+
const mixinObj = await mixin;
|
|
95346
|
+
const mixinProps = mixinObj.getPropertiesSync();
|
|
95347
|
+
for (const property of mixinProps) {
|
|
95348
|
+
if (!cache.has(property.name.toUpperCase()))
|
|
95349
|
+
cache.set(property.name.toUpperCase(), property);
|
|
95350
|
+
}
|
|
95351
|
+
}
|
|
95352
|
+
const localProps = await this.getProperties(true);
|
|
95353
|
+
if (localProps) {
|
|
95354
|
+
for (const property of localProps) {
|
|
95355
|
+
cache.set(property.name.toUpperCase(), property);
|
|
95356
|
+
}
|
|
95354
95357
|
}
|
|
95355
|
-
|
|
95356
|
-
_Class__WEBPACK_IMPORTED_MODULE_4__.ECClass.mergeProperties(result, existingValues, localProps, true);
|
|
95358
|
+
return cache;
|
|
95357
95359
|
}
|
|
95358
95360
|
/**
|
|
95359
95361
|
*
|
|
95360
|
-
* @param
|
|
95361
|
-
* @param existingValues
|
|
95362
|
+
* @param cache
|
|
95362
95363
|
* @internal
|
|
95363
95364
|
*/
|
|
95364
|
-
buildPropertyCacheSync(
|
|
95365
|
-
|
|
95366
|
-
existingValues = new Map();
|
|
95367
|
-
}
|
|
95365
|
+
buildPropertyCacheSync() {
|
|
95366
|
+
const cache = new Map();
|
|
95368
95367
|
const baseClass = this.getBaseClassSync();
|
|
95369
95368
|
if (baseClass) {
|
|
95370
|
-
|
|
95369
|
+
Array.from(baseClass.getPropertiesSync()).forEach((property) => {
|
|
95370
|
+
if (!cache.has(property.name.toUpperCase()))
|
|
95371
|
+
cache.set(property.name.toUpperCase(), property);
|
|
95372
|
+
});
|
|
95371
95373
|
}
|
|
95372
95374
|
for (const mixin of this.getMixinsSync()) {
|
|
95373
|
-
|
|
95375
|
+
const mixinProps = mixin.getPropertiesSync();
|
|
95376
|
+
for (const property of mixinProps) {
|
|
95377
|
+
if (!cache.has(property.name.toUpperCase()))
|
|
95378
|
+
cache.set(property.name.toUpperCase(), property);
|
|
95379
|
+
}
|
|
95374
95380
|
}
|
|
95375
95381
|
const localProps = this.getPropertiesSync(true);
|
|
95376
|
-
|
|
95382
|
+
if (localProps) {
|
|
95383
|
+
Array.from(localProps).forEach(property => {
|
|
95384
|
+
cache.set(property.name.toUpperCase(), property);
|
|
95385
|
+
});
|
|
95386
|
+
}
|
|
95387
|
+
return cache;
|
|
95377
95388
|
}
|
|
95378
95389
|
/**
|
|
95379
95390
|
*
|
|
@@ -119020,8 +119031,18 @@ class ViewAttachments {
|
|
|
119020
119031
|
get isEmpty() {
|
|
119021
119032
|
return 0 === this._attachments.length;
|
|
119022
119033
|
}
|
|
119023
|
-
|
|
119024
|
-
return this._attachments.every((x) =>
|
|
119034
|
+
areAllTileTreesLoaded(displayedExtents) {
|
|
119035
|
+
return this._attachments.every((x) => {
|
|
119036
|
+
const placement = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.Placement2d.fromJSON(x.viewAttachmentProps.placement);
|
|
119037
|
+
const attachmentRange = placement.calculateRange();
|
|
119038
|
+
if (!attachmentRange.intersectsRangeXY(displayedExtents))
|
|
119039
|
+
return true;
|
|
119040
|
+
return x.areAllTileTreesLoaded;
|
|
119041
|
+
});
|
|
119042
|
+
}
|
|
119043
|
+
/** Strictly for testing purposes */
|
|
119044
|
+
areAllAttachmentsLoaded() {
|
|
119045
|
+
return this._attachments.every((attachment) => attachment.areAllTileTreesLoaded);
|
|
119025
119046
|
}
|
|
119026
119047
|
discloseTileTrees(trees) {
|
|
119027
119048
|
for (const attachment of this._attachments)
|
|
@@ -119200,7 +119221,19 @@ class SheetViewState extends _ViewState__WEBPACK_IMPORTED_MODULE_12__.ViewState2
|
|
|
119200
119221
|
this._attachments = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.dispose)(this._attachments);
|
|
119201
119222
|
}
|
|
119202
119223
|
get areAllTileTreesLoaded() {
|
|
119203
|
-
|
|
119224
|
+
let displayedExtents = this._viewedExtents;
|
|
119225
|
+
const frustum = this.calculateFrustum();
|
|
119226
|
+
if (frustum) {
|
|
119227
|
+
displayedExtents = frustum.toRange();
|
|
119228
|
+
}
|
|
119229
|
+
return super.areAllTileTreesLoaded && (!this._attachments || this._attachments.areAllTileTreesLoaded(displayedExtents));
|
|
119230
|
+
}
|
|
119231
|
+
/** @internal Strictly for testing */
|
|
119232
|
+
areAllAttachmentsLoaded() {
|
|
119233
|
+
if (this._attachments) {
|
|
119234
|
+
return this._attachments.areAllAttachmentsLoaded();
|
|
119235
|
+
}
|
|
119236
|
+
return true;
|
|
119204
119237
|
}
|
|
119205
119238
|
/** Create a sheet border decoration graphic. */
|
|
119206
119239
|
createBorder(width, height, context) {
|
|
@@ -214565,7 +214598,8 @@ class BSpline2dNd extends _curve_GeometryQuery__WEBPACK_IMPORTED_MODULE_0__.Geom
|
|
|
214565
214598
|
knots;
|
|
214566
214599
|
/** flat array of coordinate data, blocked by poleDimension and row */
|
|
214567
214600
|
coffs;
|
|
214568
|
-
/**
|
|
214601
|
+
/**
|
|
214602
|
+
* Number of components per pole.
|
|
214569
214603
|
* * 3 for conventional xyz surface
|
|
214570
214604
|
* * 4 for weighted (wx, wy, wz, w) surface.
|
|
214571
214605
|
*/
|
|
@@ -233696,7 +233730,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
233696
233730
|
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
233697
233731
|
/* harmony import */ var _geometry4d_MomentData__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../geometry4d/MomentData */ "../../core/geometry/lib/esm/geometry4d/MomentData.js");
|
|
233698
233732
|
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
233699
|
-
/* harmony import */ var
|
|
233733
|
+
/* harmony import */ var _RegionOps__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./RegionOps */ "../../core/geometry/lib/esm/curve/RegionOps.js");
|
|
233700
233734
|
/* harmony import */ var _StrokeOptions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./StrokeOptions */ "../../core/geometry/lib/esm/curve/StrokeOptions.js");
|
|
233701
233735
|
/*---------------------------------------------------------------------------------------------
|
|
233702
233736
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
@@ -233773,49 +233807,31 @@ class RegionMomentsXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODU
|
|
|
233773
233807
|
this._activeMomentData = undefined;
|
|
233774
233808
|
return momentData;
|
|
233775
233809
|
}
|
|
233776
|
-
|
|
233777
|
-
|
|
233778
|
-
|
|
233779
|
-
|
|
233780
|
-
|
|
233781
|
-
|
|
233782
|
-
|
|
233783
|
-
const childMoments = this.handleLoop(child);
|
|
233810
|
+
handleAnyRegion(region) {
|
|
233811
|
+
const summedMoments = _geometry4d_MomentData__WEBPACK_IMPORTED_MODULE_3__.MomentData.create();
|
|
233812
|
+
// guarantee there is no overlapping children
|
|
233813
|
+
const merged = _RegionOps__WEBPACK_IMPORTED_MODULE_4__.RegionOps.regionBooleanXY(region, undefined, _RegionOps__WEBPACK_IMPORTED_MODULE_4__.RegionBinaryOpType.Union);
|
|
233814
|
+
if (merged) {
|
|
233815
|
+
for (const child of merged.children) {
|
|
233816
|
+
const childMoments = child.dispatchToGeometryHandler(this);
|
|
233784
233817
|
if (childMoments) {
|
|
233785
|
-
|
|
233786
|
-
|
|
233787
|
-
if (q > maxAbsArea) {
|
|
233788
|
-
maxAbsArea = q;
|
|
233789
|
-
largestChildMoments = childMoments;
|
|
233790
|
-
}
|
|
233818
|
+
const sign0 = childMoments.signFactor(1.0);
|
|
233819
|
+
summedMoments.accumulateProducts(childMoments, sign0);
|
|
233791
233820
|
}
|
|
233792
233821
|
}
|
|
233793
233822
|
}
|
|
233794
|
-
|
|
233795
|
-
|
|
233796
|
-
const sign0 = largestChildMoments.signFactor(1.0);
|
|
233797
|
-
summedMoments.accumulateProducts(largestChildMoments, sign0);
|
|
233798
|
-
for (const childMoments of allChildMoments) {
|
|
233799
|
-
if (childMoments !== largestChildMoments) {
|
|
233800
|
-
const sign1 = childMoments.signFactor(-1.0);
|
|
233801
|
-
summedMoments.accumulateProducts(childMoments, sign1);
|
|
233802
|
-
}
|
|
233803
|
-
}
|
|
233804
|
-
return summedMoments;
|
|
233823
|
+
else {
|
|
233824
|
+
return undefined;
|
|
233805
233825
|
}
|
|
233806
|
-
return
|
|
233826
|
+
return summedMoments;
|
|
233827
|
+
}
|
|
233828
|
+
/** Accumulate integrals from origin to the components of the parity region. */
|
|
233829
|
+
handleParityRegion(region) {
|
|
233830
|
+
return this.handleAnyRegion(region);
|
|
233807
233831
|
}
|
|
233808
233832
|
/** Accumulate integrals from origin to the components of the union region. */
|
|
233809
233833
|
handleUnionRegion(region) {
|
|
233810
|
-
|
|
233811
|
-
for (const child of region.children) {
|
|
233812
|
-
const childMoments = child.dispatchToGeometryHandler(this);
|
|
233813
|
-
if (childMoments) {
|
|
233814
|
-
const sign0 = childMoments.signFactor(1.0);
|
|
233815
|
-
summedMoments.accumulateProducts(childMoments, sign0);
|
|
233816
|
-
}
|
|
233817
|
-
}
|
|
233818
|
-
return summedMoments;
|
|
233834
|
+
return this.handleAnyRegion(region);
|
|
233819
233835
|
}
|
|
233820
233836
|
_strokeOptions;
|
|
233821
233837
|
getStrokeOptions() {
|
|
@@ -233873,9 +233889,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
233873
233889
|
/* harmony import */ var _geometry3d_IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../geometry3d/IndexedXYZCollection */ "../../core/geometry/lib/esm/geometry3d/IndexedXYZCollection.js");
|
|
233874
233890
|
/* harmony import */ var _geometry3d_Point3dArrayCarrier__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../geometry3d/Point3dArrayCarrier */ "../../core/geometry/lib/esm/geometry3d/Point3dArrayCarrier.js");
|
|
233875
233891
|
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
233876
|
-
/* harmony import */ var
|
|
233892
|
+
/* harmony import */ var _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../geometry3d/PolygonOps */ "../../core/geometry/lib/esm/geometry3d/PolygonOps.js");
|
|
233877
233893
|
/* harmony import */ var _geometry3d_PolylineCompressionByEdgeOffset__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../geometry3d/PolylineCompressionByEdgeOffset */ "../../core/geometry/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js");
|
|
233878
|
-
/* harmony import */ var
|
|
233894
|
+
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
233879
233895
|
/* harmony import */ var _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../geometry3d/Ray3d */ "../../core/geometry/lib/esm/geometry3d/Ray3d.js");
|
|
233880
233896
|
/* harmony import */ var _geometry3d_SortablePolygon__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../geometry3d/SortablePolygon */ "../../core/geometry/lib/esm/geometry3d/SortablePolygon.js");
|
|
233881
233897
|
/* harmony import */ var _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../geometry3d/Transform */ "../../core/geometry/lib/esm/geometry3d/Transform.js");
|
|
@@ -233883,16 +233899,17 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
233883
233899
|
/* harmony import */ var _polyface_PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../polyface/PolyfaceBuilder */ "../../core/geometry/lib/esm/polyface/PolyfaceBuilder.js");
|
|
233884
233900
|
/* harmony import */ var _topology_Graph__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../topology/Graph */ "../../core/geometry/lib/esm/topology/Graph.js");
|
|
233885
233901
|
/* harmony import */ var _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../topology/HalfEdgeGraphSearch */ "../../core/geometry/lib/esm/topology/HalfEdgeGraphSearch.js");
|
|
233886
|
-
/* harmony import */ var
|
|
233902
|
+
/* harmony import */ var _topology_Merging__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ../topology/Merging */ "../../core/geometry/lib/esm/topology/Merging.js");
|
|
233887
233903
|
/* harmony import */ var _topology_Triangulation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../topology/Triangulation */ "../../core/geometry/lib/esm/topology/Triangulation.js");
|
|
233888
233904
|
/* harmony import */ var _CurveCollection__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./CurveCollection */ "../../core/geometry/lib/esm/curve/CurveCollection.js");
|
|
233889
|
-
/* harmony import */ var
|
|
233905
|
+
/* harmony import */ var _CurveCurve__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./CurveCurve */ "../../core/geometry/lib/esm/curve/CurveCurve.js");
|
|
233890
233906
|
/* harmony import */ var _CurveOps__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./CurveOps */ "../../core/geometry/lib/esm/curve/CurveOps.js");
|
|
233891
233907
|
/* harmony import */ var _CurvePrimitive__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
233892
233908
|
/* harmony import */ var _CurveWireMomentsXYZ__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./CurveWireMomentsXYZ */ "../../core/geometry/lib/esm/curve/CurveWireMomentsXYZ.js");
|
|
233893
|
-
/* harmony import */ var
|
|
233909
|
+
/* harmony import */ var _GeometryQuery__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
|
|
233894
233910
|
/* harmony import */ var _internalContexts_ChainCollectorContext__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./internalContexts/ChainCollectorContext */ "../../core/geometry/lib/esm/curve/internalContexts/ChainCollectorContext.js");
|
|
233895
233911
|
/* harmony import */ var _internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
233912
|
+
/* harmony import */ var _internalContexts_TransferWithSplitArcs__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./internalContexts/TransferWithSplitArcs */ "../../core/geometry/lib/esm/curve/internalContexts/TransferWithSplitArcs.js");
|
|
233896
233913
|
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
233897
233914
|
/* harmony import */ var _Loop__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Loop */ "../../core/geometry/lib/esm/curve/Loop.js");
|
|
233898
233915
|
/* harmony import */ var _OffsetOptions__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./OffsetOptions */ "../../core/geometry/lib/esm/curve/OffsetOptions.js");
|
|
@@ -233948,6 +233965,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
233948
233965
|
|
|
233949
233966
|
|
|
233950
233967
|
|
|
233968
|
+
|
|
233951
233969
|
|
|
233952
233970
|
|
|
233953
233971
|
/**
|
|
@@ -234197,8 +234215,8 @@ class RegionOps {
|
|
|
234197
234215
|
* to connect interior loops to exterior loops.
|
|
234198
234216
|
*/
|
|
234199
234217
|
static regionBooleanXY(loopsA, loopsB, operation, mergeTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
|
|
234200
|
-
// Always return UnionRegion for now
|
|
234201
|
-
//
|
|
234218
|
+
// Always return UnionRegion for now, but keep return type as AnyRegion.
|
|
234219
|
+
// In the future, we might return the *simplest* region type.
|
|
234202
234220
|
const result = _UnionRegion__WEBPACK_IMPORTED_MODULE_13__.UnionRegion.create();
|
|
234203
234221
|
const context = _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_12__.RegionBooleanContext.create(_RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_12__.RegionGroupOpType.Union, _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_12__.RegionGroupOpType.Union);
|
|
234204
234222
|
context.addMembers(loopsA, loopsB);
|
|
@@ -234542,7 +234560,7 @@ class RegionOps {
|
|
|
234542
234560
|
* SignedLoops object.
|
|
234543
234561
|
* @param curvesAndRegions Any collection of curves. Each Loop/ParityRegion/UnionRegion contributes its curve
|
|
234544
234562
|
* primitives.
|
|
234545
|
-
* @param tolerance optional distance tolerance for coincidence
|
|
234563
|
+
* @param tolerance optional distance tolerance for coincidence.
|
|
234546
234564
|
* @returns array of [[SignedLoops]], each entry of which describes the faces in a single connected component:
|
|
234547
234565
|
* * `positiveAreaLoops` contains "interior" loops, _including holes in ParityRegion input_. These loops have
|
|
234548
234566
|
* positive area and counterclockwise orientation.
|
|
@@ -234552,10 +234570,11 @@ class RegionOps {
|
|
|
234552
234570
|
* to the edge and a constituent curve in each.
|
|
234553
234571
|
*/
|
|
234554
234572
|
static constructAllXYRegionLoops(curvesAndRegions, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
|
|
234555
|
-
|
|
234573
|
+
let primitives = RegionOps.collectCurvePrimitives(curvesAndRegions, undefined, true, true);
|
|
234574
|
+
primitives = _internalContexts_TransferWithSplitArcs__WEBPACK_IMPORTED_MODULE_33__.TransferWithSplitArcs.clone(_CurveCollection__WEBPACK_IMPORTED_MODULE_24__.BagOfCurves.create(...primitives)).children;
|
|
234556
234575
|
const range = this.curveArrayRange(primitives);
|
|
234557
234576
|
const areaTol = this.computeXYAreaTolerance(range, tolerance);
|
|
234558
|
-
const intersections =
|
|
234577
|
+
const intersections = _CurveCurve__WEBPACK_IMPORTED_MODULE_34__.CurveCurve.allIntersectionsAmongPrimitivesXY(primitives, tolerance);
|
|
234559
234578
|
const graph = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_14__.PlanarSubdivision.assembleHalfEdgeGraph(primitives, intersections, tolerance);
|
|
234560
234579
|
return _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_14__.PlanarSubdivision.collectSignedLoopSetsInHalfEdgeGraph(graph, areaTol);
|
|
234561
234580
|
}
|
|
@@ -234613,12 +234632,12 @@ class RegionOps {
|
|
|
234613
234632
|
* @param worldToLocal transform to apply to data before computing its range
|
|
234614
234633
|
*/
|
|
234615
234634
|
static curveArrayRange(data, worldToLocal) {
|
|
234616
|
-
const range =
|
|
234617
|
-
if (data instanceof
|
|
234635
|
+
const range = _geometry3d_Range__WEBPACK_IMPORTED_MODULE_35__.Range3d.create();
|
|
234636
|
+
if (data instanceof _GeometryQuery__WEBPACK_IMPORTED_MODULE_36__.GeometryQuery)
|
|
234618
234637
|
data.extendRange(range, worldToLocal);
|
|
234619
234638
|
else if (Array.isArray(data)) {
|
|
234620
234639
|
for (const c of data) {
|
|
234621
|
-
if (c instanceof
|
|
234640
|
+
if (c instanceof _GeometryQuery__WEBPACK_IMPORTED_MODULE_36__.GeometryQuery)
|
|
234622
234641
|
c.extendRange(range, worldToLocal);
|
|
234623
234642
|
else if (c instanceof _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_5__.Point3d)
|
|
234624
234643
|
range.extendPoint(c, worldToLocal);
|
|
@@ -234654,7 +234673,7 @@ class RegionOps {
|
|
|
234654
234673
|
for (const polygon of polygons)
|
|
234655
234674
|
writablePolygons.push(_geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_17__.GrowableXYZArray.create(polygon));
|
|
234656
234675
|
}
|
|
234657
|
-
const sortedPolygons =
|
|
234676
|
+
const sortedPolygons = _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_37__.PolygonOps.sortOuterAndHoleLoopsXY(writablePolygons);
|
|
234658
234677
|
if (sortedPolygons.length === 1) { // below requires exactly one outer loop!
|
|
234659
234678
|
if (graph = _topology_Triangulation__WEBPACK_IMPORTED_MODULE_10__.Triangulator.createTriangulatedGraphFromLoops(sortedPolygons[0]))
|
|
234660
234679
|
_topology_Triangulation__WEBPACK_IMPORTED_MODULE_10__.Triangulator.flipTriangles(graph);
|
|
@@ -234739,7 +234758,7 @@ class RegionOps {
|
|
|
234739
234758
|
if (!graph)
|
|
234740
234759
|
return undefined;
|
|
234741
234760
|
if (options?.maximizeConvexFacets)
|
|
234742
|
-
|
|
234761
|
+
_topology_Merging__WEBPACK_IMPORTED_MODULE_38__.HalfEdgeGraphOps.expandConvexFaces(graph);
|
|
234743
234762
|
return _polyface_PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_11__.PolyfaceBuilder.graphToPolyface(graph, options);
|
|
234744
234763
|
}
|
|
234745
234764
|
/**
|
|
@@ -234753,7 +234772,7 @@ class RegionOps {
|
|
|
234753
234772
|
if (!graph)
|
|
234754
234773
|
return undefined;
|
|
234755
234774
|
if (maximize)
|
|
234756
|
-
|
|
234775
|
+
_topology_Merging__WEBPACK_IMPORTED_MODULE_38__.HalfEdgeGraphOps.expandConvexFaces(graph);
|
|
234757
234776
|
const convexPolygons = [];
|
|
234758
234777
|
graph.announceFaceLoops((_graph, seed) => {
|
|
234759
234778
|
if (!seed.isMaskSet(_topology_Graph__WEBPACK_IMPORTED_MODULE_16__.HalfEdgeMask.EXTERIOR))
|
|
@@ -234807,24 +234826,25 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
234807
234826
|
/* harmony export */ RegionOpsFaceToFaceSearch: () => (/* binding */ RegionOpsFaceToFaceSearch)
|
|
234808
234827
|
/* harmony export */ });
|
|
234809
234828
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
234810
|
-
/* harmony import */ var
|
|
234829
|
+
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
234811
234830
|
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
234812
|
-
/* harmony import */ var
|
|
234831
|
+
/* harmony import */ var _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../geometry3d/Ray3d */ "../../core/geometry/lib/esm/geometry3d/Ray3d.js");
|
|
234813
234832
|
/* harmony import */ var _topology_Graph__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../topology/Graph */ "../../core/geometry/lib/esm/topology/Graph.js");
|
|
234814
234833
|
/* harmony import */ var _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../topology/HalfEdgeGraphSearch */ "../../core/geometry/lib/esm/topology/HalfEdgeGraphSearch.js");
|
|
234815
234834
|
/* harmony import */ var _topology_Merging__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../topology/Merging */ "../../core/geometry/lib/esm/topology/Merging.js");
|
|
234816
234835
|
/* harmony import */ var _topology_RegularizeFace__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../topology/RegularizeFace */ "../../core/geometry/lib/esm/topology/RegularizeFace.js");
|
|
234817
|
-
/* harmony import */ var
|
|
234818
|
-
/* harmony import */ var
|
|
234819
|
-
/* harmony import */ var
|
|
234836
|
+
/* harmony import */ var _Arc3d__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./Arc3d */ "../../core/geometry/lib/esm/curve/Arc3d.js");
|
|
234837
|
+
/* harmony import */ var _CurveCurve__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./CurveCurve */ "../../core/geometry/lib/esm/curve/CurveCurve.js");
|
|
234838
|
+
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
234820
234839
|
/* harmony import */ var _GeometryQuery__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
|
|
234821
|
-
/* harmony import */ var
|
|
234822
|
-
/* harmony import */ var
|
|
234840
|
+
/* harmony import */ var _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
234841
|
+
/* harmony import */ var _internalContexts_TransferWithSplitArcs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./internalContexts/TransferWithSplitArcs */ "../../core/geometry/lib/esm/curve/internalContexts/TransferWithSplitArcs.js");
|
|
234842
|
+
/* harmony import */ var _LineSegment3d__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
|
|
234823
234843
|
/* harmony import */ var _Loop__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Loop */ "../../core/geometry/lib/esm/curve/Loop.js");
|
|
234824
234844
|
/* harmony import */ var _ParityRegion__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ParityRegion */ "../../core/geometry/lib/esm/curve/ParityRegion.js");
|
|
234825
|
-
/* harmony import */ var
|
|
234845
|
+
/* harmony import */ var _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Query/PlanarSubdivision */ "../../core/geometry/lib/esm/curve/Query/PlanarSubdivision.js");
|
|
234826
234846
|
/* harmony import */ var _RegionOps__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RegionOps */ "../../core/geometry/lib/esm/curve/RegionOps.js");
|
|
234827
|
-
/* harmony import */ var
|
|
234847
|
+
/* harmony import */ var _UnionRegion__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./UnionRegion */ "../../core/geometry/lib/esm/curve/UnionRegion.js");
|
|
234828
234848
|
/*---------------------------------------------------------------------------------------------
|
|
234829
234849
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
234830
234850
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -234851,6 +234871,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
234851
234871
|
|
|
234852
234872
|
|
|
234853
234873
|
|
|
234874
|
+
|
|
234854
234875
|
/**
|
|
234855
234876
|
* base class for callbacks during region sweeps.
|
|
234856
234877
|
* * At start of a component, `startComponent(node)` is called announcing a representative node on the outermost face.
|
|
@@ -235167,8 +235188,7 @@ class RegionGroup {
|
|
|
235167
235188
|
}
|
|
235168
235189
|
return range;
|
|
235169
235190
|
}
|
|
235170
|
-
/** Ask if the current _numIn count qualifies as an "in" for this operation type.
|
|
235171
|
-
*/
|
|
235191
|
+
/** Ask if the current _numIn count qualifies as an "in" for this operation type. */
|
|
235172
235192
|
getInOut() {
|
|
235173
235193
|
// UNION is true if one or more members are IN
|
|
235174
235194
|
if (this.groupOpType === RegionGroupOpType.Union)
|
|
@@ -235184,11 +235204,12 @@ class RegionGroup {
|
|
|
235184
235204
|
// push new members into the group.
|
|
235185
235205
|
addMember(data, allowLineSegment = false) {
|
|
235186
235206
|
if (data instanceof _Loop__WEBPACK_IMPORTED_MODULE_8__.Loop || data instanceof _ParityRegion__WEBPACK_IMPORTED_MODULE_9__.ParityRegion) {
|
|
235187
|
-
|
|
235207
|
+
let cleanerData = data.clone();
|
|
235188
235208
|
_RegionOps__WEBPACK_IMPORTED_MODULE_1__.RegionOps.consolidateAdjacentPrimitives(cleanerData);
|
|
235209
|
+
cleanerData = _internalContexts_TransferWithSplitArcs__WEBPACK_IMPORTED_MODULE_10__.TransferWithSplitArcs.clone(cleanerData);
|
|
235189
235210
|
this.members.push(new RegionGroupMember(cleanerData, this));
|
|
235190
235211
|
}
|
|
235191
|
-
else if (data instanceof
|
|
235212
|
+
else if (data instanceof _UnionRegion__WEBPACK_IMPORTED_MODULE_11__.UnionRegion) {
|
|
235192
235213
|
for (const child of data.children) {
|
|
235193
235214
|
this.addMember(child);
|
|
235194
235215
|
}
|
|
@@ -235198,7 +235219,7 @@ class RegionGroup {
|
|
|
235198
235219
|
this.addMember(item);
|
|
235199
235220
|
}
|
|
235200
235221
|
}
|
|
235201
|
-
else if (allowLineSegment && data instanceof
|
|
235222
|
+
else if (allowLineSegment && data instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_12__.LineSegment3d) {
|
|
235202
235223
|
this.members.push(new RegionGroupMember(data, this));
|
|
235203
235224
|
}
|
|
235204
235225
|
}
|
|
@@ -235215,22 +235236,22 @@ class RegionGroup {
|
|
|
235215
235236
|
/**
|
|
235216
235237
|
* A `RegionBooleanContext` carries structure and operations for binary operations between two sets of regions.
|
|
235217
235238
|
* * In the binary operation OP (union, intersection, parity, difference), the left and right operands
|
|
235218
|
-
*
|
|
235239
|
+
* are each a composite union, difference, or parity among multiple inputs, i.e.,
|
|
235219
235240
|
* * (operationA among Ai) OP (operationB among Bi)
|
|
235220
235241
|
* * where the Ai are one set of regions, being combined by operationA
|
|
235221
|
-
* * and the Bi are the another set of regions, being combined by operationB
|
|
235222
|
-
* * Each group of Ai and Bi is a `RegionGroup
|
|
235242
|
+
* * and the Bi are the another set of regions, being combined by operationB.
|
|
235243
|
+
* * Each group of Ai and Bi is a `RegionGroup`.
|
|
235223
235244
|
* * This is an extremely delicate structure.
|
|
235224
235245
|
* * Members are public because of the unique variety of queries, but should only be used for queries.
|
|
235225
235246
|
* * The graph and curves in the booleans are connected by an extended pointer chain:
|
|
235226
|
-
* * (HalfEdge in Graph).edgeTag points to a CurveLocationDetail
|
|
235227
|
-
* * (CurveLocationDetail).curve points to a curve
|
|
235228
|
-
* * (Curve).parent points to RegionGroupMember
|
|
235229
|
-
* * (RegionGroupMember) points to RegionGroup
|
|
235230
|
-
* * (RegionGroup) points to RegionBooleanBinaryContext
|
|
235231
|
-
* * So
|
|
235232
|
-
* * the chain leads to a parity count in the RegionGroupMember
|
|
235233
|
-
* * that can change the number of members active in the RegionGroup
|
|
235247
|
+
* * (HalfEdge in Graph).edgeTag points to a CurveLocationDetail.
|
|
235248
|
+
* * (CurveLocationDetail).curve points to a curve.
|
|
235249
|
+
* * (Curve).parent points to RegionGroupMember.
|
|
235250
|
+
* * (RegionGroupMember) points to RegionGroup.
|
|
235251
|
+
* * (RegionGroup) points to RegionBooleanBinaryContext.
|
|
235252
|
+
* * So when a graph sweep crosses an edge
|
|
235253
|
+
* * the chain leads to a parity count in the RegionGroupMember.
|
|
235254
|
+
* * that can change the number of members active in the RegionGroup.
|
|
235234
235255
|
* * which can change the state of the context.
|
|
235235
235256
|
* @internal
|
|
235236
235257
|
*/
|
|
@@ -235245,7 +235266,7 @@ class RegionBooleanContext {
|
|
|
235245
235266
|
this.groupA = new RegionGroup(this, groupTypeA);
|
|
235246
235267
|
this.groupB = new RegionGroup(this, groupTypeB);
|
|
235247
235268
|
this.extraGeometry = new RegionGroup(this, RegionGroupOpType.NonBounding);
|
|
235248
|
-
this.binaryOp = _RegionOps__WEBPACK_IMPORTED_MODULE_1__.RegionBinaryOpType.Union; //
|
|
235269
|
+
this.binaryOp = _RegionOps__WEBPACK_IMPORTED_MODULE_1__.RegionBinaryOpType.Union; // revised in runClassificationSweep
|
|
235249
235270
|
}
|
|
235250
235271
|
/**
|
|
235251
235272
|
* Create a context with both A and B groups empty.
|
|
@@ -235264,7 +235285,7 @@ class RegionBooleanContext {
|
|
|
235264
235285
|
this.addConnectives();
|
|
235265
235286
|
}
|
|
235266
235287
|
_workSegment;
|
|
235267
|
-
static _bridgeDirection =
|
|
235288
|
+
static _bridgeDirection = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_13__.Vector3d.createNormalized(1.0, -0.12328974132467); // magic unit direction to minimize vertex hits
|
|
235268
235289
|
/**
|
|
235269
235290
|
* The sweep operations require access to all geometry by edge crossings and face walk.
|
|
235270
235291
|
* If input loops are non-overlapping, there may be disconnected islands not reachable.
|
|
@@ -235279,7 +235300,7 @@ class RegionBooleanContext {
|
|
|
235279
235300
|
const rangeAB = rangeA.union(rangeB);
|
|
235280
235301
|
const areaTol = _RegionOps__WEBPACK_IMPORTED_MODULE_1__.RegionOps.computeXYAreaTolerance(rangeAB);
|
|
235281
235302
|
let margin = 0.1;
|
|
235282
|
-
this._workSegment =
|
|
235303
|
+
this._workSegment = _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_14__.PlaneAltitudeRangeContext.findExtremePointsInDirection(rangeAB.corners(), RegionBooleanContext._bridgeDirection, this._workSegment);
|
|
235283
235304
|
if (this._workSegment)
|
|
235284
235305
|
margin *= this._workSegment.point0Ref.distanceXY(this._workSegment.point1Ref); // how much further to extend each bridge ray
|
|
235285
235306
|
const maxPoints = [];
|
|
@@ -235287,7 +235308,7 @@ class RegionBooleanContext {
|
|
|
235287
235308
|
const area = _RegionOps__WEBPACK_IMPORTED_MODULE_1__.RegionOps.computeXYArea(region);
|
|
235288
235309
|
if (area === undefined || Math.abs(area) < areaTol)
|
|
235289
235310
|
return; // avoid bridging trivial faces
|
|
235290
|
-
this._workSegment =
|
|
235311
|
+
this._workSegment = _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_14__.PlaneAltitudeRangeContext.findExtremePointsInDirection(region, RegionBooleanContext._bridgeDirection, this._workSegment);
|
|
235291
235312
|
if (this._workSegment)
|
|
235292
235313
|
maxPoints.push(this._workSegment.point1Ref);
|
|
235293
235314
|
};
|
|
@@ -235302,17 +235323,17 @@ class RegionBooleanContext {
|
|
|
235302
235323
|
}
|
|
235303
235324
|
}
|
|
235304
235325
|
}
|
|
235305
|
-
const ray =
|
|
235326
|
+
const ray = _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_15__.Ray3d.createZero();
|
|
235306
235327
|
for (const p of maxPoints) {
|
|
235307
|
-
// Make a line from
|
|
235308
|
-
//
|
|
235309
|
-
//
|
|
235310
|
-
// If p came from some inner loop this will
|
|
235311
|
-
//
|
|
235312
|
-
//
|
|
235313
|
-
const bridgeLength = margin +
|
|
235314
|
-
const outside =
|
|
235315
|
-
const bridgeLine =
|
|
235328
|
+
// Make a line from
|
|
235329
|
+
// 1) exactly the max point of the loops to
|
|
235330
|
+
// 2) a point clearly outside the big range
|
|
235331
|
+
// If p came from some inner loop this will
|
|
235332
|
+
// 1) create a bridge from the inner loop through any containing loops (always)
|
|
235333
|
+
// 2) avoid crossing any containing loop at a vertex. (with high probability, but not absolutely always)
|
|
235334
|
+
const bridgeLength = margin + _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_15__.Ray3d.create(p, RegionBooleanContext._bridgeDirection, ray).intersectionWithRange3d(rangeAB).high;
|
|
235335
|
+
const outside = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_13__.Point3d.createAdd2Scaled(p, 1.0, RegionBooleanContext._bridgeDirection, bridgeLength);
|
|
235336
|
+
const bridgeLine = _LineSegment3d__WEBPACK_IMPORTED_MODULE_12__.LineSegment3d.createXYXY(p.x, p.y, outside.x, outside.y);
|
|
235316
235337
|
this.extraGeometry.addMember(bridgeLine, true);
|
|
235317
235338
|
}
|
|
235318
235339
|
}
|
|
@@ -235326,7 +235347,7 @@ class RegionBooleanContext {
|
|
|
235326
235347
|
*/
|
|
235327
235348
|
annotateAndMergeCurvesInGraph(mergeTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_7__.Geometry.smallMetricDistance) {
|
|
235328
235349
|
const allPrimitives = [];
|
|
235329
|
-
// ASSUME loops have fine-grained types
|
|
235350
|
+
// ASSUME loops have fine-grained types (no linestrings)
|
|
235330
235351
|
for (const group of [this.groupA, this.groupB, this.extraGeometry]) {
|
|
235331
235352
|
for (const member of group.members) {
|
|
235332
235353
|
let k = allPrimitives.length;
|
|
@@ -235337,9 +235358,8 @@ class RegionBooleanContext {
|
|
|
235337
235358
|
}
|
|
235338
235359
|
}
|
|
235339
235360
|
}
|
|
235340
|
-
|
|
235341
|
-
const
|
|
235342
|
-
const graph = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_16__.PlanarSubdivision.assembleHalfEdgeGraph(allPrimitives, intersections, mergeTolerance);
|
|
235361
|
+
const intersections = _CurveCurve__WEBPACK_IMPORTED_MODULE_16__.CurveCurve.allIntersectionsAmongPrimitivesXY(allPrimitives, mergeTolerance);
|
|
235362
|
+
const graph = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_17__.PlanarSubdivision.assembleHalfEdgeGraph(allPrimitives, intersections, mergeTolerance);
|
|
235343
235363
|
this.graph = graph;
|
|
235344
235364
|
this.faceAreaFunction = faceAreaFromCurvedEdgeData;
|
|
235345
235365
|
}
|
|
@@ -235430,7 +235450,7 @@ class RegionBooleanContext {
|
|
|
235430
235450
|
const data = node.edgeTag;
|
|
235431
235451
|
if (data instanceof RegionGroupMember)
|
|
235432
235452
|
return updateRegionGroupMemberState(data);
|
|
235433
|
-
if (data instanceof
|
|
235453
|
+
if (data instanceof _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_18__.CurveLocationDetail) {
|
|
235434
235454
|
// We trust that the caller has linked from the graph node to a curve which has a RegionGroupMember as its parent.
|
|
235435
235455
|
const member = data.curve.parent;
|
|
235436
235456
|
if (member instanceof RegionGroupMember)
|
|
@@ -235485,10 +235505,10 @@ function areaUnderPartialCurveXY(detail, xyStart, xyEnd, referencePoint) {
|
|
|
235485
235505
|
}
|
|
235486
235506
|
let areaToChord = 0.0;
|
|
235487
235507
|
if (detail && detail.curve && detail.hasFraction1) {
|
|
235488
|
-
if (detail.curve instanceof
|
|
235508
|
+
if (detail.curve instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_12__.LineSegment3d) {
|
|
235489
235509
|
// ah .. nothing to do for a line segment
|
|
235490
235510
|
}
|
|
235491
|
-
else if (detail.curve instanceof
|
|
235511
|
+
else if (detail.curve instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_19__.Arc3d) {
|
|
235492
235512
|
areaToChord = detail.curve.areaToChordXY(detail.fraction, detail.fraction1);
|
|
235493
235513
|
}
|
|
235494
235514
|
}
|
|
@@ -242157,6 +242177,52 @@ class SumLengthsContext extends _CurveProcessor__WEBPACK_IMPORTED_MODULE_0__.Rec
|
|
|
242157
242177
|
}
|
|
242158
242178
|
|
|
242159
242179
|
|
|
242180
|
+
/***/ }),
|
|
242181
|
+
|
|
242182
|
+
/***/ "../../core/geometry/lib/esm/curve/internalContexts/TransferWithSplitArcs.js":
|
|
242183
|
+
/*!***********************************************************************************!*\
|
|
242184
|
+
!*** ../../core/geometry/lib/esm/curve/internalContexts/TransferWithSplitArcs.js ***!
|
|
242185
|
+
\***********************************************************************************/
|
|
242186
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
242187
|
+
|
|
242188
|
+
"use strict";
|
|
242189
|
+
__webpack_require__.r(__webpack_exports__);
|
|
242190
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
242191
|
+
/* harmony export */ TransferWithSplitArcs: () => (/* binding */ TransferWithSplitArcs)
|
|
242192
|
+
/* harmony export */ });
|
|
242193
|
+
/* harmony import */ var _Arc3d__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Arc3d */ "../../core/geometry/lib/esm/curve/Arc3d.js");
|
|
242194
|
+
/* harmony import */ var _CloneCurvesContext__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CloneCurvesContext */ "../../core/geometry/lib/esm/curve/internalContexts/CloneCurvesContext.js");
|
|
242195
|
+
/*---------------------------------------------------------------------------------------------
|
|
242196
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
242197
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
242198
|
+
*--------------------------------------------------------------------------------------------*/
|
|
242199
|
+
/** @packageDocumentation
|
|
242200
|
+
* @module Curve
|
|
242201
|
+
*/
|
|
242202
|
+
|
|
242203
|
+
|
|
242204
|
+
/**
|
|
242205
|
+
* Algorithmic class for shallow-copying a CurveCollection with each full-sweep arc replaced by two half-sweep arcs.
|
|
242206
|
+
* * Often useful for building graphs from loops.
|
|
242207
|
+
* @internal
|
|
242208
|
+
*/
|
|
242209
|
+
class TransferWithSplitArcs extends _CloneCurvesContext__WEBPACK_IMPORTED_MODULE_0__.CloneCurvesContext {
|
|
242210
|
+
constructor() {
|
|
242211
|
+
super(undefined);
|
|
242212
|
+
}
|
|
242213
|
+
doClone(primitive) {
|
|
242214
|
+
if (primitive instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_1__.Arc3d && primitive.sweep.isFullCircle) // replace full arc with two half arcs
|
|
242215
|
+
return [primitive.clonePartialCurve(0.0, 0.5), primitive.clonePartialCurve(0.5, 1)];
|
|
242216
|
+
return primitive;
|
|
242217
|
+
}
|
|
242218
|
+
static clone(target) {
|
|
242219
|
+
const context = new TransferWithSplitArcs();
|
|
242220
|
+
target.announceToCurveProcessor(context);
|
|
242221
|
+
return context._result;
|
|
242222
|
+
}
|
|
242223
|
+
}
|
|
242224
|
+
|
|
242225
|
+
|
|
242160
242226
|
/***/ }),
|
|
242161
242227
|
|
|
242162
242228
|
/***/ "../../core/geometry/lib/esm/curve/internalContexts/TransformInPlaceContext.js":
|
|
@@ -329319,18 +329385,18 @@ class Settings {
|
|
|
329319
329385
|
}
|
|
329320
329386
|
}
|
|
329321
329387
|
toString() {
|
|
329322
|
-
return `Configurations:
|
|
329323
|
-
backend location: ${this.Backend.location},
|
|
329324
|
-
backend name: ${this.Backend.name},
|
|
329325
|
-
backend version: ${this.Backend.version},
|
|
329326
|
-
oidc client id: ${this.oidcClientId},
|
|
329327
|
-
oidc scopes: ${this.oidcScopes},
|
|
329328
|
-
applicationId: ${this.gprid},
|
|
329329
|
-
log level: ${this.logLevel},
|
|
329330
|
-
testing iModelTileRpcTests: ${this.runiModelTileRpcTests},
|
|
329331
|
-
testing PresentationRpcTest: ${this.runPresentationRpcTests},
|
|
329332
|
-
testing iModelReadRpcTests: ${this.runiModelReadRpcTests},
|
|
329333
|
-
testing DevToolsRpcTests: ${this.runDevToolsRpcTests},
|
|
329388
|
+
return `Configurations:
|
|
329389
|
+
backend location: ${this.Backend.location},
|
|
329390
|
+
backend name: ${this.Backend.name},
|
|
329391
|
+
backend version: ${this.Backend.version},
|
|
329392
|
+
oidc client id: ${this.oidcClientId},
|
|
329393
|
+
oidc scopes: ${this.oidcScopes},
|
|
329394
|
+
applicationId: ${this.gprid},
|
|
329395
|
+
log level: ${this.logLevel},
|
|
329396
|
+
testing iModelTileRpcTests: ${this.runiModelTileRpcTests},
|
|
329397
|
+
testing PresentationRpcTest: ${this.runPresentationRpcTests},
|
|
329398
|
+
testing iModelReadRpcTests: ${this.runiModelReadRpcTests},
|
|
329399
|
+
testing DevToolsRpcTests: ${this.runDevToolsRpcTests},
|
|
329334
329400
|
testing iModelWriteRpcTests: ${this.runiModelWriteRpcTests}`;
|
|
329335
329401
|
}
|
|
329336
329402
|
}
|
|
@@ -329544,7 +329610,7 @@ class TestContext {
|
|
|
329544
329610
|
this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
|
|
329545
329611
|
const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
|
|
329546
329612
|
await core_frontend_1.NoRenderApp.startup({
|
|
329547
|
-
applicationVersion: "5.1.0-dev.
|
|
329613
|
+
applicationVersion: "5.1.0-dev.12",
|
|
329548
329614
|
applicationId: this.settings.gprid,
|
|
329549
329615
|
authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.serviceAuthToken),
|
|
329550
329616
|
hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
|
|
@@ -342665,13 +342731,13 @@ class FavoritePropertiesManager {
|
|
|
342665
342731
|
if (missingClasses.size === 0) {
|
|
342666
342732
|
return baseClasses;
|
|
342667
342733
|
}
|
|
342668
|
-
const query = `
|
|
342669
|
-
SELECT (derivedSchema.Name || ':' || derivedClass.Name) AS "ClassFullName", (baseSchema.Name || ':' || baseClass.Name) AS "BaseClassFullName"
|
|
342670
|
-
FROM ECDbMeta.ClassHasAllBaseClasses baseClassRels
|
|
342671
|
-
INNER JOIN ECDbMeta.ECClassDef derivedClass ON derivedClass.ECInstanceId = baseClassRels.SourceECInstanceId
|
|
342672
|
-
INNER JOIN ECDbMeta.ECSchemaDef derivedSchema ON derivedSchema.ECInstanceId = derivedClass.Schema.Id
|
|
342673
|
-
INNER JOIN ECDbMeta.ECClassDef baseClass ON baseClass.ECInstanceId = baseClassRels.TargetECInstanceId
|
|
342674
|
-
INNER JOIN ECDbMeta.ECSchemaDef baseSchema ON baseSchema.ECInstanceId = baseClass.Schema.Id
|
|
342734
|
+
const query = `
|
|
342735
|
+
SELECT (derivedSchema.Name || ':' || derivedClass.Name) AS "ClassFullName", (baseSchema.Name || ':' || baseClass.Name) AS "BaseClassFullName"
|
|
342736
|
+
FROM ECDbMeta.ClassHasAllBaseClasses baseClassRels
|
|
342737
|
+
INNER JOIN ECDbMeta.ECClassDef derivedClass ON derivedClass.ECInstanceId = baseClassRels.SourceECInstanceId
|
|
342738
|
+
INNER JOIN ECDbMeta.ECSchemaDef derivedSchema ON derivedSchema.ECInstanceId = derivedClass.Schema.Id
|
|
342739
|
+
INNER JOIN ECDbMeta.ECClassDef baseClass ON baseClass.ECInstanceId = baseClassRels.TargetECInstanceId
|
|
342740
|
+
INNER JOIN ECDbMeta.ECSchemaDef baseSchema ON baseSchema.ECInstanceId = baseClass.Schema.Id
|
|
342675
342741
|
WHERE (derivedSchema.Name || ':' || derivedClass.Name) IN (${[...missingClasses].map((className) => `'${className}'`).join(",")})`;
|
|
342676
342742
|
const reader = imodel.createQueryReader(query, undefined, { rowFormat: core_common_1.QueryRowFormat.UseJsPropertyNames });
|
|
342677
342743
|
while (await reader.step()) {
|
|
@@ -354612,7 +354678,7 @@ var loadLanguages = instance.loadLanguages;
|
|
|
354612
354678
|
/***/ ((module) => {
|
|
354613
354679
|
|
|
354614
354680
|
"use strict";
|
|
354615
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.1.0-dev.
|
|
354681
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.1.0-dev.12","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2022 --outDir lib/esm","clean":"rimraf -g lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-inline-config -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run webpackTestWorker && vitest --run","cover":"npm run webpackTestWorker && vitest --run","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*","@itwin/eslint-plugin":"5.0.0-dev.1","@types/chai-as-promised":"^7","@vitest/browser":"^3.0.6","@vitest/coverage-v8":"^3.0.6","cpx2":"^8.0.0","eslint":"^9.13.0","glob":"^10.3.12","playwright":"~1.47.1","rimraf":"^6.0.1","source-map-loader":"^5.0.0","typescript":"~5.6.2","typemoq":"^2.1.0","vitest":"^3.0.6","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"2.2.0","webpack":"^5.97.1"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/cloud-agnostic-core":"^2.2.4","@itwin/object-storage-core":"^2.3.0","@itwin/core-i18n":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
|
|
354616
354682
|
|
|
354617
354683
|
/***/ }),
|
|
354618
354684
|
|