@itwin/rpcinterface-full-stack-tests 3.5.0-dev.49 → 3.5.0-dev.51
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/_554f.bundled-tests.js.map +1 -1
- package/lib/dist/bundled-tests.js +377 -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/object-storage.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_itwin_object-storage-azure_1_4_0_node_modules_itwin_obj-3576c6.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_2_10_node_modules_loaders_gl_draco_d-13469a.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_reflect-metadata_0_1_13_node_modules_reflect-metadata_R-610cb3.bundled-tests.js.map +1 -1
- package/package.json +14 -14
|
@@ -105342,6 +105342,11 @@ class IModelConnection extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.I
|
|
|
105342
105342
|
* @beta
|
|
105343
105343
|
*/
|
|
105344
105344
|
this.onClose = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
105345
|
+
/** Event called immediately after *this* IModelConnection has its displayed extents expanded.
|
|
105346
|
+
* @note This event is called only for this IModelConnection.
|
|
105347
|
+
* @internal
|
|
105348
|
+
*/
|
|
105349
|
+
this.onDisplayedExtentsExpansion = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
105345
105350
|
this._snapRpc = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.OneAtATimeAction(async (props) => _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelReadRpcInterface.getClientForRouting(this.routingContext.token).requestSnap(this.getRpcProps(), _IModelApp__WEBPACK_IMPORTED_MODULE_5__.IModelApp.sessionId, props));
|
|
105346
105351
|
this._toolTipRpc = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.OneAtATimeAction(async (id) => _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelReadRpcInterface.getClientForRouting(this.routingContext.token).getToolTipMessage(this.getRpcProps(), id));
|
|
105347
105352
|
/** Event called immediately after map elevation request is completed. This occurs only in the case where background map terrain is displayed
|
|
@@ -105662,10 +105667,7 @@ class IModelConnection extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.I
|
|
|
105662
105667
|
this._extentsExpansion.extendRange(range);
|
|
105663
105668
|
this.displayedExtents.setFrom(this.projectExtents);
|
|
105664
105669
|
this.displayedExtents.extendRange(this._extentsExpansion);
|
|
105665
|
-
|
|
105666
|
-
if (vp.view.isSpatialView() && vp.iModel === this)
|
|
105667
|
-
vp.invalidateController();
|
|
105668
|
-
}
|
|
105670
|
+
this.onDisplayedExtentsExpansion.raiseEvent();
|
|
105669
105671
|
}
|
|
105670
105672
|
/** @internal */
|
|
105671
105673
|
getMapEcefToDb(bimElevationBias) {
|
|
@@ -117218,6 +117220,9 @@ class Viewport {
|
|
|
117218
117220
|
removals.push(this.iModel.onMapElevationLoaded.addListener((_iModel) => {
|
|
117219
117221
|
this.synchWithView();
|
|
117220
117222
|
}));
|
|
117223
|
+
removals.push(this.iModel.onDisplayedExtentsExpansion.addListener(() => {
|
|
117224
|
+
this.invalidateController();
|
|
117225
|
+
}));
|
|
117221
117226
|
}
|
|
117222
117227
|
}
|
|
117223
117228
|
registerDisplayStyleListeners(style) {
|
|
@@ -166831,9 +166836,9 @@ class TileAdmin {
|
|
|
166831
166836
|
// start dynamically loading default implementation and save the promise to avoid duplicate instances
|
|
166832
166837
|
this._tileStoragePromise = (async () => {
|
|
166833
166838
|
await __webpack_require__.e(/*! import() */ "vendors-common_temp_node_modules_pnpm_reflect-metadata_0_1_13_node_modules_reflect-metadata_R-610cb3").then(__webpack_require__.t.bind(__webpack_require__, /*! reflect-metadata */ "../../common/temp/node_modules/.pnpm/reflect-metadata@0.1.13/node_modules/reflect-metadata/Reflect.js", 23));
|
|
166834
|
-
// eslint-disable-next-line @typescript-eslint/
|
|
166835
|
-
const
|
|
166836
|
-
const azureStorage = new
|
|
166839
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
166840
|
+
const { AzureFrontendStorage, FrontendBlockBlobClientWrapperFactory } = await Promise.all(/*! import() | object-storage */[__webpack_require__.e("vendors-common_temp_node_modules_pnpm_reflect-metadata_0_1_13_node_modules_reflect-metadata_R-610cb3"), __webpack_require__.e("vendors-common_temp_node_modules_pnpm_itwin_object-storage-azure_1_4_0_node_modules_itwin_obj-3576c6"), __webpack_require__.e("object-storage")]).then(__webpack_require__.t.bind(__webpack_require__, /*! @itwin/object-storage-azure/lib/frontend */ "../../common/temp/node_modules/.pnpm/@itwin+object-storage-azure@1.4.0/node_modules/@itwin/object-storage-azure/lib/frontend/index.js", 23));
|
|
166841
|
+
const azureStorage = new AzureFrontendStorage(new FrontendBlockBlobClientWrapperFactory());
|
|
166837
166842
|
this._tileStorage = new _internal__WEBPACK_IMPORTED_MODULE_6__.TileStorage(azureStorage);
|
|
166838
166843
|
return this._tileStorage;
|
|
166839
166844
|
})();
|
|
@@ -176539,21 +176544,6 @@ class WmtsCapabilities {
|
|
|
176539
176544
|
WmtsCapabilities._capabilitiesCache = new Map();
|
|
176540
176545
|
|
|
176541
176546
|
|
|
176542
|
-
/***/ }),
|
|
176543
|
-
|
|
176544
|
-
/***/ "../../core/frontend/lib/esm/tile/object-storage-azure.js":
|
|
176545
|
-
/*!****************************************************************!*\
|
|
176546
|
-
!*** ../../core/frontend/lib/esm/tile/object-storage-azure.js ***!
|
|
176547
|
-
\****************************************************************/
|
|
176548
|
-
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
176549
|
-
|
|
176550
|
-
// this wrapper is needed when compiling the package with CJS.
|
|
176551
|
-
// In that case, Typescript will convert the dynamic import into a require and Webpack won't parse the magic comment.
|
|
176552
|
-
module.exports = async () => {
|
|
176553
|
-
return Promise.all(/*! import() | object-storage */[__webpack_require__.e("vendors-common_temp_node_modules_pnpm_reflect-metadata_0_1_13_node_modules_reflect-metadata_R-610cb3"), __webpack_require__.e("vendors-common_temp_node_modules_pnpm_itwin_object-storage-azure_1_4_0_node_modules_itwin_obj-3576c6"), __webpack_require__.e("object-storage")]).then(__webpack_require__.t.bind(__webpack_require__, /*! @itwin/object-storage-azure/lib/frontend */ "../../common/temp/node_modules/.pnpm/@itwin+object-storage-azure@1.4.0/node_modules/@itwin/object-storage-azure/lib/frontend/index.js", 23));
|
|
176554
|
-
}
|
|
176555
|
-
|
|
176556
|
-
|
|
176557
176547
|
/***/ }),
|
|
176558
176548
|
|
|
176559
176549
|
/***/ "../../core/frontend/lib/esm/tools/AccuDrawTool.js":
|
|
@@ -191484,24 +191474,25 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
191484
191474
|
/* harmony export */ });
|
|
191485
191475
|
/* harmony import */ var _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../curve/CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
191486
191476
|
/* harmony import */ var _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../curve/CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
191487
|
-
/* harmony import */ var
|
|
191477
|
+
/* harmony import */ var _curve_internalContexts_CurveOffsetXYHandler__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../curve/internalContexts/CurveOffsetXYHandler */ "../../core/geometry/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js");
|
|
191478
|
+
/* harmony import */ var _curve_internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../curve/internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
191479
|
+
/* harmony import */ var _curve_internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../curve/internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
191480
|
+
/* harmony import */ var _curve_Query_StrokeCountMap__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../curve/Query/StrokeCountMap */ "../../core/geometry/lib/esm/curve/Query/StrokeCountMap.js");
|
|
191488
191481
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
191489
|
-
/* harmony import */ var
|
|
191490
|
-
/* harmony import */ var
|
|
191491
|
-
/* harmony import */ var
|
|
191492
|
-
/* harmony import */ var
|
|
191482
|
+
/* harmony import */ var _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../geometry3d/GrowableXYZArray */ "../../core/geometry/lib/esm/geometry3d/GrowableXYZArray.js");
|
|
191483
|
+
/* harmony import */ var _geometry3d_Plane3dByOriginAndVectors__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../geometry3d/Plane3dByOriginAndVectors */ "../../core/geometry/lib/esm/geometry3d/Plane3dByOriginAndVectors.js");
|
|
191484
|
+
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
191485
|
+
/* harmony import */ var _geometry3d_PointHelpers__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../geometry3d/PointHelpers */ "../../core/geometry/lib/esm/geometry3d/PointHelpers.js");
|
|
191493
191486
|
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
191494
|
-
/* harmony import */ var
|
|
191487
|
+
/* harmony import */ var _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../geometry3d/Ray3d */ "../../core/geometry/lib/esm/geometry3d/Ray3d.js");
|
|
191495
191488
|
/* harmony import */ var _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../geometry4d/Point4d */ "../../core/geometry/lib/esm/geometry4d/Point4d.js");
|
|
191496
191489
|
/* harmony import */ var _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../numerics/BezierPolynomials */ "../../core/geometry/lib/esm/numerics/BezierPolynomials.js");
|
|
191497
191490
|
/* harmony import */ var _Bezier1dNd__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Bezier1dNd */ "../../core/geometry/lib/esm/bspline/Bezier1dNd.js");
|
|
191498
|
-
/* harmony import */ var
|
|
191499
|
-
/* harmony import */ var
|
|
191491
|
+
/* harmony import */ var _BezierCurve3d__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./BezierCurve3d */ "../../core/geometry/lib/esm/bspline/BezierCurve3d.js");
|
|
191492
|
+
/* harmony import */ var _BezierCurve3dH__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./BezierCurve3dH */ "../../core/geometry/lib/esm/bspline/BezierCurve3dH.js");
|
|
191500
191493
|
/* harmony import */ var _BSpline1dNd__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BSpline1dNd */ "../../core/geometry/lib/esm/bspline/BSpline1dNd.js");
|
|
191501
|
-
/* harmony import */ var
|
|
191494
|
+
/* harmony import */ var _BSplineCurveOps__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./BSplineCurveOps */ "../../core/geometry/lib/esm/bspline/BSplineCurveOps.js");
|
|
191502
191495
|
/* harmony import */ var _KnotVector__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./KnotVector */ "../../core/geometry/lib/esm/bspline/KnotVector.js");
|
|
191503
|
-
/* harmony import */ var _curve_internalContexts_CurveOffsetXYHandler__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../curve/internalContexts/CurveOffsetXYHandler */ "../../core/geometry/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js");
|
|
191504
|
-
/* harmony import */ var _curve_internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../curve/internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
191505
191496
|
/*---------------------------------------------------------------------------------------------
|
|
191506
191497
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
191507
191498
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -191509,14 +191500,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
191509
191500
|
/** @packageDocumentation
|
|
191510
191501
|
* @module Bspline
|
|
191511
191502
|
*/
|
|
191512
|
-
// import { Point2d } from "../Geometry2d";
|
|
191513
191503
|
|
|
191514
191504
|
|
|
191515
191505
|
|
|
191516
191506
|
|
|
191517
191507
|
|
|
191518
191508
|
|
|
191519
|
-
/* eslint-disable @typescript-eslint/naming-convention, no-empty, no-console*/
|
|
191520
191509
|
|
|
191521
191510
|
|
|
191522
191511
|
|
|
@@ -191531,6 +191520,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
191531
191520
|
|
|
191532
191521
|
|
|
191533
191522
|
|
|
191523
|
+
|
|
191524
|
+
/* eslint-disable @typescript-eslint/naming-convention, no-empty, no-console*/
|
|
191534
191525
|
/**
|
|
191535
191526
|
* Base class for BSplineCurve3d and BSplineCurve3dH.
|
|
191536
191527
|
* * A bspline curve consists of a set of knots and a set of poles.
|
|
@@ -191802,6 +191793,14 @@ class BSplineCurve3dBase extends _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_
|
|
|
191802
191793
|
this.emitStrokableParts(handler, options.strokeOptions);
|
|
191803
191794
|
return handler.claimResult();
|
|
191804
191795
|
}
|
|
191796
|
+
/** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
|
|
191797
|
+
* @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
191798
|
+
* @param lowHigh optional receiver for output
|
|
191799
|
+
* @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the end of the ray.
|
|
191800
|
+
*/
|
|
191801
|
+
projectedParameterRange(ray, lowHigh) {
|
|
191802
|
+
return _curve_internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_11__.PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
|
|
191803
|
+
}
|
|
191805
191804
|
}
|
|
191806
191805
|
/**
|
|
191807
191806
|
* A BSplineCurve3d is a bspline curve whose poles are Point3d.
|
|
@@ -191814,19 +191813,19 @@ class BSplineCurve3d extends BSplineCurve3dBase {
|
|
|
191814
191813
|
}
|
|
191815
191814
|
initializeWorkBezier() {
|
|
191816
191815
|
if (this._workBezier === undefined)
|
|
191817
|
-
this._workBezier =
|
|
191816
|
+
this._workBezier = _BezierCurve3dH__WEBPACK_IMPORTED_MODULE_12__.BezierCurve3dH.createOrder(this.order);
|
|
191818
191817
|
return this._workBezier;
|
|
191819
191818
|
}
|
|
191820
191819
|
/** test of `other` is an instance of BSplineCurve3d */
|
|
191821
191820
|
isSameGeometryClass(other) { return other instanceof BSplineCurve3d; }
|
|
191822
191821
|
/** Apply `transform` to the poles. */
|
|
191823
|
-
tryTransformInPlace(transform) {
|
|
191822
|
+
tryTransformInPlace(transform) { _geometry3d_PointHelpers__WEBPACK_IMPORTED_MODULE_13__.Point3dArray.multiplyInPlace(transform, this._bcurve.packedData); return true; }
|
|
191824
191823
|
/** Get a pole as simple Point3d. */
|
|
191825
191824
|
getPolePoint3d(poleIndex, result) {
|
|
191826
191825
|
const k = this.poleIndexToDataIndex(poleIndex);
|
|
191827
191826
|
if (k !== undefined) {
|
|
191828
191827
|
const data = this._bcurve.packedData;
|
|
191829
|
-
return
|
|
191828
|
+
return _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__.Point3d.create(data[k], data[k + 1], data[k + 2], result);
|
|
191830
191829
|
}
|
|
191831
191830
|
return undefined;
|
|
191832
191831
|
}
|
|
@@ -191844,7 +191843,7 @@ class BSplineCurve3d extends BSplineCurve3dBase {
|
|
|
191844
191843
|
return this._bcurve.spanFractionToKnot(span, localFraction);
|
|
191845
191844
|
}
|
|
191846
191845
|
/** Return a simple array of arrays with the control points as `[[x,y,z],[x,y,z],..]` */
|
|
191847
|
-
copyPoints() { return
|
|
191846
|
+
copyPoints() { return _geometry3d_PointHelpers__WEBPACK_IMPORTED_MODULE_13__.Point3dArray.unpackNumbersToNestedArrays(this._bcurve.packedData, 3); }
|
|
191848
191847
|
/** Return a simple array of the control points coordinates */
|
|
191849
191848
|
copyPointsFloat64Array() { return this._bcurve.packedData.slice(); }
|
|
191850
191849
|
/**
|
|
@@ -191863,7 +191862,7 @@ class BSplineCurve3d extends BSplineCurve3dBase {
|
|
|
191863
191862
|
for (let i = 0; i < 3 * numPoles; i++)
|
|
191864
191863
|
curve._bcurve.packedData[i] = poles[i];
|
|
191865
191864
|
}
|
|
191866
|
-
else if (poles instanceof
|
|
191865
|
+
else if (poles instanceof _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_15__.GrowableXYZArray) {
|
|
191867
191866
|
curve._bcurve.packedData = poles.float64Data().slice(0, 3 * numPoles);
|
|
191868
191867
|
}
|
|
191869
191868
|
else {
|
|
@@ -191895,7 +191894,7 @@ class BSplineCurve3d extends BSplineCurve3dBase {
|
|
|
191895
191894
|
for (let i = 0; i < 3 * degree; i++)
|
|
191896
191895
|
curve._bcurve.packedData[3 * numPoles + i] = poles[i];
|
|
191897
191896
|
}
|
|
191898
|
-
else if (poles instanceof
|
|
191897
|
+
else if (poles instanceof _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_15__.GrowableXYZArray) {
|
|
191899
191898
|
curve._bcurve.packedData = poles.float64Data().slice(0, 3 * numPoles);
|
|
191900
191899
|
for (let i = 0; i < 3 * degree; i++)
|
|
191901
191900
|
curve._bcurve.packedData[3 * numPoles + i] = poles.float64Data()[i];
|
|
@@ -191920,14 +191919,14 @@ class BSplineCurve3d extends BSplineCurve3dBase {
|
|
|
191920
191919
|
* @param options collection of points and end conditions.
|
|
191921
191920
|
*/
|
|
191922
191921
|
static createFromInterpolationCurve3dOptions(options) {
|
|
191923
|
-
return
|
|
191922
|
+
return _BSplineCurveOps__WEBPACK_IMPORTED_MODULE_16__.BSplineCurveOps.createThroughPointsC2Cubic(options);
|
|
191924
191923
|
}
|
|
191925
191924
|
/**
|
|
191926
191925
|
*
|
|
191927
191926
|
* @param options collection of points and end conditions.
|
|
191928
191927
|
*/
|
|
191929
191928
|
static createFromAkimaCurve3dOptions(options) {
|
|
191930
|
-
return
|
|
191929
|
+
return _BSplineCurveOps__WEBPACK_IMPORTED_MODULE_16__.BSplineCurveOps.createThroughPoints(options.fitPoints, 4); // temporary
|
|
191931
191930
|
}
|
|
191932
191931
|
/** Create a bspline with given knots.
|
|
191933
191932
|
*
|
|
@@ -191976,25 +191975,25 @@ class BSplineCurve3d extends BSplineCurve3dBase {
|
|
|
191976
191975
|
/** Evaluate at a position given by fractional position within a span. */
|
|
191977
191976
|
evaluatePointInSpan(spanIndex, spanFraction) {
|
|
191978
191977
|
this._bcurve.evaluateBuffersInSpan(spanIndex, spanFraction);
|
|
191979
|
-
return
|
|
191978
|
+
return _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__.Point3d.createFrom(this._bcurve.poleBuffer);
|
|
191980
191979
|
}
|
|
191981
191980
|
/** Evaluate point and derivative vector at a position given by fractional position within a span.
|
|
191982
191981
|
* * The derivative is with respect to the span fraction (NOT scaled to either global fraction or knot)
|
|
191983
191982
|
*/
|
|
191984
191983
|
evaluatePointAndDerivativeInSpan(spanIndex, spanFraction) {
|
|
191985
191984
|
this._bcurve.evaluateBuffersInSpan1(spanIndex, spanFraction);
|
|
191986
|
-
return
|
|
191985
|
+
return _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_17__.Ray3d.createCapture(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__.Point3d.createFrom(this._bcurve.poleBuffer), _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__.Vector3d.createFrom(this._bcurve.poleBuffer1));
|
|
191987
191986
|
}
|
|
191988
191987
|
/** Evaluate at a position given by a knot value. */
|
|
191989
191988
|
knotToPoint(u, result) {
|
|
191990
191989
|
this._bcurve.evaluateBuffersAtKnot(u);
|
|
191991
|
-
return
|
|
191990
|
+
return _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__.Point3d.createFrom(this._bcurve.poleBuffer, result);
|
|
191992
191991
|
}
|
|
191993
191992
|
/** Evaluate at a position given by a knot value. */
|
|
191994
191993
|
knotToPointAndDerivative(u, result) {
|
|
191995
191994
|
this._bcurve.evaluateBuffersAtKnot(u, 1);
|
|
191996
191995
|
if (!result)
|
|
191997
|
-
return
|
|
191996
|
+
return _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_17__.Ray3d.createCapture(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__.Point3d.createFrom(this._bcurve.poleBuffer), _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__.Vector3d.createFrom(this._bcurve.poleBuffer1));
|
|
191998
191997
|
result.origin.setFrom(this._bcurve.poleBuffer);
|
|
191999
191998
|
result.direction.setFrom(this._bcurve.poleBuffer1);
|
|
192000
191999
|
return result;
|
|
@@ -192002,22 +192001,22 @@ class BSplineCurve3d extends BSplineCurve3dBase {
|
|
|
192002
192001
|
/** Evaluate at a position given by a knot value. Return point with 2 derivatives. */
|
|
192003
192002
|
knotToPointAnd2Derivatives(u, result) {
|
|
192004
192003
|
this._bcurve.evaluateBuffersAtKnot(u, 2);
|
|
192005
|
-
return
|
|
192004
|
+
return _geometry3d_Plane3dByOriginAndVectors__WEBPACK_IMPORTED_MODULE_18__.Plane3dByOriginAndVectors.createOriginAndVectorsXYZ(this._bcurve.poleBuffer[0], this._bcurve.poleBuffer[1], this._bcurve.poleBuffer[2], this._bcurve.poleBuffer1[0], this._bcurve.poleBuffer1[1], this._bcurve.poleBuffer1[2], this._bcurve.poleBuffer2[0], this._bcurve.poleBuffer2[1], this._bcurve.poleBuffer2[2], result);
|
|
192006
192005
|
}
|
|
192007
192006
|
/** test if almost the same curve as `other` */
|
|
192008
192007
|
isAlmostEqual(other) {
|
|
192009
192008
|
if (other instanceof BSplineCurve3d) {
|
|
192010
192009
|
return this._bcurve.knots.isAlmostEqual(other._bcurve.knots)
|
|
192011
|
-
&&
|
|
192010
|
+
&& _geometry3d_PointHelpers__WEBPACK_IMPORTED_MODULE_13__.Point3dArray.isAlmostEqual(this._bcurve.packedData, other._bcurve.packedData);
|
|
192012
192011
|
}
|
|
192013
192012
|
return false;
|
|
192014
192013
|
}
|
|
192015
192014
|
/** test if this curve is entirely within plane. */
|
|
192016
192015
|
isInPlane(plane) {
|
|
192017
|
-
return
|
|
192016
|
+
return _geometry3d_PointHelpers__WEBPACK_IMPORTED_MODULE_13__.Point3dArray.isCloseToPlane(this._bcurve.packedData, plane);
|
|
192018
192017
|
}
|
|
192019
192018
|
/** Return the control polygon length as approximation (always overestimate) of the curve length. */
|
|
192020
|
-
quickLength() { return
|
|
192019
|
+
quickLength() { return _geometry3d_PointHelpers__WEBPACK_IMPORTED_MODULE_13__.Point3dArray.sumEdgeLengths(this._bcurve.packedData); }
|
|
192021
192020
|
/** Emit beziers or strokes (selected by the stroke options) to the handler. */
|
|
192022
192021
|
emitStrokableParts(handler, options) {
|
|
192023
192022
|
const needBeziers = handler.announceBezierCurve !== undefined;
|
|
@@ -192061,7 +192060,7 @@ class BSplineCurve3d extends BSplineCurve3dBase {
|
|
|
192061
192060
|
computeAndAttachRecursiveStrokeCounts(options, parentStrokeMap) {
|
|
192062
192061
|
const workBezier = this.initializeWorkBezier();
|
|
192063
192062
|
const numSpan = this.numSpan;
|
|
192064
|
-
const myData =
|
|
192063
|
+
const myData = _curve_Query_StrokeCountMap__WEBPACK_IMPORTED_MODULE_19__.StrokeCountMap.createWithCurvePrimitiveAndOptionalParent(this, parentStrokeMap, []);
|
|
192065
192064
|
for (let spanIndex = 0; spanIndex < numSpan; spanIndex++) {
|
|
192066
192065
|
const bezier = this.getSaturatedBezierSpan3dH(spanIndex, workBezier);
|
|
192067
192066
|
if (bezier) {
|
|
@@ -192116,8 +192115,8 @@ class BSplineCurve3d extends BSplineCurve3dBase {
|
|
|
192116
192115
|
if (spanIndex < 0 || spanIndex >= this.numSpan)
|
|
192117
192116
|
return undefined;
|
|
192118
192117
|
const order = this.order;
|
|
192119
|
-
if (result === undefined || !(result instanceof
|
|
192120
|
-
result =
|
|
192118
|
+
if (result === undefined || !(result instanceof _BezierCurve3d__WEBPACK_IMPORTED_MODULE_20__.BezierCurve3d) || result.order !== order)
|
|
192119
|
+
result = _BezierCurve3d__WEBPACK_IMPORTED_MODULE_20__.BezierCurve3d.createOrder(order);
|
|
192121
192120
|
const bezier = result;
|
|
192122
192121
|
bezier.loadSpanPoles(this._bcurve.packedData, spanIndex);
|
|
192123
192122
|
if (bezier.saturateInPlace(this._bcurve.knots, spanIndex))
|
|
@@ -192133,8 +192132,8 @@ class BSplineCurve3d extends BSplineCurve3dBase {
|
|
|
192133
192132
|
if (spanIndex < 0 || spanIndex >= this.numSpan)
|
|
192134
192133
|
return undefined;
|
|
192135
192134
|
const order = this.order;
|
|
192136
|
-
if (result === undefined || !(result instanceof
|
|
192137
|
-
result =
|
|
192135
|
+
if (result === undefined || !(result instanceof _BezierCurve3dH__WEBPACK_IMPORTED_MODULE_12__.BezierCurve3dH) || result.order !== order)
|
|
192136
|
+
result = _BezierCurve3dH__WEBPACK_IMPORTED_MODULE_12__.BezierCurve3dH.createOrder(order);
|
|
192138
192137
|
const bezier = result;
|
|
192139
192138
|
bezier.loadSpan3dPolesWithWeight(this._bcurve.packedData, spanIndex, 1.0);
|
|
192140
192139
|
if (bezier.saturateInPlace(this._bcurve.knots, spanIndex))
|
|
@@ -195287,14 +195286,15 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
195287
195286
|
/* harmony export */ "BezierCurveBase": () => (/* binding */ BezierCurveBase)
|
|
195288
195287
|
/* harmony export */ });
|
|
195289
195288
|
/* harmony import */ var _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../curve/CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
195289
|
+
/* harmony import */ var _curve_internalContexts_CurveOffsetXYHandler__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../curve/internalContexts/CurveOffsetXYHandler */ "../../core/geometry/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js");
|
|
195290
|
+
/* harmony import */ var _curve_internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../curve/internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
195291
|
+
/* harmony import */ var _curve_internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../curve/internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
195290
195292
|
/* harmony import */ var _curve_StrokeOptions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../curve/StrokeOptions */ "../../core/geometry/lib/esm/curve/StrokeOptions.js");
|
|
195291
195293
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
195292
195294
|
/* harmony import */ var _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../geometry3d/Angle */ "../../core/geometry/lib/esm/geometry3d/Angle.js");
|
|
195293
195295
|
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
195294
195296
|
/* harmony import */ var _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../numerics/BezierPolynomials */ "../../core/geometry/lib/esm/numerics/BezierPolynomials.js");
|
|
195295
195297
|
/* harmony import */ var _Bezier1dNd__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Bezier1dNd */ "../../core/geometry/lib/esm/bspline/Bezier1dNd.js");
|
|
195296
|
-
/* harmony import */ var _curve_internalContexts_CurveOffsetXYHandler__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../curve/internalContexts/CurveOffsetXYHandler */ "../../core/geometry/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js");
|
|
195297
|
-
/* harmony import */ var _curve_internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../curve/internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
195298
195298
|
/*---------------------------------------------------------------------------------------------
|
|
195299
195299
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
195300
195300
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -195302,17 +195302,17 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
195302
195302
|
/** @packageDocumentation
|
|
195303
195303
|
* @module Bspline
|
|
195304
195304
|
*/
|
|
195305
|
-
// import { Point2d } from "../Geometry2d";
|
|
195306
195305
|
|
|
195307
195306
|
|
|
195308
195307
|
|
|
195309
195308
|
|
|
195310
|
-
/* eslint-disable @typescript-eslint/naming-convention, no-empty, no-console*/
|
|
195311
195309
|
|
|
195312
195310
|
|
|
195313
195311
|
|
|
195314
195312
|
|
|
195315
195313
|
|
|
195314
|
+
|
|
195315
|
+
/* eslint-disable @typescript-eslint/naming-convention, no-empty, no-console*/
|
|
195316
195316
|
/**
|
|
195317
195317
|
* Base class for CurvePrimitive (necessarily 3D) with _polygon.
|
|
195318
195318
|
* * This has a Bezier1dNd polygon as a member, and implements dimension-independent methods
|
|
@@ -195519,6 +195519,14 @@ class BezierCurveBase extends _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__
|
|
|
195519
195519
|
partialCurve._polygon.subdivideToIntervalInPlace(fractionA, fractionB);
|
|
195520
195520
|
return partialCurve;
|
|
195521
195521
|
}
|
|
195522
|
+
/** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
|
|
195523
|
+
* @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
195524
|
+
* @param lowHigh optional receiver for output
|
|
195525
|
+
* @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the end of the ray.
|
|
195526
|
+
*/
|
|
195527
|
+
projectedParameterRange(ray, lowHigh) {
|
|
195528
|
+
return _curve_internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_9__.PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
|
|
195529
|
+
}
|
|
195522
195530
|
}
|
|
195523
195531
|
|
|
195524
195532
|
|
|
@@ -201894,10 +201902,11 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
201894
201902
|
/* harmony import */ var _CurveExtendMode__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./CurveExtendMode */ "../../core/geometry/lib/esm/curve/CurveExtendMode.js");
|
|
201895
201903
|
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
201896
201904
|
/* harmony import */ var _CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
201897
|
-
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
201898
|
-
/* harmony import */ var _StrokeOptions__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./StrokeOptions */ "../../core/geometry/lib/esm/curve/StrokeOptions.js");
|
|
201899
201905
|
/* harmony import */ var _internalContexts_CurveOffsetXYHandler__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./internalContexts/CurveOffsetXYHandler */ "../../core/geometry/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js");
|
|
201906
|
+
/* harmony import */ var _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
201900
201907
|
/* harmony import */ var _internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
201908
|
+
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
201909
|
+
/* harmony import */ var _StrokeOptions__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./StrokeOptions */ "../../core/geometry/lib/esm/curve/StrokeOptions.js");
|
|
201901
201910
|
/*---------------------------------------------------------------------------------------------
|
|
201902
201911
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
201903
201912
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -201918,6 +201927,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
201918
201927
|
|
|
201919
201928
|
|
|
201920
201929
|
|
|
201930
|
+
|
|
201921
201931
|
/**
|
|
201922
201932
|
* Circular or elliptic arc.
|
|
201923
201933
|
*
|
|
@@ -202838,6 +202848,14 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__.CurvePrimitive
|
|
|
202838
202848
|
this.emitStrokableParts(handler, options.strokeOptions);
|
|
202839
202849
|
return handler.claimResult();
|
|
202840
202850
|
}
|
|
202851
|
+
/** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
|
|
202852
|
+
* @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
202853
|
+
* @param lowHigh optional receiver for output
|
|
202854
|
+
* @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the end of the ray.
|
|
202855
|
+
*/
|
|
202856
|
+
projectedParameterRange(ray, lowHigh) {
|
|
202857
|
+
return _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_16__.PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
|
|
202858
|
+
}
|
|
202841
202859
|
}
|
|
202842
202860
|
Arc3d._workPointA = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_3__.Point3d.create();
|
|
202843
202861
|
Arc3d._workPointB = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_3__.Point3d.create();
|
|
@@ -203291,6 +203309,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
203291
203309
|
/* harmony import */ var _CurveCollection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./CurveCollection */ "../../core/geometry/lib/esm/curve/CurveCollection.js");
|
|
203292
203310
|
/* harmony import */ var _CurveExtendMode__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./CurveExtendMode */ "../../core/geometry/lib/esm/curve/CurveExtendMode.js");
|
|
203293
203311
|
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
203312
|
+
/* harmony import */ var _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
203294
203313
|
/* harmony import */ var _internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
203295
203314
|
/* harmony import */ var _Path__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Path */ "../../core/geometry/lib/esm/curve/Path.js");
|
|
203296
203315
|
/*---------------------------------------------------------------------------------------------
|
|
@@ -203310,6 +203329,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
203310
203329
|
|
|
203311
203330
|
|
|
203312
203331
|
|
|
203332
|
+
|
|
203313
203333
|
/**
|
|
203314
203334
|
* * Annotation of an interval of a curve.
|
|
203315
203335
|
* * The interval is marked with two pairs of numbers:
|
|
@@ -203975,6 +203995,14 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
|
|
|
203975
203995
|
}
|
|
203976
203996
|
return offsets;
|
|
203977
203997
|
}
|
|
203998
|
+
/** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
|
|
203999
|
+
* @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
204000
|
+
* @param lowHigh optional receiver for output
|
|
204001
|
+
* @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the end of the ray.
|
|
204002
|
+
*/
|
|
204003
|
+
projectedParameterRange(ray, lowHigh) {
|
|
204004
|
+
return _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_10__.PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
|
|
204005
|
+
}
|
|
203978
204006
|
}
|
|
203979
204007
|
CurveChainWithDistanceIndex._numCalls = 0;
|
|
203980
204008
|
CurveChainWithDistanceIndex._numTested = 0;
|
|
@@ -203998,7 +204026,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
203998
204026
|
/* harmony export */ "CurveChain": () => (/* binding */ CurveChain),
|
|
203999
204027
|
/* harmony export */ "CurveCollection": () => (/* binding */ CurveCollection)
|
|
204000
204028
|
/* harmony export */ });
|
|
204001
|
-
/* harmony import */ var
|
|
204029
|
+
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
204002
204030
|
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
204003
204031
|
/* harmony import */ var _CurvePrimitive__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
204004
204032
|
/* harmony import */ var _GeometryQuery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
|
|
@@ -204006,10 +204034,11 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
204006
204034
|
/* harmony import */ var _internalContexts_CloneWithExpandedLineStrings__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./internalContexts/CloneWithExpandedLineStrings */ "../../core/geometry/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.js");
|
|
204007
204035
|
/* harmony import */ var _internalContexts_CountLinearPartsSearchContext__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./internalContexts/CountLinearPartsSearchContext */ "../../core/geometry/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js");
|
|
204008
204036
|
/* harmony import */ var _internalContexts_GapSearchContext__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internalContexts/GapSearchContext */ "../../core/geometry/lib/esm/curve/internalContexts/GapSearchContext.js");
|
|
204037
|
+
/* harmony import */ var _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
204009
204038
|
/* harmony import */ var _internalContexts_SumLengthsContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internalContexts/SumLengthsContext */ "../../core/geometry/lib/esm/curve/internalContexts/SumLengthsContext.js");
|
|
204010
204039
|
/* harmony import */ var _internalContexts_TransformInPlaceContext__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./internalContexts/TransformInPlaceContext */ "../../core/geometry/lib/esm/curve/internalContexts/TransformInPlaceContext.js");
|
|
204011
|
-
/* harmony import */ var
|
|
204012
|
-
/* harmony import */ var
|
|
204040
|
+
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
204041
|
+
/* harmony import */ var _ProxyCurve__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ProxyCurve */ "../../core/geometry/lib/esm/curve/ProxyCurve.js");
|
|
204013
204042
|
/*---------------------------------------------------------------------------------------------
|
|
204014
204043
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
204015
204044
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -204029,6 +204058,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
204029
204058
|
|
|
204030
204059
|
|
|
204031
204060
|
|
|
204061
|
+
|
|
204032
204062
|
/**
|
|
204033
204063
|
* A `CurveCollection` is an abstract (non-instantiable) class for various sets of curves with particular structures:
|
|
204034
204064
|
* - `CurveChain` is a (non-instantiable) intermediate class for a sequence of `CurvePrimitive ` joining head-to-tail. The two instantiable forms of `CurveChain` are
|
|
@@ -204161,6 +204191,14 @@ class CurveCollection extends _GeometryQuery__WEBPACK_IMPORTED_MODULE_0__.Geomet
|
|
|
204161
204191
|
}
|
|
204162
204192
|
return undefined;
|
|
204163
204193
|
}
|
|
204194
|
+
/** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
|
|
204195
|
+
* @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
204196
|
+
* @param lowHigh optional receiver for output
|
|
204197
|
+
* @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the end of the ray.
|
|
204198
|
+
*/
|
|
204199
|
+
projectedParameterRange(ray, lowHigh) {
|
|
204200
|
+
return _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_9__.PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
|
|
204201
|
+
}
|
|
204164
204202
|
}
|
|
204165
204203
|
/** Shared base class for use by both open and closed paths.
|
|
204166
204204
|
* - A `CurveChain` contains only curvePrimitives. No other paths, loops, or regions allowed.
|
|
@@ -204193,7 +204231,7 @@ class CurveChain extends CurveCollection {
|
|
|
204193
204231
|
if (index >= 0 && index < n)
|
|
204194
204232
|
return this.children[index];
|
|
204195
204233
|
if (cyclic) {
|
|
204196
|
-
const index2 =
|
|
204234
|
+
const index2 = _Geometry__WEBPACK_IMPORTED_MODULE_10__.Geometry.modulo(index, n);
|
|
204197
204235
|
return this.children[index2];
|
|
204198
204236
|
}
|
|
204199
204237
|
return undefined;
|
|
@@ -204207,7 +204245,7 @@ class CurveChain extends CurveCollection {
|
|
|
204207
204245
|
const children = tree.children;
|
|
204208
204246
|
if (children.length === 1) {
|
|
204209
204247
|
const ls = children[0];
|
|
204210
|
-
if (ls instanceof
|
|
204248
|
+
if (ls instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_11__.LineString3d)
|
|
204211
204249
|
return ls.packedPoints;
|
|
204212
204250
|
}
|
|
204213
204251
|
}
|
|
@@ -204264,7 +204302,7 @@ class CurveChain extends CurveCollection {
|
|
|
204264
204302
|
if (alsoSearchProxies !== null && alsoSearchProxies !== void 0 ? alsoSearchProxies : false) {
|
|
204265
204303
|
for (let i = 0; i < this._curves.length; i++) {
|
|
204266
204304
|
const childCurve = this._curves[i];
|
|
204267
|
-
if (childCurve instanceof
|
|
204305
|
+
if (childCurve instanceof _ProxyCurve__WEBPACK_IMPORTED_MODULE_12__.ProxyCurve) {
|
|
204268
204306
|
if (childCurve.proxyCurve === target)
|
|
204269
204307
|
return i;
|
|
204270
204308
|
}
|
|
@@ -204319,7 +204357,7 @@ class BagOfCurves extends CurveCollection {
|
|
|
204319
204357
|
let child;
|
|
204320
204358
|
for (child of this.children) {
|
|
204321
204359
|
if (child instanceof _CurvePrimitive__WEBPACK_IMPORTED_MODULE_2__.CurvePrimitive) {
|
|
204322
|
-
const ls =
|
|
204360
|
+
const ls = _LineString3d__WEBPACK_IMPORTED_MODULE_11__.LineString3d.create();
|
|
204323
204361
|
child.emitStrokes(ls, options);
|
|
204324
204362
|
if (ls)
|
|
204325
204363
|
clone.children.push(ls);
|
|
@@ -204362,9 +204400,9 @@ class ConsolidateAdjacentCurvePrimitivesOptions {
|
|
|
204362
204400
|
/** True to consolidate contiguous arcs */
|
|
204363
204401
|
this.consolidateCompatibleArcs = true;
|
|
204364
204402
|
/** Tolerance for collapsing identical points */
|
|
204365
|
-
this.duplicatePointTolerance =
|
|
204403
|
+
this.duplicatePointTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_10__.Geometry.smallMetricDistance;
|
|
204366
204404
|
/** Tolerance for removing interior colinear points. */
|
|
204367
|
-
this.colinearPointTolerance =
|
|
204405
|
+
this.colinearPointTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_10__.Geometry.smallMetricDistance;
|
|
204368
204406
|
}
|
|
204369
204407
|
}
|
|
204370
204408
|
|
|
@@ -205370,7 +205408,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
205370
205408
|
return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.isSmallMetricDistance(fraction * pointA.distanceXY(pointB));
|
|
205371
205409
|
}
|
|
205372
205410
|
else if (!extend1 && fraction > 1.0)
|
|
205373
|
-
return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.isSmallMetricDistance(fraction * pointA.distanceXY(pointB));
|
|
205411
|
+
return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.isSmallMetricDistance((fraction - 1.0) * pointA.distanceXY(pointB));
|
|
205374
205412
|
return true;
|
|
205375
205413
|
}
|
|
205376
205414
|
/**
|
|
@@ -208462,6 +208500,14 @@ class CurvePrimitive extends _GeometryQuery__WEBPACK_IMPORTED_MODULE_1__.Geometr
|
|
|
208462
208500
|
this.collectCurvePrimitivesGo(results, smallestPossiblePrimitives, explodeLinestrings);
|
|
208463
208501
|
return results;
|
|
208464
208502
|
}
|
|
208503
|
+
/** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
|
|
208504
|
+
* @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
208505
|
+
* @param lowHigh optional receiver for output
|
|
208506
|
+
* @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the end of the ray.
|
|
208507
|
+
*/
|
|
208508
|
+
projectedParameterRange(_ray, _lowHigh) {
|
|
208509
|
+
return undefined; // common implementation delegated to subclasses to avoid circular dependency
|
|
208510
|
+
}
|
|
208465
208511
|
}
|
|
208466
208512
|
|
|
208467
208513
|
|
|
@@ -208793,6 +208839,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
208793
208839
|
/* harmony import */ var _CurveExtendMode__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./CurveExtendMode */ "../../core/geometry/lib/esm/curve/CurveExtendMode.js");
|
|
208794
208840
|
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
208795
208841
|
/* harmony import */ var _CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
208842
|
+
/* harmony import */ var _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
208796
208843
|
/* harmony import */ var _internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
208797
208844
|
/*---------------------------------------------------------------------------------------------
|
|
208798
208845
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
@@ -208808,6 +208855,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
208808
208855
|
|
|
208809
208856
|
|
|
208810
208857
|
|
|
208858
|
+
|
|
208811
208859
|
/* eslint-disable @typescript-eslint/naming-convention, no-empty */
|
|
208812
208860
|
/**
|
|
208813
208861
|
* A LineSegment3d is:
|
|
@@ -209142,6 +209190,14 @@ class LineSegment3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__.CurvePr
|
|
|
209142
209190
|
}
|
|
209143
209191
|
return undefined;
|
|
209144
209192
|
}
|
|
209193
|
+
/** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
|
|
209194
|
+
* @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
209195
|
+
* @param lowHigh optional receiver for output
|
|
209196
|
+
* @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the end of the ray.
|
|
209197
|
+
*/
|
|
209198
|
+
projectedParameterRange(ray, lowHigh) {
|
|
209199
|
+
return _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_10__.PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
|
|
209200
|
+
}
|
|
209145
209201
|
}
|
|
209146
209202
|
|
|
209147
209203
|
|
|
@@ -209174,6 +209230,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
209174
209230
|
/* harmony import */ var _CurveExtendMode__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./CurveExtendMode */ "../../core/geometry/lib/esm/curve/CurveExtendMode.js");
|
|
209175
209231
|
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
209176
209232
|
/* harmony import */ var _CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
209233
|
+
/* harmony import */ var _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
209177
209234
|
/* harmony import */ var _internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
209178
209235
|
/* harmony import */ var _LineSegment3d__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
|
|
209179
209236
|
/* harmony import */ var _Query_StrokeCountMap__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Query/StrokeCountMap */ "../../core/geometry/lib/esm/curve/Query/StrokeCountMap.js");
|
|
@@ -209195,6 +209252,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
209195
209252
|
|
|
209196
209253
|
|
|
209197
209254
|
|
|
209255
|
+
|
|
209198
209256
|
/* eslint-disable @typescript-eslint/naming-convention, no-empty */
|
|
209199
209257
|
/* Starting with baseIndex and moving index by stepDirection:
|
|
209200
209258
|
If the vector from baseIndex to baseIndex +1 crossed with vectorA can be normalized, accumulate it (scaled) to normal.
|
|
@@ -210481,6 +210539,14 @@ class LineString3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__.CurvePri
|
|
|
210481
210539
|
}
|
|
210482
210540
|
return offsets;
|
|
210483
210541
|
}
|
|
210542
|
+
/** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
|
|
210543
|
+
* @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
210544
|
+
* @param lowHigh optional receiver for output
|
|
210545
|
+
* @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the end of the ray.
|
|
210546
|
+
*/
|
|
210547
|
+
projectedParameterRange(ray, lowHigh) {
|
|
210548
|
+
return _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_18__.PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
|
|
210549
|
+
}
|
|
210484
210550
|
}
|
|
210485
210551
|
LineString3d._workPointA = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_6__.Point3d.create();
|
|
210486
210552
|
LineString3d._workPointB = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_6__.Point3d.create();
|
|
@@ -211191,6 +211257,10 @@ class ProxyCurve extends _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__.Curv
|
|
|
211191
211257
|
constructOffsetXY(offsetDistanceOrOptions) {
|
|
211192
211258
|
return this._proxyCurve.constructOffsetXY(offsetDistanceOrOptions);
|
|
211193
211259
|
}
|
|
211260
|
+
/** Implement by proxyCurve */
|
|
211261
|
+
projectedParameterRange(ray, lowHigh) {
|
|
211262
|
+
return this._proxyCurve.projectedParameterRange(ray, lowHigh);
|
|
211263
|
+
}
|
|
211194
211264
|
}
|
|
211195
211265
|
|
|
211196
211266
|
|
|
@@ -211753,7 +211823,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
211753
211823
|
/** @packageDocumentation
|
|
211754
211824
|
* @module Curve
|
|
211755
211825
|
*/
|
|
211756
|
-
class
|
|
211826
|
+
class MapCurvePrimitiveToCurveLocationDetailPairArray {
|
|
211757
211827
|
constructor() {
|
|
211758
211828
|
this.primitiveToPair = new Map();
|
|
211759
211829
|
// index assigned to this primitive for this calculation.
|
|
@@ -211806,9 +211876,10 @@ function tagString(name: string, value: number | undefined): string {
|
|
|
211806
211876
|
* @internal
|
|
211807
211877
|
*/
|
|
211808
211878
|
class PlanarSubdivision {
|
|
211809
|
-
|
|
211810
|
-
|
|
211811
|
-
|
|
211879
|
+
/** Create a graph from an array of curves, and an array of the curves' precomputed intersections. */
|
|
211880
|
+
static assembleHalfEdgeGraph(primitives, allPairs) {
|
|
211881
|
+
const detailByPrimitive = new MapCurvePrimitiveToCurveLocationDetailPairArray(); // map from key CurvePrimitive to CurveLocationDetailPair.
|
|
211882
|
+
for (const p of primitives)
|
|
211812
211883
|
detailByPrimitive.assignPrimitiveIndex(p);
|
|
211813
211884
|
for (const pair of allPairs) {
|
|
211814
211885
|
detailByPrimitive.insertPair(pair);
|
|
@@ -212779,27 +212850,27 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
212779
212850
|
/* harmony export */ "RegionBinaryOpType": () => (/* binding */ RegionBinaryOpType),
|
|
212780
212851
|
/* harmony export */ "RegionOps": () => (/* binding */ RegionOps)
|
|
212781
212852
|
/* harmony export */ });
|
|
212782
|
-
/* harmony import */ var
|
|
212853
|
+
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
212783
212854
|
/* harmony import */ var _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../geometry3d/GrowableXYZArray */ "../../core/geometry/lib/esm/geometry3d/GrowableXYZArray.js");
|
|
212784
|
-
/* harmony import */ var
|
|
212855
|
+
/* harmony import */ var _geometry3d_IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../geometry3d/IndexedXYZCollection */ "../../core/geometry/lib/esm/geometry3d/IndexedXYZCollection.js");
|
|
212785
212856
|
/* harmony import */ var _geometry3d_Point3dArrayCarrier__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../geometry3d/Point3dArrayCarrier */ "../../core/geometry/lib/esm/geometry3d/Point3dArrayCarrier.js");
|
|
212786
|
-
/* harmony import */ var
|
|
212857
|
+
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
212787
212858
|
/* harmony import */ var _geometry3d_PolylineCompressionByEdgeOffset__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../geometry3d/PolylineCompressionByEdgeOffset */ "../../core/geometry/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js");
|
|
212788
212859
|
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
212789
212860
|
/* harmony import */ var _geometry3d_SortablePolygon__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../geometry3d/SortablePolygon */ "../../core/geometry/lib/esm/geometry3d/SortablePolygon.js");
|
|
212790
212861
|
/* harmony import */ var _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../geometry3d/Transform */ "../../core/geometry/lib/esm/geometry3d/Transform.js");
|
|
212791
212862
|
/* harmony import */ var _geometry4d_MomentData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../geometry4d/MomentData */ "../../core/geometry/lib/esm/geometry4d/MomentData.js");
|
|
212792
|
-
/* harmony import */ var
|
|
212863
|
+
/* harmony import */ var _polyface_PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../polyface/PolyfaceBuilder */ "../../core/geometry/lib/esm/polyface/PolyfaceBuilder.js");
|
|
212793
212864
|
/* harmony import */ var _topology_Graph__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../topology/Graph */ "../../core/geometry/lib/esm/topology/Graph.js");
|
|
212794
|
-
/* harmony import */ var
|
|
212865
|
+
/* harmony import */ var _topology_Triangulation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../topology/Triangulation */ "../../core/geometry/lib/esm/topology/Triangulation.js");
|
|
212795
212866
|
/* harmony import */ var _ChainCollectorContext__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./ChainCollectorContext */ "../../core/geometry/lib/esm/curve/ChainCollectorContext.js");
|
|
212796
212867
|
/* harmony import */ var _CurveCollection__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./CurveCollection */ "../../core/geometry/lib/esm/curve/CurveCollection.js");
|
|
212797
212868
|
/* harmony import */ var _CurveCurve__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./CurveCurve */ "../../core/geometry/lib/esm/curve/CurveCurve.js");
|
|
212798
212869
|
/* harmony import */ var _CurvePrimitive__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
212799
|
-
/* harmony import */ var
|
|
212870
|
+
/* harmony import */ var _CurveWireMomentsXYZ__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./CurveWireMomentsXYZ */ "../../core/geometry/lib/esm/curve/CurveWireMomentsXYZ.js");
|
|
212800
212871
|
/* harmony import */ var _internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
212801
212872
|
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
212802
|
-
/* harmony import */ var
|
|
212873
|
+
/* harmony import */ var _Loop__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Loop */ "../../core/geometry/lib/esm/curve/Loop.js");
|
|
212803
212874
|
/* harmony import */ var _Path__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./Path */ "../../core/geometry/lib/esm/curve/Path.js");
|
|
212804
212875
|
/* harmony import */ var _Query_ConsolidateAdjacentPrimitivesContext__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./Query/ConsolidateAdjacentPrimitivesContext */ "../../core/geometry/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js");
|
|
212805
212876
|
/* harmony import */ var _Query_CurveSplitContext__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Query/CurveSplitContext */ "../../core/geometry/lib/esm/curve/Query/CurveSplitContext.js");
|
|
@@ -212808,10 +212879,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
212808
212879
|
/* harmony import */ var _RegionMomentsXY__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./RegionMomentsXY */ "../../core/geometry/lib/esm/curve/RegionMomentsXY.js");
|
|
212809
212880
|
/* harmony import */ var _internalContexts_MultiChainCollector__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./internalContexts/MultiChainCollector */ "../../core/geometry/lib/esm/curve/internalContexts/MultiChainCollector.js");
|
|
212810
212881
|
/* harmony import */ var _GeometryQuery__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
|
|
212811
|
-
/* harmony import */ var
|
|
212812
|
-
/* harmony import */ var
|
|
212882
|
+
/* harmony import */ var _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./RegionOpsClassificationSweeps */ "../../core/geometry/lib/esm/curve/RegionOpsClassificationSweeps.js");
|
|
212883
|
+
/* harmony import */ var _UnionRegion__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./UnionRegion */ "../../core/geometry/lib/esm/curve/UnionRegion.js");
|
|
212813
212884
|
/* harmony import */ var _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../topology/HalfEdgeGraphSearch */ "../../core/geometry/lib/esm/topology/HalfEdgeGraphSearch.js");
|
|
212814
|
-
/* harmony import */ var
|
|
212885
|
+
/* harmony import */ var _ParityRegion__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ParityRegion */ "../../core/geometry/lib/esm/curve/ParityRegion.js");
|
|
212815
212886
|
/*---------------------------------------------------------------------------------------------
|
|
212816
212887
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
212817
212888
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -212889,6 +212960,14 @@ class RegionOps {
|
|
|
212889
212960
|
}
|
|
212890
212961
|
return undefined;
|
|
212891
212962
|
}
|
|
212963
|
+
/** Return an area tolerance for a given xy-range and optional distance tolerance.
|
|
212964
|
+
* @param range range of planar region to tolerance
|
|
212965
|
+
* @param distanceTolerance optional absolute distance tolerance
|
|
212966
|
+
*/
|
|
212967
|
+
static computeXYAreaTolerance(range, distanceTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
|
|
212968
|
+
// if A = bh and e is distance tolerance, then A' := (b+e)(h+e) = A + e(b+h+e), so A'-A = e(b+h+e).
|
|
212969
|
+
return distanceTolerance * (range.xLength() + range.yLength() + distanceTolerance);
|
|
212970
|
+
}
|
|
212892
212971
|
/**
|
|
212893
212972
|
* Return an xy area for a loop, parity region, or union region.
|
|
212894
212973
|
* * If `rawMomentData` is the MomentData returned by computeXYAreaMoments, convert to principal axes and moments with
|
|
@@ -212908,7 +212987,7 @@ class RegionOps {
|
|
|
212908
212987
|
* call `principalMomentData = MomentData.inertiaProductsToPrincipalAxes (rawMomentData.origin, rawMomentData.sums);`
|
|
212909
212988
|
*/
|
|
212910
212989
|
static computeXYZWireMomentSums(root) {
|
|
212911
|
-
const handler = new
|
|
212990
|
+
const handler = new _CurveWireMomentsXYZ__WEBPACK_IMPORTED_MODULE_3__.CurveWireMomentsXYZ();
|
|
212912
212991
|
handler.visitLeaves(root);
|
|
212913
212992
|
const result = handler.momentData;
|
|
212914
212993
|
result.shiftOriginAndSumsToCentroidOfSums();
|
|
@@ -212919,33 +212998,33 @@ class RegionOps {
|
|
|
212919
212998
|
* @internal
|
|
212920
212999
|
*/
|
|
212921
213000
|
static addLoopsToGraph(graph, data, announceIsolatedLoop) {
|
|
212922
|
-
if (data instanceof
|
|
213001
|
+
if (data instanceof _Loop__WEBPACK_IMPORTED_MODULE_4__.Loop) {
|
|
212923
213002
|
const points = data.getPackedStrokes();
|
|
212924
213003
|
if (points)
|
|
212925
213004
|
this.addLoopsToGraph(graph, points, announceIsolatedLoop);
|
|
212926
213005
|
}
|
|
212927
|
-
else if (data instanceof
|
|
213006
|
+
else if (data instanceof _ParityRegion__WEBPACK_IMPORTED_MODULE_5__.ParityRegion) {
|
|
212928
213007
|
for (const child of data.children) {
|
|
212929
213008
|
const points = child.getPackedStrokes();
|
|
212930
213009
|
if (points)
|
|
212931
213010
|
this.addLoopsToGraph(graph, points, announceIsolatedLoop);
|
|
212932
213011
|
}
|
|
212933
213012
|
}
|
|
212934
|
-
else if (data instanceof
|
|
212935
|
-
const loopSeed =
|
|
213013
|
+
else if (data instanceof _geometry3d_IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_6__.IndexedXYZCollection) {
|
|
213014
|
+
const loopSeed = _topology_Triangulation__WEBPACK_IMPORTED_MODULE_7__.Triangulator.directCreateFaceLoopFromCoordinates(graph, data);
|
|
212936
213015
|
if (loopSeed !== undefined)
|
|
212937
213016
|
announceIsolatedLoop(graph, loopSeed);
|
|
212938
213017
|
}
|
|
212939
213018
|
else if (Array.isArray(data)) {
|
|
212940
213019
|
if (data.length > 0) {
|
|
212941
|
-
if (
|
|
212942
|
-
const loopSeed =
|
|
213020
|
+
if (_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_8__.Point3d.isAnyImmediatePointType(data[0])) {
|
|
213021
|
+
const loopSeed = _topology_Triangulation__WEBPACK_IMPORTED_MODULE_7__.Triangulator.directCreateFaceLoopFromCoordinates(graph, data);
|
|
212943
213022
|
if (loopSeed !== undefined)
|
|
212944
213023
|
announceIsolatedLoop(graph, loopSeed);
|
|
212945
213024
|
}
|
|
212946
|
-
else if (data[0] instanceof
|
|
213025
|
+
else if (data[0] instanceof _geometry3d_IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_6__.IndexedXYZCollection) {
|
|
212947
213026
|
for (const loop of data) {
|
|
212948
|
-
const loopSeed =
|
|
213027
|
+
const loopSeed = _topology_Triangulation__WEBPACK_IMPORTED_MODULE_7__.Triangulator.directCreateFaceLoopFromCoordinates(graph, loop);
|
|
212949
213028
|
if (loopSeed !== undefined)
|
|
212950
213029
|
announceIsolatedLoop(graph, loopSeed);
|
|
212951
213030
|
}
|
|
@@ -212985,10 +213064,10 @@ class RegionOps {
|
|
|
212985
213064
|
static finishGraphToPolyface(graph, triangulate) {
|
|
212986
213065
|
if (graph) {
|
|
212987
213066
|
if (triangulate) {
|
|
212988
|
-
|
|
212989
|
-
|
|
213067
|
+
_topology_Triangulation__WEBPACK_IMPORTED_MODULE_7__.Triangulator.triangulateAllPositiveAreaFaces(graph);
|
|
213068
|
+
_topology_Triangulation__WEBPACK_IMPORTED_MODULE_7__.Triangulator.flipTriangles(graph);
|
|
212990
213069
|
}
|
|
212991
|
-
return
|
|
213070
|
+
return _polyface_PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_9__.PolyfaceBuilder.graphToPolyface(graph);
|
|
212992
213071
|
}
|
|
212993
213072
|
return undefined;
|
|
212994
213073
|
}
|
|
@@ -213001,7 +213080,7 @@ class RegionOps {
|
|
|
213001
213080
|
* @param loopsB second set of loops
|
|
213002
213081
|
*/
|
|
213003
213082
|
static polygonXYAreaIntersectLoopsToPolyface(loopsA, loopsB, triangulate = false) {
|
|
213004
|
-
const graph =
|
|
213083
|
+
const graph = _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__.RegionOpsFaceToFaceSearch.doPolygonBoolean(loopsA, loopsB, (inA, inB) => (inA && inB), this._graphCheckPointFunction);
|
|
213005
213084
|
return this.finishGraphToPolyface(graph, triangulate);
|
|
213006
213085
|
}
|
|
213007
213086
|
/**
|
|
@@ -213013,7 +213092,7 @@ class RegionOps {
|
|
|
213013
213092
|
* @param loopsB second set of loops
|
|
213014
213093
|
*/
|
|
213015
213094
|
static polygonXYAreaUnionLoopsToPolyface(loopsA, loopsB, triangulate = false) {
|
|
213016
|
-
const graph =
|
|
213095
|
+
const graph = _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__.RegionOpsFaceToFaceSearch.doPolygonBoolean(loopsA, loopsB, (inA, inB) => (inA || inB), this._graphCheckPointFunction);
|
|
213017
213096
|
return this.finishGraphToPolyface(graph, triangulate);
|
|
213018
213097
|
}
|
|
213019
213098
|
/**
|
|
@@ -213025,7 +213104,7 @@ class RegionOps {
|
|
|
213025
213104
|
* @param loopsB second set of loops
|
|
213026
213105
|
*/
|
|
213027
213106
|
static polygonXYAreaDifferenceLoopsToPolyface(loopsA, loopsB, triangulate = false) {
|
|
213028
|
-
const graph =
|
|
213107
|
+
const graph = _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__.RegionOpsFaceToFaceSearch.doPolygonBoolean(loopsA, loopsB, (inA, inB) => (inA && !inB), this._graphCheckPointFunction);
|
|
213029
213108
|
return this.finishGraphToPolyface(graph, triangulate);
|
|
213030
213109
|
}
|
|
213031
213110
|
/**
|
|
@@ -213038,13 +213117,17 @@ class RegionOps {
|
|
|
213038
213117
|
* @alpha
|
|
213039
213118
|
*/
|
|
213040
213119
|
static regionBooleanXY(loopsA, loopsB, operation) {
|
|
213041
|
-
|
|
213042
|
-
const
|
|
213043
|
-
const context = _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_9__.RegionBooleanContext.create(_RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_9__.RegionGroupOpType.Union, _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_9__.RegionGroupOpType.Union);
|
|
213120
|
+
const result = _UnionRegion__WEBPACK_IMPORTED_MODULE_11__.UnionRegion.create();
|
|
213121
|
+
const context = _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__.RegionBooleanContext.create(_RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__.RegionGroupOpType.Union, _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__.RegionGroupOpType.Union);
|
|
213044
213122
|
context.addMembers(loopsA, loopsB);
|
|
213045
213123
|
context.annotateAndMergeCurvesInGraph();
|
|
213124
|
+
const range = context.groupA.range().union(context.groupB.range());
|
|
213125
|
+
const areaTol = this.computeXYAreaTolerance(range);
|
|
213046
213126
|
context.runClassificationSweep(operation, (_graph, face, faceType, area) => {
|
|
213047
|
-
|
|
213127
|
+
// ignore danglers and null faces, but not 2-edge "banana" faces with nonzero area
|
|
213128
|
+
if (face.countEdgesAroundFace() < 2)
|
|
213129
|
+
return;
|
|
213130
|
+
if (Math.abs(area) < areaTol)
|
|
213048
213131
|
return;
|
|
213049
213132
|
if (faceType === 1) {
|
|
213050
213133
|
const loop = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_12__.PlanarSubdivision.createLoopInFace(face);
|
|
@@ -213065,7 +213148,7 @@ class RegionOps {
|
|
|
213065
213148
|
* @param loopsB second set of loops
|
|
213066
213149
|
*/
|
|
213067
213150
|
static polygonBooleanXYToPolyface(inputA, operation, inputB, triangulate = false) {
|
|
213068
|
-
const graph =
|
|
213151
|
+
const graph = _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__.RegionOpsFaceToFaceSearch.doBinaryBooleanBetweenMultiLoopInputs(inputA, _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__.RegionGroupOpType.Union, operation, inputB, _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__.RegionGroupOpType.Union, true);
|
|
213069
213152
|
return this.finishGraphToPolyface(graph, triangulate);
|
|
213070
213153
|
}
|
|
213071
213154
|
/**
|
|
@@ -213079,7 +213162,7 @@ class RegionOps {
|
|
|
213079
213162
|
* @param loopsB second set of loops
|
|
213080
213163
|
*/
|
|
213081
213164
|
static polygonBooleanXYToLoops(inputA, operation, inputB) {
|
|
213082
|
-
const graph =
|
|
213165
|
+
const graph = _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__.RegionOpsFaceToFaceSearch.doBinaryBooleanBetweenMultiLoopInputs(inputA, _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__.RegionGroupOpType.Union, operation, inputB, _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__.RegionGroupOpType.Union, true);
|
|
213083
213166
|
if (!graph)
|
|
213084
213167
|
return undefined;
|
|
213085
213168
|
const loopEdges = _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_13__.HalfEdgeGraphSearch.collectExtendedBoundaryLoopsInGraph(graph, _topology_Graph__WEBPACK_IMPORTED_MODULE_14__.HalfEdgeMask.EXTERIOR);
|
|
@@ -213089,7 +213172,7 @@ class RegionOps {
|
|
|
213089
213172
|
for (const edge of graphLoop)
|
|
213090
213173
|
points.pushXYZ(edge.x, edge.y, edge.z);
|
|
213091
213174
|
points.pushWrap(1);
|
|
213092
|
-
const loop =
|
|
213175
|
+
const loop = _Loop__WEBPACK_IMPORTED_MODULE_4__.Loop.create();
|
|
213093
213176
|
loop.tryAddChild(_LineString3d__WEBPACK_IMPORTED_MODULE_16__.LineString3d.createCapture(points));
|
|
213094
213177
|
allLoops.push(loop);
|
|
213095
213178
|
}
|
|
@@ -213147,12 +213230,12 @@ class RegionOps {
|
|
|
213147
213230
|
let maxGap = 0.0;
|
|
213148
213231
|
let isPath = false;
|
|
213149
213232
|
if (wrap)
|
|
213150
|
-
maxGap =
|
|
213233
|
+
maxGap = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.maxXY(maxGap, curves[0].startPoint().distance(curves[n - 1].endPoint()));
|
|
213151
213234
|
for (let i = 0; i + 1 < n; i++)
|
|
213152
|
-
maxGap =
|
|
213235
|
+
maxGap = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.maxXY(maxGap, curves[i].endPoint().distance(curves[i + 1].startPoint()));
|
|
213153
213236
|
let collection;
|
|
213154
|
-
if (
|
|
213155
|
-
collection = wrap ?
|
|
213237
|
+
if (_Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(maxGap)) {
|
|
213238
|
+
collection = wrap ? _Loop__WEBPACK_IMPORTED_MODULE_4__.Loop.create() : _Path__WEBPACK_IMPORTED_MODULE_19__.Path.create();
|
|
213156
213239
|
isPath = true;
|
|
213157
213240
|
}
|
|
213158
213241
|
else {
|
|
@@ -213215,7 +213298,7 @@ class RegionOps {
|
|
|
213215
213298
|
* @param fragments fragments to be chained
|
|
213216
213299
|
* @param offsetDistance offset distance.
|
|
213217
213300
|
*/
|
|
213218
|
-
static collectChains(fragments, gapTolerance =
|
|
213301
|
+
static collectChains(fragments, gapTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
|
|
213219
213302
|
return _internalContexts_MultiChainCollector__WEBPACK_IMPORTED_MODULE_24__.OffsetHelpers.collectChains(fragments, gapTolerance);
|
|
213220
213303
|
}
|
|
213221
213304
|
/**
|
|
@@ -213267,10 +213350,10 @@ class RegionOps {
|
|
|
213267
213350
|
if (data instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_16__.LineString3d) {
|
|
213268
213351
|
return this.rectangleEdgeTransform(data.packedPoints);
|
|
213269
213352
|
}
|
|
213270
|
-
else if (data instanceof
|
|
213353
|
+
else if (data instanceof _geometry3d_IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_6__.IndexedXYZCollection) {
|
|
213271
213354
|
let dataToUse;
|
|
213272
213355
|
if (requireClosurePoint && data.length === 5) {
|
|
213273
|
-
if (!
|
|
213356
|
+
if (!_Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(data.distanceIndexIndex(0, 4)))
|
|
213274
213357
|
return undefined;
|
|
213275
213358
|
dataToUse = data;
|
|
213276
213359
|
}
|
|
@@ -213281,7 +213364,7 @@ class RegionOps {
|
|
|
213281
213364
|
}
|
|
213282
213365
|
else {
|
|
213283
213366
|
dataToUse = _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_15__.GrowableXYZArray.create(data);
|
|
213284
|
-
_geometry3d_PolylineCompressionByEdgeOffset__WEBPACK_IMPORTED_MODULE_25__.PolylineCompressionContext.compressInPlaceByShortEdgeLength(dataToUse,
|
|
213367
|
+
_geometry3d_PolylineCompressionByEdgeOffset__WEBPACK_IMPORTED_MODULE_25__.PolylineCompressionContext.compressInPlaceByShortEdgeLength(dataToUse, _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance);
|
|
213285
213368
|
}
|
|
213286
213369
|
const vector01 = dataToUse.vectorIndexIndex(0, 1);
|
|
213287
213370
|
const vector03 = dataToUse.vectorIndexIndex(0, 3);
|
|
@@ -213296,7 +213379,7 @@ class RegionOps {
|
|
|
213296
213379
|
else if (Array.isArray(data)) {
|
|
213297
213380
|
return this.rectangleEdgeTransform(new _geometry3d_Point3dArrayCarrier__WEBPACK_IMPORTED_MODULE_27__.Point3dArrayCarrier(data), requireClosurePoint);
|
|
213298
213381
|
}
|
|
213299
|
-
else if (data instanceof
|
|
213382
|
+
else if (data instanceof _Loop__WEBPACK_IMPORTED_MODULE_4__.Loop && data.children.length === 1 && data.children[0] instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_16__.LineString3d) {
|
|
213300
213383
|
return this.rectangleEdgeTransform(data.children[0].packedPoints, true);
|
|
213301
213384
|
}
|
|
213302
213385
|
else if (data instanceof _Path__WEBPACK_IMPORTED_MODULE_19__.Path && data.children.length === 1 && data.children[0] instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_16__.LineString3d) {
|
|
@@ -213342,10 +213425,10 @@ class RegionOps {
|
|
|
213342
213425
|
static sortOuterAndHoleLoopsXY(loops) {
|
|
213343
213426
|
const loopAndArea = [];
|
|
213344
213427
|
for (const candidate of loops) {
|
|
213345
|
-
if (candidate instanceof
|
|
213428
|
+
if (candidate instanceof _Loop__WEBPACK_IMPORTED_MODULE_4__.Loop)
|
|
213346
213429
|
_geometry3d_SortablePolygon__WEBPACK_IMPORTED_MODULE_29__.SortablePolygon.pushLoop(loopAndArea, candidate);
|
|
213347
|
-
else if (candidate instanceof
|
|
213348
|
-
const loop =
|
|
213430
|
+
else if (candidate instanceof _geometry3d_IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_6__.IndexedXYZCollection) {
|
|
213431
|
+
const loop = _Loop__WEBPACK_IMPORTED_MODULE_4__.Loop.createPolygon(candidate);
|
|
213349
213432
|
_geometry3d_SortablePolygon__WEBPACK_IMPORTED_MODULE_29__.SortablePolygon.pushLoop(loopAndArea, loop);
|
|
213350
213433
|
}
|
|
213351
213434
|
}
|
|
@@ -213371,9 +213454,10 @@ class RegionOps {
|
|
|
213371
213454
|
const primitivesA = RegionOps.collectCurvePrimitives(curvesAndRegions, undefined, true);
|
|
213372
213455
|
const primitivesB = this.expandLineStrings(primitivesA);
|
|
213373
213456
|
const range = this.curveArrayRange(primitivesB);
|
|
213457
|
+
const areaTol = this.computeXYAreaTolerance(range);
|
|
213374
213458
|
const intersections = _CurveCurve__WEBPACK_IMPORTED_MODULE_30__.CurveCurve.allIntersectionsAmongPrimitivesXY(primitivesB);
|
|
213375
213459
|
const graph = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_12__.PlanarSubdivision.assembleHalfEdgeGraph(primitivesB, intersections);
|
|
213376
|
-
return _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_12__.PlanarSubdivision.collectSignedLoopSetsInHalfEdgeGraph(graph,
|
|
213460
|
+
return _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_12__.PlanarSubdivision.collectSignedLoopSetsInHalfEdgeGraph(graph, areaTol);
|
|
213377
213461
|
}
|
|
213378
213462
|
/**
|
|
213379
213463
|
* collect all `CurvePrimitives` in loosely typed input.
|
|
@@ -213432,7 +213516,7 @@ class RegionOps {
|
|
|
213432
213516
|
for (const c of data) {
|
|
213433
213517
|
if (c instanceof _GeometryQuery__WEBPACK_IMPORTED_MODULE_32__.GeometryQuery)
|
|
213434
213518
|
c.extendRange(range, worldToLocal);
|
|
213435
|
-
else if (c instanceof
|
|
213519
|
+
else if (c instanceof _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_8__.Point3d)
|
|
213436
213520
|
range.extendPoint(c, worldToLocal);
|
|
213437
213521
|
else if (c instanceof _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_15__.GrowableXYZArray)
|
|
213438
213522
|
range.extendRange(c.getRange(worldToLocal));
|
|
@@ -213478,17 +213562,18 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
213478
213562
|
/* harmony import */ var _RegionOps__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RegionOps */ "../../core/geometry/lib/esm/curve/RegionOps.js");
|
|
213479
213563
|
/* harmony import */ var _ParityRegion__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ParityRegion */ "../../core/geometry/lib/esm/curve/ParityRegion.js");
|
|
213480
213564
|
/* harmony import */ var _Loop__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Loop */ "../../core/geometry/lib/esm/curve/Loop.js");
|
|
213481
|
-
/* harmony import */ var
|
|
213482
|
-
/* harmony import */ var
|
|
213565
|
+
/* harmony import */ var _CurveCurve__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./CurveCurve */ "../../core/geometry/lib/esm/curve/CurveCurve.js");
|
|
213566
|
+
/* harmony import */ var _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./Query/PlanarSubdivision */ "../../core/geometry/lib/esm/curve/Query/PlanarSubdivision.js");
|
|
213483
213567
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
213484
213568
|
/* harmony import */ var _UnionRegion__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./UnionRegion */ "../../core/geometry/lib/esm/curve/UnionRegion.js");
|
|
213485
|
-
/* harmony import */ var
|
|
213569
|
+
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
213486
213570
|
/* harmony import */ var _LineSegment3d__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
|
|
213487
|
-
/* harmony import */ var
|
|
213571
|
+
/* harmony import */ var _Arc3d__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Arc3d */ "../../core/geometry/lib/esm/curve/Arc3d.js");
|
|
213488
213572
|
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
213489
213573
|
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
213490
213574
|
/* harmony import */ var _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
213491
213575
|
/* harmony import */ var _GeometryQuery__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
|
|
213576
|
+
/* harmony import */ var _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../geometry3d/Ray3d */ "../../core/geometry/lib/esm/geometry3d/Ray3d.js");
|
|
213492
213577
|
/*---------------------------------------------------------------------------------------------
|
|
213493
213578
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
213494
213579
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -213514,6 +213599,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
213514
213599
|
|
|
213515
213600
|
|
|
213516
213601
|
|
|
213602
|
+
|
|
213517
213603
|
/**
|
|
213518
213604
|
* base class for callbacks during region sweeps.
|
|
213519
213605
|
* * At start of a component, `startComponent(node)` is called announcing a representative node on the outermost face.
|
|
@@ -213543,10 +213629,10 @@ class RegionOpsFaceToFaceSearchCallbacks {
|
|
|
213543
213629
|
* Implementation of `RegionOpsFaceToFaceSearchCallbacks` for binary boolean sweep with polygonal regions.
|
|
213544
213630
|
* * For this linear-boundary case the boundary geometry is carried entirely from the coordinates in the half edges.
|
|
213545
213631
|
* * This assumes the each node in the graph has edgeTag set to:
|
|
213546
|
-
* * `edgeTag === undefined` if the edge crossing
|
|
213632
|
+
* * `edgeTag === undefined` if the edge crossing does not change classification.
|
|
213547
213633
|
* * for example, an edge added by regularization
|
|
213548
213634
|
* * `edgeTag === 1` if this is a boundary for the first of the boolean input regions
|
|
213549
|
-
* * `edgeTag === 2` if this is a boundary for the
|
|
213635
|
+
* * `edgeTag === 2` if this is a boundary for the second of the boolean input regions
|
|
213550
213636
|
* * constructor
|
|
213551
213637
|
* * takes caller-supplied function to decide whether to accept a face given its state relative to the two boolean terms.
|
|
213552
213638
|
* * sets the in/out status of both terms to false.
|
|
@@ -213865,7 +213951,7 @@ class RegionGroup {
|
|
|
213865
213951
|
}
|
|
213866
213952
|
/**
|
|
213867
213953
|
* A `RegionBooleanContext` carries structure and operations for binary operations between two sets of regions.
|
|
213868
|
-
* * In the binary operation (union, intersection, parity, difference), the left and right operands
|
|
213954
|
+
* * In the binary operation OP (union, intersection, parity, difference), the left and right operands
|
|
213869
213955
|
* are each a composite union, difference, or parity among multiple inputs, i.e.
|
|
213870
213956
|
* * (operationA among Ai) OP (operationB among Bi)
|
|
213871
213957
|
* * where the Ai are one set of regions, being combined by operationA
|
|
@@ -213911,45 +213997,54 @@ class RegionBooleanContext {
|
|
|
213911
213997
|
/**
|
|
213912
213998
|
* The sweep operations require access to all geometry by edge crossings and face walk.
|
|
213913
213999
|
* If input loops are non-overlapping, there may be disconnected islands not reachable.
|
|
213914
|
-
* This method
|
|
214000
|
+
* This method:
|
|
213915
214001
|
* * finds the total range
|
|
213916
|
-
* *
|
|
213917
|
-
* * places those lines in the extraGeometry group
|
|
214002
|
+
* * creates parallel rays from the extreme point of each loop and extending beyond the overall range
|
|
214003
|
+
* * places those lines in the extraGeometry group
|
|
213918
214004
|
*/
|
|
213919
214005
|
addConnectives() {
|
|
213920
214006
|
const rangeA = this.groupA.range();
|
|
213921
214007
|
const rangeB = this.groupB.range();
|
|
213922
214008
|
const rangeAB = rangeA.union(rangeB);
|
|
213923
|
-
const
|
|
213924
|
-
const direction = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_12__.Vector3d.
|
|
214009
|
+
const areaTol = _RegionOps__WEBPACK_IMPORTED_MODULE_1__.RegionOps.computeXYAreaTolerance(rangeAB);
|
|
214010
|
+
const direction = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_12__.Vector3d.create(1.0, -0.12328974132467);
|
|
214011
|
+
let margin = 0.1;
|
|
214012
|
+
this._workSegment = _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_13__.PlaneAltitudeRangeContext.findExtremePointsInDirection(rangeAB.corners(), direction, this._workSegment);
|
|
214013
|
+
if (this._workSegment)
|
|
214014
|
+
margin *= this._workSegment.point0Ref.distanceXY(this._workSegment.point1Ref); // how much further to extend each bridge ray
|
|
214015
|
+
const maxPoints = [];
|
|
214016
|
+
const findExtremePointsInLoop = (region) => {
|
|
214017
|
+
const area = _RegionOps__WEBPACK_IMPORTED_MODULE_1__.RegionOps.computeXYArea(region);
|
|
214018
|
+
if (area === undefined || Math.abs(area) < areaTol)
|
|
214019
|
+
return; // avoid bridging trivial faces
|
|
214020
|
+
this._workSegment = _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_13__.PlaneAltitudeRangeContext.findExtremePointsInDirection(region, direction, this._workSegment);
|
|
214021
|
+
if (this._workSegment)
|
|
214022
|
+
maxPoints.push(this._workSegment.point1Ref);
|
|
214023
|
+
};
|
|
213925
214024
|
for (const groupMembers of [this.groupA.members, this.groupB.members]) {
|
|
213926
214025
|
for (const m of groupMembers) {
|
|
213927
214026
|
if (m.region instanceof _Loop__WEBPACK_IMPORTED_MODULE_8__.Loop) {
|
|
213928
|
-
|
|
213929
|
-
if (lowHigh && lowHigh.length === 2)
|
|
213930
|
-
maxXPoints.push(lowHigh[1]);
|
|
214027
|
+
findExtremePointsInLoop(m.region);
|
|
213931
214028
|
}
|
|
213932
214029
|
else if (m.region instanceof _ParityRegion__WEBPACK_IMPORTED_MODULE_9__.ParityRegion) {
|
|
213933
|
-
for (const loop of m.region.children)
|
|
213934
|
-
|
|
213935
|
-
if (lowHigh && lowHigh.length === 2)
|
|
213936
|
-
maxXPoints.push(lowHigh[1]);
|
|
213937
|
-
}
|
|
214030
|
+
for (const loop of m.region.children)
|
|
214031
|
+
findExtremePointsInLoop(loop);
|
|
213938
214032
|
}
|
|
213939
214033
|
}
|
|
213940
214034
|
}
|
|
213941
|
-
const
|
|
213942
|
-
|
|
213943
|
-
const
|
|
213944
|
-
|
|
213945
|
-
//
|
|
213946
|
-
//
|
|
213947
|
-
//
|
|
213948
|
-
//
|
|
213949
|
-
//
|
|
213950
|
-
|
|
213951
|
-
const
|
|
213952
|
-
|
|
214035
|
+
const ray = _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_14__.Ray3d.createZero();
|
|
214036
|
+
direction.normalizeInPlace();
|
|
214037
|
+
for (const p of maxPoints) {
|
|
214038
|
+
// Make a line from...
|
|
214039
|
+
// 1) exactly the max point of the loops to
|
|
214040
|
+
// 2) a point clearly outside the big range
|
|
214041
|
+
// If p came from some inner loop this will...
|
|
214042
|
+
// 1) create a bridge from the inner loop through any containing loops (always)
|
|
214043
|
+
// 2) avoid crossing any containing loop at a vertex. (with high probability, but not absolutely always)
|
|
214044
|
+
const bridgeLength = margin + _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_14__.Ray3d.create(p, direction, ray).intersectionWithRange3d(rangeAB).high;
|
|
214045
|
+
const outside = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_12__.Point3d.createAdd2Scaled(p, 1.0, direction, bridgeLength);
|
|
214046
|
+
const bridgeLine = _LineSegment3d__WEBPACK_IMPORTED_MODULE_11__.LineSegment3d.createXYXY(p.x, p.y, outside.x, outside.y);
|
|
214047
|
+
this.extraGeometry.addMember(bridgeLine, true);
|
|
213953
214048
|
}
|
|
213954
214049
|
}
|
|
213955
214050
|
/**
|
|
@@ -213973,8 +214068,8 @@ class RegionBooleanContext {
|
|
|
213973
214068
|
}
|
|
213974
214069
|
}
|
|
213975
214070
|
// const range = RegionOps.curveArrayRange(allPrimitives);
|
|
213976
|
-
const intersections =
|
|
213977
|
-
const graph =
|
|
214071
|
+
const intersections = _CurveCurve__WEBPACK_IMPORTED_MODULE_15__.CurveCurve.allIntersectionsAmongPrimitivesXY(allPrimitives);
|
|
214072
|
+
const graph = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_16__.PlanarSubdivision.assembleHalfEdgeGraph(allPrimitives, intersections);
|
|
213978
214073
|
this.graph = graph;
|
|
213979
214074
|
this.faceAreaFunction = faceAreaFromCurvedEdgeData;
|
|
213980
214075
|
}
|
|
@@ -214051,26 +214146,24 @@ class RegionBooleanContext {
|
|
|
214051
214146
|
* @param delta
|
|
214052
214147
|
*/
|
|
214053
214148
|
recordTransitionAcrossEdge(node, delta) {
|
|
214054
|
-
const
|
|
214055
|
-
|
|
214149
|
+
const updateRegionGroupMemberState = (member) => {
|
|
214150
|
+
if (member.parentGroup.groupOpType === RegionGroupOpType.NonBounding)
|
|
214151
|
+
return member; // no transition across a bridge edge
|
|
214056
214152
|
if (delta !== 0) {
|
|
214057
|
-
const oldSweepState =
|
|
214058
|
-
|
|
214059
|
-
|
|
214153
|
+
const oldSweepState = member.sweepState;
|
|
214154
|
+
member.sweepState += delta;
|
|
214155
|
+
member.parentGroup.recordMemberStateChange(oldSweepState, member.sweepState);
|
|
214060
214156
|
}
|
|
214061
|
-
return
|
|
214062
|
-
}
|
|
214063
|
-
|
|
214157
|
+
return member;
|
|
214158
|
+
};
|
|
214159
|
+
const data = node.edgeTag;
|
|
214160
|
+
if (data instanceof RegionGroupMember)
|
|
214161
|
+
return updateRegionGroupMemberState(data);
|
|
214162
|
+
if (data instanceof _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_17__.CurveLocationDetail) {
|
|
214064
214163
|
// We trust that the caller has linked from the graph node to a curve which has a RegionGroupMember as its parent.
|
|
214065
214164
|
const member = data.curve.parent;
|
|
214066
|
-
if (member instanceof RegionGroupMember)
|
|
214067
|
-
|
|
214068
|
-
const oldSweepState = member.sweepState;
|
|
214069
|
-
member.sweepState += delta;
|
|
214070
|
-
member.parentGroup.recordMemberStateChange(oldSweepState, member.sweepState);
|
|
214071
|
-
}
|
|
214072
|
-
return member;
|
|
214073
|
-
}
|
|
214165
|
+
if (member instanceof RegionGroupMember)
|
|
214166
|
+
return updateRegionGroupMemberState(member);
|
|
214074
214167
|
}
|
|
214075
214168
|
return undefined;
|
|
214076
214169
|
}
|
|
@@ -214088,8 +214181,9 @@ class RegionBooleanContext {
|
|
|
214088
214181
|
}
|
|
214089
214182
|
/** Announce entry to a graph face.
|
|
214090
214183
|
* * Both both sides of a graph edge are from the same RegionGroupMember.
|
|
214091
|
-
* * Hence "crossing that edge"
|
|
214184
|
+
* * Hence "crossing that edge" changes the parity count for the RegionGroupMember that owns that edge by 1.
|
|
214092
214185
|
* * The parity count for other RegionGroupMembers are never affected by this crossing.
|
|
214186
|
+
* * Crossing a bridge edge does not change the parity count.
|
|
214093
214187
|
*/
|
|
214094
214188
|
enterFace(_facePathStack, newFaceNode) {
|
|
214095
214189
|
this.recordTransitionAcrossEdge(newFaceNode, 1);
|
|
@@ -214101,8 +214195,8 @@ class RegionBooleanContext {
|
|
|
214101
214195
|
return true;
|
|
214102
214196
|
}
|
|
214103
214197
|
/** Announce face exit */
|
|
214104
|
-
leaveFace(_facePathStack,
|
|
214105
|
-
this.recordTransitionAcrossEdge(
|
|
214198
|
+
leaveFace(_facePathStack, oldFaceNode) {
|
|
214199
|
+
this.recordTransitionAcrossEdge(oldFaceNode, -1);
|
|
214106
214200
|
return true;
|
|
214107
214201
|
}
|
|
214108
214202
|
}
|
|
@@ -214123,7 +214217,7 @@ function areaUnderPartialCurveXY(detail, xyStart, xyEnd, referencePoint) {
|
|
|
214123
214217
|
if (detail.curve instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_11__.LineSegment3d) {
|
|
214124
214218
|
// ah .. nothing to do for a line segment
|
|
214125
214219
|
}
|
|
214126
|
-
else if (detail.curve instanceof
|
|
214220
|
+
else if (detail.curve instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_18__.Arc3d) {
|
|
214127
214221
|
areaToChord = detail.curve.areaToChordXY(detail.fraction, detail.fraction1);
|
|
214128
214222
|
}
|
|
214129
214223
|
}
|
|
@@ -215729,18 +215823,25 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
215729
215823
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
215730
215824
|
/* harmony export */ "PlaneAltitudeRangeContext": () => (/* binding */ PlaneAltitudeRangeContext)
|
|
215731
215825
|
/* harmony export */ });
|
|
215826
|
+
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
215732
215827
|
/* harmony import */ var _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../geometry3d/GeometryHandler */ "../../core/geometry/lib/esm/geometry3d/GeometryHandler.js");
|
|
215733
|
-
/* harmony import */ var
|
|
215828
|
+
/* harmony import */ var _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../geometry3d/GrowableXYZArray */ "../../core/geometry/lib/esm/geometry3d/GrowableXYZArray.js");
|
|
215829
|
+
/* harmony import */ var _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../geometry3d/Plane3dByOriginAndUnitNormal */ "../../core/geometry/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js");
|
|
215734
215830
|
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
215831
|
+
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
215832
|
+
/* harmony import */ var _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../geometry3d/Ray3d */ "../../core/geometry/lib/esm/geometry3d/Ray3d.js");
|
|
215833
|
+
/* harmony import */ var _GeometryQuery__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
|
|
215834
|
+
/* harmony import */ var _LineSegment3d__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
|
|
215735
215835
|
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
215736
|
-
/* harmony import */ var _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../geometry3d/Plane3dByOriginAndUnitNormal */ "../../core/geometry/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js");
|
|
215737
215836
|
/*---------------------------------------------------------------------------------------------
|
|
215738
215837
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
215739
215838
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
215740
215839
|
*--------------------------------------------------------------------------------------------*/
|
|
215741
|
-
|
|
215742
|
-
|
|
215743
|
-
|
|
215840
|
+
|
|
215841
|
+
|
|
215842
|
+
|
|
215843
|
+
|
|
215844
|
+
|
|
215744
215845
|
|
|
215745
215846
|
|
|
215746
215847
|
|
|
@@ -215810,13 +215911,65 @@ class PlaneAltitudeRangeContext extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
215810
215911
|
this.announcePoint((this._workPoint = g.startPoint(this._workPoint)));
|
|
215811
215912
|
this.announcePoint((this._workPoint = g.endPoint(this._workPoint)));
|
|
215812
215913
|
}
|
|
215813
|
-
static
|
|
215814
|
-
const
|
|
215914
|
+
static findExtremesInDirection(geometry, direction) {
|
|
215915
|
+
const origin = direction instanceof _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_3__.Ray3d ? direction.origin : _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_4__.Point3d.createZero();
|
|
215916
|
+
const vector = direction instanceof _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_3__.Ray3d ? direction.direction : direction;
|
|
215917
|
+
const plane = _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_5__.Plane3dByOriginAndUnitNormal.create(origin, vector); // vector is normalized, so altitudes are distances
|
|
215815
215918
|
if (plane) {
|
|
215816
215919
|
const context = new PlaneAltitudeRangeContext(plane);
|
|
215817
|
-
geometry.
|
|
215818
|
-
|
|
215819
|
-
|
|
215920
|
+
if (geometry instanceof _GeometryQuery__WEBPACK_IMPORTED_MODULE_6__.GeometryQuery) {
|
|
215921
|
+
geometry.dispatchToGeometryHandler(context);
|
|
215922
|
+
}
|
|
215923
|
+
else if (geometry instanceof _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_7__.GrowableXYZArray) {
|
|
215924
|
+
context.announcePoints(geometry);
|
|
215925
|
+
}
|
|
215926
|
+
else {
|
|
215927
|
+
for (const pt of geometry)
|
|
215928
|
+
context.announcePoint(pt);
|
|
215929
|
+
}
|
|
215930
|
+
return context;
|
|
215931
|
+
}
|
|
215932
|
+
return undefined;
|
|
215933
|
+
}
|
|
215934
|
+
/** Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction,
|
|
215935
|
+
* and return points at min and max altitude, packed into a `LineSegment3d`.
|
|
215936
|
+
* @param geometry geometry to project
|
|
215937
|
+
* @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
215938
|
+
* @param lowHigh optional receiver for output
|
|
215939
|
+
*/
|
|
215940
|
+
static findExtremePointsInDirection(geometry, direction, lowHigh) {
|
|
215941
|
+
const context = this.findExtremesInDirection(geometry, direction);
|
|
215942
|
+
if (context && context.highPoint && context.lowPoint)
|
|
215943
|
+
return _LineSegment3d__WEBPACK_IMPORTED_MODULE_8__.LineSegment3d.create(context.lowPoint, context.highPoint, lowHigh);
|
|
215944
|
+
return undefined;
|
|
215945
|
+
}
|
|
215946
|
+
/** Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction,
|
|
215947
|
+
* and return the min and max altitudes, packed into a Range1d.
|
|
215948
|
+
* @param geometry geometry to project
|
|
215949
|
+
* @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
215950
|
+
* @param lowHigh optional receiver for output
|
|
215951
|
+
*/
|
|
215952
|
+
static findExtremeAltitudesInDirection(geometry, direction, lowHigh) {
|
|
215953
|
+
const context = this.findExtremesInDirection(geometry, direction);
|
|
215954
|
+
if (context && !context.range.isNull)
|
|
215955
|
+
return _geometry3d_Range__WEBPACK_IMPORTED_MODULE_1__.Range1d.createFrom(context.range, lowHigh);
|
|
215956
|
+
return undefined;
|
|
215957
|
+
}
|
|
215958
|
+
/** Project geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
|
|
215959
|
+
* @param geometry geometry to project
|
|
215960
|
+
* @param direction vector or ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
215961
|
+
* @param lowHigh optional receiver for output
|
|
215962
|
+
*/
|
|
215963
|
+
static findExtremeFractionsAlongDirection(geometry, direction, lowHigh) {
|
|
215964
|
+
const range = this.findExtremeAltitudesInDirection(geometry, direction, lowHigh);
|
|
215965
|
+
if (undefined !== range) {
|
|
215966
|
+
const mag = (direction instanceof _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_4__.Vector3d) ? direction.magnitude() : direction.direction.magnitude();
|
|
215967
|
+
const scaleToFraction = _Geometry__WEBPACK_IMPORTED_MODULE_9__.Geometry.conditionalDivideCoordinate(1.0, mag);
|
|
215968
|
+
if (undefined !== scaleToFraction) {
|
|
215969
|
+
range.low *= scaleToFraction;
|
|
215970
|
+
range.high *= scaleToFraction;
|
|
215971
|
+
return range;
|
|
215972
|
+
}
|
|
215820
215973
|
}
|
|
215821
215974
|
return undefined;
|
|
215822
215975
|
}
|
|
@@ -218858,13 +219011,14 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
218858
219011
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
218859
219012
|
/* harmony export */ "TransitionSpiral3d": () => (/* binding */ TransitionSpiral3d)
|
|
218860
219013
|
/* harmony export */ });
|
|
218861
|
-
/* harmony import */ var
|
|
219014
|
+
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
219015
|
+
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
218862
219016
|
/* harmony import */ var _geometry3d_Segment1d__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../geometry3d/Segment1d */ "../../core/geometry/lib/esm/geometry3d/Segment1d.js");
|
|
218863
219017
|
/* harmony import */ var _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../geometry3d/Transform */ "../../core/geometry/lib/esm/geometry3d/Transform.js");
|
|
218864
|
-
/* harmony import */ var
|
|
219018
|
+
/* harmony import */ var _CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
218865
219019
|
/* harmony import */ var _internalContexts_CurveOffsetXYHandler__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../internalContexts/CurveOffsetXYHandler */ "../../core/geometry/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js");
|
|
219020
|
+
/* harmony import */ var _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
218866
219021
|
/* harmony import */ var _internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
218867
|
-
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
218868
219022
|
/*---------------------------------------------------------------------------------------------
|
|
218869
219023
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
218870
219024
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -218879,6 +219033,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
218879
219033
|
|
|
218880
219034
|
|
|
218881
219035
|
|
|
219036
|
+
|
|
218882
219037
|
/**
|
|
218883
219038
|
* TransitionSpiral3d is a base class for multiple variants of spirals.
|
|
218884
219039
|
* * The menagerie of spiral types have 2 broad categories:
|
|
@@ -219015,6 +219170,14 @@ class TransitionSpiral3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__.Cu
|
|
|
219015
219170
|
count = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.clamp(5, count, 30);
|
|
219016
219171
|
return this.rangeBetweenFractionsByCount(fractionA, fractionB, count, transform, 0.5);
|
|
219017
219172
|
}
|
|
219173
|
+
/** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
|
|
219174
|
+
* @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
219175
|
+
* @param lowHigh optional receiver for output
|
|
219176
|
+
* @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the end of the ray.
|
|
219177
|
+
*/
|
|
219178
|
+
projectedParameterRange(ray, lowHigh) {
|
|
219179
|
+
return _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_7__.PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
|
|
219180
|
+
}
|
|
219018
219181
|
}
|
|
219019
219182
|
|
|
219020
219183
|
|
|
@@ -234344,7 +234507,7 @@ class Range2d extends RangeBase {
|
|
|
234344
234507
|
yLength() { const a = this.high.y - this.low.y; return a > 0.0 ? a : 0.0; }
|
|
234345
234508
|
/** return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very large negative coordinates. */
|
|
234346
234509
|
diagonal(result) { return this.low.vectorTo(this.high, result); }
|
|
234347
|
-
/** return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very large negative coordinates. */
|
|
234510
|
+
/** return the point at the specified fraction along the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very large negative coordinates. */
|
|
234348
234511
|
diagonalFractionToPoint(fraction, result) { return this.low.interpolate(fraction, this.high, result); }
|
|
234349
234512
|
/** return a point given by fractional positions on the XY axes. This is done with no check for isNull !!! */
|
|
234350
234513
|
fractionToPoint(fractionX, fractionY, result) {
|
|
@@ -268054,16 +268217,17 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
268054
268217
|
/* harmony export */ "HalfEdgeGraphOps": () => (/* binding */ HalfEdgeGraphOps),
|
|
268055
268218
|
/* harmony export */ "VertexNeighborhoodSortData": () => (/* binding */ VertexNeighborhoodSortData)
|
|
268056
268219
|
/* harmony export */ });
|
|
268220
|
+
/* harmony import */ var _curve_LineSegment3d__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../curve/LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
|
|
268057
268221
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
268058
268222
|
/* harmony import */ var _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../geometry3d/Angle */ "../../core/geometry/lib/esm/geometry3d/Angle.js");
|
|
268059
|
-
/* harmony import */ var
|
|
268223
|
+
/* harmony import */ var _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../geometry3d/Point2dVector2d */ "../../core/geometry/lib/esm/geometry3d/Point2dVector2d.js");
|
|
268060
268224
|
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
268061
268225
|
/* harmony import */ var _numerics_ClusterableArray__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../numerics/ClusterableArray */ "../../core/geometry/lib/esm/numerics/ClusterableArray.js");
|
|
268062
|
-
/* harmony import */ var
|
|
268226
|
+
/* harmony import */ var _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../numerics/Polynomials */ "../../core/geometry/lib/esm/numerics/Polynomials.js");
|
|
268063
268227
|
/* harmony import */ var _Graph__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Graph */ "../../core/geometry/lib/esm/topology/Graph.js");
|
|
268064
|
-
/* harmony import */ var
|
|
268065
|
-
/* harmony import */ var
|
|
268066
|
-
/* harmony import */ var
|
|
268228
|
+
/* harmony import */ var _HalfEdgePriorityQueue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./HalfEdgePriorityQueue */ "../../core/geometry/lib/esm/topology/HalfEdgePriorityQueue.js");
|
|
268229
|
+
/* harmony import */ var _RegularizeFace__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./RegularizeFace */ "../../core/geometry/lib/esm/topology/RegularizeFace.js");
|
|
268230
|
+
/* harmony import */ var _Triangulation__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Triangulation */ "../../core/geometry/lib/esm/topology/Triangulation.js");
|
|
268067
268231
|
/*---------------------------------------------------------------------------------------------
|
|
268068
268232
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
268069
268233
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -268078,6 +268242,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
268078
268242
|
|
|
268079
268243
|
|
|
268080
268244
|
|
|
268245
|
+
|
|
268081
268246
|
class GraphSplitData {
|
|
268082
268247
|
constructor() {
|
|
268083
268248
|
this.numUpEdge = 0;
|
|
@@ -268411,7 +268576,14 @@ class HalfEdgeGraphMerge {
|
|
|
268411
268576
|
if (clusterTableIndex !== _numerics_ClusterableArray__WEBPACK_IMPORTED_MODULE_4__.ClusterableArray.clusterTerminator) {
|
|
268412
268577
|
const nodeA = allNodes[clusterTableIndex];
|
|
268413
268578
|
const nodeB = nodeA.faceSuccessor;
|
|
268414
|
-
let
|
|
268579
|
+
let getPrecomputedRadians = outboundRadiansFunction;
|
|
268580
|
+
if (getPrecomputedRadians) {
|
|
268581
|
+
// Recompute theta when edge geometry is completely determined by the vertices, which may have been perturbed by clustering.
|
|
268582
|
+
const detail = nodeA.edgeTag;
|
|
268583
|
+
if (undefined === detail || undefined === detail.curve || detail.curve instanceof _curve_LineSegment3d__WEBPACK_IMPORTED_MODULE_5__.LineSegment3d)
|
|
268584
|
+
getPrecomputedRadians = undefined;
|
|
268585
|
+
}
|
|
268586
|
+
let radians = getPrecomputedRadians ? getPrecomputedRadians(nodeA) : Math.atan2(nodeB.y - nodeA.y, nodeB.x - nodeA.x);
|
|
268415
268587
|
if (_geometry3d_Angle__WEBPACK_IMPORTED_MODULE_3__.Angle.isAlmostEqualRadiansAllowPeriodShift(radians, -Math.PI))
|
|
268416
268588
|
radians = Math.PI;
|
|
268417
268589
|
clusters.setExtraData(clusterTableIndex, 0, radians);
|
|
@@ -268491,7 +268663,7 @@ class HalfEdgeGraphMerge {
|
|
|
268491
268663
|
}
|
|
268492
268664
|
}
|
|
268493
268665
|
static buildVerticalSweepPriorityQueue(graph) {
|
|
268494
|
-
const sweepHeap = new
|
|
268666
|
+
const sweepHeap = new _HalfEdgePriorityQueue__WEBPACK_IMPORTED_MODULE_6__.HalfEdgePriorityQueueWithPartnerArray();
|
|
268495
268667
|
for (const p of graph.allHalfEdges) {
|
|
268496
268668
|
if (HalfEdgeGraphOps.compareNodesYXUp(p, p.faceSuccessor) < 0) {
|
|
268497
268669
|
sweepHeap.priorityQueue.push(p);
|
|
@@ -268516,7 +268688,7 @@ class HalfEdgeGraphMerge {
|
|
|
268516
268688
|
const vx = nodeB1.x - bx0;
|
|
268517
268689
|
const vy = nodeB1.y - by0;
|
|
268518
268690
|
// cspell:word lineSegmentXYUVTransverseIntersectionUnbounded
|
|
268519
|
-
if (
|
|
268691
|
+
if (_numerics_Polynomials__WEBPACK_IMPORTED_MODULE_7__.SmallSystem.lineSegmentXYUVTransverseIntersectionUnbounded(ax0, ay0, ux, uy, bx0, by0, vx, vy, fractions)) {
|
|
268520
268692
|
pointA.x = ax0 + fractions.x * ux;
|
|
268521
268693
|
pointA.y = ay0 + fractions.x * uy;
|
|
268522
268694
|
pointB.x = bx0 + fractions.y * vx;
|
|
@@ -268541,9 +268713,9 @@ class HalfEdgeGraphMerge {
|
|
|
268541
268713
|
const smallFraction = 1.0e-8;
|
|
268542
268714
|
const largeFraction = 1.0 - smallFraction;
|
|
268543
268715
|
let i;
|
|
268544
|
-
const fractions =
|
|
268545
|
-
const pointA =
|
|
268546
|
-
const pointB =
|
|
268716
|
+
const fractions = _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_8__.Vector2d.create();
|
|
268717
|
+
const pointA = _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_8__.Point2d.create();
|
|
268718
|
+
const pointB = _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_8__.Point2d.create();
|
|
268547
268719
|
let nodeB0;
|
|
268548
268720
|
const popTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallMetricDistance;
|
|
268549
268721
|
while (undefined !== (nodeA0 = sweepHeap.priorityQueue.pop())) {
|
|
@@ -268608,13 +268780,13 @@ class HalfEdgeGraphMerge {
|
|
|
268608
268780
|
if (chains.length < 1)
|
|
268609
268781
|
return undefined;
|
|
268610
268782
|
const graph = new _Graph__WEBPACK_IMPORTED_MODULE_2__.HalfEdgeGraph();
|
|
268611
|
-
const chainSeeds =
|
|
268783
|
+
const chainSeeds = _Triangulation__WEBPACK_IMPORTED_MODULE_9__.Triangulator.directCreateChainsFromCoordinates(graph, chains);
|
|
268612
268784
|
for (const seed of chainSeeds)
|
|
268613
268785
|
seed.setMaskAroundFace(mask);
|
|
268614
268786
|
this.splitIntersectingEdges(graph);
|
|
268615
268787
|
this.clusterAndMergeXYTheta(graph);
|
|
268616
268788
|
if (regularize) {
|
|
268617
|
-
const context = new
|
|
268789
|
+
const context = new _RegularizeFace__WEBPACK_IMPORTED_MODULE_10__.RegularizationContext(graph);
|
|
268618
268790
|
context.regularizeGraph(true, true);
|
|
268619
268791
|
}
|
|
268620
268792
|
return graph;
|
|
@@ -291787,7 +291959,7 @@ class TestContext {
|
|
|
291787
291959
|
this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
|
|
291788
291960
|
const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${(_a = process.env.IMJS_URL_PREFIX) !== null && _a !== void 0 ? _a : ""}api.bentley.com/imodels` } });
|
|
291789
291961
|
await core_frontend_1.NoRenderApp.startup({
|
|
291790
|
-
applicationVersion: "3.5.0-dev.
|
|
291962
|
+
applicationVersion: "3.5.0-dev.51",
|
|
291791
291963
|
applicationId: this.settings.gprid,
|
|
291792
291964
|
authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.adminUserAccessToken),
|
|
291793
291965
|
hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
|
|
@@ -310856,7 +311028,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
|
|
|
310856
311028
|
/***/ ((module) => {
|
|
310857
311029
|
|
|
310858
311030
|
"use strict";
|
|
310859
|
-
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"3.5.0-dev.
|
|
311031
|
+
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"3.5.0-dev.51","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","build:ci":"npm run -s build && npm run -s build:esm","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","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/primitives,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-eslintrc -c \\"../../tools/eslint-plugin/dist/configs/extension-exports-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"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core/tree/master/core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:^3.5.0-dev.51","@itwin/core-bentley":"workspace:^3.5.0-dev.51","@itwin/core-common":"workspace:^3.5.0-dev.51","@itwin/core-geometry":"workspace:^3.5.0-dev.51","@itwin/core-orbitgt":"workspace:^3.5.0-dev.51","@itwin/core-quantity":"workspace:^3.5.0-dev.51","@itwin/webgl-compatibility":"workspace:^3.5.0-dev.51"},"//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":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/deep-assign":"^0.1.0","@types/lodash":"^4.14.0","@types/mocha":"^8.2.2","@types/node":"18.11.5","@types/qs":"^6.5.0","@types/semver":"7.3.10","@types/superagent":"^4.1.14","@types/sinon":"^9.0.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^7.11.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^9.0.2","source-map-loader":"^4.0.0","typescript":"~4.4.0","webpack":"^5.64.4"},"//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/object-storage-azure":"~1.4.0","@itwin/cloud-agnostic-core":"~1.4.0","@itwin/object-storage-core":"~1.4.0","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","deep-assign":"^2.0.0","fuse.js":"^3.3.0","lodash":"^4.17.10","qs":"^6.5.1","semver":"^7.3.5","superagent":"7.1.3","wms-capabilities":"0.4.0","xml-js":"~1.6.11","reflect-metadata":"0.1.13"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"},"eslintConfig":{"plugins":["@itwin"],"extends":"plugin:@itwin/itwinjs-recommended","rules":{"@itwin/no-internal-barrel-imports":["error",{"required-barrel-modules":["./src/tile/internal.ts"]}],"@itwin/public-extension-exports":["error",{"releaseTags":["public","preview"],"outputApiFile":false}]},"overrides":[{"files":["*.test.ts","*.test.tsx","**/test/**/*.ts"],"rules":{"@itwin/no-internal-barrel-imports":"off"}}]}}');
|
|
310860
311032
|
|
|
310861
311033
|
/***/ }),
|
|
310862
311034
|
|