@itwin/ecschema-rpcinterface-tests 4.2.0-dev.1 → 4.2.0-dev.10
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/dist/_0062.bundled-tests.js.map +1 -1
- package/lib/dist/bundled-tests.js +397 -205
- 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_loaders_gl_draco_3_4_7_node_modules_loaders_gl_draco_di-02c2bd.bundled-tests.js.map +1 -1
- package/package.json +16 -16
|
@@ -31848,7 +31848,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
31848
31848
|
*/
|
|
31849
31849
|
|
|
31850
31850
|
|
|
31851
|
-
/** @
|
|
31851
|
+
/** @public */
|
|
31852
31852
|
class PropertyMetaDataMap {
|
|
31853
31853
|
constructor(properties) {
|
|
31854
31854
|
this.properties = properties;
|
|
@@ -31910,8 +31910,7 @@ class PropertyMetaDataMap {
|
|
|
31910
31910
|
*
|
|
31911
31911
|
* @note When iterating over the results, the current row will be a [[QueryRowProxy]] object. To get the row as a basic
|
|
31912
31912
|
* JavaScript object, call [[QueryRowProxy.toRow]] on it.
|
|
31913
|
-
*
|
|
31914
|
-
* @beta
|
|
31913
|
+
* @public
|
|
31915
31914
|
*/
|
|
31916
31915
|
class ECSqlReader {
|
|
31917
31916
|
/**
|
|
@@ -32059,7 +32058,7 @@ class ECSqlReader {
|
|
|
32059
32058
|
return this._done;
|
|
32060
32059
|
}
|
|
32061
32060
|
/**
|
|
32062
|
-
*
|
|
32061
|
+
* @internal
|
|
32063
32062
|
*/
|
|
32064
32063
|
getRowInternal() {
|
|
32065
32064
|
if (this._localRows.length <= this._localOffset)
|
|
@@ -32139,7 +32138,7 @@ class ECSqlReader {
|
|
|
32139
32138
|
return resp;
|
|
32140
32139
|
}
|
|
32141
32140
|
/**
|
|
32142
|
-
*
|
|
32141
|
+
* @internal
|
|
32143
32142
|
*/
|
|
32144
32143
|
formatCurrentRow(onlyReturnObject = false) {
|
|
32145
32144
|
if (!onlyReturnObject && this._options.rowFormat === _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.QueryRowFormat.UseECSqlPropertyIndexes) {
|
|
@@ -65746,6 +65745,9 @@ class Property {
|
|
|
65746
65745
|
this._customAttributes = new Map();
|
|
65747
65746
|
this._customAttributes.set(customAttribute.className, customAttribute);
|
|
65748
65747
|
}
|
|
65748
|
+
setName(name) {
|
|
65749
|
+
this._name = name;
|
|
65750
|
+
}
|
|
65749
65751
|
/**
|
|
65750
65752
|
* Retrieve all custom attributes in the current property and its base
|
|
65751
65753
|
* This is the async version of getCustomAttributesSync()
|
|
@@ -74467,6 +74469,7 @@ class ModelChangeMonitor {
|
|
|
74467
74469
|
this.processBuffered();
|
|
74468
74470
|
};
|
|
74469
74471
|
this._removals.push(briefcase.txns.onCommitted.addListener(maybeProcess));
|
|
74472
|
+
this._removals.push(briefcase.txns.onReplayedExternalTxns.addListener(maybeProcess));
|
|
74470
74473
|
this._removals.push(briefcase.txns.onAfterUndoRedo.addListener(maybeProcess));
|
|
74471
74474
|
this._removals.push(briefcase.txns.onChangesPulled.addListener(maybeProcess));
|
|
74472
74475
|
}
|
|
@@ -74798,6 +74801,14 @@ class BriefcaseTxns extends BriefcaseNotificationHandler {
|
|
|
74798
74801
|
* @see [[onCommit]] for the event raised before the operation.
|
|
74799
74802
|
*/
|
|
74800
74803
|
this.onCommitted = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
74804
|
+
/** Event raised for a read-only briefcase that was opened with the `watchForChanges` flag enabled when changes made by another connection are applied to the briefcase.
|
|
74805
|
+
* @see [[onReplayedExternalTxns]] for the event raised after all such changes have been applied.
|
|
74806
|
+
*/
|
|
74807
|
+
this.onReplayExternalTxns = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
74808
|
+
/** Event raised for a read-only briefcase that was opened with the `watchForChanges` flag enabled when changes made by another connection are applied to the briefcase.
|
|
74809
|
+
* @see [[onReplayExternalTxns]] for the event raised before the changes are applied.
|
|
74810
|
+
*/
|
|
74811
|
+
this.onReplayedExternalTxns = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
74801
74812
|
/** Event raised after a changeset has been applied to the briefcase.
|
|
74802
74813
|
* Changesets may be applied as a result of [[BriefcaseConnection.pullChanges]], or by undo/redo operations.
|
|
74803
74814
|
*/
|
|
@@ -74933,6 +74944,14 @@ class BriefcaseTxns extends BriefcaseNotificationHandler {
|
|
|
74933
74944
|
this.onCommitted.raiseEvent(hasPendingTxns, time);
|
|
74934
74945
|
}
|
|
74935
74946
|
/** @internal */
|
|
74947
|
+
notifyReplayExternalTxns() {
|
|
74948
|
+
this.onReplayExternalTxns.raiseEvent();
|
|
74949
|
+
}
|
|
74950
|
+
/** @internal */
|
|
74951
|
+
notifyReplayedExternalTxns() {
|
|
74952
|
+
this.onReplayedExternalTxns.raiseEvent();
|
|
74953
|
+
}
|
|
74954
|
+
/** @internal */
|
|
74936
74955
|
notifyChangesApplied() {
|
|
74937
74956
|
this.onChangesApplied.raiseEvent();
|
|
74938
74957
|
}
|
|
@@ -80698,7 +80717,7 @@ class IModelConnection extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.I
|
|
|
80698
80717
|
* @param params The values to bind to the parameters (if the ECSQL has any).
|
|
80699
80718
|
* @param config Allow to specify certain flags which control how query is executed.
|
|
80700
80719
|
* @returns Returns an [ECSqlReader]($common) which helps iterate over the result set and also give access to metadata.
|
|
80701
|
-
* @
|
|
80720
|
+
* @public
|
|
80702
80721
|
* */
|
|
80703
80722
|
createQueryReader(ecsql, params, config) {
|
|
80704
80723
|
const executor = {
|
|
@@ -176954,6 +176973,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
176954
176973
|
/* harmony import */ var _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../geometry3d/GrowableFloat64Array */ "../../core/geometry/lib/esm/geometry3d/GrowableFloat64Array.js");
|
|
176955
176974
|
/* harmony import */ var _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../geometry3d/GrowableXYZArray */ "../../core/geometry/lib/esm/geometry3d/GrowableXYZArray.js");
|
|
176956
176975
|
/* harmony import */ var _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../geometry3d/Matrix3d */ "../../core/geometry/lib/esm/geometry3d/Matrix3d.js");
|
|
176976
|
+
/* harmony import */ var _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../geometry3d/Plane3d */ "../../core/geometry/lib/esm/geometry3d/Plane3d.js");
|
|
176957
176977
|
/* harmony import */ var _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../geometry3d/Plane3dByOriginAndUnitNormal */ "../../core/geometry/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js");
|
|
176958
176978
|
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
176959
176979
|
/* harmony import */ var _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../geometry3d/PolygonOps */ "../../core/geometry/lib/esm/geometry3d/PolygonOps.js");
|
|
@@ -176962,7 +176982,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
176962
176982
|
/* harmony import */ var _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../geometry4d/Point4d */ "../../core/geometry/lib/esm/geometry4d/Point4d.js");
|
|
176963
176983
|
/* harmony import */ var _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../numerics/Polynomials */ "../../core/geometry/lib/esm/numerics/Polynomials.js");
|
|
176964
176984
|
/* harmony import */ var _ClipUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ClipUtils */ "../../core/geometry/lib/esm/clipping/ClipUtils.js");
|
|
176965
|
-
/* harmony import */ var _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../geometry3d/Plane3d */ "../../core/geometry/lib/esm/geometry3d/Plane3d.js");
|
|
176966
176985
|
/*---------------------------------------------------------------------------------------------
|
|
176967
176986
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
176968
176987
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -176984,6 +177003,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
176984
177003
|
* A ClipPlane is a single plane represented as
|
|
176985
177004
|
* * An inward unit normal (u,v,w)
|
|
176986
177005
|
* * A signedDistance
|
|
177006
|
+
* More details can be found at docs/learning/geometry/Clipping.md
|
|
176987
177007
|
*
|
|
176988
177008
|
* Hence
|
|
176989
177009
|
* * The halfspace function evaluation for "point" (x,y,z) is `(x,y,z) DOT (u,v,w) - signedDistance`.
|
|
@@ -177496,8 +177516,9 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
177496
177516
|
xyzOut.pushWrap(1);
|
|
177497
177517
|
return xyzOut;
|
|
177498
177518
|
}
|
|
177499
|
-
/**
|
|
177500
|
-
*
|
|
177519
|
+
/**
|
|
177520
|
+
* Implement appendPolygonClip, as defined in interface PolygonClipper.
|
|
177521
|
+
* @param xyz convex polygon. This is not changed.
|
|
177501
177522
|
* @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed
|
|
177502
177523
|
* from the cache. This is NOT cleared.
|
|
177503
177524
|
* @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed
|
|
@@ -178275,22 +178296,28 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
178275
178296
|
/* harmony export */ ClipStepAction: () => (/* binding */ ClipStepAction),
|
|
178276
178297
|
/* harmony export */ ClipUtilities: () => (/* binding */ ClipUtilities)
|
|
178277
178298
|
/* harmony export */ });
|
|
178278
|
-
/* harmony import */ var
|
|
178279
|
-
/* harmony import */ var
|
|
178280
|
-
/* harmony import */ var
|
|
178299
|
+
/* harmony import */ var _curve_CurveCollection__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../curve/CurveCollection */ "../../core/geometry/lib/esm/curve/CurveCollection.js");
|
|
178300
|
+
/* harmony import */ var _curve_CurveFactory__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../curve/CurveFactory */ "../../core/geometry/lib/esm/curve/CurveFactory.js");
|
|
178301
|
+
/* harmony import */ var _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../curve/CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
178302
|
+
/* harmony import */ var _curve_LineString3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../curve/LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
178303
|
+
/* harmony import */ var _curve_Loop__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../curve/Loop */ "../../core/geometry/lib/esm/curve/Loop.js");
|
|
178304
|
+
/* harmony import */ var _curve_Path__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../curve/Path */ "../../core/geometry/lib/esm/curve/Path.js");
|
|
178305
|
+
/* harmony import */ var _curve_RegionOps__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../curve/RegionOps */ "../../core/geometry/lib/esm/curve/RegionOps.js");
|
|
178306
|
+
/* harmony import */ var _curve_UnionRegion__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../curve/UnionRegion */ "../../core/geometry/lib/esm/curve/UnionRegion.js");
|
|
178281
178307
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
178282
|
-
/* harmony import */ var
|
|
178283
|
-
/* harmony import */ var
|
|
178284
|
-
/* harmony import */ var
|
|
178285
|
-
/* harmony import */ var
|
|
178286
|
-
/* harmony import */ var
|
|
178287
|
-
/* harmony import */ var
|
|
178288
|
-
/* harmony import */ var
|
|
178289
|
-
/* harmony import */ var
|
|
178290
|
-
/* harmony import */ var
|
|
178291
|
-
/* harmony import */ var
|
|
178292
|
-
/* harmony import */ var
|
|
178293
|
-
/* harmony import */ var
|
|
178308
|
+
/* harmony import */ var _geometry3d_FrameBuilder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../geometry3d/FrameBuilder */ "../../core/geometry/lib/esm/geometry3d/FrameBuilder.js");
|
|
178309
|
+
/* harmony import */ var _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../geometry3d/GrowableXYZArray */ "../../core/geometry/lib/esm/geometry3d/GrowableXYZArray.js");
|
|
178310
|
+
/* harmony import */ var _geometry3d_Point3dArrayCarrier__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../geometry3d/Point3dArrayCarrier */ "../../core/geometry/lib/esm/geometry3d/Point3dArrayCarrier.js");
|
|
178311
|
+
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
178312
|
+
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
178313
|
+
/* harmony import */ var _geometry3d_ReusableObjectCache__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../geometry3d/ReusableObjectCache */ "../../core/geometry/lib/esm/geometry3d/ReusableObjectCache.js");
|
|
178314
|
+
/* harmony import */ var _polyface_PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../polyface/PolyfaceBuilder */ "../../core/geometry/lib/esm/polyface/PolyfaceBuilder.js");
|
|
178315
|
+
/* harmony import */ var _ClipPlane__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./ClipPlane */ "../../core/geometry/lib/esm/clipping/ClipPlane.js");
|
|
178316
|
+
/* harmony import */ var _ClipPrimitive__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./ClipPrimitive */ "../../core/geometry/lib/esm/clipping/ClipPrimitive.js");
|
|
178317
|
+
/* harmony import */ var _ClipVector__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./ClipVector */ "../../core/geometry/lib/esm/clipping/ClipVector.js");
|
|
178318
|
+
/* harmony import */ var _ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ConvexClipPlaneSet */ "../../core/geometry/lib/esm/clipping/ConvexClipPlaneSet.js");
|
|
178319
|
+
/* harmony import */ var _internalContexts_LineStringOffsetClipperContext__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./internalContexts/LineStringOffsetClipperContext */ "../../core/geometry/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js");
|
|
178320
|
+
/* harmony import */ var _UnionOfConvexClipPlaneSets__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./UnionOfConvexClipPlaneSets */ "../../core/geometry/lib/esm/clipping/UnionOfConvexClipPlaneSets.js");
|
|
178294
178321
|
/*---------------------------------------------------------------------------------------------
|
|
178295
178322
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
178296
178323
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -178312,6 +178339,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
178312
178339
|
|
|
178313
178340
|
|
|
178314
178341
|
|
|
178342
|
+
|
|
178343
|
+
|
|
178344
|
+
|
|
178345
|
+
|
|
178346
|
+
|
|
178347
|
+
|
|
178315
178348
|
|
|
178316
178349
|
|
|
178317
178350
|
/**
|
|
@@ -178359,7 +178392,7 @@ var ClipStatus;
|
|
|
178359
178392
|
*/
|
|
178360
178393
|
class ClipUtilities {
|
|
178361
178394
|
/**
|
|
178362
|
-
*
|
|
178395
|
+
* Augment the unsortedFractionsArray with 0 and 1
|
|
178363
178396
|
* * sort
|
|
178364
178397
|
* * test the midpoint of each interval with `clipper.isPointOnOrInside`
|
|
178365
178398
|
* * pass accepted intervals to `announce(f0,f1,curve)`
|
|
@@ -178406,7 +178439,7 @@ class ClipUtilities {
|
|
|
178406
178439
|
return intervals.length > 0;
|
|
178407
178440
|
}
|
|
178408
178441
|
/**
|
|
178409
|
-
* Find portions of the curve that are within the clipper.
|
|
178442
|
+
* Find portions of the curve primitive that are within the clipper.
|
|
178410
178443
|
* Collect them into an array of curve primitives.
|
|
178411
178444
|
*/
|
|
178412
178445
|
static collectClippedCurves(curve, clipper) {
|
|
@@ -178420,6 +178453,75 @@ class ClipUtilities {
|
|
|
178420
178453
|
});
|
|
178421
178454
|
return result;
|
|
178422
178455
|
}
|
|
178456
|
+
/**
|
|
178457
|
+
* Find portions of the planar region that are within the clipper.
|
|
178458
|
+
* Collect them into a single region to return.
|
|
178459
|
+
*/
|
|
178460
|
+
static clipAnyRegion(region, clipper) {
|
|
178461
|
+
let result;
|
|
178462
|
+
// Create "local region" which is the result of rotating region to make
|
|
178463
|
+
// it parallel to the xy-plane and then translating it to the xy-plane.
|
|
178464
|
+
const localToWorld = _geometry3d_FrameBuilder__WEBPACK_IMPORTED_MODULE_1__.FrameBuilder.createRightHandedFrame(undefined, region);
|
|
178465
|
+
if (!localToWorld)
|
|
178466
|
+
return result;
|
|
178467
|
+
const worldToLocal = localToWorld?.inverse();
|
|
178468
|
+
if (!worldToLocal)
|
|
178469
|
+
return result;
|
|
178470
|
+
const localRegion = region.cloneTransformed(worldToLocal);
|
|
178471
|
+
if (!localRegion)
|
|
178472
|
+
return result;
|
|
178473
|
+
// We can only clip convex polygons with our clipper machinery, but the input region doesn't have to be
|
|
178474
|
+
// convex or even a polygon. We get around this limitation by using a Boolean operation, which admits
|
|
178475
|
+
// *any* planar regions, albeit in local coordinates. First, we clip a rectangle that covers the input region
|
|
178476
|
+
// (in world coordinates), then we intersect the resulting fragments with the input region in local coordinates.
|
|
178477
|
+
// Finally, we assemble the results into a UnionRegion back in world coordinates.
|
|
178478
|
+
const localRegionRange = ClipUtilities._workRange = localRegion.range();
|
|
178479
|
+
const xLength = localRegionRange.xLength();
|
|
178480
|
+
const yLength = localRegionRange.yLength();
|
|
178481
|
+
const rectangle = _curve_LineString3d__WEBPACK_IMPORTED_MODULE_2__.LineString3d.createRectangleXY(localRegionRange.low, xLength, yLength, true);
|
|
178482
|
+
rectangle.tryTransformInPlace(localToWorld);
|
|
178483
|
+
// Clip the rectangle to produce fragment(s) which we can Boolean intersect with the input region.
|
|
178484
|
+
const insideFragments = [];
|
|
178485
|
+
const outsideFragments = [];
|
|
178486
|
+
const cache = new _geometry3d_ReusableObjectCache__WEBPACK_IMPORTED_MODULE_3__.GrowableXYZArrayCache();
|
|
178487
|
+
clipper.appendPolygonClip?.(rectangle.packedPoints, insideFragments, outsideFragments, cache);
|
|
178488
|
+
if (insideFragments.length === 0)
|
|
178489
|
+
return result;
|
|
178490
|
+
// Create the "clipped region".
|
|
178491
|
+
for (const fragment of insideFragments) {
|
|
178492
|
+
const loop = _curve_Loop__WEBPACK_IMPORTED_MODULE_4__.Loop.createPolygon(fragment);
|
|
178493
|
+
loop.tryTransformInPlace(worldToLocal);
|
|
178494
|
+
const clippedLocalRegion = _curve_RegionOps__WEBPACK_IMPORTED_MODULE_5__.RegionOps.regionBooleanXY(localRegion, loop, _curve_RegionOps__WEBPACK_IMPORTED_MODULE_5__.RegionBinaryOpType.Intersection);
|
|
178495
|
+
if (clippedLocalRegion) {
|
|
178496
|
+
clippedLocalRegion.tryTransformInPlace(localToWorld);
|
|
178497
|
+
if (!result)
|
|
178498
|
+
result = (clippedLocalRegion instanceof _curve_UnionRegion__WEBPACK_IMPORTED_MODULE_6__.UnionRegion) ? clippedLocalRegion : _curve_UnionRegion__WEBPACK_IMPORTED_MODULE_6__.UnionRegion.create(clippedLocalRegion);
|
|
178499
|
+
else if (!result.tryAddChild(clippedLocalRegion))
|
|
178500
|
+
result.children.push(...clippedLocalRegion.children);
|
|
178501
|
+
}
|
|
178502
|
+
}
|
|
178503
|
+
return result;
|
|
178504
|
+
}
|
|
178505
|
+
/**
|
|
178506
|
+
* Find portions of any curve that are within the clipper.
|
|
178507
|
+
* Collect them into an array of any curves.
|
|
178508
|
+
*/
|
|
178509
|
+
static clipAnyCurve(curve, clipper) {
|
|
178510
|
+
if (curve instanceof _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_7__.CurvePrimitive)
|
|
178511
|
+
return ClipUtilities.collectClippedCurves(curve, clipper);
|
|
178512
|
+
if (curve.isAnyRegionType) {
|
|
178513
|
+
const ret = ClipUtilities.clipAnyRegion(curve, clipper);
|
|
178514
|
+
return ret ? [ret] : [];
|
|
178515
|
+
}
|
|
178516
|
+
const result = [];
|
|
178517
|
+
if (curve instanceof _curve_Path__WEBPACK_IMPORTED_MODULE_8__.Path || curve instanceof _curve_CurveCollection__WEBPACK_IMPORTED_MODULE_9__.BagOfCurves) {
|
|
178518
|
+
for (const child of curve.children) {
|
|
178519
|
+
const partialClip = ClipUtilities.clipAnyCurve(child, clipper);
|
|
178520
|
+
result.push(...partialClip);
|
|
178521
|
+
}
|
|
178522
|
+
}
|
|
178523
|
+
return result;
|
|
178524
|
+
}
|
|
178423
178525
|
/**
|
|
178424
178526
|
* Clip a polygon down to regions defined by each shape of a ClipShape.
|
|
178425
178527
|
* @return An multidimensional array of points, where each array is the boundary of part of the remaining polygon.
|
|
@@ -178458,8 +178560,8 @@ class ClipUtilities {
|
|
|
178458
178560
|
for (const plane of convexSet.planes) {
|
|
178459
178561
|
let numInside = 0, numOutside = 0;
|
|
178460
178562
|
const planeDistance = plane.distance - tolerance;
|
|
178461
|
-
const currPt =
|
|
178462
|
-
const currVec =
|
|
178563
|
+
const currPt = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_10__.Point3d.create();
|
|
178564
|
+
const currVec = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_10__.Vector3d.create();
|
|
178463
178565
|
for (let i = 0; i < points.length; i++) {
|
|
178464
178566
|
points.getPoint3dAtUncheckedPointIndex(i, currPt);
|
|
178465
178567
|
currVec.setFrom(currPt);
|
|
@@ -178487,15 +178589,15 @@ class ClipUtilities {
|
|
|
178487
178589
|
* @param ignoreInvisiblePlanes if true, do NOT compute a facet for convex set faces marked invisible.
|
|
178488
178590
|
*/
|
|
178489
178591
|
static announceLoopsOfConvexClipPlaneSetIntersectRange(convexSet, range, loopFunction, includeConvexSetFaces = true, includeRangeFaces = true, ignoreInvisiblePlanes = false) {
|
|
178490
|
-
const work = new
|
|
178592
|
+
const work = new _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_11__.GrowableXYZArray();
|
|
178491
178593
|
if (includeConvexSetFaces) {
|
|
178492
178594
|
// Clip convexSet planes to the range and to the rest of the convexSet . .
|
|
178493
|
-
if (convexSet instanceof
|
|
178595
|
+
if (convexSet instanceof _ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_12__.ConvexClipPlaneSet) {
|
|
178494
178596
|
for (const plane of convexSet.planes) {
|
|
178495
178597
|
if (ignoreInvisiblePlanes && plane.invisible)
|
|
178496
178598
|
continue;
|
|
178497
178599
|
const pointsClippedToRange = plane.intersectRange(range, true);
|
|
178498
|
-
const finalPoints = new
|
|
178600
|
+
const finalPoints = new _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_11__.GrowableXYZArray();
|
|
178499
178601
|
if (pointsClippedToRange) {
|
|
178500
178602
|
convexSet.polygonClip(pointsClippedToRange, finalPoints, work, plane);
|
|
178501
178603
|
if (finalPoints.length > 0)
|
|
@@ -178518,10 +178620,10 @@ class ClipUtilities {
|
|
|
178518
178620
|
// clip range faces to the convex set . . .
|
|
178519
178621
|
const corners = range.corners();
|
|
178520
178622
|
for (let i = 0; i < 6; i++) {
|
|
178521
|
-
const indices =
|
|
178522
|
-
const finalPoints = new
|
|
178523
|
-
const lineString =
|
|
178524
|
-
if (convexSet instanceof
|
|
178623
|
+
const indices = _geometry3d_Range__WEBPACK_IMPORTED_MODULE_13__.Range3d.faceCornerIndices(i);
|
|
178624
|
+
const finalPoints = new _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_11__.GrowableXYZArray();
|
|
178625
|
+
const lineString = _curve_LineString3d__WEBPACK_IMPORTED_MODULE_2__.LineString3d.createIndexedPoints(corners, indices);
|
|
178626
|
+
if (convexSet instanceof _ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_12__.ConvexClipPlaneSet) {
|
|
178525
178627
|
convexSet.polygonClip(lineString.packedPoints, finalPoints, work);
|
|
178526
178628
|
if (finalPoints.length > 0)
|
|
178527
178629
|
loopFunction(finalPoints);
|
|
@@ -178546,18 +178648,18 @@ class ClipUtilities {
|
|
|
178546
178648
|
*/
|
|
178547
178649
|
static loopsOfConvexClipPlaneIntersectionWithRange(allClippers, range, includeConvexSetFaces = true, includeRangeFaces = true, ignoreInvisiblePlanes = false) {
|
|
178548
178650
|
const result = [];
|
|
178549
|
-
if (allClippers instanceof
|
|
178651
|
+
if (allClippers instanceof _UnionOfConvexClipPlaneSets__WEBPACK_IMPORTED_MODULE_14__.UnionOfConvexClipPlaneSets) {
|
|
178550
178652
|
for (const clipper of allClippers.convexSets) {
|
|
178551
178653
|
this.announceLoopsOfConvexClipPlaneSetIntersectRange(clipper, range, (points) => {
|
|
178552
178654
|
if (points.length > 0)
|
|
178553
|
-
result.push(
|
|
178655
|
+
result.push(_curve_Loop__WEBPACK_IMPORTED_MODULE_4__.Loop.createPolygon(points));
|
|
178554
178656
|
}, includeConvexSetFaces, includeRangeFaces, ignoreInvisiblePlanes);
|
|
178555
178657
|
}
|
|
178556
178658
|
}
|
|
178557
|
-
else if (allClippers instanceof
|
|
178659
|
+
else if (allClippers instanceof _ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_12__.ConvexClipPlaneSet || allClippers instanceof _ClipPlane__WEBPACK_IMPORTED_MODULE_15__.ClipPlane) {
|
|
178558
178660
|
this.announceLoopsOfConvexClipPlaneSetIntersectRange(allClippers, range, (points) => {
|
|
178559
178661
|
if (points.length > 0)
|
|
178560
|
-
result.push(
|
|
178662
|
+
result.push(_curve_Loop__WEBPACK_IMPORTED_MODULE_4__.Loop.createPolygon(points));
|
|
178561
178663
|
}, includeConvexSetFaces, includeRangeFaces, ignoreInvisiblePlanes);
|
|
178562
178664
|
}
|
|
178563
178665
|
return result;
|
|
@@ -178569,7 +178671,7 @@ class ClipUtilities {
|
|
|
178569
178671
|
* @param range range to intersect
|
|
178570
178672
|
*/
|
|
178571
178673
|
static rangeOfConvexClipPlaneSetIntersectionWithRange(convexSet, range) {
|
|
178572
|
-
const result =
|
|
178674
|
+
const result = _geometry3d_Range__WEBPACK_IMPORTED_MODULE_13__.Range3d.createNull();
|
|
178573
178675
|
this.announceLoopsOfConvexClipPlaneSetIntersectRange(convexSet, range, (points) => {
|
|
178574
178676
|
if (points.length > 0)
|
|
178575
178677
|
result.extendArray(points);
|
|
@@ -178592,22 +178694,22 @@ class ClipUtilities {
|
|
|
178592
178694
|
static rangeOfClipperIntersectionWithRange(clipper, range, observeInvisibleFlag = true) {
|
|
178593
178695
|
if (clipper === undefined)
|
|
178594
178696
|
return range.clone();
|
|
178595
|
-
if (clipper instanceof
|
|
178697
|
+
if (clipper instanceof _ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_12__.ConvexClipPlaneSet)
|
|
178596
178698
|
return this.rangeOfConvexClipPlaneSetIntersectionWithRange(clipper, range);
|
|
178597
|
-
if (clipper instanceof
|
|
178598
|
-
const rangeUnion =
|
|
178699
|
+
if (clipper instanceof _UnionOfConvexClipPlaneSets__WEBPACK_IMPORTED_MODULE_14__.UnionOfConvexClipPlaneSets) {
|
|
178700
|
+
const rangeUnion = _geometry3d_Range__WEBPACK_IMPORTED_MODULE_13__.Range3d.createNull();
|
|
178599
178701
|
for (const c of clipper.convexSets) {
|
|
178600
178702
|
const rangeC = this.rangeOfConvexClipPlaneSetIntersectionWithRange(c, range);
|
|
178601
178703
|
rangeUnion.extendRange(rangeC);
|
|
178602
178704
|
}
|
|
178603
178705
|
return rangeUnion;
|
|
178604
178706
|
}
|
|
178605
|
-
if (clipper instanceof
|
|
178707
|
+
if (clipper instanceof _ClipPrimitive__WEBPACK_IMPORTED_MODULE_16__.ClipPrimitive) {
|
|
178606
178708
|
if (observeInvisibleFlag && clipper.invisible)
|
|
178607
178709
|
return range.clone();
|
|
178608
178710
|
return this.rangeOfClipperIntersectionWithRange(clipper.fetchClipPlanesRef(), range);
|
|
178609
178711
|
}
|
|
178610
|
-
if (clipper instanceof
|
|
178712
|
+
if (clipper instanceof _ClipVector__WEBPACK_IMPORTED_MODULE_17__.ClipVector) {
|
|
178611
178713
|
const rangeIntersection = range.clone();
|
|
178612
178714
|
for (const c of clipper.clips) {
|
|
178613
178715
|
if (observeInvisibleFlag && c.invisible) {
|
|
@@ -178639,21 +178741,21 @@ class ClipUtilities {
|
|
|
178639
178741
|
static doesClipperIntersectRange(clipper, range, observeInvisibleFlag = true) {
|
|
178640
178742
|
if (clipper === undefined)
|
|
178641
178743
|
return true;
|
|
178642
|
-
if (clipper instanceof
|
|
178744
|
+
if (clipper instanceof _ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_12__.ConvexClipPlaneSet)
|
|
178643
178745
|
return this.doesConvexClipPlaneSetIntersectRange(clipper, range);
|
|
178644
|
-
if (clipper instanceof
|
|
178746
|
+
if (clipper instanceof _UnionOfConvexClipPlaneSets__WEBPACK_IMPORTED_MODULE_14__.UnionOfConvexClipPlaneSets) {
|
|
178645
178747
|
for (const c of clipper.convexSets) {
|
|
178646
178748
|
if (this.doesConvexClipPlaneSetIntersectRange(c, range))
|
|
178647
178749
|
return true;
|
|
178648
178750
|
}
|
|
178649
178751
|
return false;
|
|
178650
178752
|
}
|
|
178651
|
-
if (clipper instanceof
|
|
178753
|
+
if (clipper instanceof _ClipPrimitive__WEBPACK_IMPORTED_MODULE_16__.ClipPrimitive) {
|
|
178652
178754
|
if (observeInvisibleFlag && clipper.invisible) // um is there an easy way to detect range-completely-inside?
|
|
178653
178755
|
return true;
|
|
178654
178756
|
return this.doesClipperIntersectRange(clipper.fetchClipPlanesRef(), range);
|
|
178655
178757
|
}
|
|
178656
|
-
if (clipper instanceof
|
|
178758
|
+
if (clipper instanceof _ClipVector__WEBPACK_IMPORTED_MODULE_17__.ClipVector) {
|
|
178657
178759
|
const rangeIntersection = range.clone();
|
|
178658
178760
|
for (const c of clipper.clips) {
|
|
178659
178761
|
if (observeInvisibleFlag && c.invisible) {
|
|
@@ -178678,7 +178780,7 @@ class ClipUtilities {
|
|
|
178678
178780
|
* @param ignoreInvisiblePlanes if true, do NOT compute a facet for convex set faces marked invisible.
|
|
178679
178781
|
*/
|
|
178680
178782
|
static doesConvexClipPlaneSetIntersectRange(convexSet, range, includeConvexSetFaces = true, includeRangeFaces = true, ignoreInvisiblePlanes = false) {
|
|
178681
|
-
const work = new
|
|
178783
|
+
const work = new _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_11__.GrowableXYZArray();
|
|
178682
178784
|
if (includeConvexSetFaces) {
|
|
178683
178785
|
// Clip convexSet planes to the range and to the rest of the convexSet . .
|
|
178684
178786
|
for (const plane of convexSet.planes) {
|
|
@@ -178686,7 +178788,7 @@ class ClipUtilities {
|
|
|
178686
178788
|
continue;
|
|
178687
178789
|
const pointsClippedToRange = plane.intersectRange(range, true);
|
|
178688
178790
|
if (pointsClippedToRange) {
|
|
178689
|
-
const finalPoints = new
|
|
178791
|
+
const finalPoints = new _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_11__.GrowableXYZArray();
|
|
178690
178792
|
convexSet.polygonClip(pointsClippedToRange, finalPoints, work, plane);
|
|
178691
178793
|
if (finalPoints.length > 0)
|
|
178692
178794
|
return true;
|
|
@@ -178697,9 +178799,9 @@ class ClipUtilities {
|
|
|
178697
178799
|
// clip range faces to the convex set . . .
|
|
178698
178800
|
const corners = range.corners();
|
|
178699
178801
|
for (let i = 0; i < 6; i++) {
|
|
178700
|
-
const indices =
|
|
178701
|
-
const finalPoints = new
|
|
178702
|
-
const lineString =
|
|
178802
|
+
const indices = _geometry3d_Range__WEBPACK_IMPORTED_MODULE_13__.Range3d.faceCornerIndices(i);
|
|
178803
|
+
const finalPoints = new _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_11__.GrowableXYZArray();
|
|
178804
|
+
const lineString = _curve_LineString3d__WEBPACK_IMPORTED_MODULE_2__.LineString3d.createIndexedPoints(corners, indices);
|
|
178703
178805
|
convexSet.polygonClip(lineString.packedPoints, finalPoints, work);
|
|
178704
178806
|
if (finalPoints.length > 0)
|
|
178705
178807
|
return true;
|
|
@@ -178728,10 +178830,10 @@ class ClipUtilities {
|
|
|
178728
178830
|
}
|
|
178729
178831
|
// convert range0 into a clipper in local1 coordinates, then intersect with range1
|
|
178730
178832
|
const local0ToLocal1 = worldToLocal1.multiplyTransformTransform(local0ToWorld, worldToLocal1);
|
|
178731
|
-
const builder =
|
|
178833
|
+
const builder = _polyface_PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_18__.PolyfaceBuilder.create();
|
|
178732
178834
|
builder.addTransformedRangeMesh(local0ToLocal1, range0);
|
|
178733
178835
|
const mesh0 = builder.claimPolyface();
|
|
178734
|
-
const clipper = ClipUtilities._workClipper =
|
|
178836
|
+
const clipper = ClipUtilities._workClipper = _ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_12__.ConvexClipPlaneSet.createConvexPolyface(mesh0, ClipUtilities._workClipper).clipper;
|
|
178735
178837
|
return ClipUtilities.doesClipperIntersectRange(clipper, myRange1);
|
|
178736
178838
|
}
|
|
178737
178839
|
/**
|
|
@@ -178783,9 +178885,9 @@ class ClipUtilities {
|
|
|
178783
178885
|
*/
|
|
178784
178886
|
static createXYOffsetClipFromLineString(points, leftOffset, rightOffset, z0, z1) {
|
|
178785
178887
|
if (Array.isArray(points)) {
|
|
178786
|
-
return
|
|
178888
|
+
return _internalContexts_LineStringOffsetClipperContext__WEBPACK_IMPORTED_MODULE_19__.LineStringOffsetClipperContext.createClipBetweenOffsets(new _geometry3d_Point3dArrayCarrier__WEBPACK_IMPORTED_MODULE_20__.Point3dArrayCarrier(points), leftOffset, rightOffset, z0, z1);
|
|
178787
178889
|
}
|
|
178788
|
-
return
|
|
178890
|
+
return _internalContexts_LineStringOffsetClipperContext__WEBPACK_IMPORTED_MODULE_19__.LineStringOffsetClipperContext.createClipBetweenOffsets(points, leftOffset, rightOffset, z0, z1);
|
|
178789
178891
|
}
|
|
178790
178892
|
/** If data.length >= minLength threshold, push it to destination; if smaller drop it back to the cache. */
|
|
178791
178893
|
static captureOrDrop(data, minLength, destination, cache) {
|
|
@@ -178975,7 +179077,7 @@ class ClipUtilities {
|
|
|
178975
179077
|
*/
|
|
178976
179078
|
static doPolygonClipSequence(xyz, clippers, acceptedIn, acceptedOut, finalCandidates, inAction, outAction, finalFragmentAction, arrayCache) {
|
|
178977
179079
|
if (arrayCache === undefined)
|
|
178978
|
-
arrayCache = new
|
|
179080
|
+
arrayCache = new _geometry3d_ReusableObjectCache__WEBPACK_IMPORTED_MODULE_3__.GrowableXYZArrayCache();
|
|
178979
179081
|
let candidates = [arrayCache.grabAndFill(xyz)];
|
|
178980
179082
|
let nextCandidates = [];
|
|
178981
179083
|
const intermediateIn = [];
|
|
@@ -179012,7 +179114,7 @@ class ClipUtilities {
|
|
|
179012
179114
|
/** Pass polygon `xyz` through a sequence of PolygonClip steps with "parity" rules */
|
|
179013
179115
|
static doPolygonClipParitySequence(xyz, clippers, acceptedIn, acceptedOut, arrayCache) {
|
|
179014
179116
|
if (arrayCache === undefined)
|
|
179015
|
-
arrayCache = new
|
|
179117
|
+
arrayCache = new _geometry3d_ReusableObjectCache__WEBPACK_IMPORTED_MODULE_3__.GrowableXYZArrayCache();
|
|
179016
179118
|
let candidatesOut = [arrayCache.grabAndFill(xyz)];
|
|
179017
179119
|
let candidatesIn = [];
|
|
179018
179120
|
let nextCandidatesIn = [];
|
|
@@ -179064,22 +179166,22 @@ class ClipUtilities {
|
|
|
179064
179166
|
*/
|
|
179065
179167
|
static createComplementaryClips(clipper) {
|
|
179066
179168
|
const planes = clipper.planes;
|
|
179067
|
-
const interval =
|
|
179169
|
+
const interval = _geometry3d_Range__WEBPACK_IMPORTED_MODULE_13__.Range1d.createNull();
|
|
179068
179170
|
const n = planes.length;
|
|
179069
179171
|
const newClippers = [];
|
|
179070
179172
|
for (const p of planes) {
|
|
179071
|
-
const outerSet =
|
|
179173
|
+
const outerSet = _ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_12__.ConvexClipPlaneSet.createEmpty();
|
|
179072
179174
|
outerSet.addPlaneToConvexSet(p.cloneNegated());
|
|
179073
179175
|
newClippers.push(outerSet);
|
|
179074
179176
|
}
|
|
179075
179177
|
for (let i = 0; i < n; i++) {
|
|
179076
179178
|
for (let j = i + 1; j < n; j++) {
|
|
179077
|
-
const ray =
|
|
179179
|
+
const ray = _curve_CurveFactory__WEBPACK_IMPORTED_MODULE_21__.CurveFactory.planePlaneIntersectionRay(planes[i], planes[j]);
|
|
179078
179180
|
if (ray) {
|
|
179079
179181
|
if (clipper.hasIntersectionWithRay(ray, interval)) {
|
|
179080
179182
|
// the normal-to-normal vector is bisector (or close to bisector?)
|
|
179081
179183
|
const newNormal = planes[j].inwardNormalRef.minus(planes[i].inwardNormalRef);
|
|
179082
|
-
const plane1 =
|
|
179184
|
+
const plane1 = _ClipPlane__WEBPACK_IMPORTED_MODULE_15__.ClipPlane.createNormalAndPoint(newNormal, ray.origin);
|
|
179083
179185
|
if (plane1) {
|
|
179084
179186
|
const plane2 = plane1.cloneNegated();
|
|
179085
179187
|
newClippers[i].addPlaneToConvexSet(plane1);
|
|
@@ -179089,10 +179191,10 @@ class ClipUtilities {
|
|
|
179089
179191
|
}
|
|
179090
179192
|
}
|
|
179091
179193
|
}
|
|
179092
|
-
return
|
|
179194
|
+
return _UnionOfConvexClipPlaneSets__WEBPACK_IMPORTED_MODULE_14__.UnionOfConvexClipPlaneSets.createConvexSets(newClippers);
|
|
179093
179195
|
}
|
|
179094
179196
|
}
|
|
179095
|
-
ClipUtilities._selectIntervals01TestPoint =
|
|
179197
|
+
ClipUtilities._selectIntervals01TestPoint = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_10__.Point3d.create();
|
|
179096
179198
|
|
|
179097
179199
|
function moveFragments(fragments, destination, arrayCache) {
|
|
179098
179200
|
if (destination === undefined)
|
|
@@ -179752,6 +179854,7 @@ class ConvexClipPlaneSet {
|
|
|
179752
179854
|
* Create a convex clip plane set that clips to `x0 <= x <= x1` and `y0 <= y <= y1`.
|
|
179753
179855
|
* * Note that there is no test for the usual ordering `x0 <= x1` or `y0 <= y1`.
|
|
179754
179856
|
* * if the usual ordering is violated, the convex set is an empty set.
|
|
179857
|
+
* * More details can be found at docs/learning/geometry/Clipping.md
|
|
179755
179858
|
*/
|
|
179756
179859
|
static createXYBox(x0, y0, x1, y1, result) {
|
|
179757
179860
|
result = result ? result : new ConvexClipPlaneSet();
|
|
@@ -180197,7 +180300,7 @@ class ConvexClipPlaneSet {
|
|
|
180197
180300
|
* valid clip in a parity sense.
|
|
180198
180301
|
* * The containingPlane parameter allows callers within ConvexClipPlane set to bypass planes known to contain
|
|
180199
180302
|
* the polygon.
|
|
180200
|
-
* @param input
|
|
180303
|
+
* @param input polygon, usually convex.
|
|
180201
180304
|
* @param output output polygon
|
|
180202
180305
|
* @param work work array.
|
|
180203
180306
|
* @param containingPlane if this plane is found in the convex set, it is NOT applied.
|
|
@@ -180330,7 +180433,7 @@ class ConvexClipPlaneSet {
|
|
|
180330
180433
|
}
|
|
180331
180434
|
/**
|
|
180332
180435
|
* Implement appendPolygonClip, as defined in interface PolygonClipper.
|
|
180333
|
-
* @param xyz
|
|
180436
|
+
* @param xyz convex polygon. This is not changed.
|
|
180334
180437
|
* @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from
|
|
180335
180438
|
* the cache. This is NOT cleared.
|
|
180336
180439
|
* @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from
|
|
@@ -180707,8 +180810,8 @@ class UnionOfConvexClipPlaneSets {
|
|
|
180707
180810
|
}
|
|
180708
180811
|
}
|
|
180709
180812
|
/**
|
|
180710
|
-
*
|
|
180711
|
-
* @param xyz
|
|
180813
|
+
* Implement appendPolygonClip, as defined in interface PolygonClipper.
|
|
180814
|
+
* @param xyz convex polygon. This is not changed.
|
|
180712
180815
|
* @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from
|
|
180713
180816
|
* the cache. This is NOT cleared.
|
|
180714
180817
|
* @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from
|
|
@@ -182740,7 +182843,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
182740
182843
|
|
|
182741
182844
|
|
|
182742
182845
|
|
|
182743
|
-
/**
|
|
182846
|
+
/**
|
|
182847
|
+
* A Coordinate is a Point3d with supporting methods from the GeometryQuery abstraction.
|
|
182744
182848
|
* @public
|
|
182745
182849
|
*/
|
|
182746
182850
|
class CoordinateXYZ extends _GeometryQuery__WEBPACK_IMPORTED_MODULE_0__.GeometryQuery {
|
|
@@ -182763,9 +182867,9 @@ class CoordinateXYZ extends _GeometryQuery__WEBPACK_IMPORTED_MODULE_0__.Geometry
|
|
|
182763
182867
|
static createXYZ(x = 0, y = 0, z = 0) {
|
|
182764
182868
|
return new CoordinateXYZ(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create(x, y, z));
|
|
182765
182869
|
}
|
|
182766
|
-
/**
|
|
182870
|
+
/** Return the range of the point */
|
|
182767
182871
|
range() { return _geometry3d_Range__WEBPACK_IMPORTED_MODULE_2__.Range3d.create(this._xyz); }
|
|
182768
|
-
/**
|
|
182872
|
+
/** Extend `rangeToExtend` to include this point (optionally transformed) */
|
|
182769
182873
|
extendRange(rangeToExtend, transform) {
|
|
182770
182874
|
if (transform)
|
|
182771
182875
|
rangeToExtend.extendTransformedXYZ(transform, this._xyz.x, this._xyz.y, this._xyz.z);
|
|
@@ -182777,31 +182881,30 @@ class CoordinateXYZ extends _GeometryQuery__WEBPACK_IMPORTED_MODULE_0__.Geometry
|
|
|
182777
182881
|
transform.multiplyPoint3d(this._xyz, this._xyz);
|
|
182778
182882
|
return true;
|
|
182779
182883
|
}
|
|
182780
|
-
/**
|
|
182781
|
-
*/
|
|
182884
|
+
/** Return a transformed clone */
|
|
182782
182885
|
cloneTransformed(transform) {
|
|
182783
182886
|
const result = new CoordinateXYZ(this._xyz.clone());
|
|
182784
182887
|
result.tryTransformInPlace(transform);
|
|
182785
182888
|
return result;
|
|
182786
182889
|
}
|
|
182787
|
-
/**
|
|
182890
|
+
/** Return a clone */
|
|
182788
182891
|
clone() {
|
|
182789
182892
|
return new CoordinateXYZ(this._xyz.clone());
|
|
182790
182893
|
}
|
|
182791
|
-
/**
|
|
182792
|
-
*
|
|
182793
|
-
* *
|
|
182894
|
+
/**
|
|
182895
|
+
* Return GeometryQuery children for recursive queries.
|
|
182896
|
+
* * Leaf classes do not need to implement.
|
|
182794
182897
|
*/
|
|
182795
|
-
/**
|
|
182898
|
+
/** Test if (other instanceof Coordinate). */
|
|
182796
182899
|
isSameGeometryClass(other) {
|
|
182797
182900
|
return other instanceof CoordinateXYZ;
|
|
182798
182901
|
}
|
|
182799
|
-
/**
|
|
182800
|
-
*
|
|
182902
|
+
/**
|
|
182903
|
+
* Test for exact structure and nearly identical geometry.
|
|
182801
182904
|
* * Leaf classes must implement !!!
|
|
182802
|
-
* *
|
|
182803
|
-
* *
|
|
182804
|
-
* *
|
|
182905
|
+
* * Base class implementation recurses through children.
|
|
182906
|
+
* * Base implementation is complete for classes with children and no properties.
|
|
182907
|
+
* * Classes with both children and properties must implement for properties, call super for children.
|
|
182805
182908
|
*/
|
|
182806
182909
|
isAlmostEqual(other) {
|
|
182807
182910
|
return (other instanceof CoordinateXYZ) && this._xyz.isAlmostEqual(other._xyz);
|
|
@@ -183869,7 +183972,7 @@ class CurveChain extends CurveCollection {
|
|
|
183869
183972
|
/**
|
|
183870
183973
|
* Return the index where target is found in the array of children.
|
|
183871
183974
|
* @param alsoSearchProxies whether to also check proxy curves of the children
|
|
183872
|
-
|
|
183975
|
+
*/
|
|
183873
183976
|
childIndex(target, alsoSearchProxies) {
|
|
183874
183977
|
for (let i = 0; i < this._curves.length; i++) {
|
|
183875
183978
|
if (this._curves[i] === target)
|
|
@@ -184211,7 +184314,7 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
184211
184314
|
resetGeometry(geometryB) {
|
|
184212
184315
|
this.setGeometryB(geometryB);
|
|
184213
184316
|
}
|
|
184214
|
-
/**
|
|
184317
|
+
/** returns true if `fraction` is in [0,1] within tolerance */
|
|
184215
184318
|
acceptFraction(fraction, fractionTol = 1.0e-12) {
|
|
184216
184319
|
if (fraction < -fractionTol)
|
|
184217
184320
|
return false;
|
|
@@ -184253,8 +184356,9 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
184253
184356
|
cpB, fractionB0, fractionB1, reversed, intervalDetails) {
|
|
184254
184357
|
let globalFractionA, globalFractionB;
|
|
184255
184358
|
let globalFractionA1, globalFractionB1;
|
|
184256
|
-
const isInterval =
|
|
184257
|
-
intervalDetails.detailA.hasFraction1 &&
|
|
184359
|
+
const isInterval = intervalDetails !== undefined &&
|
|
184360
|
+
intervalDetails.detailA.hasFraction1 &&
|
|
184361
|
+
intervalDetails.detailB.hasFraction1;
|
|
184258
184362
|
if (isInterval) {
|
|
184259
184363
|
globalFractionA = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.interpolate(fractionA0, intervalDetails.detailA.fraction, fractionA1);
|
|
184260
184364
|
globalFractionB = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.interpolate(fractionB0, intervalDetails.detailB.fraction, fractionB1);
|
|
@@ -184388,8 +184492,8 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
184388
184492
|
* @param a1 end point of line a
|
|
184389
184493
|
* @param b0 start point of line b
|
|
184390
184494
|
* @param b1 end point of line b
|
|
184391
|
-
* @param result point to receive fractional coordinates of intersection. result.x is fraction on line a.
|
|
184392
|
-
*
|
|
184495
|
+
* @param result point to receive fractional coordinates of intersection. result.x is fraction on line a. result.y
|
|
184496
|
+
* is fraction on line b.
|
|
184393
184497
|
*/
|
|
184394
184498
|
static segmentSegmentBoundedApproach(a0, a1, b0, b1, minDistanceSquared) {
|
|
184395
184499
|
const ux = a1.x - a0.x;
|
|
@@ -184427,6 +184531,17 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
184427
184531
|
closestApproach = this.updatePointToSegmentDistance(1, a1, b0, b1, -_Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.dotProductXYXY(vx, vy, e10x, e10y) / vv, minDistanceSquared, closestApproach);
|
|
184428
184532
|
return closestApproach;
|
|
184429
184533
|
}
|
|
184534
|
+
/**
|
|
184535
|
+
* Return fractions of close approach within minDistance between two line segments( a0,a1) and (b0, b1)
|
|
184536
|
+
* * minDistance is assumed positive
|
|
184537
|
+
* Return the fractional (not xy) coordinates in result.x, result.y
|
|
184538
|
+
* @param a0 start point of line a
|
|
184539
|
+
* @param a1 end point of line a
|
|
184540
|
+
* @param b0 start point of line b
|
|
184541
|
+
* @param b1 end point of line b
|
|
184542
|
+
* @param result point to receive fractional coordinates of intersection. result.x is fraction on line a. result.y
|
|
184543
|
+
* is fraction on line b.
|
|
184544
|
+
*/
|
|
184430
184545
|
testAndRecordFractionalPairApproach(cpA, fA0, fA1, testProjectionOnA, cpB, fB0, fB1, testProjectionOnB, reversed) {
|
|
184431
184546
|
const pointA0 = cpA.fractionToPoint(fA0);
|
|
184432
184547
|
const pointA1 = cpA.fractionToPoint(fA1);
|
|
@@ -185015,7 +185130,8 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
185015
185130
|
let globalFractionA, globalFractionB;
|
|
185016
185131
|
let globalFractionA1, globalFractionB1;
|
|
185017
185132
|
const isInterval = intervalDetails !== undefined &&
|
|
185018
|
-
intervalDetails.detailA.hasFraction1 &&
|
|
185133
|
+
intervalDetails.detailA.hasFraction1 &&
|
|
185134
|
+
intervalDetails.detailB.hasFraction1;
|
|
185019
185135
|
if (isInterval) {
|
|
185020
185136
|
globalFractionA = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.interpolate(fractionA0, intervalDetails.detailA.fraction, fractionA1);
|
|
185021
185137
|
globalFractionB = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.interpolate(fractionB0, intervalDetails.detailB.fraction, fractionB1);
|
|
@@ -185089,8 +185205,8 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
185089
185205
|
this.recordPointWithLocalFractions(overlap.detailA.fraction, cpA, fractionA0, fractionA1, overlap.detailB.fraction, cpB, fractionB0, fractionB1, reversed, overlap);
|
|
185090
185206
|
}
|
|
185091
185207
|
else if (_numerics_Polynomials__WEBPACK_IMPORTED_MODULE_6__.SmallSystem.lineSegment3dXYTransverseIntersectionUnbounded(pointA0, pointA1, pointB0, pointB1, uv)) {
|
|
185092
|
-
if (this.acceptFractionOnLine(extendA0, uv.x, extendA1, pointA0, pointA1, this._coincidentGeometryContext.tolerance)
|
|
185093
|
-
|
|
185208
|
+
if (this.acceptFractionOnLine(extendA0, uv.x, extendA1, pointA0, pointA1, this._coincidentGeometryContext.tolerance) &&
|
|
185209
|
+
this.acceptFractionOnLine(extendB0, uv.y, extendB1, pointB0, pointB1, this._coincidentGeometryContext.tolerance)) {
|
|
185094
185210
|
this.recordPointWithLocalFractions(uv.x, cpA, fractionA0, fractionA1, uv.y, cpB, fractionB0, fractionB1, reversed);
|
|
185095
185211
|
}
|
|
185096
185212
|
}
|
|
@@ -185133,8 +185249,8 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
185133
185249
|
}
|
|
185134
185250
|
}
|
|
185135
185251
|
// Caller accesses data from a linestring or segment and passes it here.
|
|
185136
|
-
// (The line segment in question might be (a) a full line segment or (b) a fragment within a linestring.
|
|
185137
|
-
// allow all combinations to be passed in)
|
|
185252
|
+
// (The line segment in question might be (a) a full line segment or (b) a fragment within a linestring.
|
|
185253
|
+
// The fraction and extend parameters allow all combinations to be passed in)
|
|
185138
185254
|
dispatchSegmentArc(cpA, extendA0, pointA0, fractionA0, pointA1, fractionA1, extendA1, arc, extendB0, extendB1, reversed) {
|
|
185139
185255
|
// Arc: X = C + cU + sV
|
|
185140
185256
|
// Line: contains points A0,A1
|
|
@@ -185159,7 +185275,8 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
185159
185275
|
const arcPoint = data.center.plus2Scaled(data.vector0, cosines.atUncheckedIndex(i), data.vector90, sines.atUncheckedIndex(i));
|
|
185160
185276
|
const arcFraction = data.sweep.radiansToSignedPeriodicFraction(radians.atUncheckedIndex(i));
|
|
185161
185277
|
const lineFraction = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_6__.SmallSystem.lineSegment3dHXYClosestPointUnbounded(pointA0H, pointA1H, arcPoint);
|
|
185162
|
-
if (lineFraction !== undefined &&
|
|
185278
|
+
if (lineFraction !== undefined &&
|
|
185279
|
+
this.acceptFraction(extendA0, lineFraction, extendA1) &&
|
|
185163
185280
|
this.acceptFraction(extendB0, arcFraction, extendB1)) {
|
|
185164
185281
|
this.recordPointWithLocalFractions(lineFraction, cpA, fractionA0, fractionA1, arcFraction, arc, 0, 1, reversed);
|
|
185165
185282
|
}
|
|
@@ -185186,8 +185303,9 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
185186
185303
|
const arcPoint = data.center.plus2Scaled(data.vector0, cosines.atUncheckedIndex(i), data.vector90, sines.atUncheckedIndex(i));
|
|
185187
185304
|
const arcFraction = data.sweep.radiansToSignedPeriodicFraction(radians.atUncheckedIndex(i));
|
|
185188
185305
|
const lineFraction = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_6__.SmallSystem.lineSegment3dXYClosestPointUnbounded(pointA0Local, pointA1Local, arcPoint);
|
|
185189
|
-
if (lineFraction !== undefined &&
|
|
185190
|
-
|
|
185306
|
+
if (lineFraction !== undefined &&
|
|
185307
|
+
this.acceptFraction(extendA0, lineFraction, extendA1, lineFractionTol) &&
|
|
185308
|
+
this.acceptFraction(extendB0, arcFraction, extendB1, arcFractionTol)) {
|
|
185191
185309
|
this.recordPointWithLocalFractions(lineFraction, cpA, fractionA0, fractionA1, arcFraction, arc, 0, 1, reversed);
|
|
185192
185310
|
}
|
|
185193
185311
|
}
|
|
@@ -185512,8 +185630,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
185512
185630
|
const curvePoint = detail.point;
|
|
185513
185631
|
const curvePointH = this.projectPoint(curvePoint);
|
|
185514
185632
|
const lineFraction = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_6__.SmallSystem.lineSegment3dHXYClosestPointUnbounded(pointA0H, pointA1H, curvePointH);
|
|
185515
|
-
if (lineFraction !== undefined &&
|
|
185516
|
-
this.acceptFraction(extendA0, lineFraction, extendA1) &&
|
|
185633
|
+
if (lineFraction !== undefined && this.acceptFraction(extendA0, lineFraction, extendA1) &&
|
|
185517
185634
|
this.acceptFraction(extendB, fractionB, extendB)) {
|
|
185518
185635
|
this.recordPointWithLocalFractions(lineFraction, cpA, fractionA0, fractionA1, fractionB, bcurve, 0, 1, reversed);
|
|
185519
185636
|
}
|
|
@@ -191116,7 +191233,7 @@ class Path extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
|
|
|
191116
191233
|
curve.emitStrokes(strokes, options);
|
|
191117
191234
|
return Path.create(strokes);
|
|
191118
191235
|
}
|
|
191119
|
-
/** Return the boundary type (1) of a corresponding
|
|
191236
|
+
/** Return the boundary type (1) of a corresponding MicroStation CurveVector */
|
|
191120
191237
|
dgnBoundaryType() {
|
|
191121
191238
|
return 1;
|
|
191122
191239
|
}
|
|
@@ -194810,7 +194927,7 @@ class UnionRegion extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveCol
|
|
|
194810
194927
|
* * Returns false if the `AnyCurve` child is not a region type.
|
|
194811
194928
|
*/
|
|
194812
194929
|
tryAddChild(child) {
|
|
194813
|
-
if (child && child instanceof _ParityRegion__WEBPACK_IMPORTED_MODULE_1__.ParityRegion || child instanceof _Loop__WEBPACK_IMPORTED_MODULE_2__.Loop) {
|
|
194930
|
+
if (child && (child instanceof _ParityRegion__WEBPACK_IMPORTED_MODULE_1__.ParityRegion || child instanceof _Loop__WEBPACK_IMPORTED_MODULE_2__.Loop)) {
|
|
194814
194931
|
this._children.push(child);
|
|
194815
194932
|
return true;
|
|
194816
194933
|
}
|
|
@@ -202842,7 +202959,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
202842
202959
|
|
|
202843
202960
|
|
|
202844
202961
|
|
|
202845
|
-
/* eslint-disable @typescript-eslint/naming-convention, no-empty */
|
|
202846
202962
|
|
|
202847
202963
|
|
|
202848
202964
|
|
|
@@ -202850,6 +202966,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
202850
202966
|
|
|
202851
202967
|
|
|
202852
202968
|
|
|
202969
|
+
/* eslint-disable @typescript-eslint/naming-convention, no-empty */
|
|
202853
202970
|
/**
|
|
202854
202971
|
* Helper class to accumulate points and vectors until there is enough data to define a coordinate system.
|
|
202855
202972
|
*
|
|
@@ -202857,10 +202974,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
202857
202974
|
* * create the FrameBuilder and make calls to announcePoint and announceVector.
|
|
202858
202975
|
* * the frame will be fully determined by an origin and two vectors.
|
|
202859
202976
|
* * the first call to announcePoint will set the origin.
|
|
202860
|
-
* *
|
|
202861
|
-
* *
|
|
202977
|
+
* * additional calls to announcePoint will produce announceVector call with the vector from the origin.
|
|
202978
|
+
* * after each announcement, call getValidatedFrame(false)
|
|
202862
202979
|
* * getValidatedFrame will succeed when it has two independent vectors.
|
|
202863
|
-
* *
|
|
202980
|
+
* * To build a left handed frame,
|
|
202864
202981
|
* * an origin and 3 independent vectors are required.
|
|
202865
202982
|
* * announce as above, but query with getValidatedFrame (true).
|
|
202866
202983
|
* * this will use the third vector to select right or left handed frame.
|
|
@@ -202875,11 +202992,18 @@ class FrameBuilder {
|
|
|
202875
202992
|
}
|
|
202876
202993
|
return false;
|
|
202877
202994
|
}
|
|
202878
|
-
/**
|
|
202879
|
-
clear() {
|
|
202880
|
-
|
|
202881
|
-
|
|
202882
|
-
|
|
202995
|
+
/** Clear all accumulated point and vector data */
|
|
202996
|
+
clear() {
|
|
202997
|
+
this._origin = undefined;
|
|
202998
|
+
this._vector0 = undefined;
|
|
202999
|
+
this._vector1 = undefined;
|
|
203000
|
+
this._vector2 = undefined;
|
|
203001
|
+
}
|
|
203002
|
+
constructor() {
|
|
203003
|
+
this.clear();
|
|
203004
|
+
}
|
|
203005
|
+
/**
|
|
203006
|
+
* Try to assemble the data into a non-singular transform.
|
|
202883
203007
|
* * If allowLeftHanded is false, vector0 and vector1 determine a right handed coordinate system.
|
|
202884
203008
|
* * if allowLeftHanded is true, the z vector of the right handed system can be flipped to agree with vector2 direction.
|
|
202885
203009
|
*/
|
|
@@ -202914,8 +203038,11 @@ class FrameBuilder {
|
|
|
202914
203038
|
}
|
|
202915
203039
|
}
|
|
202916
203040
|
/** Ask if there is a defined origin for the evolving frame */
|
|
202917
|
-
get hasOrigin() {
|
|
202918
|
-
|
|
203041
|
+
get hasOrigin() {
|
|
203042
|
+
return this._origin !== undefined;
|
|
203043
|
+
}
|
|
203044
|
+
/**
|
|
203045
|
+
* Return the number of vectors saved. Because the save process checks numerics, this should be the rank of the system.
|
|
202919
203046
|
*/
|
|
202920
203047
|
savedVectorCount() {
|
|
202921
203048
|
if (!this._vector0)
|
|
@@ -202926,7 +203053,9 @@ class FrameBuilder {
|
|
|
202926
203053
|
return 2;
|
|
202927
203054
|
return 3;
|
|
202928
203055
|
}
|
|
202929
|
-
/**
|
|
203056
|
+
/**
|
|
203057
|
+
* Announce a new point. If this point is different from the origin, also compute and announce the vector from the origin.
|
|
203058
|
+
*/
|
|
202930
203059
|
announcePoint(point) {
|
|
202931
203060
|
if (!this._origin) {
|
|
202932
203061
|
this._origin = point.clone();
|
|
@@ -202937,7 +203066,7 @@ class FrameBuilder {
|
|
|
202937
203066
|
return this.savedVectorCount();
|
|
202938
203067
|
return this.announceVector(this._origin.vectorTo(point));
|
|
202939
203068
|
}
|
|
202940
|
-
/**
|
|
203069
|
+
/** Announce a new vector. */
|
|
202941
203070
|
announceVector(vector) {
|
|
202942
203071
|
if (vector.isAlmostZero)
|
|
202943
203072
|
return this.savedVectorCount();
|
|
@@ -202964,8 +203093,9 @@ class FrameBuilder {
|
|
|
202964
203093
|
// fall through if prior vectors are all there -- no need for the new one.
|
|
202965
203094
|
return 3;
|
|
202966
203095
|
}
|
|
202967
|
-
/**
|
|
202968
|
-
*
|
|
203096
|
+
/**
|
|
203097
|
+
* Inspect the content of the data. Announce points and vectors. Return when savedVectorCount becomes sufficient
|
|
203098
|
+
* for a coordinate system.
|
|
202969
203099
|
*/
|
|
202970
203100
|
announce(data) {
|
|
202971
203101
|
if (this.savedVectorCount() > 1)
|
|
@@ -203046,11 +203176,11 @@ class FrameBuilder {
|
|
|
203046
203176
|
}
|
|
203047
203177
|
}
|
|
203048
203178
|
}
|
|
203049
|
-
/**
|
|
203050
|
-
*
|
|
203051
|
-
* *
|
|
203052
|
-
* *
|
|
203053
|
-
* *
|
|
203179
|
+
/**
|
|
203180
|
+
* Create a localToWorld frame for the given data.
|
|
203181
|
+
* * origin is at first point.
|
|
203182
|
+
* * x axis in direction of first nonzero vector present or implied by the input.
|
|
203183
|
+
* * y axis is perpendicular to x and contains (in positive side) the next vector present or implied by the input.
|
|
203054
203184
|
*/
|
|
203055
203185
|
static createRightHandedFrame(defaultUpVector, ...params) {
|
|
203056
203186
|
const builder = new FrameBuilder();
|
|
@@ -203085,10 +203215,11 @@ class FrameBuilder {
|
|
|
203085
203215
|
}
|
|
203086
203216
|
return undefined;
|
|
203087
203217
|
}
|
|
203088
|
-
/**
|
|
203218
|
+
/**
|
|
203219
|
+
* Create a transform containing points or vectors in the given data.
|
|
203089
203220
|
* * The xy columns of the transform contain the first points or vectors of the data.
|
|
203090
203221
|
* * The z column is perpendicular to that xy plane.
|
|
203091
|
-
* * The calculation favors the first points found.
|
|
203222
|
+
* * The calculation favors the first points found. It does not try to get a "best" plane.
|
|
203092
203223
|
*/
|
|
203093
203224
|
static createRightHandedLocalToWorld(...params) {
|
|
203094
203225
|
const builder = new FrameBuilder();
|
|
@@ -203101,10 +203232,9 @@ class FrameBuilder {
|
|
|
203101
203232
|
return undefined;
|
|
203102
203233
|
}
|
|
203103
203234
|
/**
|
|
203104
|
-
*
|
|
203105
|
-
*
|
|
203106
|
-
*
|
|
203107
|
-
* point most distant from that line.
|
|
203235
|
+
* Try to create a frame whose xy plane is through points.
|
|
203236
|
+
* * If 3 or more distinct points are present, the x axis is from the first point to the most distant, and y
|
|
203237
|
+
* direction is toward the point most distant from that line.
|
|
203108
203238
|
* @param points array of points
|
|
203109
203239
|
*/
|
|
203110
203240
|
static createFrameToDistantPoints(points) {
|
|
@@ -203121,10 +203251,10 @@ class FrameBuilder {
|
|
|
203121
203251
|
return undefined;
|
|
203122
203252
|
}
|
|
203123
203253
|
/**
|
|
203124
|
-
*
|
|
203254
|
+
* Try to create a frame whose xy plane is through points, with the points appearing CCW in the local frame.
|
|
203125
203255
|
*
|
|
203126
|
-
* *
|
|
203127
|
-
* point most distant from that line.
|
|
203256
|
+
* * If 3 or more distinct points are present, the x axis is from the first point to the most distant, and y
|
|
203257
|
+
* direction is toward the point most distant from that line.
|
|
203128
203258
|
* @param points array of points
|
|
203129
203259
|
*/
|
|
203130
203260
|
static createFrameWithCCWPolygon(points) {
|
|
@@ -204125,12 +204255,11 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
204125
204255
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
204126
204256
|
/* harmony export */ GrowableXYArray: () => (/* binding */ GrowableXYArray)
|
|
204127
204257
|
/* harmony export */ });
|
|
204128
|
-
/* harmony import */ var
|
|
204258
|
+
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
204129
204259
|
/* harmony import */ var _GrowableXYZArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./GrowableXYZArray */ "../../core/geometry/lib/esm/geometry3d/GrowableXYZArray.js");
|
|
204130
204260
|
/* harmony import */ var _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./IndexedXYCollection */ "../../core/geometry/lib/esm/geometry3d/IndexedXYCollection.js");
|
|
204131
204261
|
/* harmony import */ var _Point2dVector2d__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Point2dVector2d */ "../../core/geometry/lib/esm/geometry3d/Point2dVector2d.js");
|
|
204132
|
-
/* harmony import */ var
|
|
204133
|
-
/* harmony import */ var _PointStreaming__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PointStreaming */ "../../core/geometry/lib/esm/geometry3d/PointStreaming.js");
|
|
204262
|
+
/* harmony import */ var _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
204134
204263
|
/*---------------------------------------------------------------------------------------------
|
|
204135
204264
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
204136
204265
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -204143,7 +204272,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
204143
204272
|
|
|
204144
204273
|
|
|
204145
204274
|
|
|
204146
|
-
|
|
204147
204275
|
/** `GrowableXYArray` manages a (possibly growing) Float64Array to pack xy coordinates.
|
|
204148
204276
|
* @public
|
|
204149
204277
|
*/
|
|
@@ -204238,26 +204366,33 @@ class GrowableXYArray extends _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.
|
|
|
204238
204366
|
return newPoints;
|
|
204239
204367
|
}
|
|
204240
204368
|
/** Create an array populated from
|
|
204241
|
-
*
|
|
204242
|
-
* *
|
|
204243
|
-
* *
|
|
204244
|
-
* *
|
|
204369
|
+
* Valid inputs are:
|
|
204370
|
+
* * Point2d
|
|
204371
|
+
* * Point3d
|
|
204372
|
+
* * An array of 2 doubles
|
|
204373
|
+
* * An array of 3 doubles
|
|
204374
|
+
* * A GrowableXYZArray
|
|
204375
|
+
* * A GrowableXYArray
|
|
204376
|
+
* * Any json object satisfying Point3d.isXAndY
|
|
204377
|
+
* * A Float64Array of doubles, interpreted as xyxy
|
|
204378
|
+
* * An array of any of the above
|
|
204245
204379
|
*/
|
|
204246
|
-
static create(data) {
|
|
204247
|
-
|
|
204248
|
-
|
|
204249
|
-
newPoints.pushAllXYAndZ(data);
|
|
204380
|
+
static create(data, result) {
|
|
204381
|
+
if (result) {
|
|
204382
|
+
result.clear();
|
|
204250
204383
|
}
|
|
204251
204384
|
else {
|
|
204252
|
-
|
|
204385
|
+
const pointCount = typeof data[0] === "number" ? data.length / 2 : data.length;
|
|
204386
|
+
result = new GrowableXYArray(pointCount);
|
|
204253
204387
|
}
|
|
204254
|
-
|
|
204388
|
+
result.pushFrom(data);
|
|
204389
|
+
return result;
|
|
204255
204390
|
}
|
|
204256
|
-
/** Restructure MultiLineStringDataVariant as array of GrowableXYZArray
|
|
204391
|
+
/** Restructure MultiLineStringDataVariant as array of GrowableXYZArray
|
|
204392
|
+
* @deprecated in 4.x. Moved to GrowableXYZArray class.
|
|
204393
|
+
*/
|
|
204257
204394
|
static createArrayOfGrowableXYZArray(data) {
|
|
204258
|
-
|
|
204259
|
-
_PointStreaming__WEBPACK_IMPORTED_MODULE_2__.VariantPointDataStream.streamXYZ(data, collector);
|
|
204260
|
-
return collector.claimArrayOfGrowableXYZArray();
|
|
204395
|
+
return _GrowableXYZArray__WEBPACK_IMPORTED_MODULE_1__.GrowableXYZArray.createArrayOfGrowableXYZArray(data);
|
|
204261
204396
|
}
|
|
204262
204397
|
/** push a point to the end of the array */
|
|
204263
204398
|
push(toPush) {
|
|
@@ -204283,6 +204418,51 @@ class GrowableXYArray extends _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.
|
|
|
204283
204418
|
this.pushXY(p.x, p.y);
|
|
204284
204419
|
}
|
|
204285
204420
|
}
|
|
204421
|
+
/** Push points from variant sources.
|
|
204422
|
+
* Valid inputs are:
|
|
204423
|
+
* * Point2d
|
|
204424
|
+
* * Point3d
|
|
204425
|
+
* * An array of 2 doubles
|
|
204426
|
+
* * A GrowableXYArray
|
|
204427
|
+
* * A GrowableXYZArray
|
|
204428
|
+
* * Any json object satisfying Point3d.isXAndY
|
|
204429
|
+
* * A Float64Array of doubles, interpreted as xyxy
|
|
204430
|
+
* * An array of any of the above
|
|
204431
|
+
*/
|
|
204432
|
+
pushFrom(p) {
|
|
204433
|
+
if (p instanceof _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d) {
|
|
204434
|
+
this.pushXY(p.x, p.y);
|
|
204435
|
+
}
|
|
204436
|
+
else if (p instanceof _GrowableXYZArray__WEBPACK_IMPORTED_MODULE_1__.GrowableXYZArray) {
|
|
204437
|
+
this.pushAllXYAndZ(p);
|
|
204438
|
+
}
|
|
204439
|
+
else if (p instanceof _Point2dVector2d__WEBPACK_IMPORTED_MODULE_3__.Point2d) {
|
|
204440
|
+
this.pushXY(p.x, p.y);
|
|
204441
|
+
}
|
|
204442
|
+
else if (_Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.isNumberArray(p, 3) || p instanceof Float64Array) {
|
|
204443
|
+
const xyToAdd = Math.trunc(p.length / 2);
|
|
204444
|
+
this.ensureCapacity(this._xyInUse + xyToAdd, false);
|
|
204445
|
+
this.copyData(p, xyToAdd, this._xyInUse);
|
|
204446
|
+
this._xyInUse += xyToAdd;
|
|
204447
|
+
}
|
|
204448
|
+
else if (_Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.isNumberArray(p, 2)) {
|
|
204449
|
+
this.pushXY(p[0], p[1]);
|
|
204450
|
+
}
|
|
204451
|
+
else if (Array.isArray(p)) {
|
|
204452
|
+
// direct recursion re-wraps p and goes infinite. Unroll here.
|
|
204453
|
+
for (const q of p)
|
|
204454
|
+
this.pushFrom(q);
|
|
204455
|
+
}
|
|
204456
|
+
else if (_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.isXAndY(p)) {
|
|
204457
|
+
this.pushXY(p.x, p.y);
|
|
204458
|
+
}
|
|
204459
|
+
else if (p instanceof _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.IndexedXYCollection) {
|
|
204460
|
+
const n = p.length;
|
|
204461
|
+
this.ensureCapacity(this._xyInUse + n, false);
|
|
204462
|
+
for (let i = 0; i < n; i++)
|
|
204463
|
+
this.pushXY(p.getXAtUncheckedPointIndex(i), p.getYAtUncheckedPointIndex(i));
|
|
204464
|
+
}
|
|
204465
|
+
}
|
|
204286
204466
|
/**
|
|
204287
204467
|
* Replicate numWrap xy values from the front of the array as new values at the end.
|
|
204288
204468
|
* @param numWrap number of xy values to replicate
|
|
@@ -204518,7 +204698,7 @@ class GrowableXYArray extends _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.
|
|
|
204518
204698
|
const result = [];
|
|
204519
204699
|
const data = this._data;
|
|
204520
204700
|
for (let i = 0; i < n; i += 2)
|
|
204521
|
-
result.push(
|
|
204701
|
+
result.push(_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.create(data[i], data[i + 1], z));
|
|
204522
204702
|
return result;
|
|
204523
204703
|
}
|
|
204524
204704
|
/** reverse the order of points. */
|
|
@@ -204612,7 +204792,7 @@ class GrowableXYArray extends _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.
|
|
|
204612
204792
|
const n = 2 * (this._xyInUse - 1); // Length already takes into account what specifically is in use
|
|
204613
204793
|
const data = this._data;
|
|
204614
204794
|
for (let i = 0; i < n; i += 2)
|
|
204615
|
-
sum +=
|
|
204795
|
+
sum += _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.hypotenuseXY(data[i + 2] - data[i], data[i + 3] - data[i + 1]);
|
|
204616
204796
|
return sum;
|
|
204617
204797
|
}
|
|
204618
204798
|
/**
|
|
@@ -204651,7 +204831,7 @@ class GrowableXYArray extends _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.
|
|
|
204651
204831
|
for (let i = 2; i < n; i += 2, dx1 = dx2, dy1 = dy2) {
|
|
204652
204832
|
dx2 = this._data[i] - x0;
|
|
204653
204833
|
dy2 = this._data[i + 1] - y0;
|
|
204654
|
-
area +=
|
|
204834
|
+
area += _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.crossProductXYXY(dx1, dy1, dx2, dy2);
|
|
204655
204835
|
}
|
|
204656
204836
|
}
|
|
204657
204837
|
return 0.5 * area;
|
|
@@ -204681,7 +204861,7 @@ class GrowableXYArray extends _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.
|
|
|
204681
204861
|
const j = targetAIndex * 2;
|
|
204682
204862
|
const k = targetBIndex * 2;
|
|
204683
204863
|
const data = this._data;
|
|
204684
|
-
return
|
|
204864
|
+
return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.crossProductXYXY(data[j] - data[i], data[j + 1] - data[i + 1], data[k] - data[i], data[k + 1] - data[i + 1]);
|
|
204685
204865
|
}
|
|
204686
204866
|
return undefined;
|
|
204687
204867
|
}
|
|
@@ -204691,7 +204871,7 @@ class GrowableXYArray extends _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.
|
|
|
204691
204871
|
const j = targetAIndex * 2;
|
|
204692
204872
|
const k = targetBIndex * 2;
|
|
204693
204873
|
const data = this._data;
|
|
204694
|
-
return
|
|
204874
|
+
return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.crossProductXYXY(data[j] - origin.x, data[j + 1] - origin.y, data[k] - origin.x, data[k + 1] - origin.y);
|
|
204695
204875
|
}
|
|
204696
204876
|
return undefined;
|
|
204697
204877
|
}
|
|
@@ -204700,7 +204880,7 @@ class GrowableXYArray extends _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.
|
|
|
204700
204880
|
if (this.isIndexValid(i) && this.isIndexValid(j)) {
|
|
204701
204881
|
const i0 = 2 * i;
|
|
204702
204882
|
const j0 = 2 * j;
|
|
204703
|
-
return
|
|
204883
|
+
return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.hypotenuseXY(this._data[j0] - this._data[i0], this._data[j0 + 1] - this._data[i0 + 1]);
|
|
204704
204884
|
}
|
|
204705
204885
|
return undefined;
|
|
204706
204886
|
}
|
|
@@ -204708,7 +204888,7 @@ class GrowableXYArray extends _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.
|
|
|
204708
204888
|
distanceIndexToPoint(i, spacePoint) {
|
|
204709
204889
|
if (this.isIndexValid(i)) {
|
|
204710
204890
|
const i0 = 2 * i;
|
|
204711
|
-
return
|
|
204891
|
+
return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.hypotenuseXY(spacePoint.x - this._data[i0], spacePoint.y - this._data[i0 + 1]);
|
|
204712
204892
|
}
|
|
204713
204893
|
return undefined;
|
|
204714
204894
|
}
|
|
@@ -204758,7 +204938,7 @@ class GrowableXYArray extends _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.
|
|
|
204758
204938
|
return this._data[2 * pointIndex + componentIndex];
|
|
204759
204939
|
}
|
|
204760
204940
|
/** Toleranced equality test */
|
|
204761
|
-
isAlmostEqual(other, tolerance =
|
|
204941
|
+
isAlmostEqual(other, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.smallMetricDistance) {
|
|
204762
204942
|
const numXY = this._xyInUse;
|
|
204763
204943
|
if (other._xyInUse !== numXY)
|
|
204764
204944
|
return false;
|
|
@@ -204786,12 +204966,13 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
204786
204966
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
204787
204967
|
/* harmony export */ GrowableXYZArray: () => (/* binding */ GrowableXYZArray)
|
|
204788
204968
|
/* harmony export */ });
|
|
204789
|
-
/* harmony import */ var
|
|
204969
|
+
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
204790
204970
|
/* harmony import */ var _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./IndexedXYZCollection */ "../../core/geometry/lib/esm/geometry3d/IndexedXYZCollection.js");
|
|
204791
|
-
/* harmony import */ var
|
|
204792
|
-
/* harmony import */ var
|
|
204793
|
-
/* harmony import */ var
|
|
204794
|
-
/* harmony import */ var
|
|
204971
|
+
/* harmony import */ var _Point2dVector2d__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Point2dVector2d */ "../../core/geometry/lib/esm/geometry3d/Point2dVector2d.js");
|
|
204972
|
+
/* harmony import */ var _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
204973
|
+
/* harmony import */ var _PointStreaming__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PointStreaming */ "../../core/geometry/lib/esm/geometry3d/PointStreaming.js");
|
|
204974
|
+
/* harmony import */ var _Range__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
204975
|
+
/* harmony import */ var _Transform__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Transform */ "../../core/geometry/lib/esm/geometry3d/Transform.js");
|
|
204795
204976
|
/*---------------------------------------------------------------------------------------------
|
|
204796
204977
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
204797
204978
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -204805,6 +204986,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
204805
204986
|
|
|
204806
204987
|
|
|
204807
204988
|
|
|
204989
|
+
|
|
204808
204990
|
/** `GrowableXYArray` manages a (possibly growing) Float64Array to pack xy coordinates.
|
|
204809
204991
|
* @public
|
|
204810
204992
|
*/
|
|
@@ -204907,7 +205089,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
204907
205089
|
/** Create an array from various point data formats.
|
|
204908
205090
|
* Valid inputs are:
|
|
204909
205091
|
* * Point2d
|
|
204910
|
-
* *
|
|
205092
|
+
* * Point3d
|
|
204911
205093
|
* * An array of 2 doubles
|
|
204912
205094
|
* * An array of 3 doubles
|
|
204913
205095
|
* * A GrowableXYZArray
|
|
@@ -204929,6 +205111,12 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
204929
205111
|
result.pushFrom(data);
|
|
204930
205112
|
return result;
|
|
204931
205113
|
}
|
|
205114
|
+
/** Restructure MultiLineStringDataVariant as array of GrowableXYZArray */
|
|
205115
|
+
static createArrayOfGrowableXYZArray(data) {
|
|
205116
|
+
const collector = new _PointStreaming__WEBPACK_IMPORTED_MODULE_1__.PointStreamGrowableXYZArrayCollector();
|
|
205117
|
+
_PointStreaming__WEBPACK_IMPORTED_MODULE_1__.VariantPointDataStream.streamXYZ(data, collector);
|
|
205118
|
+
return collector.claimArrayOfGrowableXYZArray();
|
|
205119
|
+
}
|
|
204932
205120
|
/** push a point to the end of the array */
|
|
204933
205121
|
push(toPush) {
|
|
204934
205122
|
this.pushXYZ(toPush.x, toPush.y, toPush.z);
|
|
@@ -204942,7 +205130,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
204942
205130
|
/** Push points from variant sources.
|
|
204943
205131
|
* Valid inputs are:
|
|
204944
205132
|
* * Point2d
|
|
204945
|
-
* *
|
|
205133
|
+
* * Point3d
|
|
204946
205134
|
* * An array of 2 doubles
|
|
204947
205135
|
* * An array of 3 doubles
|
|
204948
205136
|
* * A GrowableXYZArray
|
|
@@ -204952,30 +205140,30 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
204952
205140
|
* * An array of any of the above
|
|
204953
205141
|
*/
|
|
204954
205142
|
pushFrom(p) {
|
|
204955
|
-
if (p instanceof
|
|
205143
|
+
if (p instanceof _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d)
|
|
204956
205144
|
this.pushXYZ(p.x, p.y, p.z);
|
|
204957
205145
|
else if (p instanceof GrowableXYZArray)
|
|
204958
205146
|
this.pushFromGrowableXYZArray(p);
|
|
204959
|
-
else if (p instanceof
|
|
205147
|
+
else if (p instanceof _Point2dVector2d__WEBPACK_IMPORTED_MODULE_3__.Point2d)
|
|
204960
205148
|
this.pushXYZ(p.x, p.y, 0.0);
|
|
204961
|
-
else if (
|
|
205149
|
+
else if (_Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.isNumberArray(p, 4) || p instanceof Float64Array) {
|
|
204962
205150
|
const xyzToAdd = Math.trunc(p.length / 3);
|
|
204963
205151
|
this.ensureCapacity(this._xyzInUse + xyzToAdd, false);
|
|
204964
205152
|
this.copyData(p, xyzToAdd, this._xyzInUse);
|
|
204965
205153
|
this._xyzInUse += xyzToAdd;
|
|
204966
205154
|
}
|
|
204967
|
-
else if (
|
|
205155
|
+
else if (_Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.isNumberArray(p, 3))
|
|
204968
205156
|
this.pushXYZ(p[0], p[1], p[2]);
|
|
204969
|
-
else if (
|
|
205157
|
+
else if (_Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.isNumberArray(p, 2))
|
|
204970
205158
|
this.pushXYZ(p[0], p[1], 0.0);
|
|
204971
205159
|
else if (Array.isArray(p)) {
|
|
204972
|
-
// direct recursion re-wraps p and goes infinite.
|
|
205160
|
+
// direct recursion re-wraps p and goes infinite. Unroll here.
|
|
204973
205161
|
for (const q of p)
|
|
204974
205162
|
this.pushFrom(q);
|
|
204975
205163
|
}
|
|
204976
|
-
else if (
|
|
205164
|
+
else if (_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.isXYAndZ(p))
|
|
204977
205165
|
this.pushXYZ(p.x, p.y, p.z);
|
|
204978
|
-
else if (
|
|
205166
|
+
else if (_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.isXAndY(p))
|
|
204979
205167
|
this.pushXYZ(p.x, p.y, 0.0);
|
|
204980
205168
|
else if (p instanceof _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0__.IndexedXYZCollection) {
|
|
204981
205169
|
const n = p.length;
|
|
@@ -205076,7 +205264,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205076
205264
|
*/
|
|
205077
205265
|
getPoint3dAtUncheckedPointIndex(pointIndex, result) {
|
|
205078
205266
|
const index = 3 * pointIndex;
|
|
205079
|
-
return
|
|
205267
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.create(this._data[index], this._data[index + 1], this._data[index + 2], result);
|
|
205080
205268
|
}
|
|
205081
205269
|
/**
|
|
205082
205270
|
* Get a point by index, strongly typed as a Point2d. This is unchecked. Use getPoint2dAtCheckedPointIndex to have validity test.
|
|
@@ -205085,13 +205273,13 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205085
205273
|
*/
|
|
205086
205274
|
getPoint2dAtUncheckedPointIndex(pointIndex, result) {
|
|
205087
205275
|
const index = 3 * pointIndex;
|
|
205088
|
-
return
|
|
205276
|
+
return _Point2dVector2d__WEBPACK_IMPORTED_MODULE_3__.Point2d.create(this._data[index], this._data[index + 1], result);
|
|
205089
205277
|
}
|
|
205090
205278
|
/** copy xyz into strongly typed Point3d */
|
|
205091
205279
|
getPoint3dAtCheckedPointIndex(pointIndex, result) {
|
|
205092
205280
|
if (this.isIndexValid(pointIndex)) {
|
|
205093
205281
|
const index = 3 * pointIndex;
|
|
205094
|
-
return
|
|
205282
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.create(this._data[index], this._data[index + 1], this._data[index + 2], result);
|
|
205095
205283
|
}
|
|
205096
205284
|
return undefined;
|
|
205097
205285
|
}
|
|
@@ -205114,7 +205302,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205114
205302
|
getPoint2dAtCheckedPointIndex(pointIndex, result) {
|
|
205115
205303
|
if (this.isIndexValid(pointIndex)) {
|
|
205116
205304
|
const index = 3 * pointIndex;
|
|
205117
|
-
return
|
|
205305
|
+
return _Point2dVector2d__WEBPACK_IMPORTED_MODULE_3__.Point2d.create(this._data[index], this._data[index + 1], result);
|
|
205118
205306
|
}
|
|
205119
205307
|
return undefined;
|
|
205120
205308
|
}
|
|
@@ -205122,7 +205310,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205122
205310
|
getVector3dAtCheckedVectorIndex(vectorIndex, result) {
|
|
205123
205311
|
if (this.isIndexValid(vectorIndex)) {
|
|
205124
205312
|
const index = 3 * vectorIndex;
|
|
205125
|
-
return
|
|
205313
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.create(this._data[index], this._data[index + 1], this._data[index + 2], result);
|
|
205126
205314
|
}
|
|
205127
205315
|
return undefined;
|
|
205128
205316
|
}
|
|
@@ -205221,7 +205409,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205221
205409
|
const result = [];
|
|
205222
205410
|
const data = this._data;
|
|
205223
205411
|
for (let i = 0; i < n; i += 3)
|
|
205224
|
-
result.push(
|
|
205412
|
+
result.push(_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.create(data[i], data[i + 1], data[i + 2]));
|
|
205225
205413
|
return result;
|
|
205226
205414
|
}
|
|
205227
205415
|
/** multiply each point by the transform, replace values. */
|
|
@@ -205307,7 +205495,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205307
205495
|
if (!matrix.computeCachedInverse(true))
|
|
205308
205496
|
return false;
|
|
205309
205497
|
const coffs = matrix.inverseCoffs;
|
|
205310
|
-
const tol =
|
|
205498
|
+
const tol = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.smallFloatingPoint;
|
|
205311
205499
|
let x = 0;
|
|
205312
205500
|
let y = 0;
|
|
205313
205501
|
let z = 0;
|
|
@@ -205350,7 +205538,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205350
205538
|
multiplyMatrix4dAndQuietRenormalizeMatrix4d(matrix) {
|
|
205351
205539
|
const data = this._data;
|
|
205352
205540
|
const nDouble = this.float64Length;
|
|
205353
|
-
const xyz1 =
|
|
205541
|
+
const xyz1 = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.create();
|
|
205354
205542
|
for (let i = 0; i + 2 <= nDouble; i += 3) {
|
|
205355
205543
|
matrix.multiplyXYZWQuietRenormalize(data[i], data[i + 1], data[i + 2], 1.0, xyz1);
|
|
205356
205544
|
data[i] = xyz1.x;
|
|
@@ -205399,7 +205587,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205399
205587
|
}
|
|
205400
205588
|
/** get range of points. */
|
|
205401
205589
|
getRange(transform) {
|
|
205402
|
-
const range =
|
|
205590
|
+
const range = _Range__WEBPACK_IMPORTED_MODULE_5__.Range3d.createNull();
|
|
205403
205591
|
this.extendRange(range, transform);
|
|
205404
205592
|
return range;
|
|
205405
205593
|
}
|
|
@@ -205414,7 +205602,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205414
205602
|
const n = 3 * (this._xyzInUse - 1); // Length already takes into account what specifically is in use
|
|
205415
205603
|
const data = this._data;
|
|
205416
205604
|
for (let i = 0; i < n; i += 3)
|
|
205417
|
-
sum +=
|
|
205605
|
+
sum += _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.hypotenuseXYZ(data[i + 3] - data[i], data[i + 4] - data[i + 1], data[i + 5] - data[i + 2]);
|
|
205418
205606
|
return sum;
|
|
205419
205607
|
}
|
|
205420
205608
|
/**
|
|
@@ -205429,7 +205617,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205429
205617
|
}
|
|
205430
205618
|
}
|
|
205431
205619
|
/** test if all points are within tolerance of a plane. */
|
|
205432
|
-
isCloseToPlane(plane, tolerance =
|
|
205620
|
+
isCloseToPlane(plane, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.smallMetricDistance) {
|
|
205433
205621
|
const numCoordinate = 3 * this._xyzInUse;
|
|
205434
205622
|
const data = this._data;
|
|
205435
205623
|
for (let i = 0; i < numCoordinate; i += 3)
|
|
@@ -205442,7 +205630,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205442
205630
|
* * If already closed within tolerance, force exact copy
|
|
205443
205631
|
* * otherwise leave unchanged.
|
|
205444
205632
|
*/
|
|
205445
|
-
forceClosure(tolerance =
|
|
205633
|
+
forceClosure(tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.smallMetricDistance) {
|
|
205446
205634
|
const d = this.distanceIndexIndex(0, this.length - 1);
|
|
205447
205635
|
// leave the empty array alone.
|
|
205448
205636
|
// Note that singleton will generate 0 distance and do nothing.
|
|
@@ -205464,7 +205652,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205464
205652
|
const data = this._data;
|
|
205465
205653
|
i = 3 * i;
|
|
205466
205654
|
j = 3 * j;
|
|
205467
|
-
return
|
|
205655
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.create(fraction0 * data[i] + fraction * data[j], fraction0 * data[i + 1] + fraction * data[j + 1], fraction0 * data[i + 2] + fraction * data[j + 2], result);
|
|
205468
205656
|
}
|
|
205469
205657
|
return undefined;
|
|
205470
205658
|
}
|
|
@@ -205495,7 +205683,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205495
205683
|
for (let i = 3; i < n; i += 3, dx1 = dx2, dy1 = dy2) {
|
|
205496
205684
|
dx2 = this._data[i] - x0;
|
|
205497
205685
|
dy2 = this._data[i + 1] - y0;
|
|
205498
|
-
area +=
|
|
205686
|
+
area += _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.crossProductXYXY(dx1, dy1, dx2, dy2);
|
|
205499
205687
|
}
|
|
205500
205688
|
}
|
|
205501
205689
|
return 0.5 * area;
|
|
@@ -205507,14 +205695,14 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205507
205695
|
const data = this._data;
|
|
205508
205696
|
i = 3 * i;
|
|
205509
205697
|
j = 3 * j;
|
|
205510
|
-
return
|
|
205698
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.create(data[j] - data[i], data[j + 1] - data[i + 1], data[j + 2] - data[i + 2], result);
|
|
205511
205699
|
}
|
|
205512
205700
|
/** Compute a vector from origin to indexed target j */
|
|
205513
205701
|
vectorXYAndZIndex(origin, j, result) {
|
|
205514
205702
|
if (this.isIndexValid(j)) {
|
|
205515
205703
|
const data = this._data;
|
|
205516
205704
|
j = 3 * j;
|
|
205517
|
-
return
|
|
205705
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.create(data[j] - origin.x, data[j + 1] - origin.y, data[j + 2] - origin.z, result);
|
|
205518
205706
|
}
|
|
205519
205707
|
return undefined;
|
|
205520
205708
|
}
|
|
@@ -205525,7 +205713,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205525
205713
|
const j = targetAIndex * 3;
|
|
205526
205714
|
const k = targetBIndex * 3;
|
|
205527
205715
|
const data = this._data;
|
|
205528
|
-
return
|
|
205716
|
+
return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.crossProductXYZXYZ(data[j] - data[i], data[j + 1] - data[i + 1], data[j + 2] - data[i + 2], data[k] - data[i], data[k + 1] - data[i + 1], data[k + 2] - data[i + 2], result);
|
|
205529
205717
|
}
|
|
205530
205718
|
return undefined;
|
|
205531
205719
|
}
|
|
@@ -205573,7 +205761,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205573
205761
|
const j = targetAIndex * 3;
|
|
205574
205762
|
const k = targetBIndex * 3;
|
|
205575
205763
|
const data = this._data;
|
|
205576
|
-
return
|
|
205764
|
+
return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.crossProductXYZXYZ(data[j] - origin.x, data[j + 1] - origin.y, data[j + 2] - origin.z, data[k] - origin.x, data[k + 1] - origin.y, data[k + 2] - origin.z, result);
|
|
205577
205765
|
}
|
|
205578
205766
|
return undefined;
|
|
205579
205767
|
}
|
|
@@ -205581,7 +205769,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205581
205769
|
distanceIndexToPoint(i, spacePoint) {
|
|
205582
205770
|
if (this.isIndexValid(i)) {
|
|
205583
205771
|
const i0 = 3 * i;
|
|
205584
|
-
return
|
|
205772
|
+
return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.hypotenuseXYZ(spacePoint.x - this._data[i0], spacePoint.y - this._data[i0 + 1], spacePoint.z - this._data[i0 + 2]);
|
|
205585
205773
|
}
|
|
205586
205774
|
return undefined;
|
|
205587
205775
|
}
|
|
@@ -205594,7 +205782,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205594
205782
|
if (this.isIndexValid(i) && this.isIndexValid(j)) {
|
|
205595
205783
|
const i0 = 3 * i;
|
|
205596
205784
|
const j0 = 3 * j;
|
|
205597
|
-
return
|
|
205785
|
+
return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.hypotenuseSquaredXYZ(this._data[j0] - this._data[i0], this._data[j0 + 1] - this._data[i0 + 1], this._data[j0 + 2] - this._data[i0 + 2]);
|
|
205598
205786
|
}
|
|
205599
205787
|
return undefined;
|
|
205600
205788
|
}
|
|
@@ -205607,7 +205795,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205607
205795
|
if (this.isIndexValid(i) && this.isIndexValid(j)) {
|
|
205608
205796
|
const i0 = 3 * i;
|
|
205609
205797
|
const j0 = 3 * j;
|
|
205610
|
-
return
|
|
205798
|
+
return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.hypotenuseXYZ(this._data[j0] - this._data[i0], this._data[j0 + 1] - this._data[i0 + 1], this._data[j0 + 2] - this._data[i0 + 2]);
|
|
205611
205799
|
}
|
|
205612
205800
|
return undefined;
|
|
205613
205801
|
}
|
|
@@ -205616,7 +205804,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205616
205804
|
if (arrayA.isIndexValid(i) && arrayB.isIndexValid(j)) {
|
|
205617
205805
|
const i0 = 3 * i;
|
|
205618
205806
|
const j0 = 3 * j;
|
|
205619
|
-
return
|
|
205807
|
+
return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.hypotenuseXYZ(arrayB._data[j0] - arrayA._data[i0], arrayB._data[j0 + 1] - arrayA._data[i0 + 1], arrayB._data[j0 + 2] - arrayA._data[i0 + 2]);
|
|
205620
205808
|
}
|
|
205621
205809
|
return undefined;
|
|
205622
205810
|
}
|
|
@@ -205695,10 +205883,10 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205695
205883
|
const n = Math.min(arrayA.length, arrayB.length);
|
|
205696
205884
|
let i = 0;
|
|
205697
205885
|
let k0;
|
|
205698
|
-
const range =
|
|
205886
|
+
const range = _Range__WEBPACK_IMPORTED_MODULE_5__.Range1d.createNull();
|
|
205699
205887
|
while (i < n) {
|
|
205700
205888
|
k0 = 3 * i;
|
|
205701
|
-
range.extendX(
|
|
205889
|
+
range.extendX(_Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.hypotenuseXYZ(dataA[k0] - dataB[k0], dataA[k0 + 1] - dataB[k0 + 1], dataA[k0 + 2] - dataB[k0 + 2]));
|
|
205702
205890
|
i++;
|
|
205703
205891
|
}
|
|
205704
205892
|
return range;
|
|
@@ -205708,7 +205896,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205708
205896
|
* @param points
|
|
205709
205897
|
* @param tolerance
|
|
205710
205898
|
*/
|
|
205711
|
-
static removeClosure(points, tolerance =
|
|
205899
|
+
static removeClosure(points, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.smallMetricDistance) {
|
|
205712
205900
|
while (points.length > 1 && points.distanceIndexIndex(0, points.length - 1) < tolerance)
|
|
205713
205901
|
points.pop();
|
|
205714
205902
|
}
|
|
@@ -205734,7 +205922,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
|
|
|
205734
205922
|
const vx = data[i0++] - ax;
|
|
205735
205923
|
const vy = data[i0++] - ay;
|
|
205736
205924
|
const vz = data[i0++] - az;
|
|
205737
|
-
result =
|
|
205925
|
+
result = _Transform__WEBPACK_IMPORTED_MODULE_6__.Transform.createRowValues(ux, vx, 0, ax, uy, vy, 0, ay, uz, vz, 1, az, result);
|
|
205738
205926
|
return result.computeCachedInverse() ? result : undefined;
|
|
205739
205927
|
}
|
|
205740
205928
|
return undefined;
|
|
@@ -231623,11 +231811,15 @@ class PolyfaceBuilder extends _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODU
|
|
|
231623
231811
|
}
|
|
231624
231812
|
}
|
|
231625
231813
|
/** Add a polygon to the evolving facets.
|
|
231626
|
-
*
|
|
231627
|
-
* *
|
|
231628
|
-
* *
|
|
231629
|
-
*
|
|
231630
|
-
* @param
|
|
231814
|
+
* * add points to the polyface
|
|
231815
|
+
* * compute each point index as the point is added
|
|
231816
|
+
* * all data arrays are parallel to the point array
|
|
231817
|
+
* * point indices are added in reverse order if indicated by the builder state
|
|
231818
|
+
* @param points array of vertices in order around the facet
|
|
231819
|
+
* @param normals optional array of normals, one per vertex
|
|
231820
|
+
* @param params optional array of uv-parameters, one per vertex
|
|
231821
|
+
* @param colors optional array of colors, one per vertex
|
|
231822
|
+
* @param edgeVisible optional array of flags, one per vertex, true iff edge starting at corresponding vertex is visible
|
|
231631
231823
|
*/
|
|
231632
231824
|
addFacetFromGrowableArrays(points, normals, params, colors, edgeVisible) {
|
|
231633
231825
|
// don't use trailing points that match start point.
|
|
@@ -287295,7 +287487,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
|
|
|
287295
287487
|
/***/ ((module) => {
|
|
287296
287488
|
|
|
287297
287489
|
"use strict";
|
|
287298
|
-
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.2.0-dev.
|
|
287490
|
+
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.2.0-dev.10","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 ES2020 --outDir lib/esm","clean":"rimraf 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 --includes=../../generated-docs/extract --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 -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","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:^4.2.0-dev.10","@itwin/core-bentley":"workspace:^4.2.0-dev.10","@itwin/core-common":"workspace:^4.2.0-dev.10","@itwin/core-geometry":"workspace:^4.2.0-dev.10","@itwin/core-orbitgt":"workspace:^4.2.0-dev.10","@itwin/core-quantity":"workspace:^4.2.0-dev.10"},"//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/certa":"workspace:*","@itwin/eslint-plugin":"4.0.0-dev.44","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/node":"18.16.1","@types/sinon":"^10.0.15","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.44.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^15.0.4","source-map-loader":"^4.0.0","typescript":"~5.0.2","webpack":"^5.76.0"},"//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.1.0","@itwin/object-storage-core":"^2.1.0","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"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"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"}}');
|
|
287299
287491
|
|
|
287300
287492
|
/***/ })
|
|
287301
287493
|
|