@itwin/ecschema-rpcinterface-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 +376 -204
- 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 +16 -16
|
@@ -114689,6 +114689,11 @@ class IModelConnection extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.I
|
|
|
114689
114689
|
* @beta
|
|
114690
114690
|
*/
|
|
114691
114691
|
this.onClose = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
114692
|
+
/** Event called immediately after *this* IModelConnection has its displayed extents expanded.
|
|
114693
|
+
* @note This event is called only for this IModelConnection.
|
|
114694
|
+
* @internal
|
|
114695
|
+
*/
|
|
114696
|
+
this.onDisplayedExtentsExpansion = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
114692
114697
|
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));
|
|
114693
114698
|
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));
|
|
114694
114699
|
/** Event called immediately after map elevation request is completed. This occurs only in the case where background map terrain is displayed
|
|
@@ -115009,10 +115014,7 @@ class IModelConnection extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.I
|
|
|
115009
115014
|
this._extentsExpansion.extendRange(range);
|
|
115010
115015
|
this.displayedExtents.setFrom(this.projectExtents);
|
|
115011
115016
|
this.displayedExtents.extendRange(this._extentsExpansion);
|
|
115012
|
-
|
|
115013
|
-
if (vp.view.isSpatialView() && vp.iModel === this)
|
|
115014
|
-
vp.invalidateController();
|
|
115015
|
-
}
|
|
115017
|
+
this.onDisplayedExtentsExpansion.raiseEvent();
|
|
115016
115018
|
}
|
|
115017
115019
|
/** @internal */
|
|
115018
115020
|
getMapEcefToDb(bimElevationBias) {
|
|
@@ -126565,6 +126567,9 @@ class Viewport {
|
|
|
126565
126567
|
removals.push(this.iModel.onMapElevationLoaded.addListener((_iModel) => {
|
|
126566
126568
|
this.synchWithView();
|
|
126567
126569
|
}));
|
|
126570
|
+
removals.push(this.iModel.onDisplayedExtentsExpansion.addListener(() => {
|
|
126571
|
+
this.invalidateController();
|
|
126572
|
+
}));
|
|
126568
126573
|
}
|
|
126569
126574
|
}
|
|
126570
126575
|
registerDisplayStyleListeners(style) {
|
|
@@ -176178,9 +176183,9 @@ class TileAdmin {
|
|
|
176178
176183
|
// start dynamically loading default implementation and save the promise to avoid duplicate instances
|
|
176179
176184
|
this._tileStoragePromise = (async () => {
|
|
176180
176185
|
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));
|
|
176181
|
-
// eslint-disable-next-line @typescript-eslint/
|
|
176182
|
-
const
|
|
176183
|
-
const azureStorage = new
|
|
176186
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
176187
|
+
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));
|
|
176188
|
+
const azureStorage = new AzureFrontendStorage(new FrontendBlockBlobClientWrapperFactory());
|
|
176184
176189
|
this._tileStorage = new _internal__WEBPACK_IMPORTED_MODULE_6__.TileStorage(azureStorage);
|
|
176185
176190
|
return this._tileStorage;
|
|
176186
176191
|
})();
|
|
@@ -185886,21 +185891,6 @@ class WmtsCapabilities {
|
|
|
185886
185891
|
WmtsCapabilities._capabilitiesCache = new Map();
|
|
185887
185892
|
|
|
185888
185893
|
|
|
185889
|
-
/***/ }),
|
|
185890
|
-
|
|
185891
|
-
/***/ "../../core/frontend/lib/esm/tile/object-storage-azure.js":
|
|
185892
|
-
/*!****************************************************************!*\
|
|
185893
|
-
!*** ../../core/frontend/lib/esm/tile/object-storage-azure.js ***!
|
|
185894
|
-
\****************************************************************/
|
|
185895
|
-
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
185896
|
-
|
|
185897
|
-
// this wrapper is needed when compiling the package with CJS.
|
|
185898
|
-
// In that case, Typescript will convert the dynamic import into a require and Webpack won't parse the magic comment.
|
|
185899
|
-
module.exports = async () => {
|
|
185900
|
-
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));
|
|
185901
|
-
}
|
|
185902
|
-
|
|
185903
|
-
|
|
185904
185894
|
/***/ }),
|
|
185905
185895
|
|
|
185906
185896
|
/***/ "../../core/frontend/lib/esm/tools/AccuDrawTool.js":
|
|
@@ -200831,24 +200821,25 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
200831
200821
|
/* harmony export */ });
|
|
200832
200822
|
/* harmony import */ var _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../curve/CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
200833
200823
|
/* harmony import */ var _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../curve/CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
200834
|
-
/* harmony import */ var
|
|
200824
|
+
/* harmony import */ var _curve_internalContexts_CurveOffsetXYHandler__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../curve/internalContexts/CurveOffsetXYHandler */ "../../core/geometry/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js");
|
|
200825
|
+
/* harmony import */ var _curve_internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../curve/internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
200826
|
+
/* harmony import */ var _curve_internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../curve/internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
200827
|
+
/* harmony import */ var _curve_Query_StrokeCountMap__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../curve/Query/StrokeCountMap */ "../../core/geometry/lib/esm/curve/Query/StrokeCountMap.js");
|
|
200835
200828
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
200836
|
-
/* harmony import */ var
|
|
200837
|
-
/* harmony import */ var
|
|
200838
|
-
/* harmony import */ var
|
|
200839
|
-
/* harmony import */ var
|
|
200829
|
+
/* harmony import */ var _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../geometry3d/GrowableXYZArray */ "../../core/geometry/lib/esm/geometry3d/GrowableXYZArray.js");
|
|
200830
|
+
/* harmony import */ var _geometry3d_Plane3dByOriginAndVectors__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../geometry3d/Plane3dByOriginAndVectors */ "../../core/geometry/lib/esm/geometry3d/Plane3dByOriginAndVectors.js");
|
|
200831
|
+
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
200832
|
+
/* harmony import */ var _geometry3d_PointHelpers__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../geometry3d/PointHelpers */ "../../core/geometry/lib/esm/geometry3d/PointHelpers.js");
|
|
200840
200833
|
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
200841
|
-
/* harmony import */ var
|
|
200834
|
+
/* harmony import */ var _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../geometry3d/Ray3d */ "../../core/geometry/lib/esm/geometry3d/Ray3d.js");
|
|
200842
200835
|
/* harmony import */ var _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../geometry4d/Point4d */ "../../core/geometry/lib/esm/geometry4d/Point4d.js");
|
|
200843
200836
|
/* harmony import */ var _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../numerics/BezierPolynomials */ "../../core/geometry/lib/esm/numerics/BezierPolynomials.js");
|
|
200844
200837
|
/* harmony import */ var _Bezier1dNd__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Bezier1dNd */ "../../core/geometry/lib/esm/bspline/Bezier1dNd.js");
|
|
200845
|
-
/* harmony import */ var
|
|
200846
|
-
/* harmony import */ var
|
|
200838
|
+
/* harmony import */ var _BezierCurve3d__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./BezierCurve3d */ "../../core/geometry/lib/esm/bspline/BezierCurve3d.js");
|
|
200839
|
+
/* harmony import */ var _BezierCurve3dH__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./BezierCurve3dH */ "../../core/geometry/lib/esm/bspline/BezierCurve3dH.js");
|
|
200847
200840
|
/* harmony import */ var _BSpline1dNd__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BSpline1dNd */ "../../core/geometry/lib/esm/bspline/BSpline1dNd.js");
|
|
200848
|
-
/* harmony import */ var
|
|
200841
|
+
/* harmony import */ var _BSplineCurveOps__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./BSplineCurveOps */ "../../core/geometry/lib/esm/bspline/BSplineCurveOps.js");
|
|
200849
200842
|
/* harmony import */ var _KnotVector__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./KnotVector */ "../../core/geometry/lib/esm/bspline/KnotVector.js");
|
|
200850
|
-
/* harmony import */ var _curve_internalContexts_CurveOffsetXYHandler__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../curve/internalContexts/CurveOffsetXYHandler */ "../../core/geometry/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js");
|
|
200851
|
-
/* harmony import */ var _curve_internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../curve/internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
200852
200843
|
/*---------------------------------------------------------------------------------------------
|
|
200853
200844
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
200854
200845
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -200856,14 +200847,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
200856
200847
|
/** @packageDocumentation
|
|
200857
200848
|
* @module Bspline
|
|
200858
200849
|
*/
|
|
200859
|
-
// import { Point2d } from "../Geometry2d";
|
|
200860
200850
|
|
|
200861
200851
|
|
|
200862
200852
|
|
|
200863
200853
|
|
|
200864
200854
|
|
|
200865
200855
|
|
|
200866
|
-
/* eslint-disable @typescript-eslint/naming-convention, no-empty, no-console*/
|
|
200867
200856
|
|
|
200868
200857
|
|
|
200869
200858
|
|
|
@@ -200878,6 +200867,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
200878
200867
|
|
|
200879
200868
|
|
|
200880
200869
|
|
|
200870
|
+
|
|
200871
|
+
/* eslint-disable @typescript-eslint/naming-convention, no-empty, no-console*/
|
|
200881
200872
|
/**
|
|
200882
200873
|
* Base class for BSplineCurve3d and BSplineCurve3dH.
|
|
200883
200874
|
* * A bspline curve consists of a set of knots and a set of poles.
|
|
@@ -201149,6 +201140,14 @@ class BSplineCurve3dBase extends _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_
|
|
|
201149
201140
|
this.emitStrokableParts(handler, options.strokeOptions);
|
|
201150
201141
|
return handler.claimResult();
|
|
201151
201142
|
}
|
|
201143
|
+
/** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
|
|
201144
|
+
* @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
201145
|
+
* @param lowHigh optional receiver for output
|
|
201146
|
+
* @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.
|
|
201147
|
+
*/
|
|
201148
|
+
projectedParameterRange(ray, lowHigh) {
|
|
201149
|
+
return _curve_internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_11__.PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
|
|
201150
|
+
}
|
|
201152
201151
|
}
|
|
201153
201152
|
/**
|
|
201154
201153
|
* A BSplineCurve3d is a bspline curve whose poles are Point3d.
|
|
@@ -201161,19 +201160,19 @@ class BSplineCurve3d extends BSplineCurve3dBase {
|
|
|
201161
201160
|
}
|
|
201162
201161
|
initializeWorkBezier() {
|
|
201163
201162
|
if (this._workBezier === undefined)
|
|
201164
|
-
this._workBezier =
|
|
201163
|
+
this._workBezier = _BezierCurve3dH__WEBPACK_IMPORTED_MODULE_12__.BezierCurve3dH.createOrder(this.order);
|
|
201165
201164
|
return this._workBezier;
|
|
201166
201165
|
}
|
|
201167
201166
|
/** test of `other` is an instance of BSplineCurve3d */
|
|
201168
201167
|
isSameGeometryClass(other) { return other instanceof BSplineCurve3d; }
|
|
201169
201168
|
/** Apply `transform` to the poles. */
|
|
201170
|
-
tryTransformInPlace(transform) {
|
|
201169
|
+
tryTransformInPlace(transform) { _geometry3d_PointHelpers__WEBPACK_IMPORTED_MODULE_13__.Point3dArray.multiplyInPlace(transform, this._bcurve.packedData); return true; }
|
|
201171
201170
|
/** Get a pole as simple Point3d. */
|
|
201172
201171
|
getPolePoint3d(poleIndex, result) {
|
|
201173
201172
|
const k = this.poleIndexToDataIndex(poleIndex);
|
|
201174
201173
|
if (k !== undefined) {
|
|
201175
201174
|
const data = this._bcurve.packedData;
|
|
201176
|
-
return
|
|
201175
|
+
return _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__.Point3d.create(data[k], data[k + 1], data[k + 2], result);
|
|
201177
201176
|
}
|
|
201178
201177
|
return undefined;
|
|
201179
201178
|
}
|
|
@@ -201191,7 +201190,7 @@ class BSplineCurve3d extends BSplineCurve3dBase {
|
|
|
201191
201190
|
return this._bcurve.spanFractionToKnot(span, localFraction);
|
|
201192
201191
|
}
|
|
201193
201192
|
/** Return a simple array of arrays with the control points as `[[x,y,z],[x,y,z],..]` */
|
|
201194
|
-
copyPoints() { return
|
|
201193
|
+
copyPoints() { return _geometry3d_PointHelpers__WEBPACK_IMPORTED_MODULE_13__.Point3dArray.unpackNumbersToNestedArrays(this._bcurve.packedData, 3); }
|
|
201195
201194
|
/** Return a simple array of the control points coordinates */
|
|
201196
201195
|
copyPointsFloat64Array() { return this._bcurve.packedData.slice(); }
|
|
201197
201196
|
/**
|
|
@@ -201210,7 +201209,7 @@ class BSplineCurve3d extends BSplineCurve3dBase {
|
|
|
201210
201209
|
for (let i = 0; i < 3 * numPoles; i++)
|
|
201211
201210
|
curve._bcurve.packedData[i] = poles[i];
|
|
201212
201211
|
}
|
|
201213
|
-
else if (poles instanceof
|
|
201212
|
+
else if (poles instanceof _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_15__.GrowableXYZArray) {
|
|
201214
201213
|
curve._bcurve.packedData = poles.float64Data().slice(0, 3 * numPoles);
|
|
201215
201214
|
}
|
|
201216
201215
|
else {
|
|
@@ -201242,7 +201241,7 @@ class BSplineCurve3d extends BSplineCurve3dBase {
|
|
|
201242
201241
|
for (let i = 0; i < 3 * degree; i++)
|
|
201243
201242
|
curve._bcurve.packedData[3 * numPoles + i] = poles[i];
|
|
201244
201243
|
}
|
|
201245
|
-
else if (poles instanceof
|
|
201244
|
+
else if (poles instanceof _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_15__.GrowableXYZArray) {
|
|
201246
201245
|
curve._bcurve.packedData = poles.float64Data().slice(0, 3 * numPoles);
|
|
201247
201246
|
for (let i = 0; i < 3 * degree; i++)
|
|
201248
201247
|
curve._bcurve.packedData[3 * numPoles + i] = poles.float64Data()[i];
|
|
@@ -201267,14 +201266,14 @@ class BSplineCurve3d extends BSplineCurve3dBase {
|
|
|
201267
201266
|
* @param options collection of points and end conditions.
|
|
201268
201267
|
*/
|
|
201269
201268
|
static createFromInterpolationCurve3dOptions(options) {
|
|
201270
|
-
return
|
|
201269
|
+
return _BSplineCurveOps__WEBPACK_IMPORTED_MODULE_16__.BSplineCurveOps.createThroughPointsC2Cubic(options);
|
|
201271
201270
|
}
|
|
201272
201271
|
/**
|
|
201273
201272
|
*
|
|
201274
201273
|
* @param options collection of points and end conditions.
|
|
201275
201274
|
*/
|
|
201276
201275
|
static createFromAkimaCurve3dOptions(options) {
|
|
201277
|
-
return
|
|
201276
|
+
return _BSplineCurveOps__WEBPACK_IMPORTED_MODULE_16__.BSplineCurveOps.createThroughPoints(options.fitPoints, 4); // temporary
|
|
201278
201277
|
}
|
|
201279
201278
|
/** Create a bspline with given knots.
|
|
201280
201279
|
*
|
|
@@ -201323,25 +201322,25 @@ class BSplineCurve3d extends BSplineCurve3dBase {
|
|
|
201323
201322
|
/** Evaluate at a position given by fractional position within a span. */
|
|
201324
201323
|
evaluatePointInSpan(spanIndex, spanFraction) {
|
|
201325
201324
|
this._bcurve.evaluateBuffersInSpan(spanIndex, spanFraction);
|
|
201326
|
-
return
|
|
201325
|
+
return _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__.Point3d.createFrom(this._bcurve.poleBuffer);
|
|
201327
201326
|
}
|
|
201328
201327
|
/** Evaluate point and derivative vector at a position given by fractional position within a span.
|
|
201329
201328
|
* * The derivative is with respect to the span fraction (NOT scaled to either global fraction or knot)
|
|
201330
201329
|
*/
|
|
201331
201330
|
evaluatePointAndDerivativeInSpan(spanIndex, spanFraction) {
|
|
201332
201331
|
this._bcurve.evaluateBuffersInSpan1(spanIndex, spanFraction);
|
|
201333
|
-
return
|
|
201332
|
+
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));
|
|
201334
201333
|
}
|
|
201335
201334
|
/** Evaluate at a position given by a knot value. */
|
|
201336
201335
|
knotToPoint(u, result) {
|
|
201337
201336
|
this._bcurve.evaluateBuffersAtKnot(u);
|
|
201338
|
-
return
|
|
201337
|
+
return _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__.Point3d.createFrom(this._bcurve.poleBuffer, result);
|
|
201339
201338
|
}
|
|
201340
201339
|
/** Evaluate at a position given by a knot value. */
|
|
201341
201340
|
knotToPointAndDerivative(u, result) {
|
|
201342
201341
|
this._bcurve.evaluateBuffersAtKnot(u, 1);
|
|
201343
201342
|
if (!result)
|
|
201344
|
-
return
|
|
201343
|
+
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));
|
|
201345
201344
|
result.origin.setFrom(this._bcurve.poleBuffer);
|
|
201346
201345
|
result.direction.setFrom(this._bcurve.poleBuffer1);
|
|
201347
201346
|
return result;
|
|
@@ -201349,22 +201348,22 @@ class BSplineCurve3d extends BSplineCurve3dBase {
|
|
|
201349
201348
|
/** Evaluate at a position given by a knot value. Return point with 2 derivatives. */
|
|
201350
201349
|
knotToPointAnd2Derivatives(u, result) {
|
|
201351
201350
|
this._bcurve.evaluateBuffersAtKnot(u, 2);
|
|
201352
|
-
return
|
|
201351
|
+
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);
|
|
201353
201352
|
}
|
|
201354
201353
|
/** test if almost the same curve as `other` */
|
|
201355
201354
|
isAlmostEqual(other) {
|
|
201356
201355
|
if (other instanceof BSplineCurve3d) {
|
|
201357
201356
|
return this._bcurve.knots.isAlmostEqual(other._bcurve.knots)
|
|
201358
|
-
&&
|
|
201357
|
+
&& _geometry3d_PointHelpers__WEBPACK_IMPORTED_MODULE_13__.Point3dArray.isAlmostEqual(this._bcurve.packedData, other._bcurve.packedData);
|
|
201359
201358
|
}
|
|
201360
201359
|
return false;
|
|
201361
201360
|
}
|
|
201362
201361
|
/** test if this curve is entirely within plane. */
|
|
201363
201362
|
isInPlane(plane) {
|
|
201364
|
-
return
|
|
201363
|
+
return _geometry3d_PointHelpers__WEBPACK_IMPORTED_MODULE_13__.Point3dArray.isCloseToPlane(this._bcurve.packedData, plane);
|
|
201365
201364
|
}
|
|
201366
201365
|
/** Return the control polygon length as approximation (always overestimate) of the curve length. */
|
|
201367
|
-
quickLength() { return
|
|
201366
|
+
quickLength() { return _geometry3d_PointHelpers__WEBPACK_IMPORTED_MODULE_13__.Point3dArray.sumEdgeLengths(this._bcurve.packedData); }
|
|
201368
201367
|
/** Emit beziers or strokes (selected by the stroke options) to the handler. */
|
|
201369
201368
|
emitStrokableParts(handler, options) {
|
|
201370
201369
|
const needBeziers = handler.announceBezierCurve !== undefined;
|
|
@@ -201408,7 +201407,7 @@ class BSplineCurve3d extends BSplineCurve3dBase {
|
|
|
201408
201407
|
computeAndAttachRecursiveStrokeCounts(options, parentStrokeMap) {
|
|
201409
201408
|
const workBezier = this.initializeWorkBezier();
|
|
201410
201409
|
const numSpan = this.numSpan;
|
|
201411
|
-
const myData =
|
|
201410
|
+
const myData = _curve_Query_StrokeCountMap__WEBPACK_IMPORTED_MODULE_19__.StrokeCountMap.createWithCurvePrimitiveAndOptionalParent(this, parentStrokeMap, []);
|
|
201412
201411
|
for (let spanIndex = 0; spanIndex < numSpan; spanIndex++) {
|
|
201413
201412
|
const bezier = this.getSaturatedBezierSpan3dH(spanIndex, workBezier);
|
|
201414
201413
|
if (bezier) {
|
|
@@ -201463,8 +201462,8 @@ class BSplineCurve3d extends BSplineCurve3dBase {
|
|
|
201463
201462
|
if (spanIndex < 0 || spanIndex >= this.numSpan)
|
|
201464
201463
|
return undefined;
|
|
201465
201464
|
const order = this.order;
|
|
201466
|
-
if (result === undefined || !(result instanceof
|
|
201467
|
-
result =
|
|
201465
|
+
if (result === undefined || !(result instanceof _BezierCurve3d__WEBPACK_IMPORTED_MODULE_20__.BezierCurve3d) || result.order !== order)
|
|
201466
|
+
result = _BezierCurve3d__WEBPACK_IMPORTED_MODULE_20__.BezierCurve3d.createOrder(order);
|
|
201468
201467
|
const bezier = result;
|
|
201469
201468
|
bezier.loadSpanPoles(this._bcurve.packedData, spanIndex);
|
|
201470
201469
|
if (bezier.saturateInPlace(this._bcurve.knots, spanIndex))
|
|
@@ -201480,8 +201479,8 @@ class BSplineCurve3d extends BSplineCurve3dBase {
|
|
|
201480
201479
|
if (spanIndex < 0 || spanIndex >= this.numSpan)
|
|
201481
201480
|
return undefined;
|
|
201482
201481
|
const order = this.order;
|
|
201483
|
-
if (result === undefined || !(result instanceof
|
|
201484
|
-
result =
|
|
201482
|
+
if (result === undefined || !(result instanceof _BezierCurve3dH__WEBPACK_IMPORTED_MODULE_12__.BezierCurve3dH) || result.order !== order)
|
|
201483
|
+
result = _BezierCurve3dH__WEBPACK_IMPORTED_MODULE_12__.BezierCurve3dH.createOrder(order);
|
|
201485
201484
|
const bezier = result;
|
|
201486
201485
|
bezier.loadSpan3dPolesWithWeight(this._bcurve.packedData, spanIndex, 1.0);
|
|
201487
201486
|
if (bezier.saturateInPlace(this._bcurve.knots, spanIndex))
|
|
@@ -204634,14 +204633,15 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
204634
204633
|
/* harmony export */ "BezierCurveBase": () => (/* binding */ BezierCurveBase)
|
|
204635
204634
|
/* harmony export */ });
|
|
204636
204635
|
/* harmony import */ var _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../curve/CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
204636
|
+
/* harmony import */ var _curve_internalContexts_CurveOffsetXYHandler__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../curve/internalContexts/CurveOffsetXYHandler */ "../../core/geometry/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js");
|
|
204637
|
+
/* harmony import */ var _curve_internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../curve/internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
204638
|
+
/* harmony import */ var _curve_internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../curve/internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
204637
204639
|
/* harmony import */ var _curve_StrokeOptions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../curve/StrokeOptions */ "../../core/geometry/lib/esm/curve/StrokeOptions.js");
|
|
204638
204640
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
204639
204641
|
/* harmony import */ var _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../geometry3d/Angle */ "../../core/geometry/lib/esm/geometry3d/Angle.js");
|
|
204640
204642
|
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
204641
204643
|
/* harmony import */ var _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../numerics/BezierPolynomials */ "../../core/geometry/lib/esm/numerics/BezierPolynomials.js");
|
|
204642
204644
|
/* harmony import */ var _Bezier1dNd__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Bezier1dNd */ "../../core/geometry/lib/esm/bspline/Bezier1dNd.js");
|
|
204643
|
-
/* harmony import */ var _curve_internalContexts_CurveOffsetXYHandler__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../curve/internalContexts/CurveOffsetXYHandler */ "../../core/geometry/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js");
|
|
204644
|
-
/* harmony import */ var _curve_internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../curve/internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
204645
204645
|
/*---------------------------------------------------------------------------------------------
|
|
204646
204646
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
204647
204647
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -204649,17 +204649,17 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
204649
204649
|
/** @packageDocumentation
|
|
204650
204650
|
* @module Bspline
|
|
204651
204651
|
*/
|
|
204652
|
-
// import { Point2d } from "../Geometry2d";
|
|
204653
204652
|
|
|
204654
204653
|
|
|
204655
204654
|
|
|
204656
204655
|
|
|
204657
|
-
/* eslint-disable @typescript-eslint/naming-convention, no-empty, no-console*/
|
|
204658
204656
|
|
|
204659
204657
|
|
|
204660
204658
|
|
|
204661
204659
|
|
|
204662
204660
|
|
|
204661
|
+
|
|
204662
|
+
/* eslint-disable @typescript-eslint/naming-convention, no-empty, no-console*/
|
|
204663
204663
|
/**
|
|
204664
204664
|
* Base class for CurvePrimitive (necessarily 3D) with _polygon.
|
|
204665
204665
|
* * This has a Bezier1dNd polygon as a member, and implements dimension-independent methods
|
|
@@ -204866,6 +204866,14 @@ class BezierCurveBase extends _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__
|
|
|
204866
204866
|
partialCurve._polygon.subdivideToIntervalInPlace(fractionA, fractionB);
|
|
204867
204867
|
return partialCurve;
|
|
204868
204868
|
}
|
|
204869
|
+
/** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
|
|
204870
|
+
* @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
204871
|
+
* @param lowHigh optional receiver for output
|
|
204872
|
+
* @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.
|
|
204873
|
+
*/
|
|
204874
|
+
projectedParameterRange(ray, lowHigh) {
|
|
204875
|
+
return _curve_internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_9__.PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
|
|
204876
|
+
}
|
|
204869
204877
|
}
|
|
204870
204878
|
|
|
204871
204879
|
|
|
@@ -211241,10 +211249,11 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
211241
211249
|
/* harmony import */ var _CurveExtendMode__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./CurveExtendMode */ "../../core/geometry/lib/esm/curve/CurveExtendMode.js");
|
|
211242
211250
|
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
211243
211251
|
/* harmony import */ var _CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
211244
|
-
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
211245
|
-
/* harmony import */ var _StrokeOptions__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./StrokeOptions */ "../../core/geometry/lib/esm/curve/StrokeOptions.js");
|
|
211246
211252
|
/* harmony import */ var _internalContexts_CurveOffsetXYHandler__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./internalContexts/CurveOffsetXYHandler */ "../../core/geometry/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js");
|
|
211253
|
+
/* harmony import */ var _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
211247
211254
|
/* harmony import */ var _internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
211255
|
+
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
211256
|
+
/* harmony import */ var _StrokeOptions__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./StrokeOptions */ "../../core/geometry/lib/esm/curve/StrokeOptions.js");
|
|
211248
211257
|
/*---------------------------------------------------------------------------------------------
|
|
211249
211258
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
211250
211259
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -211265,6 +211274,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
211265
211274
|
|
|
211266
211275
|
|
|
211267
211276
|
|
|
211277
|
+
|
|
211268
211278
|
/**
|
|
211269
211279
|
* Circular or elliptic arc.
|
|
211270
211280
|
*
|
|
@@ -212185,6 +212195,14 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__.CurvePrimitive
|
|
|
212185
212195
|
this.emitStrokableParts(handler, options.strokeOptions);
|
|
212186
212196
|
return handler.claimResult();
|
|
212187
212197
|
}
|
|
212198
|
+
/** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
|
|
212199
|
+
* @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
212200
|
+
* @param lowHigh optional receiver for output
|
|
212201
|
+
* @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.
|
|
212202
|
+
*/
|
|
212203
|
+
projectedParameterRange(ray, lowHigh) {
|
|
212204
|
+
return _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_16__.PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
|
|
212205
|
+
}
|
|
212188
212206
|
}
|
|
212189
212207
|
Arc3d._workPointA = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_3__.Point3d.create();
|
|
212190
212208
|
Arc3d._workPointB = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_3__.Point3d.create();
|
|
@@ -212638,6 +212656,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
212638
212656
|
/* harmony import */ var _CurveCollection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./CurveCollection */ "../../core/geometry/lib/esm/curve/CurveCollection.js");
|
|
212639
212657
|
/* harmony import */ var _CurveExtendMode__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./CurveExtendMode */ "../../core/geometry/lib/esm/curve/CurveExtendMode.js");
|
|
212640
212658
|
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
212659
|
+
/* harmony import */ var _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
212641
212660
|
/* harmony import */ var _internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
212642
212661
|
/* harmony import */ var _Path__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Path */ "../../core/geometry/lib/esm/curve/Path.js");
|
|
212643
212662
|
/*---------------------------------------------------------------------------------------------
|
|
@@ -212657,6 +212676,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
212657
212676
|
|
|
212658
212677
|
|
|
212659
212678
|
|
|
212679
|
+
|
|
212660
212680
|
/**
|
|
212661
212681
|
* * Annotation of an interval of a curve.
|
|
212662
212682
|
* * The interval is marked with two pairs of numbers:
|
|
@@ -213322,6 +213342,14 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
|
|
|
213322
213342
|
}
|
|
213323
213343
|
return offsets;
|
|
213324
213344
|
}
|
|
213345
|
+
/** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
|
|
213346
|
+
* @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
213347
|
+
* @param lowHigh optional receiver for output
|
|
213348
|
+
* @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.
|
|
213349
|
+
*/
|
|
213350
|
+
projectedParameterRange(ray, lowHigh) {
|
|
213351
|
+
return _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_10__.PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
|
|
213352
|
+
}
|
|
213325
213353
|
}
|
|
213326
213354
|
CurveChainWithDistanceIndex._numCalls = 0;
|
|
213327
213355
|
CurveChainWithDistanceIndex._numTested = 0;
|
|
@@ -213345,7 +213373,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
213345
213373
|
/* harmony export */ "CurveChain": () => (/* binding */ CurveChain),
|
|
213346
213374
|
/* harmony export */ "CurveCollection": () => (/* binding */ CurveCollection)
|
|
213347
213375
|
/* harmony export */ });
|
|
213348
|
-
/* harmony import */ var
|
|
213376
|
+
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
213349
213377
|
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
213350
213378
|
/* harmony import */ var _CurvePrimitive__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
213351
213379
|
/* harmony import */ var _GeometryQuery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
|
|
@@ -213353,10 +213381,11 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
213353
213381
|
/* harmony import */ var _internalContexts_CloneWithExpandedLineStrings__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./internalContexts/CloneWithExpandedLineStrings */ "../../core/geometry/lib/esm/curve/internalContexts/CloneWithExpandedLineStrings.js");
|
|
213354
213382
|
/* harmony import */ var _internalContexts_CountLinearPartsSearchContext__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./internalContexts/CountLinearPartsSearchContext */ "../../core/geometry/lib/esm/curve/internalContexts/CountLinearPartsSearchContext.js");
|
|
213355
213383
|
/* harmony import */ var _internalContexts_GapSearchContext__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internalContexts/GapSearchContext */ "../../core/geometry/lib/esm/curve/internalContexts/GapSearchContext.js");
|
|
213384
|
+
/* harmony import */ var _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
213356
213385
|
/* harmony import */ var _internalContexts_SumLengthsContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internalContexts/SumLengthsContext */ "../../core/geometry/lib/esm/curve/internalContexts/SumLengthsContext.js");
|
|
213357
213386
|
/* harmony import */ var _internalContexts_TransformInPlaceContext__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./internalContexts/TransformInPlaceContext */ "../../core/geometry/lib/esm/curve/internalContexts/TransformInPlaceContext.js");
|
|
213358
|
-
/* harmony import */ var
|
|
213359
|
-
/* harmony import */ var
|
|
213387
|
+
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
213388
|
+
/* harmony import */ var _ProxyCurve__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ProxyCurve */ "../../core/geometry/lib/esm/curve/ProxyCurve.js");
|
|
213360
213389
|
/*---------------------------------------------------------------------------------------------
|
|
213361
213390
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
213362
213391
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -213376,6 +213405,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
213376
213405
|
|
|
213377
213406
|
|
|
213378
213407
|
|
|
213408
|
+
|
|
213379
213409
|
/**
|
|
213380
213410
|
* A `CurveCollection` is an abstract (non-instantiable) class for various sets of curves with particular structures:
|
|
213381
213411
|
* - `CurveChain` is a (non-instantiable) intermediate class for a sequence of `CurvePrimitive ` joining head-to-tail. The two instantiable forms of `CurveChain` are
|
|
@@ -213508,6 +213538,14 @@ class CurveCollection extends _GeometryQuery__WEBPACK_IMPORTED_MODULE_0__.Geomet
|
|
|
213508
213538
|
}
|
|
213509
213539
|
return undefined;
|
|
213510
213540
|
}
|
|
213541
|
+
/** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
|
|
213542
|
+
* @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
213543
|
+
* @param lowHigh optional receiver for output
|
|
213544
|
+
* @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.
|
|
213545
|
+
*/
|
|
213546
|
+
projectedParameterRange(ray, lowHigh) {
|
|
213547
|
+
return _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_9__.PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
|
|
213548
|
+
}
|
|
213511
213549
|
}
|
|
213512
213550
|
/** Shared base class for use by both open and closed paths.
|
|
213513
213551
|
* - A `CurveChain` contains only curvePrimitives. No other paths, loops, or regions allowed.
|
|
@@ -213540,7 +213578,7 @@ class CurveChain extends CurveCollection {
|
|
|
213540
213578
|
if (index >= 0 && index < n)
|
|
213541
213579
|
return this.children[index];
|
|
213542
213580
|
if (cyclic) {
|
|
213543
|
-
const index2 =
|
|
213581
|
+
const index2 = _Geometry__WEBPACK_IMPORTED_MODULE_10__.Geometry.modulo(index, n);
|
|
213544
213582
|
return this.children[index2];
|
|
213545
213583
|
}
|
|
213546
213584
|
return undefined;
|
|
@@ -213554,7 +213592,7 @@ class CurveChain extends CurveCollection {
|
|
|
213554
213592
|
const children = tree.children;
|
|
213555
213593
|
if (children.length === 1) {
|
|
213556
213594
|
const ls = children[0];
|
|
213557
|
-
if (ls instanceof
|
|
213595
|
+
if (ls instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_11__.LineString3d)
|
|
213558
213596
|
return ls.packedPoints;
|
|
213559
213597
|
}
|
|
213560
213598
|
}
|
|
@@ -213611,7 +213649,7 @@ class CurveChain extends CurveCollection {
|
|
|
213611
213649
|
if (alsoSearchProxies !== null && alsoSearchProxies !== void 0 ? alsoSearchProxies : false) {
|
|
213612
213650
|
for (let i = 0; i < this._curves.length; i++) {
|
|
213613
213651
|
const childCurve = this._curves[i];
|
|
213614
|
-
if (childCurve instanceof
|
|
213652
|
+
if (childCurve instanceof _ProxyCurve__WEBPACK_IMPORTED_MODULE_12__.ProxyCurve) {
|
|
213615
213653
|
if (childCurve.proxyCurve === target)
|
|
213616
213654
|
return i;
|
|
213617
213655
|
}
|
|
@@ -213666,7 +213704,7 @@ class BagOfCurves extends CurveCollection {
|
|
|
213666
213704
|
let child;
|
|
213667
213705
|
for (child of this.children) {
|
|
213668
213706
|
if (child instanceof _CurvePrimitive__WEBPACK_IMPORTED_MODULE_2__.CurvePrimitive) {
|
|
213669
|
-
const ls =
|
|
213707
|
+
const ls = _LineString3d__WEBPACK_IMPORTED_MODULE_11__.LineString3d.create();
|
|
213670
213708
|
child.emitStrokes(ls, options);
|
|
213671
213709
|
if (ls)
|
|
213672
213710
|
clone.children.push(ls);
|
|
@@ -213709,9 +213747,9 @@ class ConsolidateAdjacentCurvePrimitivesOptions {
|
|
|
213709
213747
|
/** True to consolidate contiguous arcs */
|
|
213710
213748
|
this.consolidateCompatibleArcs = true;
|
|
213711
213749
|
/** Tolerance for collapsing identical points */
|
|
213712
|
-
this.duplicatePointTolerance =
|
|
213750
|
+
this.duplicatePointTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_10__.Geometry.smallMetricDistance;
|
|
213713
213751
|
/** Tolerance for removing interior colinear points. */
|
|
213714
|
-
this.colinearPointTolerance =
|
|
213752
|
+
this.colinearPointTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_10__.Geometry.smallMetricDistance;
|
|
213715
213753
|
}
|
|
213716
213754
|
}
|
|
213717
213755
|
|
|
@@ -214717,7 +214755,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
214717
214755
|
return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.isSmallMetricDistance(fraction * pointA.distanceXY(pointB));
|
|
214718
214756
|
}
|
|
214719
214757
|
else if (!extend1 && fraction > 1.0)
|
|
214720
|
-
return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.isSmallMetricDistance(fraction * pointA.distanceXY(pointB));
|
|
214758
|
+
return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.isSmallMetricDistance((fraction - 1.0) * pointA.distanceXY(pointB));
|
|
214721
214759
|
return true;
|
|
214722
214760
|
}
|
|
214723
214761
|
/**
|
|
@@ -217809,6 +217847,14 @@ class CurvePrimitive extends _GeometryQuery__WEBPACK_IMPORTED_MODULE_1__.Geometr
|
|
|
217809
217847
|
this.collectCurvePrimitivesGo(results, smallestPossiblePrimitives, explodeLinestrings);
|
|
217810
217848
|
return results;
|
|
217811
217849
|
}
|
|
217850
|
+
/** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
|
|
217851
|
+
* @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
217852
|
+
* @param lowHigh optional receiver for output
|
|
217853
|
+
* @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.
|
|
217854
|
+
*/
|
|
217855
|
+
projectedParameterRange(_ray, _lowHigh) {
|
|
217856
|
+
return undefined; // common implementation delegated to subclasses to avoid circular dependency
|
|
217857
|
+
}
|
|
217812
217858
|
}
|
|
217813
217859
|
|
|
217814
217860
|
|
|
@@ -218140,6 +218186,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
218140
218186
|
/* harmony import */ var _CurveExtendMode__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./CurveExtendMode */ "../../core/geometry/lib/esm/curve/CurveExtendMode.js");
|
|
218141
218187
|
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
218142
218188
|
/* harmony import */ var _CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
218189
|
+
/* harmony import */ var _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
218143
218190
|
/* harmony import */ var _internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
218144
218191
|
/*---------------------------------------------------------------------------------------------
|
|
218145
218192
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
@@ -218155,6 +218202,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
218155
218202
|
|
|
218156
218203
|
|
|
218157
218204
|
|
|
218205
|
+
|
|
218158
218206
|
/* eslint-disable @typescript-eslint/naming-convention, no-empty */
|
|
218159
218207
|
/**
|
|
218160
218208
|
* A LineSegment3d is:
|
|
@@ -218489,6 +218537,14 @@ class LineSegment3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__.CurvePr
|
|
|
218489
218537
|
}
|
|
218490
218538
|
return undefined;
|
|
218491
218539
|
}
|
|
218540
|
+
/** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
|
|
218541
|
+
* @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
218542
|
+
* @param lowHigh optional receiver for output
|
|
218543
|
+
* @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.
|
|
218544
|
+
*/
|
|
218545
|
+
projectedParameterRange(ray, lowHigh) {
|
|
218546
|
+
return _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_10__.PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
|
|
218547
|
+
}
|
|
218492
218548
|
}
|
|
218493
218549
|
|
|
218494
218550
|
|
|
@@ -218521,6 +218577,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
218521
218577
|
/* harmony import */ var _CurveExtendMode__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./CurveExtendMode */ "../../core/geometry/lib/esm/curve/CurveExtendMode.js");
|
|
218522
218578
|
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
218523
218579
|
/* harmony import */ var _CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
218580
|
+
/* harmony import */ var _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
218524
218581
|
/* harmony import */ var _internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
218525
218582
|
/* harmony import */ var _LineSegment3d__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
|
|
218526
218583
|
/* harmony import */ var _Query_StrokeCountMap__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Query/StrokeCountMap */ "../../core/geometry/lib/esm/curve/Query/StrokeCountMap.js");
|
|
@@ -218542,6 +218599,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
218542
218599
|
|
|
218543
218600
|
|
|
218544
218601
|
|
|
218602
|
+
|
|
218545
218603
|
/* eslint-disable @typescript-eslint/naming-convention, no-empty */
|
|
218546
218604
|
/* Starting with baseIndex and moving index by stepDirection:
|
|
218547
218605
|
If the vector from baseIndex to baseIndex +1 crossed with vectorA can be normalized, accumulate it (scaled) to normal.
|
|
@@ -219828,6 +219886,14 @@ class LineString3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__.CurvePri
|
|
|
219828
219886
|
}
|
|
219829
219887
|
return offsets;
|
|
219830
219888
|
}
|
|
219889
|
+
/** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
|
|
219890
|
+
* @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
219891
|
+
* @param lowHigh optional receiver for output
|
|
219892
|
+
* @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.
|
|
219893
|
+
*/
|
|
219894
|
+
projectedParameterRange(ray, lowHigh) {
|
|
219895
|
+
return _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_18__.PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
|
|
219896
|
+
}
|
|
219831
219897
|
}
|
|
219832
219898
|
LineString3d._workPointA = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_6__.Point3d.create();
|
|
219833
219899
|
LineString3d._workPointB = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_6__.Point3d.create();
|
|
@@ -220538,6 +220604,10 @@ class ProxyCurve extends _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__.Curv
|
|
|
220538
220604
|
constructOffsetXY(offsetDistanceOrOptions) {
|
|
220539
220605
|
return this._proxyCurve.constructOffsetXY(offsetDistanceOrOptions);
|
|
220540
220606
|
}
|
|
220607
|
+
/** Implement by proxyCurve */
|
|
220608
|
+
projectedParameterRange(ray, lowHigh) {
|
|
220609
|
+
return this._proxyCurve.projectedParameterRange(ray, lowHigh);
|
|
220610
|
+
}
|
|
220541
220611
|
}
|
|
220542
220612
|
|
|
220543
220613
|
|
|
@@ -221100,7 +221170,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
221100
221170
|
/** @packageDocumentation
|
|
221101
221171
|
* @module Curve
|
|
221102
221172
|
*/
|
|
221103
|
-
class
|
|
221173
|
+
class MapCurvePrimitiveToCurveLocationDetailPairArray {
|
|
221104
221174
|
constructor() {
|
|
221105
221175
|
this.primitiveToPair = new Map();
|
|
221106
221176
|
// index assigned to this primitive for this calculation.
|
|
@@ -221153,9 +221223,10 @@ function tagString(name: string, value: number | undefined): string {
|
|
|
221153
221223
|
* @internal
|
|
221154
221224
|
*/
|
|
221155
221225
|
class PlanarSubdivision {
|
|
221156
|
-
|
|
221157
|
-
|
|
221158
|
-
|
|
221226
|
+
/** Create a graph from an array of curves, and an array of the curves' precomputed intersections. */
|
|
221227
|
+
static assembleHalfEdgeGraph(primitives, allPairs) {
|
|
221228
|
+
const detailByPrimitive = new MapCurvePrimitiveToCurveLocationDetailPairArray(); // map from key CurvePrimitive to CurveLocationDetailPair.
|
|
221229
|
+
for (const p of primitives)
|
|
221159
221230
|
detailByPrimitive.assignPrimitiveIndex(p);
|
|
221160
221231
|
for (const pair of allPairs) {
|
|
221161
221232
|
detailByPrimitive.insertPair(pair);
|
|
@@ -222126,27 +222197,27 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
222126
222197
|
/* harmony export */ "RegionBinaryOpType": () => (/* binding */ RegionBinaryOpType),
|
|
222127
222198
|
/* harmony export */ "RegionOps": () => (/* binding */ RegionOps)
|
|
222128
222199
|
/* harmony export */ });
|
|
222129
|
-
/* harmony import */ var
|
|
222200
|
+
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
222130
222201
|
/* harmony import */ var _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../geometry3d/GrowableXYZArray */ "../../core/geometry/lib/esm/geometry3d/GrowableXYZArray.js");
|
|
222131
|
-
/* harmony import */ var
|
|
222202
|
+
/* harmony import */ var _geometry3d_IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../geometry3d/IndexedXYZCollection */ "../../core/geometry/lib/esm/geometry3d/IndexedXYZCollection.js");
|
|
222132
222203
|
/* harmony import */ var _geometry3d_Point3dArrayCarrier__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../geometry3d/Point3dArrayCarrier */ "../../core/geometry/lib/esm/geometry3d/Point3dArrayCarrier.js");
|
|
222133
|
-
/* harmony import */ var
|
|
222204
|
+
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
222134
222205
|
/* harmony import */ var _geometry3d_PolylineCompressionByEdgeOffset__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../geometry3d/PolylineCompressionByEdgeOffset */ "../../core/geometry/lib/esm/geometry3d/PolylineCompressionByEdgeOffset.js");
|
|
222135
222206
|
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
222136
222207
|
/* harmony import */ var _geometry3d_SortablePolygon__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../geometry3d/SortablePolygon */ "../../core/geometry/lib/esm/geometry3d/SortablePolygon.js");
|
|
222137
222208
|
/* harmony import */ var _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../geometry3d/Transform */ "../../core/geometry/lib/esm/geometry3d/Transform.js");
|
|
222138
222209
|
/* harmony import */ var _geometry4d_MomentData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../geometry4d/MomentData */ "../../core/geometry/lib/esm/geometry4d/MomentData.js");
|
|
222139
|
-
/* harmony import */ var
|
|
222210
|
+
/* harmony import */ var _polyface_PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../polyface/PolyfaceBuilder */ "../../core/geometry/lib/esm/polyface/PolyfaceBuilder.js");
|
|
222140
222211
|
/* harmony import */ var _topology_Graph__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../topology/Graph */ "../../core/geometry/lib/esm/topology/Graph.js");
|
|
222141
|
-
/* harmony import */ var
|
|
222212
|
+
/* harmony import */ var _topology_Triangulation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../topology/Triangulation */ "../../core/geometry/lib/esm/topology/Triangulation.js");
|
|
222142
222213
|
/* harmony import */ var _ChainCollectorContext__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./ChainCollectorContext */ "../../core/geometry/lib/esm/curve/ChainCollectorContext.js");
|
|
222143
222214
|
/* harmony import */ var _CurveCollection__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./CurveCollection */ "../../core/geometry/lib/esm/curve/CurveCollection.js");
|
|
222144
222215
|
/* harmony import */ var _CurveCurve__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./CurveCurve */ "../../core/geometry/lib/esm/curve/CurveCurve.js");
|
|
222145
222216
|
/* harmony import */ var _CurvePrimitive__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
222146
|
-
/* harmony import */ var
|
|
222217
|
+
/* harmony import */ var _CurveWireMomentsXYZ__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./CurveWireMomentsXYZ */ "../../core/geometry/lib/esm/curve/CurveWireMomentsXYZ.js");
|
|
222147
222218
|
/* harmony import */ var _internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
222148
222219
|
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
222149
|
-
/* harmony import */ var
|
|
222220
|
+
/* harmony import */ var _Loop__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Loop */ "../../core/geometry/lib/esm/curve/Loop.js");
|
|
222150
222221
|
/* harmony import */ var _Path__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./Path */ "../../core/geometry/lib/esm/curve/Path.js");
|
|
222151
222222
|
/* harmony import */ var _Query_ConsolidateAdjacentPrimitivesContext__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./Query/ConsolidateAdjacentPrimitivesContext */ "../../core/geometry/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js");
|
|
222152
222223
|
/* harmony import */ var _Query_CurveSplitContext__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Query/CurveSplitContext */ "../../core/geometry/lib/esm/curve/Query/CurveSplitContext.js");
|
|
@@ -222155,10 +222226,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
222155
222226
|
/* harmony import */ var _RegionMomentsXY__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./RegionMomentsXY */ "../../core/geometry/lib/esm/curve/RegionMomentsXY.js");
|
|
222156
222227
|
/* harmony import */ var _internalContexts_MultiChainCollector__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./internalContexts/MultiChainCollector */ "../../core/geometry/lib/esm/curve/internalContexts/MultiChainCollector.js");
|
|
222157
222228
|
/* harmony import */ var _GeometryQuery__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
|
|
222158
|
-
/* harmony import */ var
|
|
222159
|
-
/* harmony import */ var
|
|
222229
|
+
/* harmony import */ var _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./RegionOpsClassificationSweeps */ "../../core/geometry/lib/esm/curve/RegionOpsClassificationSweeps.js");
|
|
222230
|
+
/* harmony import */ var _UnionRegion__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./UnionRegion */ "../../core/geometry/lib/esm/curve/UnionRegion.js");
|
|
222160
222231
|
/* harmony import */ var _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../topology/HalfEdgeGraphSearch */ "../../core/geometry/lib/esm/topology/HalfEdgeGraphSearch.js");
|
|
222161
|
-
/* harmony import */ var
|
|
222232
|
+
/* harmony import */ var _ParityRegion__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ParityRegion */ "../../core/geometry/lib/esm/curve/ParityRegion.js");
|
|
222162
222233
|
/*---------------------------------------------------------------------------------------------
|
|
222163
222234
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
222164
222235
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -222236,6 +222307,14 @@ class RegionOps {
|
|
|
222236
222307
|
}
|
|
222237
222308
|
return undefined;
|
|
222238
222309
|
}
|
|
222310
|
+
/** Return an area tolerance for a given xy-range and optional distance tolerance.
|
|
222311
|
+
* @param range range of planar region to tolerance
|
|
222312
|
+
* @param distanceTolerance optional absolute distance tolerance
|
|
222313
|
+
*/
|
|
222314
|
+
static computeXYAreaTolerance(range, distanceTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
|
|
222315
|
+
// 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).
|
|
222316
|
+
return distanceTolerance * (range.xLength() + range.yLength() + distanceTolerance);
|
|
222317
|
+
}
|
|
222239
222318
|
/**
|
|
222240
222319
|
* Return an xy area for a loop, parity region, or union region.
|
|
222241
222320
|
* * If `rawMomentData` is the MomentData returned by computeXYAreaMoments, convert to principal axes and moments with
|
|
@@ -222255,7 +222334,7 @@ class RegionOps {
|
|
|
222255
222334
|
* call `principalMomentData = MomentData.inertiaProductsToPrincipalAxes (rawMomentData.origin, rawMomentData.sums);`
|
|
222256
222335
|
*/
|
|
222257
222336
|
static computeXYZWireMomentSums(root) {
|
|
222258
|
-
const handler = new
|
|
222337
|
+
const handler = new _CurveWireMomentsXYZ__WEBPACK_IMPORTED_MODULE_3__.CurveWireMomentsXYZ();
|
|
222259
222338
|
handler.visitLeaves(root);
|
|
222260
222339
|
const result = handler.momentData;
|
|
222261
222340
|
result.shiftOriginAndSumsToCentroidOfSums();
|
|
@@ -222266,33 +222345,33 @@ class RegionOps {
|
|
|
222266
222345
|
* @internal
|
|
222267
222346
|
*/
|
|
222268
222347
|
static addLoopsToGraph(graph, data, announceIsolatedLoop) {
|
|
222269
|
-
if (data instanceof
|
|
222348
|
+
if (data instanceof _Loop__WEBPACK_IMPORTED_MODULE_4__.Loop) {
|
|
222270
222349
|
const points = data.getPackedStrokes();
|
|
222271
222350
|
if (points)
|
|
222272
222351
|
this.addLoopsToGraph(graph, points, announceIsolatedLoop);
|
|
222273
222352
|
}
|
|
222274
|
-
else if (data instanceof
|
|
222353
|
+
else if (data instanceof _ParityRegion__WEBPACK_IMPORTED_MODULE_5__.ParityRegion) {
|
|
222275
222354
|
for (const child of data.children) {
|
|
222276
222355
|
const points = child.getPackedStrokes();
|
|
222277
222356
|
if (points)
|
|
222278
222357
|
this.addLoopsToGraph(graph, points, announceIsolatedLoop);
|
|
222279
222358
|
}
|
|
222280
222359
|
}
|
|
222281
|
-
else if (data instanceof
|
|
222282
|
-
const loopSeed =
|
|
222360
|
+
else if (data instanceof _geometry3d_IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_6__.IndexedXYZCollection) {
|
|
222361
|
+
const loopSeed = _topology_Triangulation__WEBPACK_IMPORTED_MODULE_7__.Triangulator.directCreateFaceLoopFromCoordinates(graph, data);
|
|
222283
222362
|
if (loopSeed !== undefined)
|
|
222284
222363
|
announceIsolatedLoop(graph, loopSeed);
|
|
222285
222364
|
}
|
|
222286
222365
|
else if (Array.isArray(data)) {
|
|
222287
222366
|
if (data.length > 0) {
|
|
222288
|
-
if (
|
|
222289
|
-
const loopSeed =
|
|
222367
|
+
if (_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_8__.Point3d.isAnyImmediatePointType(data[0])) {
|
|
222368
|
+
const loopSeed = _topology_Triangulation__WEBPACK_IMPORTED_MODULE_7__.Triangulator.directCreateFaceLoopFromCoordinates(graph, data);
|
|
222290
222369
|
if (loopSeed !== undefined)
|
|
222291
222370
|
announceIsolatedLoop(graph, loopSeed);
|
|
222292
222371
|
}
|
|
222293
|
-
else if (data[0] instanceof
|
|
222372
|
+
else if (data[0] instanceof _geometry3d_IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_6__.IndexedXYZCollection) {
|
|
222294
222373
|
for (const loop of data) {
|
|
222295
|
-
const loopSeed =
|
|
222374
|
+
const loopSeed = _topology_Triangulation__WEBPACK_IMPORTED_MODULE_7__.Triangulator.directCreateFaceLoopFromCoordinates(graph, loop);
|
|
222296
222375
|
if (loopSeed !== undefined)
|
|
222297
222376
|
announceIsolatedLoop(graph, loopSeed);
|
|
222298
222377
|
}
|
|
@@ -222332,10 +222411,10 @@ class RegionOps {
|
|
|
222332
222411
|
static finishGraphToPolyface(graph, triangulate) {
|
|
222333
222412
|
if (graph) {
|
|
222334
222413
|
if (triangulate) {
|
|
222335
|
-
|
|
222336
|
-
|
|
222414
|
+
_topology_Triangulation__WEBPACK_IMPORTED_MODULE_7__.Triangulator.triangulateAllPositiveAreaFaces(graph);
|
|
222415
|
+
_topology_Triangulation__WEBPACK_IMPORTED_MODULE_7__.Triangulator.flipTriangles(graph);
|
|
222337
222416
|
}
|
|
222338
|
-
return
|
|
222417
|
+
return _polyface_PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_9__.PolyfaceBuilder.graphToPolyface(graph);
|
|
222339
222418
|
}
|
|
222340
222419
|
return undefined;
|
|
222341
222420
|
}
|
|
@@ -222348,7 +222427,7 @@ class RegionOps {
|
|
|
222348
222427
|
* @param loopsB second set of loops
|
|
222349
222428
|
*/
|
|
222350
222429
|
static polygonXYAreaIntersectLoopsToPolyface(loopsA, loopsB, triangulate = false) {
|
|
222351
|
-
const graph =
|
|
222430
|
+
const graph = _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__.RegionOpsFaceToFaceSearch.doPolygonBoolean(loopsA, loopsB, (inA, inB) => (inA && inB), this._graphCheckPointFunction);
|
|
222352
222431
|
return this.finishGraphToPolyface(graph, triangulate);
|
|
222353
222432
|
}
|
|
222354
222433
|
/**
|
|
@@ -222360,7 +222439,7 @@ class RegionOps {
|
|
|
222360
222439
|
* @param loopsB second set of loops
|
|
222361
222440
|
*/
|
|
222362
222441
|
static polygonXYAreaUnionLoopsToPolyface(loopsA, loopsB, triangulate = false) {
|
|
222363
|
-
const graph =
|
|
222442
|
+
const graph = _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__.RegionOpsFaceToFaceSearch.doPolygonBoolean(loopsA, loopsB, (inA, inB) => (inA || inB), this._graphCheckPointFunction);
|
|
222364
222443
|
return this.finishGraphToPolyface(graph, triangulate);
|
|
222365
222444
|
}
|
|
222366
222445
|
/**
|
|
@@ -222372,7 +222451,7 @@ class RegionOps {
|
|
|
222372
222451
|
* @param loopsB second set of loops
|
|
222373
222452
|
*/
|
|
222374
222453
|
static polygonXYAreaDifferenceLoopsToPolyface(loopsA, loopsB, triangulate = false) {
|
|
222375
|
-
const graph =
|
|
222454
|
+
const graph = _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__.RegionOpsFaceToFaceSearch.doPolygonBoolean(loopsA, loopsB, (inA, inB) => (inA && !inB), this._graphCheckPointFunction);
|
|
222376
222455
|
return this.finishGraphToPolyface(graph, triangulate);
|
|
222377
222456
|
}
|
|
222378
222457
|
/**
|
|
@@ -222385,13 +222464,17 @@ class RegionOps {
|
|
|
222385
222464
|
* @alpha
|
|
222386
222465
|
*/
|
|
222387
222466
|
static regionBooleanXY(loopsA, loopsB, operation) {
|
|
222388
|
-
|
|
222389
|
-
const
|
|
222390
|
-
const context = _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_9__.RegionBooleanContext.create(_RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_9__.RegionGroupOpType.Union, _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_9__.RegionGroupOpType.Union);
|
|
222467
|
+
const result = _UnionRegion__WEBPACK_IMPORTED_MODULE_11__.UnionRegion.create();
|
|
222468
|
+
const context = _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__.RegionBooleanContext.create(_RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__.RegionGroupOpType.Union, _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__.RegionGroupOpType.Union);
|
|
222391
222469
|
context.addMembers(loopsA, loopsB);
|
|
222392
222470
|
context.annotateAndMergeCurvesInGraph();
|
|
222471
|
+
const range = context.groupA.range().union(context.groupB.range());
|
|
222472
|
+
const areaTol = this.computeXYAreaTolerance(range);
|
|
222393
222473
|
context.runClassificationSweep(operation, (_graph, face, faceType, area) => {
|
|
222394
|
-
|
|
222474
|
+
// ignore danglers and null faces, but not 2-edge "banana" faces with nonzero area
|
|
222475
|
+
if (face.countEdgesAroundFace() < 2)
|
|
222476
|
+
return;
|
|
222477
|
+
if (Math.abs(area) < areaTol)
|
|
222395
222478
|
return;
|
|
222396
222479
|
if (faceType === 1) {
|
|
222397
222480
|
const loop = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_12__.PlanarSubdivision.createLoopInFace(face);
|
|
@@ -222412,7 +222495,7 @@ class RegionOps {
|
|
|
222412
222495
|
* @param loopsB second set of loops
|
|
222413
222496
|
*/
|
|
222414
222497
|
static polygonBooleanXYToPolyface(inputA, operation, inputB, triangulate = false) {
|
|
222415
|
-
const graph =
|
|
222498
|
+
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);
|
|
222416
222499
|
return this.finishGraphToPolyface(graph, triangulate);
|
|
222417
222500
|
}
|
|
222418
222501
|
/**
|
|
@@ -222426,7 +222509,7 @@ class RegionOps {
|
|
|
222426
222509
|
* @param loopsB second set of loops
|
|
222427
222510
|
*/
|
|
222428
222511
|
static polygonBooleanXYToLoops(inputA, operation, inputB) {
|
|
222429
|
-
const graph =
|
|
222512
|
+
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);
|
|
222430
222513
|
if (!graph)
|
|
222431
222514
|
return undefined;
|
|
222432
222515
|
const loopEdges = _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_13__.HalfEdgeGraphSearch.collectExtendedBoundaryLoopsInGraph(graph, _topology_Graph__WEBPACK_IMPORTED_MODULE_14__.HalfEdgeMask.EXTERIOR);
|
|
@@ -222436,7 +222519,7 @@ class RegionOps {
|
|
|
222436
222519
|
for (const edge of graphLoop)
|
|
222437
222520
|
points.pushXYZ(edge.x, edge.y, edge.z);
|
|
222438
222521
|
points.pushWrap(1);
|
|
222439
|
-
const loop =
|
|
222522
|
+
const loop = _Loop__WEBPACK_IMPORTED_MODULE_4__.Loop.create();
|
|
222440
222523
|
loop.tryAddChild(_LineString3d__WEBPACK_IMPORTED_MODULE_16__.LineString3d.createCapture(points));
|
|
222441
222524
|
allLoops.push(loop);
|
|
222442
222525
|
}
|
|
@@ -222494,12 +222577,12 @@ class RegionOps {
|
|
|
222494
222577
|
let maxGap = 0.0;
|
|
222495
222578
|
let isPath = false;
|
|
222496
222579
|
if (wrap)
|
|
222497
|
-
maxGap =
|
|
222580
|
+
maxGap = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.maxXY(maxGap, curves[0].startPoint().distance(curves[n - 1].endPoint()));
|
|
222498
222581
|
for (let i = 0; i + 1 < n; i++)
|
|
222499
|
-
maxGap =
|
|
222582
|
+
maxGap = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.maxXY(maxGap, curves[i].endPoint().distance(curves[i + 1].startPoint()));
|
|
222500
222583
|
let collection;
|
|
222501
|
-
if (
|
|
222502
|
-
collection = wrap ?
|
|
222584
|
+
if (_Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(maxGap)) {
|
|
222585
|
+
collection = wrap ? _Loop__WEBPACK_IMPORTED_MODULE_4__.Loop.create() : _Path__WEBPACK_IMPORTED_MODULE_19__.Path.create();
|
|
222503
222586
|
isPath = true;
|
|
222504
222587
|
}
|
|
222505
222588
|
else {
|
|
@@ -222562,7 +222645,7 @@ class RegionOps {
|
|
|
222562
222645
|
* @param fragments fragments to be chained
|
|
222563
222646
|
* @param offsetDistance offset distance.
|
|
222564
222647
|
*/
|
|
222565
|
-
static collectChains(fragments, gapTolerance =
|
|
222648
|
+
static collectChains(fragments, gapTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
|
|
222566
222649
|
return _internalContexts_MultiChainCollector__WEBPACK_IMPORTED_MODULE_24__.OffsetHelpers.collectChains(fragments, gapTolerance);
|
|
222567
222650
|
}
|
|
222568
222651
|
/**
|
|
@@ -222614,10 +222697,10 @@ class RegionOps {
|
|
|
222614
222697
|
if (data instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_16__.LineString3d) {
|
|
222615
222698
|
return this.rectangleEdgeTransform(data.packedPoints);
|
|
222616
222699
|
}
|
|
222617
|
-
else if (data instanceof
|
|
222700
|
+
else if (data instanceof _geometry3d_IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_6__.IndexedXYZCollection) {
|
|
222618
222701
|
let dataToUse;
|
|
222619
222702
|
if (requireClosurePoint && data.length === 5) {
|
|
222620
|
-
if (!
|
|
222703
|
+
if (!_Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(data.distanceIndexIndex(0, 4)))
|
|
222621
222704
|
return undefined;
|
|
222622
222705
|
dataToUse = data;
|
|
222623
222706
|
}
|
|
@@ -222628,7 +222711,7 @@ class RegionOps {
|
|
|
222628
222711
|
}
|
|
222629
222712
|
else {
|
|
222630
222713
|
dataToUse = _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_15__.GrowableXYZArray.create(data);
|
|
222631
|
-
_geometry3d_PolylineCompressionByEdgeOffset__WEBPACK_IMPORTED_MODULE_25__.PolylineCompressionContext.compressInPlaceByShortEdgeLength(dataToUse,
|
|
222714
|
+
_geometry3d_PolylineCompressionByEdgeOffset__WEBPACK_IMPORTED_MODULE_25__.PolylineCompressionContext.compressInPlaceByShortEdgeLength(dataToUse, _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance);
|
|
222632
222715
|
}
|
|
222633
222716
|
const vector01 = dataToUse.vectorIndexIndex(0, 1);
|
|
222634
222717
|
const vector03 = dataToUse.vectorIndexIndex(0, 3);
|
|
@@ -222643,7 +222726,7 @@ class RegionOps {
|
|
|
222643
222726
|
else if (Array.isArray(data)) {
|
|
222644
222727
|
return this.rectangleEdgeTransform(new _geometry3d_Point3dArrayCarrier__WEBPACK_IMPORTED_MODULE_27__.Point3dArrayCarrier(data), requireClosurePoint);
|
|
222645
222728
|
}
|
|
222646
|
-
else if (data instanceof
|
|
222729
|
+
else if (data instanceof _Loop__WEBPACK_IMPORTED_MODULE_4__.Loop && data.children.length === 1 && data.children[0] instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_16__.LineString3d) {
|
|
222647
222730
|
return this.rectangleEdgeTransform(data.children[0].packedPoints, true);
|
|
222648
222731
|
}
|
|
222649
222732
|
else if (data instanceof _Path__WEBPACK_IMPORTED_MODULE_19__.Path && data.children.length === 1 && data.children[0] instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_16__.LineString3d) {
|
|
@@ -222689,10 +222772,10 @@ class RegionOps {
|
|
|
222689
222772
|
static sortOuterAndHoleLoopsXY(loops) {
|
|
222690
222773
|
const loopAndArea = [];
|
|
222691
222774
|
for (const candidate of loops) {
|
|
222692
|
-
if (candidate instanceof
|
|
222775
|
+
if (candidate instanceof _Loop__WEBPACK_IMPORTED_MODULE_4__.Loop)
|
|
222693
222776
|
_geometry3d_SortablePolygon__WEBPACK_IMPORTED_MODULE_29__.SortablePolygon.pushLoop(loopAndArea, candidate);
|
|
222694
|
-
else if (candidate instanceof
|
|
222695
|
-
const loop =
|
|
222777
|
+
else if (candidate instanceof _geometry3d_IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_6__.IndexedXYZCollection) {
|
|
222778
|
+
const loop = _Loop__WEBPACK_IMPORTED_MODULE_4__.Loop.createPolygon(candidate);
|
|
222696
222779
|
_geometry3d_SortablePolygon__WEBPACK_IMPORTED_MODULE_29__.SortablePolygon.pushLoop(loopAndArea, loop);
|
|
222697
222780
|
}
|
|
222698
222781
|
}
|
|
@@ -222718,9 +222801,10 @@ class RegionOps {
|
|
|
222718
222801
|
const primitivesA = RegionOps.collectCurvePrimitives(curvesAndRegions, undefined, true);
|
|
222719
222802
|
const primitivesB = this.expandLineStrings(primitivesA);
|
|
222720
222803
|
const range = this.curveArrayRange(primitivesB);
|
|
222804
|
+
const areaTol = this.computeXYAreaTolerance(range);
|
|
222721
222805
|
const intersections = _CurveCurve__WEBPACK_IMPORTED_MODULE_30__.CurveCurve.allIntersectionsAmongPrimitivesXY(primitivesB);
|
|
222722
222806
|
const graph = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_12__.PlanarSubdivision.assembleHalfEdgeGraph(primitivesB, intersections);
|
|
222723
|
-
return _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_12__.PlanarSubdivision.collectSignedLoopSetsInHalfEdgeGraph(graph,
|
|
222807
|
+
return _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_12__.PlanarSubdivision.collectSignedLoopSetsInHalfEdgeGraph(graph, areaTol);
|
|
222724
222808
|
}
|
|
222725
222809
|
/**
|
|
222726
222810
|
* collect all `CurvePrimitives` in loosely typed input.
|
|
@@ -222779,7 +222863,7 @@ class RegionOps {
|
|
|
222779
222863
|
for (const c of data) {
|
|
222780
222864
|
if (c instanceof _GeometryQuery__WEBPACK_IMPORTED_MODULE_32__.GeometryQuery)
|
|
222781
222865
|
c.extendRange(range, worldToLocal);
|
|
222782
|
-
else if (c instanceof
|
|
222866
|
+
else if (c instanceof _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_8__.Point3d)
|
|
222783
222867
|
range.extendPoint(c, worldToLocal);
|
|
222784
222868
|
else if (c instanceof _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_15__.GrowableXYZArray)
|
|
222785
222869
|
range.extendRange(c.getRange(worldToLocal));
|
|
@@ -222825,17 +222909,18 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
222825
222909
|
/* harmony import */ var _RegionOps__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RegionOps */ "../../core/geometry/lib/esm/curve/RegionOps.js");
|
|
222826
222910
|
/* harmony import */ var _ParityRegion__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ParityRegion */ "../../core/geometry/lib/esm/curve/ParityRegion.js");
|
|
222827
222911
|
/* harmony import */ var _Loop__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Loop */ "../../core/geometry/lib/esm/curve/Loop.js");
|
|
222828
|
-
/* harmony import */ var
|
|
222829
|
-
/* harmony import */ var
|
|
222912
|
+
/* harmony import */ var _CurveCurve__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./CurveCurve */ "../../core/geometry/lib/esm/curve/CurveCurve.js");
|
|
222913
|
+
/* harmony import */ var _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./Query/PlanarSubdivision */ "../../core/geometry/lib/esm/curve/Query/PlanarSubdivision.js");
|
|
222830
222914
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
222831
222915
|
/* harmony import */ var _UnionRegion__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./UnionRegion */ "../../core/geometry/lib/esm/curve/UnionRegion.js");
|
|
222832
|
-
/* harmony import */ var
|
|
222916
|
+
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
222833
222917
|
/* harmony import */ var _LineSegment3d__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
|
|
222834
|
-
/* harmony import */ var
|
|
222918
|
+
/* harmony import */ var _Arc3d__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Arc3d */ "../../core/geometry/lib/esm/curve/Arc3d.js");
|
|
222835
222919
|
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
222836
222920
|
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
222837
222921
|
/* harmony import */ var _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
222838
222922
|
/* harmony import */ var _GeometryQuery__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
|
|
222923
|
+
/* harmony import */ var _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../geometry3d/Ray3d */ "../../core/geometry/lib/esm/geometry3d/Ray3d.js");
|
|
222839
222924
|
/*---------------------------------------------------------------------------------------------
|
|
222840
222925
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
222841
222926
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -222861,6 +222946,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
222861
222946
|
|
|
222862
222947
|
|
|
222863
222948
|
|
|
222949
|
+
|
|
222864
222950
|
/**
|
|
222865
222951
|
* base class for callbacks during region sweeps.
|
|
222866
222952
|
* * At start of a component, `startComponent(node)` is called announcing a representative node on the outermost face.
|
|
@@ -222890,10 +222976,10 @@ class RegionOpsFaceToFaceSearchCallbacks {
|
|
|
222890
222976
|
* Implementation of `RegionOpsFaceToFaceSearchCallbacks` for binary boolean sweep with polygonal regions.
|
|
222891
222977
|
* * For this linear-boundary case the boundary geometry is carried entirely from the coordinates in the half edges.
|
|
222892
222978
|
* * This assumes the each node in the graph has edgeTag set to:
|
|
222893
|
-
* * `edgeTag === undefined` if the edge crossing
|
|
222979
|
+
* * `edgeTag === undefined` if the edge crossing does not change classification.
|
|
222894
222980
|
* * for example, an edge added by regularization
|
|
222895
222981
|
* * `edgeTag === 1` if this is a boundary for the first of the boolean input regions
|
|
222896
|
-
* * `edgeTag === 2` if this is a boundary for the
|
|
222982
|
+
* * `edgeTag === 2` if this is a boundary for the second of the boolean input regions
|
|
222897
222983
|
* * constructor
|
|
222898
222984
|
* * takes caller-supplied function to decide whether to accept a face given its state relative to the two boolean terms.
|
|
222899
222985
|
* * sets the in/out status of both terms to false.
|
|
@@ -223212,7 +223298,7 @@ class RegionGroup {
|
|
|
223212
223298
|
}
|
|
223213
223299
|
/**
|
|
223214
223300
|
* A `RegionBooleanContext` carries structure and operations for binary operations between two sets of regions.
|
|
223215
|
-
* * In the binary operation (union, intersection, parity, difference), the left and right operands
|
|
223301
|
+
* * In the binary operation OP (union, intersection, parity, difference), the left and right operands
|
|
223216
223302
|
* are each a composite union, difference, or parity among multiple inputs, i.e.
|
|
223217
223303
|
* * (operationA among Ai) OP (operationB among Bi)
|
|
223218
223304
|
* * where the Ai are one set of regions, being combined by operationA
|
|
@@ -223258,45 +223344,54 @@ class RegionBooleanContext {
|
|
|
223258
223344
|
/**
|
|
223259
223345
|
* The sweep operations require access to all geometry by edge crossings and face walk.
|
|
223260
223346
|
* If input loops are non-overlapping, there may be disconnected islands not reachable.
|
|
223261
|
-
* This method
|
|
223347
|
+
* This method:
|
|
223262
223348
|
* * finds the total range
|
|
223263
|
-
* *
|
|
223264
|
-
* * places those lines in the extraGeometry group
|
|
223349
|
+
* * creates parallel rays from the extreme point of each loop and extending beyond the overall range
|
|
223350
|
+
* * places those lines in the extraGeometry group
|
|
223265
223351
|
*/
|
|
223266
223352
|
addConnectives() {
|
|
223267
223353
|
const rangeA = this.groupA.range();
|
|
223268
223354
|
const rangeB = this.groupB.range();
|
|
223269
223355
|
const rangeAB = rangeA.union(rangeB);
|
|
223270
|
-
const
|
|
223271
|
-
const direction = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_12__.Vector3d.
|
|
223356
|
+
const areaTol = _RegionOps__WEBPACK_IMPORTED_MODULE_1__.RegionOps.computeXYAreaTolerance(rangeAB);
|
|
223357
|
+
const direction = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_12__.Vector3d.create(1.0, -0.12328974132467);
|
|
223358
|
+
let margin = 0.1;
|
|
223359
|
+
this._workSegment = _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_13__.PlaneAltitudeRangeContext.findExtremePointsInDirection(rangeAB.corners(), direction, this._workSegment);
|
|
223360
|
+
if (this._workSegment)
|
|
223361
|
+
margin *= this._workSegment.point0Ref.distanceXY(this._workSegment.point1Ref); // how much further to extend each bridge ray
|
|
223362
|
+
const maxPoints = [];
|
|
223363
|
+
const findExtremePointsInLoop = (region) => {
|
|
223364
|
+
const area = _RegionOps__WEBPACK_IMPORTED_MODULE_1__.RegionOps.computeXYArea(region);
|
|
223365
|
+
if (area === undefined || Math.abs(area) < areaTol)
|
|
223366
|
+
return; // avoid bridging trivial faces
|
|
223367
|
+
this._workSegment = _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_13__.PlaneAltitudeRangeContext.findExtremePointsInDirection(region, direction, this._workSegment);
|
|
223368
|
+
if (this._workSegment)
|
|
223369
|
+
maxPoints.push(this._workSegment.point1Ref);
|
|
223370
|
+
};
|
|
223272
223371
|
for (const groupMembers of [this.groupA.members, this.groupB.members]) {
|
|
223273
223372
|
for (const m of groupMembers) {
|
|
223274
223373
|
if (m.region instanceof _Loop__WEBPACK_IMPORTED_MODULE_8__.Loop) {
|
|
223275
|
-
|
|
223276
|
-
if (lowHigh && lowHigh.length === 2)
|
|
223277
|
-
maxXPoints.push(lowHigh[1]);
|
|
223374
|
+
findExtremePointsInLoop(m.region);
|
|
223278
223375
|
}
|
|
223279
223376
|
else if (m.region instanceof _ParityRegion__WEBPACK_IMPORTED_MODULE_9__.ParityRegion) {
|
|
223280
|
-
for (const loop of m.region.children)
|
|
223281
|
-
|
|
223282
|
-
if (lowHigh && lowHigh.length === 2)
|
|
223283
|
-
maxXPoints.push(lowHigh[1]);
|
|
223284
|
-
}
|
|
223377
|
+
for (const loop of m.region.children)
|
|
223378
|
+
findExtremePointsInLoop(loop);
|
|
223285
223379
|
}
|
|
223286
223380
|
}
|
|
223287
223381
|
}
|
|
223288
|
-
const
|
|
223289
|
-
|
|
223290
|
-
const
|
|
223291
|
-
|
|
223292
|
-
//
|
|
223293
|
-
//
|
|
223294
|
-
//
|
|
223295
|
-
//
|
|
223296
|
-
//
|
|
223297
|
-
|
|
223298
|
-
const
|
|
223299
|
-
|
|
223382
|
+
const ray = _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_14__.Ray3d.createZero();
|
|
223383
|
+
direction.normalizeInPlace();
|
|
223384
|
+
for (const p of maxPoints) {
|
|
223385
|
+
// Make a line from...
|
|
223386
|
+
// 1) exactly the max point of the loops to
|
|
223387
|
+
// 2) a point clearly outside the big range
|
|
223388
|
+
// If p came from some inner loop this will...
|
|
223389
|
+
// 1) create a bridge from the inner loop through any containing loops (always)
|
|
223390
|
+
// 2) avoid crossing any containing loop at a vertex. (with high probability, but not absolutely always)
|
|
223391
|
+
const bridgeLength = margin + _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_14__.Ray3d.create(p, direction, ray).intersectionWithRange3d(rangeAB).high;
|
|
223392
|
+
const outside = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_12__.Point3d.createAdd2Scaled(p, 1.0, direction, bridgeLength);
|
|
223393
|
+
const bridgeLine = _LineSegment3d__WEBPACK_IMPORTED_MODULE_11__.LineSegment3d.createXYXY(p.x, p.y, outside.x, outside.y);
|
|
223394
|
+
this.extraGeometry.addMember(bridgeLine, true);
|
|
223300
223395
|
}
|
|
223301
223396
|
}
|
|
223302
223397
|
/**
|
|
@@ -223320,8 +223415,8 @@ class RegionBooleanContext {
|
|
|
223320
223415
|
}
|
|
223321
223416
|
}
|
|
223322
223417
|
// const range = RegionOps.curveArrayRange(allPrimitives);
|
|
223323
|
-
const intersections =
|
|
223324
|
-
const graph =
|
|
223418
|
+
const intersections = _CurveCurve__WEBPACK_IMPORTED_MODULE_15__.CurveCurve.allIntersectionsAmongPrimitivesXY(allPrimitives);
|
|
223419
|
+
const graph = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_16__.PlanarSubdivision.assembleHalfEdgeGraph(allPrimitives, intersections);
|
|
223325
223420
|
this.graph = graph;
|
|
223326
223421
|
this.faceAreaFunction = faceAreaFromCurvedEdgeData;
|
|
223327
223422
|
}
|
|
@@ -223398,26 +223493,24 @@ class RegionBooleanContext {
|
|
|
223398
223493
|
* @param delta
|
|
223399
223494
|
*/
|
|
223400
223495
|
recordTransitionAcrossEdge(node, delta) {
|
|
223401
|
-
const
|
|
223402
|
-
|
|
223496
|
+
const updateRegionGroupMemberState = (member) => {
|
|
223497
|
+
if (member.parentGroup.groupOpType === RegionGroupOpType.NonBounding)
|
|
223498
|
+
return member; // no transition across a bridge edge
|
|
223403
223499
|
if (delta !== 0) {
|
|
223404
|
-
const oldSweepState =
|
|
223405
|
-
|
|
223406
|
-
|
|
223500
|
+
const oldSweepState = member.sweepState;
|
|
223501
|
+
member.sweepState += delta;
|
|
223502
|
+
member.parentGroup.recordMemberStateChange(oldSweepState, member.sweepState);
|
|
223407
223503
|
}
|
|
223408
|
-
return
|
|
223409
|
-
}
|
|
223410
|
-
|
|
223504
|
+
return member;
|
|
223505
|
+
};
|
|
223506
|
+
const data = node.edgeTag;
|
|
223507
|
+
if (data instanceof RegionGroupMember)
|
|
223508
|
+
return updateRegionGroupMemberState(data);
|
|
223509
|
+
if (data instanceof _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_17__.CurveLocationDetail) {
|
|
223411
223510
|
// We trust that the caller has linked from the graph node to a curve which has a RegionGroupMember as its parent.
|
|
223412
223511
|
const member = data.curve.parent;
|
|
223413
|
-
if (member instanceof RegionGroupMember)
|
|
223414
|
-
|
|
223415
|
-
const oldSweepState = member.sweepState;
|
|
223416
|
-
member.sweepState += delta;
|
|
223417
|
-
member.parentGroup.recordMemberStateChange(oldSweepState, member.sweepState);
|
|
223418
|
-
}
|
|
223419
|
-
return member;
|
|
223420
|
-
}
|
|
223512
|
+
if (member instanceof RegionGroupMember)
|
|
223513
|
+
return updateRegionGroupMemberState(member);
|
|
223421
223514
|
}
|
|
223422
223515
|
return undefined;
|
|
223423
223516
|
}
|
|
@@ -223435,8 +223528,9 @@ class RegionBooleanContext {
|
|
|
223435
223528
|
}
|
|
223436
223529
|
/** Announce entry to a graph face.
|
|
223437
223530
|
* * Both both sides of a graph edge are from the same RegionGroupMember.
|
|
223438
|
-
* * Hence "crossing that edge"
|
|
223531
|
+
* * Hence "crossing that edge" changes the parity count for the RegionGroupMember that owns that edge by 1.
|
|
223439
223532
|
* * The parity count for other RegionGroupMembers are never affected by this crossing.
|
|
223533
|
+
* * Crossing a bridge edge does not change the parity count.
|
|
223440
223534
|
*/
|
|
223441
223535
|
enterFace(_facePathStack, newFaceNode) {
|
|
223442
223536
|
this.recordTransitionAcrossEdge(newFaceNode, 1);
|
|
@@ -223448,8 +223542,8 @@ class RegionBooleanContext {
|
|
|
223448
223542
|
return true;
|
|
223449
223543
|
}
|
|
223450
223544
|
/** Announce face exit */
|
|
223451
|
-
leaveFace(_facePathStack,
|
|
223452
|
-
this.recordTransitionAcrossEdge(
|
|
223545
|
+
leaveFace(_facePathStack, oldFaceNode) {
|
|
223546
|
+
this.recordTransitionAcrossEdge(oldFaceNode, -1);
|
|
223453
223547
|
return true;
|
|
223454
223548
|
}
|
|
223455
223549
|
}
|
|
@@ -223470,7 +223564,7 @@ function areaUnderPartialCurveXY(detail, xyStart, xyEnd, referencePoint) {
|
|
|
223470
223564
|
if (detail.curve instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_11__.LineSegment3d) {
|
|
223471
223565
|
// ah .. nothing to do for a line segment
|
|
223472
223566
|
}
|
|
223473
|
-
else if (detail.curve instanceof
|
|
223567
|
+
else if (detail.curve instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_18__.Arc3d) {
|
|
223474
223568
|
areaToChord = detail.curve.areaToChordXY(detail.fraction, detail.fraction1);
|
|
223475
223569
|
}
|
|
223476
223570
|
}
|
|
@@ -225076,18 +225170,25 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
225076
225170
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
225077
225171
|
/* harmony export */ "PlaneAltitudeRangeContext": () => (/* binding */ PlaneAltitudeRangeContext)
|
|
225078
225172
|
/* harmony export */ });
|
|
225173
|
+
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
225079
225174
|
/* harmony import */ var _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../geometry3d/GeometryHandler */ "../../core/geometry/lib/esm/geometry3d/GeometryHandler.js");
|
|
225080
|
-
/* harmony import */ var
|
|
225175
|
+
/* harmony import */ var _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../geometry3d/GrowableXYZArray */ "../../core/geometry/lib/esm/geometry3d/GrowableXYZArray.js");
|
|
225176
|
+
/* harmony import */ var _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../geometry3d/Plane3dByOriginAndUnitNormal */ "../../core/geometry/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js");
|
|
225081
225177
|
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
225178
|
+
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
225179
|
+
/* harmony import */ var _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../geometry3d/Ray3d */ "../../core/geometry/lib/esm/geometry3d/Ray3d.js");
|
|
225180
|
+
/* harmony import */ var _GeometryQuery__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
|
|
225181
|
+
/* harmony import */ var _LineSegment3d__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
|
|
225082
225182
|
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
225083
|
-
/* harmony import */ var _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../geometry3d/Plane3dByOriginAndUnitNormal */ "../../core/geometry/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js");
|
|
225084
225183
|
/*---------------------------------------------------------------------------------------------
|
|
225085
225184
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
225086
225185
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
225087
225186
|
*--------------------------------------------------------------------------------------------*/
|
|
225088
|
-
|
|
225089
|
-
|
|
225090
|
-
|
|
225187
|
+
|
|
225188
|
+
|
|
225189
|
+
|
|
225190
|
+
|
|
225191
|
+
|
|
225091
225192
|
|
|
225092
225193
|
|
|
225093
225194
|
|
|
@@ -225157,13 +225258,65 @@ class PlaneAltitudeRangeContext extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
225157
225258
|
this.announcePoint((this._workPoint = g.startPoint(this._workPoint)));
|
|
225158
225259
|
this.announcePoint((this._workPoint = g.endPoint(this._workPoint)));
|
|
225159
225260
|
}
|
|
225160
|
-
static
|
|
225161
|
-
const
|
|
225261
|
+
static findExtremesInDirection(geometry, direction) {
|
|
225262
|
+
const origin = direction instanceof _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_3__.Ray3d ? direction.origin : _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_4__.Point3d.createZero();
|
|
225263
|
+
const vector = direction instanceof _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_3__.Ray3d ? direction.direction : direction;
|
|
225264
|
+
const plane = _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_5__.Plane3dByOriginAndUnitNormal.create(origin, vector); // vector is normalized, so altitudes are distances
|
|
225162
225265
|
if (plane) {
|
|
225163
225266
|
const context = new PlaneAltitudeRangeContext(plane);
|
|
225164
|
-
geometry.
|
|
225165
|
-
|
|
225166
|
-
|
|
225267
|
+
if (geometry instanceof _GeometryQuery__WEBPACK_IMPORTED_MODULE_6__.GeometryQuery) {
|
|
225268
|
+
geometry.dispatchToGeometryHandler(context);
|
|
225269
|
+
}
|
|
225270
|
+
else if (geometry instanceof _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_7__.GrowableXYZArray) {
|
|
225271
|
+
context.announcePoints(geometry);
|
|
225272
|
+
}
|
|
225273
|
+
else {
|
|
225274
|
+
for (const pt of geometry)
|
|
225275
|
+
context.announcePoint(pt);
|
|
225276
|
+
}
|
|
225277
|
+
return context;
|
|
225278
|
+
}
|
|
225279
|
+
return undefined;
|
|
225280
|
+
}
|
|
225281
|
+
/** Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction,
|
|
225282
|
+
* and return points at min and max altitude, packed into a `LineSegment3d`.
|
|
225283
|
+
* @param geometry geometry to project
|
|
225284
|
+
* @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
225285
|
+
* @param lowHigh optional receiver for output
|
|
225286
|
+
*/
|
|
225287
|
+
static findExtremePointsInDirection(geometry, direction, lowHigh) {
|
|
225288
|
+
const context = this.findExtremesInDirection(geometry, direction);
|
|
225289
|
+
if (context && context.highPoint && context.lowPoint)
|
|
225290
|
+
return _LineSegment3d__WEBPACK_IMPORTED_MODULE_8__.LineSegment3d.create(context.lowPoint, context.highPoint, lowHigh);
|
|
225291
|
+
return undefined;
|
|
225292
|
+
}
|
|
225293
|
+
/** Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction,
|
|
225294
|
+
* and return the min and max altitudes, packed into a Range1d.
|
|
225295
|
+
* @param geometry geometry to project
|
|
225296
|
+
* @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
225297
|
+
* @param lowHigh optional receiver for output
|
|
225298
|
+
*/
|
|
225299
|
+
static findExtremeAltitudesInDirection(geometry, direction, lowHigh) {
|
|
225300
|
+
const context = this.findExtremesInDirection(geometry, direction);
|
|
225301
|
+
if (context && !context.range.isNull)
|
|
225302
|
+
return _geometry3d_Range__WEBPACK_IMPORTED_MODULE_1__.Range1d.createFrom(context.range, lowHigh);
|
|
225303
|
+
return undefined;
|
|
225304
|
+
}
|
|
225305
|
+
/** Project geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
|
|
225306
|
+
* @param geometry geometry to project
|
|
225307
|
+
* @param direction vector or ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
225308
|
+
* @param lowHigh optional receiver for output
|
|
225309
|
+
*/
|
|
225310
|
+
static findExtremeFractionsAlongDirection(geometry, direction, lowHigh) {
|
|
225311
|
+
const range = this.findExtremeAltitudesInDirection(geometry, direction, lowHigh);
|
|
225312
|
+
if (undefined !== range) {
|
|
225313
|
+
const mag = (direction instanceof _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_4__.Vector3d) ? direction.magnitude() : direction.direction.magnitude();
|
|
225314
|
+
const scaleToFraction = _Geometry__WEBPACK_IMPORTED_MODULE_9__.Geometry.conditionalDivideCoordinate(1.0, mag);
|
|
225315
|
+
if (undefined !== scaleToFraction) {
|
|
225316
|
+
range.low *= scaleToFraction;
|
|
225317
|
+
range.high *= scaleToFraction;
|
|
225318
|
+
return range;
|
|
225319
|
+
}
|
|
225167
225320
|
}
|
|
225168
225321
|
return undefined;
|
|
225169
225322
|
}
|
|
@@ -228205,13 +228358,14 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
228205
228358
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
228206
228359
|
/* harmony export */ "TransitionSpiral3d": () => (/* binding */ TransitionSpiral3d)
|
|
228207
228360
|
/* harmony export */ });
|
|
228208
|
-
/* harmony import */ var
|
|
228361
|
+
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
228362
|
+
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
228209
228363
|
/* harmony import */ var _geometry3d_Segment1d__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../geometry3d/Segment1d */ "../../core/geometry/lib/esm/geometry3d/Segment1d.js");
|
|
228210
228364
|
/* harmony import */ var _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../geometry3d/Transform */ "../../core/geometry/lib/esm/geometry3d/Transform.js");
|
|
228211
|
-
/* harmony import */ var
|
|
228365
|
+
/* harmony import */ var _CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
228212
228366
|
/* harmony import */ var _internalContexts_CurveOffsetXYHandler__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../internalContexts/CurveOffsetXYHandler */ "../../core/geometry/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js");
|
|
228367
|
+
/* harmony import */ var _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
228213
228368
|
/* harmony import */ var _internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
|
|
228214
|
-
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
228215
228369
|
/*---------------------------------------------------------------------------------------------
|
|
228216
228370
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
228217
228371
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -228226,6 +228380,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
228226
228380
|
|
|
228227
228381
|
|
|
228228
228382
|
|
|
228383
|
+
|
|
228229
228384
|
/**
|
|
228230
228385
|
* TransitionSpiral3d is a base class for multiple variants of spirals.
|
|
228231
228386
|
* * The menagerie of spiral types have 2 broad categories:
|
|
@@ -228362,6 +228517,14 @@ class TransitionSpiral3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__.Cu
|
|
|
228362
228517
|
count = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.clamp(5, count, 30);
|
|
228363
228518
|
return this.rangeBetweenFractionsByCount(fractionA, fractionB, count, transform, 0.5);
|
|
228364
228519
|
}
|
|
228520
|
+
/** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
|
|
228521
|
+
* @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
|
|
228522
|
+
* @param lowHigh optional receiver for output
|
|
228523
|
+
* @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.
|
|
228524
|
+
*/
|
|
228525
|
+
projectedParameterRange(ray, lowHigh) {
|
|
228526
|
+
return _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_7__.PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
|
|
228527
|
+
}
|
|
228365
228528
|
}
|
|
228366
228529
|
|
|
228367
228530
|
|
|
@@ -243691,7 +243854,7 @@ class Range2d extends RangeBase {
|
|
|
243691
243854
|
yLength() { const a = this.high.y - this.low.y; return a > 0.0 ? a : 0.0; }
|
|
243692
243855
|
/** return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very large negative coordinates. */
|
|
243693
243856
|
diagonal(result) { return this.low.vectorTo(this.high, result); }
|
|
243694
|
-
/** return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very large negative coordinates. */
|
|
243857
|
+
/** 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. */
|
|
243695
243858
|
diagonalFractionToPoint(fraction, result) { return this.low.interpolate(fraction, this.high, result); }
|
|
243696
243859
|
/** return a point given by fractional positions on the XY axes. This is done with no check for isNull !!! */
|
|
243697
243860
|
fractionToPoint(fractionX, fractionY, result) {
|
|
@@ -277401,16 +277564,17 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
277401
277564
|
/* harmony export */ "HalfEdgeGraphOps": () => (/* binding */ HalfEdgeGraphOps),
|
|
277402
277565
|
/* harmony export */ "VertexNeighborhoodSortData": () => (/* binding */ VertexNeighborhoodSortData)
|
|
277403
277566
|
/* harmony export */ });
|
|
277567
|
+
/* harmony import */ var _curve_LineSegment3d__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../curve/LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
|
|
277404
277568
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
277405
277569
|
/* harmony import */ var _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../geometry3d/Angle */ "../../core/geometry/lib/esm/geometry3d/Angle.js");
|
|
277406
|
-
/* harmony import */ var
|
|
277570
|
+
/* harmony import */ var _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../geometry3d/Point2dVector2d */ "../../core/geometry/lib/esm/geometry3d/Point2dVector2d.js");
|
|
277407
277571
|
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
277408
277572
|
/* harmony import */ var _numerics_ClusterableArray__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../numerics/ClusterableArray */ "../../core/geometry/lib/esm/numerics/ClusterableArray.js");
|
|
277409
|
-
/* harmony import */ var
|
|
277573
|
+
/* harmony import */ var _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../numerics/Polynomials */ "../../core/geometry/lib/esm/numerics/Polynomials.js");
|
|
277410
277574
|
/* harmony import */ var _Graph__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Graph */ "../../core/geometry/lib/esm/topology/Graph.js");
|
|
277411
|
-
/* harmony import */ var
|
|
277412
|
-
/* harmony import */ var
|
|
277413
|
-
/* harmony import */ var
|
|
277575
|
+
/* harmony import */ var _HalfEdgePriorityQueue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./HalfEdgePriorityQueue */ "../../core/geometry/lib/esm/topology/HalfEdgePriorityQueue.js");
|
|
277576
|
+
/* harmony import */ var _RegularizeFace__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./RegularizeFace */ "../../core/geometry/lib/esm/topology/RegularizeFace.js");
|
|
277577
|
+
/* harmony import */ var _Triangulation__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Triangulation */ "../../core/geometry/lib/esm/topology/Triangulation.js");
|
|
277414
277578
|
/*---------------------------------------------------------------------------------------------
|
|
277415
277579
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
277416
277580
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -277425,6 +277589,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
277425
277589
|
|
|
277426
277590
|
|
|
277427
277591
|
|
|
277592
|
+
|
|
277428
277593
|
class GraphSplitData {
|
|
277429
277594
|
constructor() {
|
|
277430
277595
|
this.numUpEdge = 0;
|
|
@@ -277758,7 +277923,14 @@ class HalfEdgeGraphMerge {
|
|
|
277758
277923
|
if (clusterTableIndex !== _numerics_ClusterableArray__WEBPACK_IMPORTED_MODULE_4__.ClusterableArray.clusterTerminator) {
|
|
277759
277924
|
const nodeA = allNodes[clusterTableIndex];
|
|
277760
277925
|
const nodeB = nodeA.faceSuccessor;
|
|
277761
|
-
let
|
|
277926
|
+
let getPrecomputedRadians = outboundRadiansFunction;
|
|
277927
|
+
if (getPrecomputedRadians) {
|
|
277928
|
+
// Recompute theta when edge geometry is completely determined by the vertices, which may have been perturbed by clustering.
|
|
277929
|
+
const detail = nodeA.edgeTag;
|
|
277930
|
+
if (undefined === detail || undefined === detail.curve || detail.curve instanceof _curve_LineSegment3d__WEBPACK_IMPORTED_MODULE_5__.LineSegment3d)
|
|
277931
|
+
getPrecomputedRadians = undefined;
|
|
277932
|
+
}
|
|
277933
|
+
let radians = getPrecomputedRadians ? getPrecomputedRadians(nodeA) : Math.atan2(nodeB.y - nodeA.y, nodeB.x - nodeA.x);
|
|
277762
277934
|
if (_geometry3d_Angle__WEBPACK_IMPORTED_MODULE_3__.Angle.isAlmostEqualRadiansAllowPeriodShift(radians, -Math.PI))
|
|
277763
277935
|
radians = Math.PI;
|
|
277764
277936
|
clusters.setExtraData(clusterTableIndex, 0, radians);
|
|
@@ -277838,7 +278010,7 @@ class HalfEdgeGraphMerge {
|
|
|
277838
278010
|
}
|
|
277839
278011
|
}
|
|
277840
278012
|
static buildVerticalSweepPriorityQueue(graph) {
|
|
277841
|
-
const sweepHeap = new
|
|
278013
|
+
const sweepHeap = new _HalfEdgePriorityQueue__WEBPACK_IMPORTED_MODULE_6__.HalfEdgePriorityQueueWithPartnerArray();
|
|
277842
278014
|
for (const p of graph.allHalfEdges) {
|
|
277843
278015
|
if (HalfEdgeGraphOps.compareNodesYXUp(p, p.faceSuccessor) < 0) {
|
|
277844
278016
|
sweepHeap.priorityQueue.push(p);
|
|
@@ -277863,7 +278035,7 @@ class HalfEdgeGraphMerge {
|
|
|
277863
278035
|
const vx = nodeB1.x - bx0;
|
|
277864
278036
|
const vy = nodeB1.y - by0;
|
|
277865
278037
|
// cspell:word lineSegmentXYUVTransverseIntersectionUnbounded
|
|
277866
|
-
if (
|
|
278038
|
+
if (_numerics_Polynomials__WEBPACK_IMPORTED_MODULE_7__.SmallSystem.lineSegmentXYUVTransverseIntersectionUnbounded(ax0, ay0, ux, uy, bx0, by0, vx, vy, fractions)) {
|
|
277867
278039
|
pointA.x = ax0 + fractions.x * ux;
|
|
277868
278040
|
pointA.y = ay0 + fractions.x * uy;
|
|
277869
278041
|
pointB.x = bx0 + fractions.y * vx;
|
|
@@ -277888,9 +278060,9 @@ class HalfEdgeGraphMerge {
|
|
|
277888
278060
|
const smallFraction = 1.0e-8;
|
|
277889
278061
|
const largeFraction = 1.0 - smallFraction;
|
|
277890
278062
|
let i;
|
|
277891
|
-
const fractions =
|
|
277892
|
-
const pointA =
|
|
277893
|
-
const pointB =
|
|
278063
|
+
const fractions = _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_8__.Vector2d.create();
|
|
278064
|
+
const pointA = _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_8__.Point2d.create();
|
|
278065
|
+
const pointB = _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_8__.Point2d.create();
|
|
277894
278066
|
let nodeB0;
|
|
277895
278067
|
const popTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallMetricDistance;
|
|
277896
278068
|
while (undefined !== (nodeA0 = sweepHeap.priorityQueue.pop())) {
|
|
@@ -277955,13 +278127,13 @@ class HalfEdgeGraphMerge {
|
|
|
277955
278127
|
if (chains.length < 1)
|
|
277956
278128
|
return undefined;
|
|
277957
278129
|
const graph = new _Graph__WEBPACK_IMPORTED_MODULE_2__.HalfEdgeGraph();
|
|
277958
|
-
const chainSeeds =
|
|
278130
|
+
const chainSeeds = _Triangulation__WEBPACK_IMPORTED_MODULE_9__.Triangulator.directCreateChainsFromCoordinates(graph, chains);
|
|
277959
278131
|
for (const seed of chainSeeds)
|
|
277960
278132
|
seed.setMaskAroundFace(mask);
|
|
277961
278133
|
this.splitIntersectingEdges(graph);
|
|
277962
278134
|
this.clusterAndMergeXYTheta(graph);
|
|
277963
278135
|
if (regularize) {
|
|
277964
|
-
const context = new
|
|
278136
|
+
const context = new _RegularizeFace__WEBPACK_IMPORTED_MODULE_10__.RegularizationContext(graph);
|
|
277965
278137
|
context.regularizeGraph(true, true);
|
|
277966
278138
|
}
|
|
277967
278139
|
return graph;
|
|
@@ -310534,7 +310706,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
|
|
|
310534
310706
|
/***/ ((module) => {
|
|
310535
310707
|
|
|
310536
310708
|
"use strict";
|
|
310537
|
-
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"3.5.0-dev.
|
|
310709
|
+
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"}}]}}');
|
|
310538
310710
|
|
|
310539
310711
|
/***/ })
|
|
310540
310712
|
|