@itwin/rpcinterface-full-stack-tests 4.1.0-dev.70 → 4.1.0-dev.72

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.
@@ -21,10 +21,10 @@
21
21
 
22
22
  /***/ }),
23
23
 
24
- /***/ "../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.9/node_modules/@itwin/certa/lib/utils/CallbackUtils.js":
25
- /*!********************************************************************************************************************!*\
26
- !*** ../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.9/node_modules/@itwin/certa/lib/utils/CallbackUtils.js ***!
27
- \********************************************************************************************************************/
24
+ /***/ "../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.11/node_modules/@itwin/certa/lib/utils/CallbackUtils.js":
25
+ /*!*********************************************************************************************************************!*\
26
+ !*** ../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.11/node_modules/@itwin/certa/lib/utils/CallbackUtils.js ***!
27
+ \*********************************************************************************************************************/
28
28
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
29
29
 
30
30
  "use strict";
@@ -2825,7 +2825,7 @@ exports.getAccessTokenFromBackend = exports.getTokenCallbackName = void 0;
2825
2825
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2826
2826
  * See LICENSE.md in the project root for license terms and full copyright notice.
2827
2827
  *--------------------------------------------------------------------------------------------*/
2828
- const CallbackUtils_1 = __webpack_require__(/*! @itwin/certa/lib/utils/CallbackUtils */ "../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.9/node_modules/@itwin/certa/lib/utils/CallbackUtils.js");
2828
+ const CallbackUtils_1 = __webpack_require__(/*! @itwin/certa/lib/utils/CallbackUtils */ "../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.11/node_modules/@itwin/certa/lib/utils/CallbackUtils.js");
2829
2829
  // Shared by both the frontend and backend side of the tests
2830
2830
  exports.getTokenCallbackName = "getToken";
2831
2831
  async function getAccessTokenFromBackend(user, oidcConfig) {
@@ -20801,8 +20801,8 @@ __webpack_require__.r(__webpack_exports__);
20801
20801
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
20802
20802
  /* harmony export */ "default": () => (/* binding */ Browser)
20803
20803
  /* harmony export */ });
20804
- /* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
20805
- /* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/createClass.js");
20804
+ /* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
20805
+ /* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/createClass.js");
20806
20806
 
20807
20807
 
20808
20808
 
@@ -75744,17 +75744,25 @@ class AccuSnap {
75744
75744
  }
75745
75745
  }
75746
75746
  }
75747
- /** @internal */
75747
+ /** TentativeOrAccuSnap returns information about an active snap generated by either [[AccuSnap]] or [[TentativePoint]].
75748
+ * @public
75749
+ */
75748
75750
  class TentativeOrAccuSnap {
75751
+ /** @return true if AccuSnap is *hot* or TentativePoint is active and snapped to pickable geometry. */
75749
75752
  static get isHot() { return _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.isHot || _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.tentativePoint.isSnapped; }
75753
+ /** Get the current snap from either AccuSnap or TentativePoint.
75754
+ * @param checkIsHot true to only return the snap from AccuSnap when it is *hot*.
75755
+ * @return The current snap from AccuSnap, TentativePoint, or undefined.
75756
+ */
75750
75757
  static getCurrentSnap(checkIsHot = true) {
75751
- // Checking for a hot AccuSnap hit before checking tentative is probably necessary for extended intersections?
75758
+ // Checking for a hot AccuSnap before checking TentativePoint is done to support extended intersections...
75752
75759
  if (_IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.isHot)
75753
75760
  return _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.getCurrSnapDetail();
75754
75761
  if (_IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.tentativePoint.isSnapped)
75755
75762
  return _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.tentativePoint.currSnap;
75756
75763
  return (checkIsHot ? undefined : _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.getCurrSnapDetail());
75757
75764
  }
75765
+ /** @return The current snap location from AccuSnap or TentativePoint */
75758
75766
  static getCurrentPoint() {
75759
75767
  if (_IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.isHot) {
75760
75768
  const snap = _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.getCurrSnapDetail();
@@ -75763,6 +75771,7 @@ class TentativeOrAccuSnap {
75763
75771
  }
75764
75772
  return _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.tentativePoint.getPoint();
75765
75773
  }
75774
+ /** @return The current snap Viewport from AccuSnap or TentativePoint */
75766
75775
  static getCurrentView() {
75767
75776
  const snap = _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.getCurrSnapDetail();
75768
75777
  return snap ? snap.viewport : _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.tentativePoint.viewport;
@@ -97873,7 +97882,7 @@ class GltfParser {
97873
97882
  if (dracoMeshes.length === 0)
97874
97883
  return;
97875
97884
  try {
97876
- const dracoLoader = (await Promise.all(/*! import() */[__webpack_require__.e("vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_4_node_modules_loaders_gl_draco_di-6aa0d4"), __webpack_require__.e("_05e2")]).then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.4.4/node_modules/@loaders.gl/draco/dist/esm/index.js"))).DracoLoader;
97885
+ const dracoLoader = (await Promise.all(/*! import() */[__webpack_require__.e("vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_7_node_modules_loaders_gl_draco_di-02c2bd"), __webpack_require__.e("_0062")]).then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.4.7/node_modules/@loaders.gl/draco/dist/esm/index.js"))).DracoLoader;
97877
97886
  await Promise.all(dracoMeshes.map(async (x) => this.decodeDracoMesh(x, dracoLoader)));
97878
97887
  }
97879
97888
  catch (err) {
@@ -140987,7 +140996,7 @@ class GltfReader {
140987
140996
  if (dracoMeshes.length === 0)
140988
140997
  return;
140989
140998
  try {
140990
- const dracoLoader = (await Promise.all(/*! import() */[__webpack_require__.e("vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_4_node_modules_loaders_gl_draco_di-6aa0d4"), __webpack_require__.e("_05e2")]).then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.4.4/node_modules/@loaders.gl/draco/dist/esm/index.js"))).DracoLoader;
140999
+ const dracoLoader = (await Promise.all(/*! import() */[__webpack_require__.e("vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_7_node_modules_loaders_gl_draco_di-02c2bd"), __webpack_require__.e("_0062")]).then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.4.7/node_modules/@loaders.gl/draco/dist/esm/index.js"))).DracoLoader;
140991
141000
  await Promise.all(dracoMeshes.map(async (x) => this.decodeDracoMesh(x, dracoLoader)));
140992
141001
  }
140993
141002
  catch (err) {
@@ -143865,7 +143874,7 @@ function readPnts(stream, dataOffset, pnts) {
143865
143874
  }
143866
143875
  async function decodeDracoPointCloud(buf) {
143867
143876
  try {
143868
- const dracoLoader = (await Promise.all(/*! import() */[__webpack_require__.e("vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_4_node_modules_loaders_gl_draco_di-6aa0d4"), __webpack_require__.e("_05e2")]).then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.4.4/node_modules/@loaders.gl/draco/dist/esm/index.js"))).DracoLoader;
143877
+ const dracoLoader = (await Promise.all(/*! import() */[__webpack_require__.e("vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_7_node_modules_loaders_gl_draco_di-02c2bd"), __webpack_require__.e("_0062")]).then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.4.7/node_modules/@loaders.gl/draco/dist/esm/index.js"))).DracoLoader;
143869
143878
  const mesh = await dracoLoader.parse(buf, {});
143870
143879
  if (mesh.topology !== "point-list")
143871
143880
  return undefined;
@@ -178316,7 +178325,7 @@ __webpack_require__.r(__webpack_exports__);
178316
178325
  /**
178317
178326
  * An AlternatingConvexClipTreeNode is a node in a tree structure in which
178318
178327
  * <ul>
178319
- * <li>Each node contains a ConvexClipPlaneSet
178328
+ * <li>Each node contains a ConvexClipPlaneSet.
178320
178329
  * <li>Each node contains an array of children which are also AlternatingConvexClipTreeNode.
178321
178330
  * <li>The rule for an in/out decision is that a point is IN the subtree under a node if
178322
178331
  * <ul>
@@ -178362,9 +178371,7 @@ class AlternatingCCTreeNode {
178362
178371
  builder.buildHullTree(result); // <-- Currently ALWAYS returns true
178363
178372
  return result;
178364
178373
  }
178365
- /**
178366
- * Build the outer convex hull will inlets as first level children
178367
- */
178374
+ /** Build the outer convex hull with inlets as first level children. */
178368
178375
  static createHullAndInletsForPolygon(points, result) {
178369
178376
  result = result ? result : new AlternatingCCTreeNode();
178370
178377
  result.empty();
@@ -178379,14 +178386,15 @@ class AlternatingCCTreeNode {
178379
178386
  }
178380
178387
  /**
178381
178388
  * Return an array with all the loops in the tree.
178382
- * This looses the alternating structure of the tree, but the collection still matches well-formed polygons by parity rules.
178389
+ * This loses the alternating structure of the tree, but the collection still matches well-formed polygons by
178390
+ * parity rules.
178383
178391
  */
178384
178392
  extractLoops() {
178385
178393
  const loops = [];
178386
178394
  this.extractLoopsGo(loops);
178387
178395
  return loops;
178388
178396
  }
178389
- /** Resets this AlternatingConvexClipTreeNode to a newly-created state */
178397
+ /** Resets this AlternatingConvexClipTreeNode to a newly-created state. */
178390
178398
  empty() {
178391
178399
  this.points.length = 0;
178392
178400
  this.planes.planes.length = 0;
@@ -178413,7 +178421,7 @@ class AlternatingCCTreeNode {
178413
178421
  const newNode = AlternatingCCTreeNode.createWithIndices(index0, numPoints);
178414
178422
  this.children.push(newNode);
178415
178423
  }
178416
- /** Add a plane to the ConvexClipPlaneSet */
178424
+ /** Add a plane to the ConvexClipPlaneSet. */
178417
178425
  addPlane(plane) {
178418
178426
  this.planes.addPlaneToConvexSet(plane);
178419
178427
  }
@@ -178428,7 +178436,8 @@ class AlternatingCCTreeNode {
178428
178436
  }
178429
178437
  return true;
178430
178438
  }
178431
- /** Add an AlternatingConvexClipTreeNode as a child of this one -- i.e. a hole.
178439
+ /**
178440
+ * Add an AlternatingConvexClipTreeNode as a child of this one -- i.e. a hole.
178432
178441
  * * The child pointer is pushed directly to the tree -- not cloned.
178433
178442
  */
178434
178443
  captureConvexClipPlaneSetAsVoid(child) {
@@ -178445,10 +178454,11 @@ class AlternatingCCTreeNode {
178445
178454
  clipper.appendCurveCollectionClip(this, curves, insideIntervals, outsideIntervals);
178446
178455
  }
178447
178456
  /**
178448
- *
178449
- * @param xyz input polygon. This is not changed.
178450
- * @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from the cache. This is NOT cleared.
178451
- * @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from the cache. This is NOT cleared.
178457
+ * @param xyz input polygon. This is not changed.
178458
+ * @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from
178459
+ * the cache. This is NOT cleared.
178460
+ * @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed
178461
+ * from the cache. This is NOT cleared.
178452
178462
  * @param arrayCache cache for reusable GrowableXYZArray.
178453
178463
  */
178454
178464
  appendPolygonClip(xyz, insideFragments, outsideFragments, arrayCache) {
@@ -178481,9 +178491,6 @@ class AlternatingCCTreeNode {
178481
178491
  }
178482
178492
  }
178483
178493
  }
178484
- /**
178485
- *
178486
- */
178487
178494
  depth() {
178488
178495
  const myDepth = 1;
178489
178496
  let maxChildDepth = 0;
@@ -178514,9 +178521,15 @@ class AlternatingCCTreeBuilder {
178514
178521
  result._points.pop();
178515
178522
  return result;
178516
178523
  }
178517
- get period() { return this._points.length; }
178518
- indexAfter(i) { return (i + 1) % this._points.length; }
178519
- indexBefore(i) { return (i + this._points.length - 1) % this._points.length; }
178524
+ get period() {
178525
+ return this._points.length;
178526
+ }
178527
+ indexAfter(i) {
178528
+ return (i + 1) % this._points.length;
178529
+ }
178530
+ indexBefore(i) {
178531
+ return (i + this._points.length - 1) % this._points.length;
178532
+ }
178520
178533
  pushIndex(primaryPointIndex) {
178521
178534
  this._stack.push(primaryPointIndex);
178522
178535
  }
@@ -178750,8 +178763,8 @@ class AlternatingCCTreeNodeCurveClipper {
178750
178763
  return false;
178751
178764
  }
178752
178765
  /**
178753
- * Run one level of recursion. On return, the stack is one level deeper than at entry and the new top of the stack has clip for this node
178754
- * (expensive -- must clone items of arrays during "swaps")
178766
+ * Run one level of recursion. On return, the stack is one level deeper than at entry and the new top of the stack
178767
+ * has clip for this node (expensive -- must clone items of arrays during "swaps").
178755
178768
  */
178756
178769
  recurse(node) {
178757
178770
  this.pushEmptySegmentFrame();
@@ -178841,25 +178854,26 @@ __webpack_require__.r(__webpack_exports__);
178841
178854
 
178842
178855
 
178843
178856
 
178844
- /** A BooleanClipFactory is a factory to create objects that implement interior nodes of a tree of boolean clip operations.
178857
+ /**
178858
+ * A BooleanClipFactory is a factory to create objects that implement interior nodes of a tree of boolean clip operations.
178845
178859
  * * These methods create specific clip tree types:
178846
178860
  * * Union
178847
178861
  * * Intersection
178848
178862
  * * Parity
178849
178863
  * * Difference
178850
- * * Each construction has a `keepInside` flag that optionally negates the initial result of the parity, intersection, parity, or difference:
178851
- * * if `keepInside === true`, accept the "inside" of the initial result
178852
- * * if `keepInside === false`, accept the "outside" of the initial result
178853
- * * These methods create various other specialized clippers
178854
- * *
178864
+ * * Each construction has a `keepInside` flag that optionally negates the initial result of the parity, intersection,
178865
+ * parity, or difference:
178866
+ * * if `keepInside === true`, accept the "inside" of the initial result.
178867
+ * * if `keepInside === false`, accept the "outside" of the initial result.
178868
+ * * These methods create various other specialized clippers.
178855
178869
  * @public
178856
178870
  */
178857
178871
  class BooleanClipFactory {
178858
178872
  /**
178859
- * Create a boolean clipper which performs a union over its children
178860
- * * if `keepInside === true`, accept the "inside" of the union result
178861
- * * if `keepInside === false`, accept the "outside" of the union result
178862
- * @param clippers clip objects to capture
178873
+ * Create a boolean clipper which performs a union over its children.
178874
+ * * if `keepInside === true`, accept the "inside" of the union result.
178875
+ * * if `keepInside === false`, accept the "outside" of the union result.
178876
+ * @param clippers clip objects to capture.
178863
178877
  * @param keepInside flag to select results inside or outside the clippers.
178864
178878
  */
178865
178879
  static createCaptureUnion(clippers, keepInside) {
@@ -178868,10 +178882,10 @@ class BooleanClipFactory {
178868
178882
  return result;
178869
178883
  }
178870
178884
  /**
178871
- * Create a boolean clipper which performs an intersection over its children
178872
- * * if `keepInside === true`, accept the "inside" of the intersection result
178873
- * * if `keepInside === false`, accept the "outside" of the intersection result
178874
- * @param clippers clip objects to capture
178885
+ * Create a boolean clipper which performs an intersection over its children.
178886
+ * * if `keepInside === true`, accept the "inside" of the intersection result.
178887
+ * * if `keepInside === false`, accept the "outside" of the intersection result.
178888
+ * @param clippers clip objects to capture.
178875
178889
  * @param keepInside flag to select results inside or outside the clippers.
178876
178890
  */
178877
178891
  static createCaptureIntersection(clippers, keepInside) {
@@ -178880,10 +178894,10 @@ class BooleanClipFactory {
178880
178894
  return result;
178881
178895
  }
178882
178896
  /**
178883
- * Create a boolean clipper which performs a parity over its children
178884
- * * if `keepInside === true`, accept the "inside" of the parity result
178885
- * * if `keepInside === false`, accept the "outside" of the parity result
178886
- * @param clippers clip objects to capture
178897
+ * Create a boolean clipper which performs a parity over its children.
178898
+ * * if `keepInside === true`, accept the "inside" of the parity result.
178899
+ * * if `keepInside === false`, accept the "outside" of the parity result.
178900
+ * @param clippers clip objects to capture.
178887
178901
  * @param keepInside flag to select results inside or outside the clippers.
178888
178902
  */
178889
178903
  static createCaptureParity(clippers, keepInside) {
@@ -178892,10 +178906,11 @@ class BooleanClipFactory {
178892
178906
  return result;
178893
178907
  }
178894
178908
  /**
178895
- * Create a boolean clipper which performs a difference operation for points "inside `primaryClipper`" and "outside `excludedClipper`"
178896
- * * if `keepInside === true`, accept the "inside" of the difference
178897
- * * if `keepInside === false`, accept the "outside" of the difference
178898
- * @param primaryClipper any clip object whose output is treated as positive
178909
+ * Create a boolean clipper which performs a difference operation for points "inside `primaryClipper`" and
178910
+ * "outside `excludedClipper`".
178911
+ * * if `keepInside === true`, accept the "inside" of the difference.
178912
+ * * if `keepInside === false`, accept the "outside" of the difference.
178913
+ * @param primaryClipper any clip object whose output is treated as positive.
178899
178914
  * @param excludeClip any clipper whose output is treated as negative.
178900
178915
  * @param keepInside flag to select results inside or outside the initial `primary minus excludeClipper` clippers.
178901
178916
  */
@@ -178904,19 +178919,17 @@ class BooleanClipFactory {
178904
178919
  return this.createCaptureIntersection([primaryClipper, mask], keepInside);
178905
178920
  }
178906
178921
  /**
178907
- * Create a boolean clipper which performs the reverse of that of `primaryClipper`
178908
- * @param primaryClipper clip objects to capture
178922
+ * Create a boolean clipper which performs the reverse of that of `primaryClipper`.
178923
+ * @param primaryClipper clip objects to capture.
178909
178924
  * @param keepInside flag to select results inside or outside the clippers.
178910
178925
  */
178911
178926
  static createCaptureClipOutside(primaryClipper) {
178912
178927
  return this.createCaptureUnion([primaryClipper], false);
178913
178928
  }
178914
178929
  /**
178915
- * convert `source` to an array of clipper objects.
178930
+ * Convert `source` to an array of clipper objects.
178916
178931
  * * ANY TYPE OF Clipper is accepted.
178917
178932
  * * REMARK: This is normally called only from the primary public method `parseToClipper`.
178918
- * @param source
178919
- * @param internal
178920
178933
  */
178921
178934
  static parseToClipperArray(source) {
178922
178935
  if (Array.isArray(source)) {
@@ -178940,7 +178953,7 @@ class BooleanClipFactory {
178940
178953
  return undefined;
178941
178954
  }
178942
178955
  /**
178943
- * look for content that represents a clipper.
178956
+ * Look for content that represents a clipper.
178944
178957
  * * Possible outputs are
178945
178958
  * * `ClipPlane`
178946
178959
  * * `ConvexClipPlaneSet`
@@ -179100,7 +179113,7 @@ class BooleanClipNode {
179100
179113
  this._clippers.push(child);
179101
179114
  }
179102
179115
  }
179103
- /** toggle the "keepInside" behavior. Return the prior value. */
179116
+ /** Toggle the "keepInside" behavior. Return the prior value. */
179104
179117
  toggleResult() {
179105
179118
  return this.selectResult(!this._keepInside);
179106
179119
  }
@@ -179111,7 +179124,7 @@ class BooleanClipNode {
179111
179124
  return s;
179112
179125
  }
179113
179126
  /**
179114
- * * Conditionally (if a1 > a0 strictly) call announce (a0, a1).
179127
+ * Conditionally (if a1 > a0 strictly) call announce (a0, a1).
179115
179128
  * * Return 0 if not called, 1 if called.
179116
179129
  */
179117
179130
  testedAnnounceNN(a0, a1, announce) {
@@ -179123,7 +179136,7 @@ class BooleanClipNode {
179123
179136
  return 0;
179124
179137
  }
179125
179138
  /**
179126
- * * Conditionally (if a1 > a0 strictly) call announce (a0, a1, cp).
179139
+ * Conditionally (if a1 > a0 strictly) call announce (a0, a1, cp).
179127
179140
  * * Return 0 if not called, 1 if called.
179128
179141
  */
179129
179142
  testedAnnounceNNC(a0, a1, cp, announce) {
@@ -179141,8 +179154,8 @@ class BooleanClipNode {
179141
179154
  this._intervalsB = q;
179142
179155
  }
179143
179156
  /**
179144
- * * announce all "outside intervals" --not masked by intervals
179145
- * * return true if any intervals announced.
179157
+ * Announce all "outside intervals" --not masked by intervals
179158
+ * * Return true if any intervals announced.
179146
179159
  */
179147
179160
  announcePartsNN(keepInside, intervals, f0, f1, announce) {
179148
179161
  let numAnnounce = 0;
@@ -179163,8 +179176,8 @@ class BooleanClipNode {
179163
179176
  return numAnnounce > 0;
179164
179177
  }
179165
179178
  /**
179166
- * * announce all "outside intervals" --not masked by intervals
179167
- * * return true if any intervals announced.
179179
+ * Announce all "outside intervals" --not masked by intervals
179180
+ * * Return true if any intervals announced.
179168
179181
  */
179169
179182
  announcePartsNNC(keepInside, intervals, f0, f1, cp, announce) {
179170
179183
  let numAnnounce = 0;
@@ -179189,7 +179202,7 @@ class BooleanClipNode {
179189
179202
  const q = this.isPointOnOrInsideChildren(point);
179190
179203
  return this._keepInside ? q : !q;
179191
179204
  }
179192
- /** Announce "in" portions of a line segment. See `Clipper.announceClippedSegmentIntervals` */
179205
+ /** Announce "in" portions of a line segment. See `Clipper.announceClippedSegmentIntervals` */
179193
179206
  announceClippedSegmentIntervals(f0, f1, pointA, pointB, announce) {
179194
179207
  this._intervalsA.length = 0;
179195
179208
  const announceIntervalB = (a0, a1) => {
@@ -179247,7 +179260,7 @@ class BooleanClipNodeUnion extends BooleanClipNode {
179247
179260
  constructor(keepInside) {
179248
179261
  super(keepInside);
179249
179262
  }
179250
- /** return true if inside any child clipper */
179263
+ /** Return true if inside any child clipper */
179251
179264
  isPointOnOrInsideChildren(point) {
179252
179265
  for (const clipper of this._clippers) {
179253
179266
  if (clipper.isPointOnOrInside(point))
@@ -179271,7 +179284,7 @@ class BooleanClipNodeParity extends BooleanClipNode {
179271
179284
  constructor(keepInside) {
179272
179285
  super(keepInside);
179273
179286
  }
179274
- /** return true if inside an odd number of clippers child clipper */
179287
+ /** Return true if inside an odd number of clippers child clipper */
179275
179288
  isPointOnOrInsideChildren(point) {
179276
179289
  let q = false;
179277
179290
  for (const clipper of this._clippers) {
@@ -179296,7 +179309,7 @@ class BooleanClipNodeIntersection extends BooleanClipNode {
179296
179309
  constructor(keepInside) {
179297
179310
  super(keepInside);
179298
179311
  }
179299
- /** return false if outside of any child clipper */
179312
+ /** Return false if outside of any child clipper */
179300
179313
  isPointOnOrInsideChildren(point) {
179301
179314
  for (const clipper of this._clippers) {
179302
179315
  if (!clipper.isPointOnOrInside(point))
@@ -179356,17 +179369,18 @@ __webpack_require__.r(__webpack_exports__);
179356
179369
 
179357
179370
 
179358
179371
 
179359
- /** A ClipPlane is a single plane represented as
179372
+ /**
179373
+ * A ClipPlane is a single plane represented as
179360
179374
  * * An inward unit normal (u,v,w)
179361
179375
  * * A signedDistance
179362
179376
  *
179363
179377
  * Hence
179364
- * * The halfspace function evaluation for "point" [x,y,z,] is: ([x,y,z] DOT (u,v,w)l - signedDistance)
179365
- * * POSITIVE values of the halfspace function are "inside"
179366
- * * ZERO value of the halfspace function is "on"
179367
- * * NEGATIVE value of the halfspace function is "outside"
179368
- * * A representative point on the plane is (signedDistance*u, signedDistance * v, signedDistance *w)
179369
- * * Given a point and inward normal, the signedDistance is (point DOT normal)
179378
+ * * The halfspace function evaluation for "point" (x,y,z) is `(x,y,z) DOT (u,v,w) - signedDistance`.
179379
+ * * POSITIVE values of the halfspace function are "inside".
179380
+ * * ZERO value of the halfspace function is "on".
179381
+ * * NEGATIVE value of the halfspace function is "outside".
179382
+ * * A representative point on the plane is (signedDistance * u, signedDistance * v, signedDistance * w).
179383
+ * * Given a point on the plane and the inward normal of the plane, `signedDistance = point DOT normal`.
179370
179384
  * @public
179371
179385
  */
179372
179386
  class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d {
@@ -179393,12 +179407,12 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179393
179407
  && this._interior === other._interior
179394
179408
  && this._invisible === other._invisible;
179395
179409
  }
179396
- /** return a cloned plane */
179410
+ /** Return a cloned plane */
179397
179411
  clone() {
179398
179412
  const result = new ClipPlane(this._inwardNormal.clone(), this._distanceFromOrigin, this._invisible, this._interior);
179399
179413
  return result;
179400
179414
  }
179401
- /** return Return a cloned plane with coordinate data negated. */
179415
+ /** Return a cloned plane with coordinate data negated. */
179402
179416
  cloneNegated() {
179403
179417
  const plane = new ClipPlane(this._inwardNormal.clone(), this._distanceFromOrigin, this._invisible, this._interior);
179404
179418
  plane.negateInPlace();
@@ -179417,7 +179431,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179417
179431
  return new ClipPlane(plane.getNormalRef().clone(), distance, invisible, interior);
179418
179432
  }
179419
179433
  /**
179420
- * * Create a ClipPlane with direct normal and signedDistance.
179434
+ * Create a ClipPlane with direct normal and signedDistance.
179421
179435
  * * The vector is normalized for storage.
179422
179436
  */
179423
179437
  static createNormalAndDistance(normal, distance, invisible = false, interior = false, result) {
@@ -179433,10 +179447,12 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179433
179447
  }
179434
179448
  return undefined;
179435
179449
  }
179436
- /** Create a ClipPlane
179437
- * * "normal" is the inward normal of the plane. (It is internally normalized)
179450
+ /**
179451
+ * Create a ClipPlane
179452
+ * * "normal" is the inward normal of the plane (it is internally normalized).
179438
179453
  * * "point" is any point of the plane.
179439
- * * The stored distance for the plane is the dot product of the point with the normal (i.e. treat the point's xyz as a vector from the origin.)
179454
+ * * The stored distance for the plane is the dot product of the point with the normal (i.e. treat the point's xyz as
179455
+ * a vector from the origin.)
179440
179456
  */
179441
179457
  static createNormalAndPoint(normal, point, invisible = false, interior = false, result) {
179442
179458
  const normalized = normal.normalize();
@@ -179452,11 +179468,12 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179452
179468
  }
179453
179469
  return undefined;
179454
179470
  }
179455
- /** Create a clip plane
179471
+ /**
179472
+ * Create a clip plane
179456
179473
  * @param origin any point on the plane.
179457
179474
  * @param vectorA any vector in the plane
179458
179475
  * @param vectorB any vector in the plane
179459
- * * returns undefined if the vectors are not independent.
179476
+ * Returns undefined if the vectors are not independent.
179460
179477
  * * The stored inward normal is vectorB.crossProduct(vectorA).
179461
179478
  * * That is, the vectors are considered as a right-handed pair when viewed from the outside.
179462
179479
  */
@@ -179464,11 +179481,12 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179464
179481
  const normalized = vectorB.crossProduct(vectorA);
179465
179482
  return this.createNormalAndPoint(normalized, origin, invisible, interior, result);
179466
179483
  }
179467
- /** Create a ClipPlane
179468
- * * "normal" (normalX, normalY, nz) is the inward normal of the plane.
179469
- * * The given (normalX,normalY,normalZ)
179470
- * * "point" is any point of the plane.
179471
- * * The stored distance for the plane is the dot product of the point with the normal (i.e. treat the point's xyz as a vector from the origin.)
179484
+ /**
179485
+ * Create a ClipPlane
179486
+ * * "normal" (normalX, normalY, normalZ) is the inward normal of the plane.
179487
+ * * "point" (originX,originY,originZ) is any point of the plane.
179488
+ * * The stored distance for the plane is the dot product of the point with the normal (i.e. treat the point's xyz
179489
+ * as a vector from the origin.)
179472
179490
  */
179473
179491
  static createNormalAndPointXYZXYZ(normalX, normalY, normalZ, originX, originY, originZ, invisible = false, interior = false, result) {
179474
179492
  const q = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.hypotenuseXYZ(normalX, normalY, normalZ);
@@ -179487,7 +179505,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179487
179505
  return undefined;
179488
179506
  }
179489
179507
  /**
179490
- * return a json object of the form
179508
+ * Return a json object of the form
179491
179509
  * `{"normal":[u,v,w],"dist":signedDistanceValue,"interior":true,"invisible":true}`
179492
179510
  */
179493
179511
  toJSON() {
@@ -179501,7 +179519,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179501
179519
  props.invisible = true;
179502
179520
  return props;
179503
179521
  }
179504
- /** parse json object to ClipPlane instance */
179522
+ /** Parse json object to ClipPlane instance */
179505
179523
  static fromJSON(json, result) {
179506
179524
  if (json && json.normal && undefined !== json.dist && Number.isFinite(json.dist))
179507
179525
  return ClipPlane.createNormalAndDistance(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.fromJSON(json.normal), json.dist, !!json.invisible, !!json.interior);
@@ -179512,22 +179530,22 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179512
179530
  this._invisible = invisible;
179513
179531
  this._interior = interior;
179514
179532
  }
179515
- /**
179516
- * Return the stored distanceFromOrigin property.
179517
- */
179518
- get distance() { return this._distanceFromOrigin; }
179519
- /**
179520
- * Return the stored inward normal property.
179521
- */
179522
- get inwardNormalRef() { return this._inwardNormal; }
179523
- /**
179524
- * Return the "interior" property bit
179525
- */
179526
- get interior() { return this._interior; }
179527
- /**
179528
- * Return the "invisible" property bit.
179529
- */
179530
- get invisible() { return this._invisible; }
179533
+ /** Return the stored distanceFromOrigin property. */
179534
+ get distance() {
179535
+ return this._distanceFromOrigin;
179536
+ }
179537
+ /** * Return the stored inward normal property. */
179538
+ get inwardNormalRef() {
179539
+ return this._inwardNormal;
179540
+ }
179541
+ /** Return the "interior" property bit */
179542
+ get interior() {
179543
+ return this._interior;
179544
+ }
179545
+ /** Return the "invisible" property bit. */
179546
+ get invisible() {
179547
+ return this._invisible;
179548
+ }
179531
179549
  /**
179532
179550
  * Create a plane defined by two points, an up vector, and a tilt angle relative to the up vector.
179533
179551
  * @param point0 start point of the edge
@@ -179551,9 +179569,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179551
179569
  }
179552
179570
  return undefined;
179553
179571
  }
179554
- /**
179555
- * Create a plane perpendicular to the edge between the xy parts of point0 and point1
179556
- */
179572
+ /** Create a plane perpendicular to the edge between the xy parts of point0 and point1. */
179557
179573
  static createEdgeXY(point0, point1, result) {
179558
179574
  const normal = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.create(point0.y - point1.y, point1.x - point0.x);
179559
179575
  if (normal.normalizeInPlace())
@@ -179567,7 +179583,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179567
179583
  */
179568
179584
  getPlane3d() {
179569
179585
  const d = this._distanceFromOrigin;
179570
- // Normal should be normalized, will not return undefined
179586
+ // normal should be normalized, will not return undefined
179571
179587
  return _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_3__.Plane3dByOriginAndUnitNormal.create(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.create(this._inwardNormal.x * d, this._inwardNormal.y * d, this._inwardNormal.z * d), this._inwardNormal);
179572
179588
  }
179573
179589
  /**
@@ -179581,8 +179597,9 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179581
179597
  /**
179582
179598
  * Set the plane from DPoint4d style plane.
179583
179599
  * * The saved plane has its direction normalized.
179584
- * * This preserves the plane itself as a zero set but make plane evaluations act as true distances (even if the plane coefficients are scaled otherwise)
179585
- * @param plane
179600
+ * * This preserves the plane itself as a zero set but make plane evaluations act as true distances (even if the
179601
+ * plane coefficients are scaled otherwise).
179602
+ * @param plane the DPoint4d style plane.
179586
179603
  */
179587
179604
  setPlane4d(plane) {
179588
179605
  const a = Math.sqrt(plane.x * plane.x + plane.y * plane.y + plane.z * plane.z);
@@ -179593,49 +179610,63 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179593
179610
  this._distanceFromOrigin = -r * plane.w;
179594
179611
  }
179595
179612
  /**
179596
- * Evaluate the altitude in weighted space, i.e. (dot product with inward normal) minus distance, with point.w scale applied to distance)
179597
- * @param point space point to test
179613
+ * Evaluate the altitude in weighted space, i.e. (dot product with inward normal) minus distance, with point.w
179614
+ * scale applied to distance.
179615
+ * @param point space point to test.
179598
179616
  */
179599
179617
  weightedAltitude(point) {
179600
- return point.x * this._inwardNormal.x + point.y * this._inwardNormal.y + point.z * this._inwardNormal.z - point.w * this._distanceFromOrigin;
179618
+ return point.x * this._inwardNormal.x
179619
+ + point.y * this._inwardNormal.y
179620
+ + point.z * this._inwardNormal.z
179621
+ - point.w * this._distanceFromOrigin;
179601
179622
  }
179602
179623
  /**
179603
- * Evaluate the distance from the plane to a point in space, i.e. (dot product with inward normal) minus distance
179604
- * @param point space point to test
179624
+ * Evaluate the distance from the plane to a point in space, i.e. (dot product with inward normal) minus distance.
179625
+ * @param point space point to test.
179605
179626
  */
179606
179627
  altitude(point) {
179607
- return point.x * this._inwardNormal.x + point.y * this._inwardNormal.y + point.z * this._inwardNormal.z - this._distanceFromOrigin;
179628
+ return point.x * this._inwardNormal.x
179629
+ + point.y * this._inwardNormal.y
179630
+ + point.z * this._inwardNormal.z
179631
+ - this._distanceFromOrigin;
179608
179632
  }
179609
179633
  /**
179610
- * Evaluate the distance from the plane to a point in space with point given as x,y,z, i.e. (dot product with inward normal) minus distance
179611
- * @param point space point to test
179634
+ * Evaluate the distance from the plane to a point in space with point given as x,y,z, i.e. (dot product with
179635
+ * inward normal) minus distance.
179636
+ * @param point space point to test.
179612
179637
  */
179613
179638
  altitudeXYZ(x, y, z) {
179614
- return x * this._inwardNormal.x + y * this._inwardNormal.y + z * this._inwardNormal.z - this._distanceFromOrigin;
179639
+ return x * this._inwardNormal.x
179640
+ + y * this._inwardNormal.y
179641
+ + z * this._inwardNormal.z
179642
+ - this._distanceFromOrigin;
179615
179643
  }
179616
- /**
179617
- * Return the x component of the normal used to evaluate altitude.
179618
- */
179619
- normalX() { return this._inwardNormal.x; }
179620
- /**
179621
- * Return the x component of the normal used to evaluate altitude.
179622
- */
179623
- normalY() { return this._inwardNormal.y; }
179624
- /**
179625
- * Return the z component of the normal used to evaluate altitude.
179626
- */
179627
- normalZ() { return this._inwardNormal.z; }
179628
- /** Return the dot product of the plane normal with the vector (NOT using the plane's distanceFromOrigin).
179629
- */
179644
+ /** Return the x component of the normal used to evaluate altitude. */
179645
+ normalX() {
179646
+ return this._inwardNormal.x;
179647
+ }
179648
+ /** Return the x component of the normal used to evaluate altitude. */
179649
+ normalY() {
179650
+ return this._inwardNormal.y;
179651
+ }
179652
+ /** Return the z component of the normal used to evaluate altitude. */
179653
+ normalZ() {
179654
+ return this._inwardNormal.z;
179655
+ }
179656
+ /** Return the dot product of the plane normal with the vector (NOT using the plane's distanceFromOrigin). */
179630
179657
  velocity(vector) {
179631
179658
  return vector.x * this._inwardNormal.x + vector.y * this._inwardNormal.y + vector.z * this._inwardNormal.z;
179632
179659
  }
179633
- /** Return the dot product of the plane normal with the x,yz, vector components (NOT using the plane's distanceFromOrigin).
179660
+ /**
179661
+ * Return the dot product of the plane normal with the x,yz, vector components (NOT using the plane's
179662
+ * distanceFromOrigin).
179634
179663
  */
179635
179664
  velocityXYZ(x, y, z) {
179636
179665
  return x * this._inwardNormal.x + y * this._inwardNormal.y + z * this._inwardNormal.z;
179637
179666
  }
179638
- /** Return the dot product of the plane normal with the point (treating the point xyz as a vector, and NOT using the plane's distanceFromOrigin).
179667
+ /**
179668
+ * Return the dot product of the plane normal with the point (treating the point xyz as a vector, and NOT
179669
+ * using the plane's distanceFromOrigin).
179639
179670
  */
179640
179671
  dotProductPlaneNormalPoint(point) {
179641
179672
  return point.x * this._inwardNormal.x + point.y * this._inwardNormal.y + point.z * this._inwardNormal.z;
@@ -179684,7 +179715,8 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179684
179715
  const gamma = this.velocity(arcVectors.vector90);
179685
179716
  _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_5__.AnalyticRoots.appendImplicitLineUnitCircleIntersections(alpha, beta, gamma, undefined, undefined, intersectionRadians);
179686
179717
  }
179687
- /** Announce fractional intervals of arc clip.
179718
+ /**
179719
+ * Announce fractional intervals of arc clip.
179688
179720
  * * Each call to `announce(fraction0, fraction1, arc)` announces one interval that is inside the clip plane.
179689
179721
  */
179690
179722
  announceClippedArcIntervals(arc, announce) {
@@ -179695,7 +179727,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179695
179727
  return _ClipUtils__WEBPACK_IMPORTED_MODULE_6__.ClipUtilities.selectIntervals01(arc, breaks, this, announce);
179696
179728
  }
179697
179729
  /**
179698
- * * Compute intersection of (unbounded) segment with the plane.
179730
+ * Compute intersection of (unbounded) segment with the plane.
179699
179731
  * * If the ends are on the same side of the plane, return undefined.
179700
179732
  * * If the intersection is an endpoint or interior to the segment return the fraction.
179701
179733
  * * If both ends are on, return undefined.
@@ -179710,7 +179742,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179710
179742
  }
179711
179743
  return -h0 / (h1 - h0);
179712
179744
  }
179713
- /** Apply transform to the origin. Apply inverse transpose of the matrix part to th normal vector. */
179745
+ /** Apply transform to the origin. Apply inverse transpose of the matrix part to th normal vector. */
179714
179746
  transformInPlace(transform) {
179715
179747
  const plane = this.getPlane3d();
179716
179748
  const matrix = transform.matrix;
@@ -179728,11 +179760,11 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179728
179760
  this._distanceFromOrigin = this._inwardNormal.dotProduct(plane.getOriginRef());
179729
179761
  return true;
179730
179762
  }
179731
- /** Set the invisible flag. Interpretation of this is up to the use code algorithms. */
179763
+ /** Set the invisible flag. Interpretation of this is up to the use code algorithms. */
179732
179764
  setInvisible(invisible) {
179733
179765
  this._invisible = invisible;
179734
179766
  }
179735
- /** reverse the sign of all coefficients, so outside and inside reverse */
179767
+ /** Reverse the sign of all coefficients, so outside and inside reverse */
179736
179768
  negateInPlace() {
179737
179769
  this._inwardNormal = this._inwardNormal.negate();
179738
179770
  this._distanceFromOrigin = -this._distanceFromOrigin;
@@ -179760,11 +179792,12 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179760
179792
  * @param matrix matrix to apply.
179761
179793
  * @param invert if true, use in verse of the matrix.
179762
179794
  * @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter)
179763
- * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect on the plane is the inverse transpose of matrixA
179764
- * * Callers that will apply the same matrix to many planes should pre-invert the matrix for efficiency.
179765
- * * Both params default to true to get the full effect of transforming space.
179766
179795
  * @param matrix matrix to apply
179767
179796
  * @return false if unable to invert
179797
+ * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding
179798
+ * effect on the plane is the inverse transpose of matrixA
179799
+ * * Callers that will apply the same matrix to many planes should pre-invert the matrix for efficiency.
179800
+ * * Both params default to true to get the full effect of transforming space.
179768
179801
  */
179769
179802
  multiplyPlaneByMatrix4d(matrix, invert = true, transpose = true) {
179770
179803
  const plane = this.getPlane4d();
@@ -179781,7 +179814,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179781
179814
  this.setPlane4d(plane);
179782
179815
  return true;
179783
179816
  }
179784
- /** announce the interval (if any) where a line is within the clip plane half space. */
179817
+ /** Announce the interval (if any) where a line is within the clip plane half space. */
179785
179818
  announceClippedSegmentIntervals(f0, f1, pointA, pointB, announce) {
179786
179819
  if (f1 < f0)
179787
179820
  return false;
@@ -179816,7 +179849,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179816
179849
  * Return a coordinate frame with
179817
179850
  * * origin at closest point to global origin
179818
179851
  * * z axis points in
179819
- * x and y are "in plane"
179852
+ * * x and y are "in plane"
179820
179853
  */
179821
179854
  getFrame() {
179822
179855
  const d = this._distanceFromOrigin;
@@ -179852,11 +179885,12 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179852
179885
  xyzOut.pushWrap(1);
179853
179886
  return xyzOut;
179854
179887
  }
179855
- /** Implement appendPolygonClip, as defined in interface PolygonClipper. /**
179856
- *
179888
+ /** Implement appendPolygonClip, as defined in interface PolygonClipper.
179857
179889
  * @param xyz input polygon. This is not changed.
179858
- * @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from the cache. This is NOT cleared.
179859
- * @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from the cache. This is NOT cleared.
179890
+ * @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed
179891
+ * from the cache. This is NOT cleared.
179892
+ * @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed
179893
+ * from the cache. This is NOT cleared.
179860
179894
  * @param arrayCache cache for reusable GrowableXYZArray.
179861
179895
  */
179862
179896
  appendPolygonClip(xyz, insideFragments, outsideFragments, arrayCache) {
@@ -179867,9 +179901,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
179867
179901
  _ClipUtils__WEBPACK_IMPORTED_MODULE_6__.ClipUtilities.captureOrDrop(newInside, 3, insideFragments, arrayCache);
179868
179902
  _ClipUtils__WEBPACK_IMPORTED_MODULE_6__.ClipUtilities.captureOrDrop(newOutside, 3, outsideFragments, arrayCache);
179869
179903
  }
179870
- /**
179871
- * Project a point in space to the plane.
179872
- */
179904
+ /** Project a point in space to the plane. */
179873
179905
  projectPointToPlane(spacePoint, result) {
179874
179906
  const d = -this.altitude(spacePoint);
179875
179907
  return spacePoint.plusXYZ(d * this._inwardNormal.x, d * this._inwardNormal.y, d * this._inwardNormal.z, result);
@@ -179958,17 +179990,18 @@ var ClipMaskXYZRangePlanes;
179958
179990
  })(ClipMaskXYZRangePlanes || (ClipMaskXYZRangePlanes = {}));
179959
179991
  /**
179960
179992
  * * ClipPrimitive is a base class for clipping implementations that use
179961
- * * A UnionOfConvexClipPlaneSets designated "clipPlanes"
179962
- * * an "invisible" flag
179963
- * * When constructed directly, objects of type ClipPrimitive (directly, not through a derived class) will have just planes
179993
+ * * A UnionOfConvexClipPlaneSets designated "clipPlanes".
179994
+ * * An "invisible" flag.
179995
+ * * When constructed directly, objects of type ClipPrimitive (directly, not through a derived class) will have just planes.
179964
179996
  * * Derived classes (e.g. ClipShape) carry additional data such as a swept shape.
179965
179997
  * * ClipPrimitive can be constructed with no planes.
179966
179998
  * * Derived class is responsible for filling the plane sets.
179967
- * * At discretion of derived classes, plane construction can be done at construction time or "on demand when" queries call `ensurePlaneSets ()`
179999
+ * * At discretion of derived classes, plane construction can be done at construction time or "on demand when" queries
180000
+ * call `ensurePlaneSets ()`
179968
180001
  * * ClipPrimitive can be constructed directly with planes (and no derived class).
179969
180002
  * * That the prevailing use is via a ClipShape derived class.
179970
180003
  * * The ClipShape has an "isMask" property
179971
- * * isMask === false means the plane sets should cover the inside of its polygon
180004
+ * * isMask === false means the plane sets should cover the inside of its polygon.
179972
180005
  * * isMask === true means the plane sets should cover the outside of its polygon.
179973
180006
  * * Note that the ClipShape's `isMask` property and the ClipPrimitive's `isInvisible` property are distinct controls.
179974
180007
  * * In normal usage, callers get "outside" clip behavior using ONLY the ClipShape isMask property.
@@ -179977,13 +180010,19 @@ var ClipMaskXYZRangePlanes;
179977
180010
  * @public
179978
180011
  */
179979
180012
  class ClipPrimitive {
179980
- /** Get a reference to the `UnionOfConvexClipPlaneSets`.
179981
- * * It triggers construction of the sets by `this.ensurePlaneSets()`.
179982
- * * Derived class typically caches the set on the first such call.
180013
+ /**
180014
+ * Get a reference to the `UnionOfConvexClipPlaneSets`.
180015
+ * * It triggers construction of the sets by `this.ensurePlaneSets()`.
180016
+ * * Derived class typically caches the set on the first such call.
179983
180017
  */
179984
- fetchClipPlanesRef() { this.ensurePlaneSets(); return this._clipPlanes; }
180018
+ fetchClipPlanesRef() {
180019
+ this.ensurePlaneSets();
180020
+ return this._clipPlanes;
180021
+ }
179985
180022
  /** Ask if this primitive is a hole. */
179986
- get invisible() { return this._invisible; }
180023
+ get invisible() {
180024
+ return this._invisible;
180025
+ }
179987
180026
  constructor(planeSet, isInvisible = false) {
179988
180027
  this._clipPlanes = planeSet;
179989
180028
  this._invisible = isInvisible;
@@ -180012,26 +180051,30 @@ class ClipPrimitive {
180012
180051
  }
180013
180052
  /**
180014
180053
  * Returns true if the planes are present.
180015
- * * This can be false (for instance) if a ClipShape is holding a polygon but has not yet been asked to construct the planes.
180054
+ * * This can be false (for instance) if a ClipShape is holding a polygon but has not yet been asked to construct
180055
+ * the planes.
180016
180056
  */
180017
180057
  arePlanesDefined() {
180018
180058
  return this._clipPlanes !== undefined;
180019
180059
  }
180020
- /** Return a deep clone */
180060
+ /** Return a deep clone. */
180021
180061
  clone() {
180022
180062
  const newPlanes = this._clipPlanes ? this._clipPlanes.clone() : undefined;
180023
180063
  const result = new ClipPrimitive(newPlanes, this._invisible);
180024
180064
  return result;
180025
180065
  }
180026
180066
  /**
180027
- * * trigger (if needed) computation of plane sets (if applicable) in the derived class.
180067
+ * Trigger (if needed) computation of plane sets (if applicable) in the derived class.
180028
180068
  * * Base class is no op.
180029
180069
  * * In derived class, on first call create planes sets from defining data (e.g. swept shape).
180030
180070
  * * In derived class, if planes are present leave them alone.
180031
180071
  */
180032
180072
  ensurePlaneSets() { }
180033
- /** Return true if the point lies inside/on this polygon (or not inside/on if this polygon is a mask). Otherwise, return false.
180034
- * * Note that a derived class may choose to (a) implement its own test using its defining data, or (b) accept this implementation using planes that it inserted in the base class.
180073
+ /**
180074
+ * Return true if the point lies inside/on this polygon (or not inside/on if this polygon is a mask). Otherwise,
180075
+ * return false.
180076
+ * * Note that a derived class may choose to (a) implement its own test using its defining data, or (b) accept
180077
+ * this implementation using planes that it inserted in the base class.
180035
180078
  */
180036
180079
  pointInside(point, onTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistanceSquared) {
180037
180080
  this.ensurePlaneSets();
@@ -180040,7 +180083,8 @@ class ClipPrimitive {
180040
180083
  inside = this._clipPlanes.isPointOnOrInside(point, onTolerance);
180041
180084
  return inside;
180042
180085
  }
180043
- /** Method from [[Clipper]] interface.
180086
+ /**
180087
+ * Method from [[Clipper]] interface.
180044
180088
  * * Implement as dispatch to clipPlaneSets as supplied by derived class.
180045
180089
  */
180046
180090
  isPointOnOrInside(point, onTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistanceSquared) {
@@ -180050,7 +180094,8 @@ class ClipPrimitive {
180050
180094
  inside = this._clipPlanes.isPointOnOrInside(point, onTolerance);
180051
180095
  return inside;
180052
180096
  }
180053
- /** Method from [[Clipper]] interface.
180097
+ /**
180098
+ * Method from [[Clipper]] interface.
180054
180099
  * * Implement as dispatch to clipPlaneSets as supplied by derived class.
180055
180100
  */
180056
180101
  announceClippedSegmentIntervals(f0, f1, pointA, pointB, announce) {
@@ -180060,7 +180105,8 @@ class ClipPrimitive {
180060
180105
  hasInsideParts = this._clipPlanes.announceClippedSegmentIntervals(f0, f1, pointA, pointB, announce);
180061
180106
  return hasInsideParts;
180062
180107
  }
180063
- /** Method from [[Clipper]] interface.
180108
+ /**
180109
+ * Method from [[Clipper]] interface.
180064
180110
  * * Implement as dispatch to clipPlaneSets as supplied by derived class.
180065
180111
  */
180066
180112
  announceClippedArcIntervals(arc, announce) {
@@ -180074,11 +180120,12 @@ class ClipPrimitive {
180074
180120
  * Multiply all ClipPlanes DPoint4d by matrix.
180075
180121
  * @param matrix matrix to apply.
180076
180122
  * @param invert if true, use in verse of the matrix.
180077
- * @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter)
180078
- * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect on the plane is the inverse transpose of matrixA
180123
+ * @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter).
180124
+ * @param matrix matrix to apply.
180125
+ * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding
180126
+ * effect on the plane is the inverse transpose of matrixA.
180079
180127
  * * Callers that will apply the same matrix to many planes should pre-invert the matrix for efficiency.
180080
180128
  * * Both params default to true to get the full effect of transforming space.
180081
- * @param matrix matrix to apply
180082
180129
  */
180083
180130
  multiplyPlanesByMatrix4d(matrix, invert = true, transpose = true) {
180084
180131
  if (invert) { // form inverse once here, reuse for all planes
@@ -180091,7 +180138,7 @@ class ClipPrimitive {
180091
180138
  this._clipPlanes.multiplyPlanesByMatrix4d(matrix);
180092
180139
  return true;
180093
180140
  }
180094
- /** Apply a transform to the clipper (e.g. transform all planes) */
180141
+ /** Apply a transform to the clipper (e.g. transform all planes). */
180095
180142
  transformInPlace(transform) {
180096
180143
  if (this._clipPlanes)
180097
180144
  this._clipPlanes.transformInPlace(transform);
@@ -180102,7 +180149,8 @@ class ClipPrimitive {
180102
180149
  this._invisible = invisible;
180103
180150
  }
180104
180151
  /**
180105
- * Return true if any plane of the primary clipPlanes has (a) non-zero z component in its normal vector and (b) finite distance from origin.
180152
+ * Return true if any plane of the primary clipPlanes has (a) non-zero z component in its normal vector and
180153
+ * (b) finite distance from origin.
180106
180154
  */
180107
180155
  containsZClip() {
180108
180156
  if (this.fetchClipPlanesRef() !== undefined)
@@ -180114,8 +180162,9 @@ class ClipPrimitive {
180114
180162
  }
180115
180163
  /**
180116
180164
  * Quick test of whether the given points fall completely inside or outside.
180117
- * @param points points to test
180118
- * @param ignoreInvisibleSetting if true, do the test with the clip planes and return that, ignoring the invisible setting.
180165
+ * @param points points to test.
180166
+ * @param ignoreInvisibleSetting if true, do the test with the clip planes and return that, ignoring the
180167
+ * invisible setting.
180119
180168
  */
180120
180169
  classifyPointContainment(points, ignoreInvisibleSetting) {
180121
180170
  this.ensurePlaneSets();
@@ -180134,8 +180183,9 @@ class ClipPrimitive {
180134
180183
  }
180135
180184
  return inside;
180136
180185
  }
180137
- /** Promote json object form to class instance
180138
- * * First try to convert to a ClipShape
180186
+ /**
180187
+ * Promote json object form to class instance.
180188
+ * * First try to convert to a ClipShape.
180139
180189
  * * then try as a standalone instance of the base class ClipPrimitive.
180140
180190
  */
180141
180191
  static fromJSON(json) {
@@ -180191,27 +180241,49 @@ class ClipShape extends ClipPrimitive {
180191
180241
  this.initSecondaryProps(isMask, zLow, zHigh, transform);
180192
180242
  }
180193
180243
  /** Returns true if this ClipShape is marked as invisible. */
180194
- get invisible() { return this._invisible; }
180244
+ get invisible() {
180245
+ return this._invisible;
180246
+ }
180195
180247
  /** Return this transformFromClip, which may be undefined. */
180196
- get transformFromClip() { return this._transformFromClip; }
180248
+ get transformFromClip() {
180249
+ return this._transformFromClip;
180250
+ }
180197
180251
  /** Return this transformToClip, which may be undefined. */
180198
- get transformToClip() { return this._transformToClip; }
180252
+ get transformToClip() {
180253
+ return this._transformToClip;
180254
+ }
180199
180255
  /** Returns true if this ClipShape's transforms are currently set. */
180200
- get transformValid() { return this.transformFromClip !== undefined; }
180256
+ get transformValid() {
180257
+ return this.transformFromClip !== undefined;
180258
+ }
180201
180259
  /** Returns true if this ClipShape's lower z boundary is set. */
180202
- get zLowValid() { return this._zLow !== undefined; }
180260
+ get zLowValid() {
180261
+ return this._zLow !== undefined;
180262
+ }
180203
180263
  /** Returns true if this ClipShape's upper z boundary is set. */
180204
- get zHighValid() { return this._zHigh !== undefined; }
180264
+ get zHighValid() {
180265
+ return this._zHigh !== undefined;
180266
+ }
180205
180267
  /** Return true if this ClipShape has a local to world transform */
180206
- get transformIsValid() { return this._transformFromClip !== undefined; }
180268
+ get transformIsValid() {
180269
+ return this._transformFromClip !== undefined;
180270
+ }
180207
180271
  /** Return this zLow, which may be undefined. */
180208
- get zLow() { return this._zLow; }
180272
+ get zLow() {
180273
+ return this._zLow;
180274
+ }
180209
180275
  /** Return this zHigh, which may be undefined. */
180210
- get zHigh() { return this._zHigh; }
180276
+ get zHigh() {
180277
+ return this._zHigh;
180278
+ }
180211
180279
  /** Returns a reference to this ClipShape's polygon array. */
180212
- get polygon() { return this._polygon; }
180280
+ get polygon() {
180281
+ return this._polygon;
180282
+ }
180213
180283
  /** Returns true if this ClipShape is a masking set. */
180214
- get isMask() { return this._isMask; }
180284
+ get isMask() {
180285
+ return this._isMask;
180286
+ }
180215
180287
  /** Sets the polygon points array of this ClipShape to the array given (by reference). */
180216
180288
  setPolygon(polygon) {
180217
180289
  // Add closure point
@@ -180220,8 +180292,9 @@ class ClipShape extends ClipPrimitive {
180220
180292
  this._polygon = polygon;
180221
180293
  }
180222
180294
  /**
180223
- * * If the ClipShape's associated `UnionOfConvexClipPlaneSets` is defined, do nothing.
180224
- * * If the ClipShape's associated `UnionOfConvexClipPlaneSets` is undefined, generate it from the `ClipShape` and transform.
180295
+ * If the ClipShape's associated `UnionOfConvexClipPlaneSets` is defined, do nothing.
180296
+ * If the ClipShape's associated `UnionOfConvexClipPlaneSets` is undefined, generate it from the `ClipShape`
180297
+ * and transform.
180225
180298
  */
180226
180299
  ensurePlaneSets() {
180227
180300
  if (this._clipPlanes !== undefined)
@@ -180233,7 +180306,7 @@ class ClipShape extends ClipPrimitive {
180233
180306
  }
180234
180307
  /**
180235
180308
  * Initialize the members of the ClipShape class that may at times be undefined.
180236
- * zLow and zHigh default to Number.MAX_VALUE, and the transform defaults to an identity transform
180309
+ * zLow and zHigh default to Number.MAX_VALUE, and the transform defaults to an identity transform.
180237
180310
  */
180238
180311
  initSecondaryProps(isMask, zLow, zHigh, transform) {
180239
180312
  this._isMask = isMask;
@@ -180248,7 +180321,7 @@ class ClipShape extends ClipPrimitive {
180248
180321
  this._transformToClip = _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_5__.Transform.createIdentity();
180249
180322
  }
180250
180323
  }
180251
- /** emit json object form */
180324
+ /** Emit json object form */
180252
180325
  toJSON() {
180253
180326
  const shape = {
180254
180327
  points: this._polygon.map((pt) => pt.toJSON()),
@@ -180265,7 +180338,7 @@ class ClipShape extends ClipPrimitive {
180265
180338
  shape.zhigh = this.zHigh;
180266
180339
  return { shape };
180267
180340
  }
180268
- /** parse `json` to a clip shape. */
180341
+ /** Parse `json` to a clip shape. */
180269
180342
  static fromClipShapeJSON(json, result) {
180270
180343
  const shape = json?.shape;
180271
180344
  if (!shape)
@@ -180327,7 +180400,7 @@ class ClipShape extends ClipPrimitive {
180327
180400
  blockPoints[1].x = blockPoints[2].x = high.x;
180328
180401
  blockPoints[0].y = blockPoints[1].y = blockPoints[4].y = low.y;
180329
180402
  blockPoints[2].y = blockPoints[3].y = high.y;
180330
- return ClipShape.createShape(blockPoints, (ClipMaskXYZRangePlanes.None !== (clipMask & ClipMaskXYZRangePlanes.ZLow)) ? low.z : undefined, ClipMaskXYZRangePlanes.None !== (clipMask & ClipMaskXYZRangePlanes.ZHigh) ? high.z : undefined, transform, isMask, invisible, result);
180403
+ return ClipShape.createShape(blockPoints, (ClipMaskXYZRangePlanes.None !== (clipMask & ClipMaskXYZRangePlanes.ZLow)) ? low.z : undefined, (ClipMaskXYZRangePlanes.None !== (clipMask & ClipMaskXYZRangePlanes.ZHigh)) ? high.z : undefined, transform, isMask, invisible, result);
180331
180404
  }
180332
180405
  /** Creates a new ClipShape with undefined members and a polygon points array of zero length. */
180333
180406
  static createEmpty(isMask = false, invisible = false, transform, result) {
@@ -180348,11 +180421,14 @@ class ClipShape extends ClipPrimitive {
180348
180421
  return false;
180349
180422
  return true;
180350
180423
  }
180351
- /** Returns a deep copy of this instance of ClipShape, storing in an optional result */
180424
+ /** Returns a deep copy of this instance of ClipShape, storing in an optional result. */
180352
180425
  clone(result) {
180353
180426
  return ClipShape.createFrom(this, result);
180354
180427
  }
180355
- /** Given the current polygon data, parses clip planes that together form an object, storing the result in the set given, either clipplanes or maskplanes. */
180428
+ /**
180429
+ * Given the current polygon data, parses clip planes that together form an object, storing the result in
180430
+ * the set given, either clip planes or mask planes.
180431
+ */
180356
180432
  parseClipPlanes(set) {
180357
180433
  const points = this._polygon;
180358
180434
  if (points.length === 3 && !this._isMask && points[0].isExactEqual(points[points.length - 1])) {
@@ -180371,7 +180447,10 @@ class ClipShape extends ClipPrimitive {
180371
180447
  this.parsePolygonPlanes(set, this._polygon, this.isMask);
180372
180448
  return true;
180373
180449
  }
180374
- /** Given a start and end point, populate the given UnionOfConvexClipPlaneSets with ConvexClipPlaneSets defining the bounded region of linear planes. Returns true if successful. */
180450
+ /**
180451
+ * Given a start and end point, populate the given UnionOfConvexClipPlaneSets with ConvexClipPlaneSets
180452
+ * defining the bounded region of linear planes. Returns true if successful.
180453
+ */
180375
180454
  parseLinearPlanes(set, start, end, cameraFocalLength) {
180376
180455
  // Handles the degenerate case of 2 distinct points (used by select by line).
180377
180456
  const normal = start.vectorTo(end);
@@ -180403,7 +180482,10 @@ class ClipShape extends ClipPrimitive {
180403
180482
  set.addConvexSet(convexSet);
180404
180483
  return true;
180405
180484
  }
180406
- /** Given a convex polygon defined as an array of points, populate the given UnionOfConvexClipPlaneSets with ConvexClipPlaneSets defining the bounded region. Returns true if successful. */
180485
+ /**
180486
+ * Given a convex polygon defined as an array of points, populate the given UnionOfConvexClipPlaneSets with
180487
+ * ConvexClipPlaneSets defining the bounded region. Returns true if successful.
180488
+ */
180407
180489
  parseConvexPolygonPlanes(set, polygon, direction, buildExteriorClipper, cameraFocalLength) {
180408
180490
  const samePointTolerance = 1.0e-8; // This could possibly be replaced with more widely used constants
180409
180491
  const edges = [];
@@ -180461,7 +180543,10 @@ class ClipShape extends ClipPrimitive {
180461
180543
  }
180462
180544
  return true;
180463
180545
  }
180464
- /** Given a (possibly non-convex) polygon defined as an array of points, populate the given UnionOfConvexClipPlaneSets with multiple ConvexClipPlaneSets defining the bounded region. Returns true if successful. */
180546
+ /**
180547
+ * Given a (possibly non-convex) polygon defined as an array of points, populate the given UnionOfConvexClipPlaneSets
180548
+ * with multiple ConvexClipPlaneSets defining the bounded region. Returns true if successful.
180549
+ */
180465
180550
  parsePolygonPlanes(set, polygon, isMask, cameraFocalLength) {
180466
180551
  const cleanPolygon = _geometry3d_PolylineOps__WEBPACK_IMPORTED_MODULE_9__.PolylineOps.compressDanglers(polygon, true);
180467
180552
  const announceFace = (_graph, edge) => {
@@ -180508,17 +180593,19 @@ class ClipShape extends ClipPrimitive {
180508
180593
  * Multiply all ClipPlanes DPoint4d by matrix.
180509
180594
  * @param matrix matrix to apply.
180510
180595
  * @param invert if true, use in verse of the matrix.
180511
- * @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter)
180512
- * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect on the plane is the inverse transpose of matrixA
180596
+ * @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter).
180597
+ * @param matrix matrix to apply.
180598
+ * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect
180599
+ * on the plane is the inverse transpose of matrixA.
180513
180600
  * * Callers that will apply the same matrix to many planes should pre-invert the matrix for efficiency.
180514
180601
  * * Both params default to true to get the full effect of transforming space.
180515
- * @param matrix matrix to apply
180516
180602
  */
180517
180603
  multiplyPlanesByMatrix4d(matrix, invert = true, transpose = true) {
180518
180604
  this.ensurePlaneSets();
180519
180605
  return super.multiplyPlanesByMatrix4d(matrix, invert, transpose);
180520
180606
  }
180521
- /** Apply `transform` to the local to world (`transformFromClip`) transform.
180607
+ /**
180608
+ * Apply `transform` to the local to world (`transformFromClip`) transform.
180522
180609
  * * The world to local transform (`transformToClip` is recomputed from the (changed) `transformToClip`
180523
180610
  * * the transform is passed to the base class to be applied to clip plane form of the clipper.
180524
180611
  */
@@ -180533,7 +180620,8 @@ class ClipShape extends ClipPrimitive {
180533
180620
  this._transformToClip = this._transformFromClip.inverse(); // could be undefined
180534
180621
  return true;
180535
180622
  }
180536
- /** Return true if
180623
+ /**
180624
+ * Return true if
180537
180625
  * * at least one point is defined
180538
180626
  * * The local to world transform (transformFromClip) either
180539
180627
  * * is undefined
@@ -180615,44 +180703,47 @@ __webpack_require__.r(__webpack_exports__);
180615
180703
 
180616
180704
 
180617
180705
 
180618
- /** Enumerated type for describing where geometry lies with respect to clipping planes.
180706
+ /**
180707
+ * Enumerated type for describing where geometry lies with respect to clipping planes.
180619
180708
  * @public
180620
180709
  */
180621
180710
  var ClipPlaneContainment;
180622
180711
  (function (ClipPlaneContainment) {
180623
- /** All points inside */
180712
+ /** All points inside. */
180624
180713
  ClipPlaneContainment[ClipPlaneContainment["StronglyInside"] = 1] = "StronglyInside";
180625
180714
  /** Inside/outside state unknown. */
180626
180715
  ClipPlaneContainment[ClipPlaneContainment["Ambiguous"] = 2] = "Ambiguous";
180627
- /** All points outside */
180716
+ /** All points outside. */
180628
180717
  ClipPlaneContainment[ClipPlaneContainment["StronglyOutside"] = 3] = "StronglyOutside";
180629
180718
  })(ClipPlaneContainment || (ClipPlaneContainment = {}));
180630
180719
  /**
180631
- * Enumeration of ways to handle an intermediate fragment from a clipping step
180720
+ * Enumeration of ways to handle an intermediate fragment from a clipping step.
180632
180721
  * @public
180633
180722
  */
180634
180723
  var ClipStepAction;
180635
180724
  (function (ClipStepAction) {
180636
- /** Pass fragments directly to final accepted "in" state */
180725
+ /** Pass fragments directly to final accepted "in" state. */
180637
180726
  ClipStepAction[ClipStepAction["acceptIn"] = 1] = "acceptIn";
180638
- /** Pass fragments directly to final accepted "out" state */
180727
+ /** Pass fragments directly to final accepted "out" state. */
180639
180728
  ClipStepAction[ClipStepAction["acceptOut"] = -1] = "acceptOut";
180640
- /** forward fragments to subsequent steps. */
180729
+ /** Forward fragments to subsequent steps. */
180641
180730
  ClipStepAction[ClipStepAction["passToNextStep"] = 0] = "passToNextStep";
180642
180731
  })(ClipStepAction || (ClipStepAction = {}));
180643
- /** Enumerated type for describing what must yet be done to clip a piece of geometry.
180732
+ /**
180733
+ * Enumerated type for describing what must yet be done to clip a piece of geometry.
180644
180734
  * @public
180645
180735
  */
180646
180736
  var ClipStatus;
180647
180737
  (function (ClipStatus) {
180648
- /** some geometry may cross the clip boundaries */
180738
+ /** Some geometry may cross the clip boundaries */
180649
180739
  ClipStatus[ClipStatus["ClipRequired"] = 0] = "ClipRequired";
180650
- /** geometry is clearly outside */
180740
+ /** Geometry is clearly outside */
180651
180741
  ClipStatus[ClipStatus["TrivialReject"] = 1] = "TrivialReject";
180652
- /** geometry is clearly inside */
180742
+ /** Geometry is clearly inside */
180653
180743
  ClipStatus[ClipStatus["TrivialAccept"] = 2] = "TrivialAccept";
180654
180744
  })(ClipStatus || (ClipStatus = {}));
180655
- /** Class whose various static methods are functions for clipping geometry
180745
+ /**
180746
+ * Class whose various static methods are functions for clipping geometry
180656
180747
  * @public
180657
180748
  */
180658
180749
  class ClipUtilities {
@@ -180690,7 +180781,7 @@ class ClipUtilities {
180690
180781
  return false;
180691
180782
  }
180692
180783
  /**
180693
- * Announce triples of (low, high, cp) for each entry in intervals
180784
+ * Announce triples of (low, high, cp) for each entry in intervals.
180694
180785
  * @param intervals source array
180695
180786
  * @param cp CurvePrimitive for announcement
180696
180787
  * @param announce function to receive data
@@ -180703,7 +180794,8 @@ class ClipUtilities {
180703
180794
  }
180704
180795
  return intervals.length > 0;
180705
180796
  }
180706
- /** Find portions of the curve that are within the clipper.
180797
+ /**
180798
+ * Find portions of the curve that are within the clipper.
180707
180799
  * Collect them into an array of curve primitives.
180708
180800
  */
180709
180801
  static collectClippedCurves(curve, clipper) {
@@ -180741,7 +180833,8 @@ class ClipUtilities {
180741
180833
  }
180742
180834
  return output;
180743
180835
  }
180744
- /** Given an array of points, test for trivial containment conditions.
180836
+ /**
180837
+ * Given an array of points, test for trivial containment conditions.
180745
180838
  * * ClipStatus.TrivialAccept if all points are in any one of the convexSet's.
180746
180839
  * * ClipStatus.ClipRequired if (in any single convexSet) there were points on both sides of any single plane.
180747
180840
  * * ClipStatus.TrivialReject if neither of those occurred.
@@ -180831,8 +180924,9 @@ class ClipUtilities {
180831
180924
  }
180832
180925
  }
180833
180926
  /**
180834
- * Return a (possibly empty) array of geometry (Loops !!) which are facets of the intersection of the convex set intersecting a range.
180835
- * * return zero length array for (a) null range or (b) no intersections
180927
+ * Return a (possibly empty) array of geometry (Loops !!) which are facets of the intersection of the convex set
180928
+ * intersecting a range.
180929
+ * * Return zero length array for (a) null range or (b) no intersections
180836
180930
  * @param allClippers convex or union clipper
180837
180931
  * @param range range to intersect
180838
180932
  * @param includeConvexSetFaces if false, do not compute facets originating as convex set planes.
@@ -181002,7 +181096,8 @@ class ClipUtilities {
181002
181096
  }
181003
181097
  return false;
181004
181098
  }
181005
- /** Test for intersection of two ranges in different local coordinates.
181099
+ /**
181100
+ * Test for intersection of two ranges in different local coordinates.
181006
181101
  * * Useful for clash detection of elements in iModels, using their stored (tight) local ranges and placement transforms.
181007
181102
  * @param range0 range in local coordinates of first geometry
181008
181103
  * @param local0ToWorld placement transform for first geometry
@@ -181047,8 +181142,8 @@ class ClipUtilities {
181047
181142
  * * If there are more than baseCount+1 fragments:
181048
181143
  * * drop them all to the cache
181049
181144
  * * push a copy of the singleton.
181050
- * * The use case for this is that a multi-step clipper (e.g. UnionOfConvexClipPlaneSets) may produce many fragments, and then be able to determine
181051
- * that they really are the original pre-clip polygon unchanged.
181145
+ * * The use case for this is that a multi-step clipper (e.g. UnionOfConvexClipPlaneSets) may produce many fragments,
181146
+ * and then be able to determine that they really are the original pre-clip polygon unchanged.
181052
181147
  * * The baseCount+1 case is the case where the entire original singleton is still a singleton and can be left alone.
181053
181148
  * * Calling this replacer shuffles the original back into the fragment array, and drops the fragments.
181054
181149
  * * This determination is solely within the logic of the caller.
@@ -181081,8 +181176,7 @@ class ClipUtilities {
181081
181176
  }
181082
181177
  return _internalContexts_LineStringOffsetClipperContext__WEBPACK_IMPORTED_MODULE_12__.LineStringOffsetClipperContext.createClipBetweenOffsets(points, leftOffset, rightOffset, z0, z1);
181083
181178
  }
181084
- /** if data.length >= minLength threshold, push it to destination; if smaller drop it back to the cache.
181085
- */
181179
+ /** If data.length >= minLength threshold, push it to destination; if smaller drop it back to the cache. */
181086
181180
  static captureOrDrop(data, minLength, destination, cache) {
181087
181181
  if (data.length >= minLength)
181088
181182
  destination.push(data);
@@ -181279,8 +181373,8 @@ class ClipUtilities {
181279
181373
  const oldOutsideCount = acceptedOut ? acceptedOut.length : 0;
181280
181374
  let shard;
181281
181375
  // At each convex set, carryForwardA is all the fragments that have been outside all previous convex sets.
181282
- // Clip each such fragment to the current set, sending the outside parts to carryForwardB, which will got to the next clipper
181283
- // The final surviving carryForward really is out.
181376
+ // Clip each such fragment to the current set, sending the outside parts to carryForwardB, which will got to
181377
+ // the next clipper. The final surviving carryForward really is out.
181284
181378
  for (const c of clippers) {
181285
181379
  if (c.appendPolygonClip) {
181286
181380
  while (undefined !== (shard = candidates.pop())) {
@@ -181304,9 +181398,7 @@ class ClipUtilities {
181304
181398
  if (acceptedIn?.length === oldInsideCount)
181305
181399
  ClipUtilities.restoreSingletonInPlaceOfMultipleShards(acceptedOut, oldOutsideCount, xyz, arrayCache);
181306
181400
  }
181307
- /**
181308
- * Pass polygon `xyz` through a sequence of PolygonClip steps with "parity" rules
181309
- */
181401
+ /** Pass polygon `xyz` through a sequence of PolygonClip steps with "parity" rules */
181310
181402
  static doPolygonClipParitySequence(xyz, clippers, acceptedIn, acceptedOut, arrayCache) {
181311
181403
  if (arrayCache === undefined)
181312
181404
  arrayCache = new _geometry3d_ReusableObjectCache__WEBPACK_IMPORTED_MODULE_14__.GrowableXYZArrayCache();
@@ -181355,9 +181447,9 @@ class ClipUtilities {
181355
181447
  moveFragments(candidatesOut, acceptedOut, arrayCache);
181356
181448
  }
181357
181449
  }
181358
- /** For each plane of clipper, construct a UnionOfConvexClipPlaneSets for an outer (infinite) convex volume that
181450
+ /**
181451
+ * For each plane of clipper, construct a UnionOfConvexClipPlaneSets for an outer (infinite) convex volume that
181359
181452
  * abuts the outer volume of the neighbor faces.
181360
- *
181361
181453
  */
181362
181454
  static createComplementaryClips(clipper) {
181363
181455
  const planes = clipper.planes;
@@ -181466,18 +181558,22 @@ __webpack_require__.r(__webpack_exports__);
181466
181558
 
181467
181559
 
181468
181560
 
181469
- /** Class holding an array structure of shapes defined by `ClipPrimitive`
181561
+ /**
181562
+ * Class holding an array structure of shapes defined by `ClipPrimitive`
181470
181563
  * * The `ClipVector` defines an intersection of the member `ClipPrimitive` regions.
181471
- * * In the most common usage, one of the `ClipPrimitive` will be an outer region, and all others are holes with marker flag indicating that the outside of each hole is live.
181564
+ * * In the most common usage, one of the `ClipPrimitive` will be an outer region, and all others are holes with marker
181565
+ * flag indicating that the outside of each hole is live.
181472
181566
  * @public
181473
181567
  */
181474
181568
  class ClipVector {
181475
181569
  /** Returns a reference to the array of ClipShapes. */
181476
181570
  get clips() { return this._clips; }
181477
181571
  constructor(clips) {
181478
- /** range acting as first filter.
181572
+ /**
181573
+ * Range acting as first filter.
181479
181574
  * * This is understood as overall range limit, not as precise planes.
181480
- * * applying any rotation to the whole ClipVector generally expands this range, rather than exactly transforming its planes.
181575
+ * * Applying any rotation to the whole ClipVector generally expands this range, rather than exactly transforming
181576
+ * its planes.
181481
181577
  */
181482
181578
  this.boundingRange = _geometry3d_Range__WEBPACK_IMPORTED_MODULE_1__.Range3d.createNull();
181483
181579
  this._clips = clips ? clips : [];
@@ -181565,7 +181661,8 @@ class ClipVector {
181565
181661
  pointInside(point, onTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.smallMetricDistanceSquared) {
181566
181662
  return this.isPointOnOrInside(point, onTolerance);
181567
181663
  }
181568
- /** Method from [[Clipper]] interface.
181664
+ /**
181665
+ * Method from [[Clipper]] interface.
181569
181666
  * * Implement as dispatch to clipPlaneSets as supplied by derived class.
181570
181667
  */
181571
181668
  isPointOnOrInside(point, onTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.smallMetricDistanceSquared) {
@@ -181591,7 +181688,8 @@ class ClipVector {
181591
181688
  }
181592
181689
  return numChildren > 0;
181593
181690
  }
181594
- /** Method from [[Clipper]] interface.
181691
+ /**
181692
+ * Method from [[Clipper]] interface.
181595
181693
  * * Implement as dispatch to clipPlaneSets as supplied by derived class.
181596
181694
  */
181597
181695
  announceClippedSegmentIntervals(f0, f1, pointA, pointB, announce) {
@@ -181615,10 +181713,11 @@ class ClipVector {
181615
181713
  if (this._clipNodeProxy)
181616
181714
  this._clipNodeProxy.appendPolygonClip(xyz, insideFragments, outsideFragments, arrayCache);
181617
181715
  }
181618
- /** Transforms this ClipVector to a new coordinate-system.
181619
- * Note that if the transform has rotate and scale the boundingRange member expands.
181620
- * Returns true if successful.
181621
- */
181716
+ /**
181717
+ * Transforms this ClipVector to a new coordinate-system.
181718
+ * Note that if the transform has rotate and scale the boundingRange member expands.
181719
+ * Returns true if successful.
181720
+ */
181622
181721
  transformInPlace(transform) {
181623
181722
  for (const clip of this._clips)
181624
181723
  if (clip.transformInPlace(transform) === false)
@@ -181630,15 +181729,13 @@ class ClipVector {
181630
181729
  /**
181631
181730
  * A simple way of packaging this ClipVector's ClipShape points into a multidimensional array, while also
181632
181731
  * taking into account each ClipPrimitive's individual transforms.
181633
- *
181634
181732
  * ClipPrimitives OTHER THAN ClipShape are ignored.
181635
- *
181636
181733
  * Information out:
181637
- * - All of the loop points are stored in the multidimensional Point3d array given (will return unchanged upon failure)
181638
- * - If given a transform, will be set from the transformFromClip of the first ClipPrimitive
181639
- * - The ClipMask of the final ClipPrimitive is stored in the returned array at index 0
181640
- * - The last valid zLow found is stored in the returned array at index 1
181641
- * - The last valid zHigh found is stored in the returned array at index 2
181734
+ * - All of the loop points are stored in the multidimensional Point3d array given (will return unchanged upon failure).
181735
+ * - If given a transform, will be set from the transformFromClip of the first ClipPrimitive.
181736
+ * - The ClipMask of the final ClipPrimitive is stored in the returned array at index 0.
181737
+ * - The last valid zLow found is stored in the returned array at index 1.
181738
+ * - The last valid zHigh found is stored in the returned array at index 2.
181642
181739
  */
181643
181740
  extractBoundaryLoops(loopPoints, transform) {
181644
181741
  let clipM = _ClipPrimitive__WEBPACK_IMPORTED_MODULE_2__.ClipMaskXYZRangePlanes.None;
@@ -181693,7 +181790,10 @@ class ClipVector {
181693
181790
  for (const clip of this._clips)
181694
181791
  clip.setInvisible(invisible);
181695
181792
  }
181696
- /** For every clip, parse the member point array into the member clip plane object (only for clipPlanes member, not the mask) */
181793
+ /**
181794
+ * For every clip, parse the member point array into the member clip plane object (only for clipPlanes member,
181795
+ * not the mask)
181796
+ */
181697
181797
  parseClipPlanes() {
181698
181798
  for (const clip of this._clips)
181699
181799
  clip.fetchClipPlanesRef();
@@ -181722,8 +181822,9 @@ class ClipVector {
181722
181822
  return true;
181723
181823
  }
181724
181824
  /**
181725
- * Determines whether the given points fall inside or outside this set of ClipShapes. If any set is defined by masking planes,
181726
- * checks the mask planes only, provided that ignoreMasks is false. Otherwise, checks the _clipPlanes member.
181825
+ * Determines whether the given points fall inside or outside this set of ClipShapes. If any set is defined
181826
+ * by masking planes, checks the mask planes only, provided that ignoreMasks is false. Otherwise, checks the
181827
+ * _clipPlanes member.
181727
181828
  */
181728
181829
  classifyPointContainment(points, ignoreMasks = false) {
181729
181830
  let currentContainment = _ClipUtils__WEBPACK_IMPORTED_MODULE_6__.ClipPlaneContainment.Ambiguous;
@@ -181747,7 +181848,8 @@ class ClipVector {
181747
181848
  return this.classifyPointContainment(corners, ignoreMasks);
181748
181849
  }
181749
181850
  /**
181750
- * For an array of points (making up a LineString), tests whether the segment between each point lies inside the ClipVector.
181851
+ * For an array of points (making up a LineString), tests whether the segment between each point lies inside the
181852
+ * ClipVector.
181751
181853
  * If true, returns true immediately.
181752
181854
  */
181753
181855
  isAnyLineStringPointInside(points) {
@@ -181797,7 +181899,8 @@ class ClipVector {
181797
181899
  }
181798
181900
  return true;
181799
181901
  }
181800
- /** Serializes this ClipVector to a compact string representation appropriate for transmission as part of a URL.
181902
+ /**
181903
+ * Serializes this ClipVector to a compact string representation appropriate for transmission as part of a URL.
181801
181904
  * Chiefly used for requesting [Tile]($frontend)s with section cut facets.
181802
181905
  * UnionOfConvexClipPlaneSets is obtained for each ClipPrimitive. The encoding is as follows:
181803
181906
  * ClipVector:
@@ -181860,7 +181963,8 @@ class ClipVector {
181860
181963
  }
181861
181964
  ClipVector._TARGET_FRACTION_SUM = 0.99999999;
181862
181965
 
181863
- /** Bundles a ClipVector with its compact string representation.
181966
+ /**
181967
+ * Bundles a ClipVector with its compact string representation.
181864
181968
  * @note The string representation is computed once; the ClipVector is assumed not to be subsequently modified.
181865
181969
  * @alpha
181866
181970
  */
@@ -181938,7 +182042,8 @@ class ConvexClipPlaneSet {
181938
182042
  // this._parity = 1;
181939
182043
  this._planes = planes ? planes : [];
181940
182044
  }
181941
- /** Return an array containing all the planes of the convex set.
182045
+ /**
182046
+ * Return an array containing all the planes of the convex set.
181942
182047
  * * Note that this has no leading keyword identifying it as a ConvexClipPlaneSet.
181943
182048
  */
181944
182049
  toJSON() {
@@ -181947,7 +182052,8 @@ class ConvexClipPlaneSet {
181947
182052
  val.push(plane.toJSON());
181948
182053
  return val;
181949
182054
  }
181950
- /** Extract clip planes from a json array `[ clipPlane, clipPlane ]`.
182055
+ /**
182056
+ * Extract clip planes from a json array `[ clipPlane, clipPlane ]`.
181951
182057
  * * Non-clipPlane members are ignored.
181952
182058
  */
181953
182059
  static fromJSON(json, result) {
@@ -181963,7 +182069,7 @@ class ConvexClipPlaneSet {
181963
182069
  return result;
181964
182070
  }
181965
182071
  /**
181966
- * Return true if all members are almostEqual to corresponding members of other. This includes identical order in array.
182072
+ * Return true if all members are almostEqual to corresponding members of other. This includes identical order in array.
181967
182073
  * @param other clip plane to compare
181968
182074
  */
181969
182075
  isAlmostEqual(other) {
@@ -181974,7 +182080,8 @@ class ConvexClipPlaneSet {
181974
182080
  return false;
181975
182081
  return true;
181976
182082
  }
181977
- /** create from an array of planes.
182083
+ /**
182084
+ * Create ConvexClipPlaneSet from an array of planes.
181978
182085
  * * Each plane reference in the `planes` array is taken into the result.
181979
182086
  * * The input array itself is NOT taken into the result.
181980
182087
  */
@@ -182017,7 +182124,7 @@ class ConvexClipPlaneSet {
182017
182124
  result.planes.push(_ClipPlane__WEBPACK_IMPORTED_MODULE_0__.ClipPlane.createNormalAndPointXYZXYZ(0, 0, -1, 0, 0, range.high.z));
182018
182125
  return result;
182019
182126
  }
182020
- /** create an empty `ConvexClipPlaneSet` */
182127
+ /** Create an empty `ConvexClipPlaneSet` */
182021
182128
  static createEmpty(result) {
182022
182129
  if (result) {
182023
182130
  result._planes.length = 0;
@@ -182025,14 +182132,15 @@ class ConvexClipPlaneSet {
182025
182132
  }
182026
182133
  return new ConvexClipPlaneSet();
182027
182134
  }
182028
- /** negate all planes of the set. */
182135
+ /** Negate all planes of the set. */
182029
182136
  negateAllPlanes() {
182030
182137
  for (const plane of this._planes)
182031
182138
  plane.negateInPlace();
182032
182139
  }
182033
- /** Create a convex clip plane set that clips to `x0 <= x <= x1` and `y0 <= y <= y1`.
182140
+ /**
182141
+ * Create a convex clip plane set that clips to `x0 <= x <= x1` and `y0 <= y <= y1`.
182034
182142
  * * Note that there is no test for the usual ordering `x0 <= x1` or `y0 <= y1`.
182035
- * * if the usual ordering is violated, the convex set is an empty set.
182143
+ * * if the usual ordering is violated, the convex set is an empty set.
182036
182144
  */
182037
182145
  static createXYBox(x0, y0, x1, y1, result) {
182038
182146
  result = result ? result : new ConvexClipPlaneSet();
@@ -182046,11 +182154,13 @@ class ConvexClipPlaneSet {
182046
182154
  }
182047
182155
  return result;
182048
182156
  }
182049
- /** Create a convex set containing a half space for each edge between points of a polyline.
182157
+ /**
182158
+ * Create a convex set containing a half space for each edge between points of a polyline.
182050
182159
  * * Caller is responsible for assuring the polyline is convex.
182051
- * @param points array of points. Only xy parts are considered.
182052
- * @param interior array whose boolean value is used as both the `interior` and `invisible` bits of the plane for the succeeding segment. If this array is not provided, both are false.
182053
- * @param leftIsInside if true, the interior is "to the left" of the segments. If false, interior is "to the right"
182160
+ * @param points array of points. Only xy parts are considered.
182161
+ * @param interior array whose boolean value is used as both the `interior` and `invisible` bits of the plane for the
182162
+ * succeeding segment. If this array is not provided, both are false.
182163
+ * @param leftIsInside if true, the interior is "to the left" of the segments. If false, interior is "to the right".
182054
182164
  */
182055
182165
  static createXYPolyLine(points, interior, leftIsInside, result) {
182056
182166
  result = result ? result : new ConvexClipPlaneSet();
@@ -182094,7 +182204,7 @@ class ConvexClipPlaneSet {
182094
182204
  return result;
182095
182205
  }
182096
182206
  /**
182097
- * (re)set a plane and ConvexClipPlaneSet for a convex array, such as a convex facet used for xy clip.
182207
+ * Set (or reset) a plane and ConvexClipPlaneSet for a convex array, such as a convex facet used for xy clip.
182098
182208
  * * The planeOfPolygon is (re)initialized with the normal from 3 points, but not otherwise referenced.
182099
182209
  * * The ConvexClipPlaneSet is filled with outward normals of the facet edges as viewed to xy plane.
182100
182210
  * @param points
@@ -182138,7 +182248,7 @@ class ConvexClipPlaneSet {
182138
182248
  * Test if there is any intersection with a ray defined by origin and direction.
182139
182249
  * * Optionally record the range (null or otherwise) in caller-allocated result.
182140
182250
  * * If the ray is unbounded inside the clip, result can contain positive or negative
182141
- * "Geometry.largeCoordinateResult" values
182251
+ * "Geometry.largeCoordinateResult" values.
182142
182252
  * * If no result is provide, there are no object allocations.
182143
182253
  * @param result optional Range1d to receive parameters along the ray.
182144
182254
  */
@@ -182183,7 +182293,8 @@ class ConvexClipPlaneSet {
182183
182293
  * @param matrix matrix to apply.
182184
182294
  * @param invert if true, use in verse of the matrix.
182185
182295
  * @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter)
182186
- * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect on the plane is the inverse transpose of matrixA
182296
+ * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect
182297
+ * on the plane is the inverse transpose of matrixA.
182187
182298
  * * Callers that will apply the same matrix to many planes should pre-invert the matrix for efficiency.
182188
182299
  * * Both params default to true to get the full effect of transforming space.
182189
182300
  * @param matrix matrix to apply
@@ -182203,7 +182314,8 @@ class ConvexClipPlaneSet {
182203
182314
  /** Return true if `point` satisfies `point.isPointInside` for all planes */
182204
182315
  isPointInside(point) {
182205
182316
  for (const plane of this._planes) {
182206
- if (!plane.isPointInside(point)) // Defaults to strict inside check. Other clipping classes may use "on or inside" check for the "on" case
182317
+ // Defaults to strict inside check. Other clipping classes may use "on or inside" check for the "on" case
182318
+ if (!plane.isPointInside(point))
182207
182319
  return false;
182208
182320
  }
182209
182321
  return true;
@@ -182231,13 +182343,15 @@ class ConvexClipPlaneSet {
182231
182343
  }
182232
182344
  return true;
182233
182345
  }
182234
- /** Find the parts of the line segment (if any) that is within the convex clip volume.
182235
- * * The input fractional interval from fraction0 to fraction1 (increasing!!) is the active part to consider.
182236
- * * To clip to the usual bounded line segment, starts with fractions (0,1).
182346
+ /**
182347
+ * Find the parts of the line segment (if any) that is within the convex clip volume.
182348
+ * * The line segment is defined by `pointA` and `pointB`.
182349
+ * * The input fractional interval from `fraction0` to `fraction1` (increasing) is the active part to consider.
182350
+ * * To clip to the usual bounded line segment, start with fractions (0,1).
182237
182351
  * If the clip volume is unbounded, the line interval may also be unbounded.
182238
- * * An unbounded line portion will have fraction coordinates positive or negative Number.MAX_VALUE.
182239
- * @param fraction0 fraction that is the initial lower fraction of the active interval. (e.g. 0.0 for bounded segment)
182240
- * @param fraction1 fraction that is the initial upper fraction of the active interval. (e.g. 1.0 for bounded segment)
182352
+ * * An unbounded line portion will have fraction coordinates positive or negative `Number.MAX_VALUE`.
182353
+ * @param f0 fraction that is the initial lower fraction of the active interval (e.g., 0.0 for bounded segment).
182354
+ * @param f1 fraction that is the initial upper fraction of the active interval (e.g., 1.0 for bounded segment).
182241
182355
  * @param pointA segment start (fraction 0)
182242
182356
  * @param pointB segment end (fraction 1)
182243
182357
  * @param announce function to be called to announce a fraction interval that is within the convex clip volume.
@@ -182252,7 +182366,7 @@ class ConvexClipPlaneSet {
182252
182366
  const hB = -plane.altitude(pointB);
182253
182367
  fraction = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.conditionalDivideFraction(-hA, (hB - hA));
182254
182368
  if (fraction === undefined) {
182255
- // LIne parallel to the plane. If positive, it is all OUT
182369
+ // Line parallel to the plane. If positive, it is all OUT
182256
182370
  if (hA > 0.0)
182257
182371
  return false;
182258
182372
  }
@@ -182281,7 +182395,8 @@ class ConvexClipPlaneSet {
182281
182395
  }
182282
182396
  return false;
182283
182397
  }
182284
- /** Find fractional parts of the arc that are within this ClipPlaneSet, and announce each as
182398
+ /**
182399
+ * Find fractional parts of the arc that are within this ClipPlaneSet, and announce each as
182285
182400
  * * `announce(fraction, fraction, curve)`
182286
182401
  */
182287
182402
  announceClippedArcIntervals(arc, announce) {
@@ -182293,7 +182408,8 @@ class ConvexClipPlaneSet {
182293
182408
  arc.sweep.radiansArrayToPositivePeriodicFractions(breaks);
182294
182409
  return _ClipUtils__WEBPACK_IMPORTED_MODULE_4__.ClipUtilities.selectIntervals01(arc, breaks, this, announce);
182295
182410
  }
182296
- /** Find the parts of the (unbounded) line segment (if any) that is within the convex clip volume.
182411
+ /**
182412
+ * Find the parts of the (unbounded) line segment (if any) that is within the convex clip volume.
182297
182413
  * @param pointA segment start (fraction 0)
182298
182414
  * @param pointB segment end (fraction 1)
182299
182415
  * @param announce function to be called to announce a fraction interval that is within the convex clip volume.
@@ -182323,7 +182439,8 @@ class ConvexClipPlaneSet {
182323
182439
  return;
182324
182440
  }
182325
182441
  }
182326
- /** Clip a convex polygon to (a single) inside part and (possibly many) outside parts.
182442
+ /**
182443
+ * Clip a convex polygon to (a single) inside part and (possibly many) outside parts.
182327
182444
  * @param xyz input polygon.
182328
182445
  * @param outsideFragments an array to receive (via push, with no preliminary clear) outside fragments
182329
182446
  * @param arrayCache cache for work arrays.
@@ -182366,14 +182483,15 @@ class ConvexClipPlaneSet {
182366
182483
  arrayCache.dropToCache(insidePart);
182367
182484
  return undefined;
182368
182485
  }
182369
- /** Returns 1, 2, or 3 based on whether point array is strongly inside, ambiguous, or strongly outside respectively.
182486
+ /**
182487
+ * Returns 1, 2, or 3 based on whether point array is strongly inside, ambiguous, or strongly outside respectively.
182370
182488
  * * This has a peculiar expected use case as a very fast pre-filter for more precise clipping.
182371
182489
  * * The expected point set is for a polygon.
182372
182490
  * * Hence any clipping will eventually have to consider the lines between the points.
182373
182491
  * * This method looks for the special case of a single clip plane that has all the points outside.
182374
182492
  * * In this case the whole polygon must be outside.
182375
182493
  * * Note that this does not detect a polygon that is outside but "crosses a corner" -- it is mixed with respect to
182376
- * multiple planes.
182494
+ * multiple planes.
182377
182495
  */
182378
182496
  classifyPointContainment(points, onIsOutside) {
182379
182497
  let allInside = true;
@@ -182395,7 +182513,8 @@ class ConvexClipPlaneSet {
182395
182513
  /**
182396
182514
  * * Create a convex clip set for a polygon swept with possible tilt angle.
182397
182515
  * * planes are constructed by ClipPlane.createEdgeAndUpVector, using successive points from the array.
182398
- * * If the first and last points match, the polygon area is checked. If the area is negative, points are used in reverse order.
182516
+ * * If the first and last points match, the polygon area is checked. If the area is negative, points are used in
182517
+ * reverse order.
182399
182518
  * * If first and last points do not match, points are used in order given
182400
182519
  * @param points polygon points. (Closure point optional)
182401
182520
  * @param upVector primary sweep direction, as applied by ClipPlane.createEdgeAndUpVector
@@ -182443,7 +182562,7 @@ class ConvexClipPlaneSet {
182443
182562
  this._planes.push(_ClipPlane__WEBPACK_IMPORTED_MODULE_0__.ClipPlane.createPlane(plane));
182444
182563
  }
182445
182564
  /**
182446
- * test many points. Distribute them to arrays depending on in/out result.
182565
+ * Test many points. Distribute them to arrays depending on in/out result.
182447
182566
  * @param points points to test
182448
182567
  * @param inOrOn points that are in or on the set
182449
182568
  * @param out points that are out.
@@ -182463,8 +182582,10 @@ class ConvexClipPlaneSet {
182463
182582
  /**
182464
182583
  * Clip a polygon to the planes of the clip plane set.
182465
182584
  * * For a convex input polygon, the output is another convex polygon.
182466
- * * For a non-convex input, the output may have double-back edges along plane intersections. This is still a valid clip in a parity sense.
182467
- * * The containingPlane parameter allows callers within ConvexClipPlane set to bypass planes known to contain the polygon
182585
+ * * For a non-convex input, the output may have double-back edges along plane intersections. This is still a
182586
+ * valid clip in a parity sense.
182587
+ * * The containingPlane parameter allows callers within ConvexClipPlane set to bypass planes known to contain
182588
+ * the polygon.
182468
182589
  * @param input input polygon, usually convex.
182469
182590
  * @param output output polygon
182470
182591
  * @param work work array.
@@ -182509,7 +182630,7 @@ class ConvexClipPlaneSet {
182509
182630
  const inwardNormal = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.createCrossProduct(sweepDirection.x, sweepDirection.y, sweepDirection.z, edgeVector.x, edgeVector.y, edgeVector.z);
182510
182631
  const inwardNormalNormalized = inwardNormal.normalize();
182511
182632
  let distance;
182512
- if (inwardNormalNormalized) { // Should never fail... simply a check due to the format of the normalize function return
182633
+ if (inwardNormalNormalized) { // should never fail... simply a check due to the format of the normalize function return
182513
182634
  distance = inwardNormalNormalized.dotProduct(xyz0);
182514
182635
  const clipToAdd = _ClipPlane__WEBPACK_IMPORTED_MODULE_0__.ClipPlane.createNormalAndDistance(inwardNormalNormalized, distance, false, false);
182515
182636
  if (clipToAdd) {
@@ -182538,13 +182659,16 @@ class ConvexClipPlaneSet {
182538
182659
  * * optionally throw out points that are not in the set.
182539
182660
  * * optionally push the points in the caller-supplied point array.
182540
182661
  * * optionally extend a caller supplied range.
182541
- * * In the common case where the convex set is (a) a slab or (b) a view frustum, there will be 8 points and the range is the range of the convex set.
182542
- * * If the convex set is unbounded, the range only contains the range of the accepted (corner) points, and the range is not a representative of the "range of all points in the set" .
182662
+ * * In the common case where the convex set is (a) a slab or (b) a view frustum, there will be 8 points and the
182663
+ * range is the range of the convex set.
182664
+ * * If the convex set is unbounded, the range only contains the range of the accepted (corner) points, and the
182665
+ * range is not a representative of the "range of all points in the set".
182543
182666
  * @param transform (optional) transform to apply to the points.
182544
182667
  * @param points (optional) array to which computed points are to be added.
182545
182668
  * @param range (optional) range to be extended by the computed points
182546
182669
  * @param transform (optional) transform to apply to the accepted points.
182547
- * @param testContainment if true, test each point to see if it is within the convex set. (Send false if confident that the convex set is rectilinear set such as a slab. Send true if chiseled corners are possible)
182670
+ * @param testContainment if true, test each point to see if it is within the convex set. (send false if confident
182671
+ * that the convex set is rectilinear set such as a slab. Send true if chiseled corners are possible).
182548
182672
  * @returns number of points.
182549
182673
  */
182550
182674
  computePlanePlanePlaneIntersections(points, rangeToExtend, transform, testContainment = true) {
@@ -182593,11 +182717,13 @@ class ConvexClipPlaneSet {
182593
182717
  if (zHigh !== undefined)
182594
182718
  this._planes.push(_ClipPlane__WEBPACK_IMPORTED_MODULE_0__.ClipPlane.createNormalAndDistance(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.create(0, 0, -1), -zHigh, invisible));
182595
182719
  }
182596
- /** Implement appendPolygonClip, as defined in interface PolygonClipper. /**
182597
- *
182720
+ /**
182721
+ * Implement appendPolygonClip, as defined in interface PolygonClipper.
182598
182722
  * @param xyz input polygon. This is not changed.
182599
- * @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from the cache. This is NOT cleared.
182600
- * @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from the cache. This is NOT cleared.
182723
+ * @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from
182724
+ * the cache. This is NOT cleared.
182725
+ * @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from
182726
+ * the cache. This is NOT cleared.
182601
182727
  * @param arrayCache cache for reusable GrowableXYZArray.
182602
182728
  */
182603
182729
  appendPolygonClip(xyz, insideFragments, outsideFragments, arrayCache) {
@@ -182605,7 +182731,8 @@ class ConvexClipPlaneSet {
182605
182731
  if (newInside)
182606
182732
  insideFragments.push(newInside);
182607
182733
  }
182608
- /** Create a convex clip set from a convex mesh.
182734
+ /**
182735
+ * Create a convex clip set from a convex mesh.
182609
182736
  * * Create a plane for each facet.
182610
182737
  * * Assemble the planes as a single clip plane set.
182611
182738
  * * If the facets are closed by edge pairing, use the sign of the computed volume to point the plane normals inward.
@@ -182694,11 +182821,13 @@ __webpack_require__.r(__webpack_exports__);
182694
182821
  */
182695
182822
  class UnionOfConvexClipPlaneSets {
182696
182823
  /** (property accessor) Return the (reference to the) array of `ConvexClipPlaneSet` */
182697
- get convexSets() { return this._convexSets; }
182824
+ get convexSets() {
182825
+ return this._convexSets;
182826
+ }
182698
182827
  constructor() {
182699
182828
  this._convexSets = [];
182700
182829
  }
182701
- /** Return an array with the `toJSON` form of each `ConvexClipPlaneSet` */
182830
+ /** Return an array with the `toJSON` form of each `ConvexClipPlaneSet` */
182702
182831
  toJSON() {
182703
182832
  const val = [];
182704
182833
  for (const convex of this._convexSets)
@@ -182724,8 +182853,9 @@ class UnionOfConvexClipPlaneSets {
182724
182853
  return new UnionOfConvexClipPlaneSets();
182725
182854
  }
182726
182855
  /**
182727
- * Return true if all member convex sets are almostEqual to corresponding members of other. This includes identical order in array.
182728
- * @param other clip plane to compare
182856
+ * Return true if all member convex sets are almostEqual to corresponding members of other. This includes
182857
+ * identical order in array.
182858
+ * @param other clip plane to compare.
182729
182859
  */
182730
182860
  isAlmostEqual(other) {
182731
182861
  if (this._convexSets.length !== other._convexSets.length)
@@ -182735,14 +182865,14 @@ class UnionOfConvexClipPlaneSets {
182735
182865
  return false;
182736
182866
  return true;
182737
182867
  }
182738
- /** Create a `UnionOfConvexClipPlaneSets` with given `ConvexClipPlaneSet` members */
182868
+ /** Create a `UnionOfConvexClipPlaneSets` with given `ConvexClipPlaneSet` members. */
182739
182869
  static createConvexSets(convexSets, result) {
182740
182870
  result = result ? result : new UnionOfConvexClipPlaneSets();
182741
182871
  for (const set of convexSets)
182742
182872
  result._convexSets.push(set);
182743
182873
  return result;
182744
182874
  }
182745
- /** return a deep copy. */
182875
+ /** Return a deep copy. */
182746
182876
  clone(result) {
182747
182877
  result = result ? result : new UnionOfConvexClipPlaneSets();
182748
182878
  result._convexSets.length = 0;
@@ -182750,7 +182880,8 @@ class UnionOfConvexClipPlaneSets {
182750
182880
  result._convexSets.push(convexSet.clone());
182751
182881
  return result;
182752
182882
  }
182753
- /** Append `toAdd` to the array of `ConvexClipPlaneSet`.
182883
+ /**
182884
+ * Append `toAdd` to the array of `ConvexClipPlaneSet`.
182754
182885
  * * undefined toAdd is ignored.
182755
182886
  */
182756
182887
  addConvexSet(toAdd) {
@@ -182761,7 +182892,7 @@ class UnionOfConvexClipPlaneSets {
182761
182892
  * Test if there is any intersection with a ray defined by origin and direction.
182762
182893
  * * Optionally record the range (null or otherwise) in caller-allocated result.
182763
182894
  * * If the ray is unbounded inside the clip, result can contain positive or negative
182764
- * "Geometry.largeCoordinateResult" values
182895
+ * "Geometry.largeCoordinateResult" values.
182765
182896
  * * If no result is provide, there are no object allocations.
182766
182897
  * @param maximalRange optional Range1d to receive parameters along the ray.
182767
182898
  */
@@ -182782,7 +182913,10 @@ class UnionOfConvexClipPlaneSets {
182782
182913
  }
182783
182914
  return !maximalRange.isNull;
182784
182915
  }
182785
- /** Return true if true is returned for any contained convex set returns true for `convexSet.isPointInside (point, tolerance)` */
182916
+ /**
182917
+ * Return true if true is returned for any contained convex set returns true for
182918
+ * `convexSet.isPointInside (point, tolerance)`.
182919
+ */
182786
182920
  isPointInside(point) {
182787
182921
  for (const convexSet of this._convexSets) {
182788
182922
  if (convexSet.isPointInside(point)) {
@@ -182791,7 +182925,10 @@ class UnionOfConvexClipPlaneSets {
182791
182925
  }
182792
182926
  return false;
182793
182927
  }
182794
- /** Return true if true is returned for any contained convex set returns true for `convexSet.isPointOnOrInside (point, tolerance)` */
182928
+ /**
182929
+ * Return true if true is returned for any contained convex set returns true for
182930
+ * `convexSet.isPointOnOrInside (point, tolerance)`.
182931
+ */
182795
182932
  isPointOnOrInside(point, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
182796
182933
  for (const convexSet of this._convexSets) {
182797
182934
  if (convexSet.isPointOnOrInside(point, tolerance))
@@ -182799,7 +182936,10 @@ class UnionOfConvexClipPlaneSets {
182799
182936
  }
182800
182937
  return false;
182801
182938
  }
182802
- /** Return true if true is returned for any contained convex set returns true for `convexSet.isSphereOnOrInside (point, tolerance)` */
182939
+ /**
182940
+ * Return true if true is returned for any contained convex set returns true for
182941
+ * `convexSet.isSphereOnOrInside (point, tolerance)`.
182942
+ */
182803
182943
  isSphereInside(point, radius) {
182804
182944
  for (const convexSet of this._convexSets) {
182805
182945
  if (convexSet.isSphereInside(point, radius))
@@ -182807,7 +182947,7 @@ class UnionOfConvexClipPlaneSets {
182807
182947
  }
182808
182948
  return false;
182809
182949
  }
182810
- /** test if any part of a line segment is within the volume */
182950
+ /** Test if any part of a line segment is within the volume. */
182811
182951
  isAnyPointInOrOnFromSegment(segment) {
182812
182952
  for (const convexSet of this._convexSets) {
182813
182953
  if (convexSet.announceClippedSegmentIntervals(0.0, 1.0, segment.point0Ref, segment.point1Ref))
@@ -182817,19 +182957,19 @@ class UnionOfConvexClipPlaneSets {
182817
182957
  }
182818
182958
  // Intervals must be Segment1d array, as there may be multiple intervals along segment that pass through set regions,
182819
182959
  // and so splitting the intervals into segments aids in better organization
182820
- /** Returns the fractions of the segment that pass through the set region, as 1 dimensional pieces */
182960
+ /** Returns the fractions of the segment that pass through the set region, as 1 dimensional pieces. */
182821
182961
  appendIntervalsFromSegment(segment, intervals) {
182822
182962
  for (const convexSet of this._convexSets) {
182823
182963
  convexSet.announceClippedSegmentIntervals(0.0, 1.0, segment.point0Ref, segment.point1Ref, (fraction0, fraction1) => intervals.push(_geometry3d_Segment1d__WEBPACK_IMPORTED_MODULE_3__.Segment1d.create(fraction0, fraction1)));
182824
182964
  }
182825
182965
  }
182826
- /** apply `transform` to all the ConvexClipPlaneSet's */
182966
+ /** Apply `transform` to all the ConvexClipPlaneSet's. */
182827
182967
  transformInPlace(transform) {
182828
182968
  for (const convexSet of this._convexSets) {
182829
182969
  convexSet.transformInPlace(transform);
182830
182970
  }
182831
182971
  }
182832
- /** Returns 1, 2, or 3 based on whether point is strongly inside, ambiguous, or strongly outside respectively */
182972
+ /** Returns 1, 2, or 3 based on whether point is strongly inside, ambiguous, or strongly outside respectively. */
182833
182973
  classifyPointContainment(points, onIsOutside) {
182834
182974
  for (const convexSet of this._convexSets) {
182835
182975
  const thisStatus = convexSet.classifyPointContainment(points, onIsOutside);
@@ -182838,7 +182978,10 @@ class UnionOfConvexClipPlaneSets {
182838
182978
  }
182839
182979
  return _ClipUtils__WEBPACK_IMPORTED_MODULE_4__.ClipPlaneContainment.StronglyOutside;
182840
182980
  }
182841
- /** Clip a polygon using this ClipPlaneSet, returning new polygon boundaries. Note that each polygon may lie next to the previous, or be disconnected. */
182981
+ /**
182982
+ * Clip a polygon using this ClipPlaneSet, returning new polygon boundaries. Note that each polygon may lie
182983
+ * next to the previous, or be disconnected.
182984
+ */
182842
182985
  polygonClip(input, output) {
182843
182986
  output.length = 0;
182844
182987
  if (Array.isArray(input))
@@ -182852,13 +182995,13 @@ class UnionOfConvexClipPlaneSets {
182852
182995
  }
182853
182996
  }
182854
182997
  /**
182855
- * * announce clipSegment() for each convexSet in this ClipPlaneSet.
182856
- * * all clipPlaneSets are inspected
182998
+ * Announce clipSegment() for each convexSet in this ClipPlaneSet.
182999
+ * * all clipPlaneSets are inspected.
182857
183000
  * * announced intervals are for each individual clipPlaneSet -- adjacent intervals are not consolidated.
182858
183001
  * @param f0 active interval start.
182859
- * @param f1 active interval end
182860
- * @param pointA line segment start
182861
- * @param pointB line segment end
183002
+ * @param f1 active interval end.
183003
+ * @param pointA line segment start.
183004
+ * @param pointB line segment end.
182862
183005
  * @param announce function to announce interval.
182863
183006
  * @returns Return true if any announcements are made.
182864
183007
  */
@@ -182870,7 +183013,8 @@ class UnionOfConvexClipPlaneSets {
182870
183013
  }
182871
183014
  return numAnnounce > 0;
182872
183015
  }
182873
- /** Find parts of an arc that are inside any member clipper.
183016
+ /**
183017
+ * Find parts of an arc that are inside any member clipper.
182874
183018
  * Announce each with `announce(startFraction, endFraction, this)`
182875
183019
  */
182876
183020
  announceClippedArcIntervals(arc, announce) {
@@ -182886,12 +183030,12 @@ class UnionOfConvexClipPlaneSets {
182886
183030
  }
182887
183031
  /**
182888
183032
  * Collect the output from computePlanePlanePlaneIntersections in all the contained convex sets.
182889
- *
182890
183033
  * @param transform (optional) transform to apply to the points.
182891
183034
  * @param points (optional) array to which computed points are to be added.
182892
- * @param range (optional) range to be extended by the computed points
183035
+ * @param range (optional) range to be extended by the computed points.
182893
183036
  * @param transform (optional) transform to apply to the accepted points.
182894
- * @param testContainment if true, test each point to see if it is within the convex set. (Send false if confident that the convex set is rectilinear set such as a slab. Send true if chiseled corners are possible)
183037
+ * @param testContainment if true, test each point to see if it is within the convex set (send false if confident
183038
+ * that the convex set is rectilinear set such as a slab. Send true if chiseled corners are possible).
182895
183039
  * @returns number of points.
182896
183040
  */
182897
183041
  computePlanePlanePlaneIntersectionsInAllConvexSets(points, rangeToExtend, transform, testContainment = true) {
@@ -182905,8 +183049,9 @@ class UnionOfConvexClipPlaneSets {
182905
183049
  * Multiply all ClipPlanes DPoint4d by matrix.
182906
183050
  * @param matrix matrix to apply.
182907
183051
  * @param invert if true, use in verse of the matrix.
182908
- * @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter)
182909
- * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect on the plane is the inverse transpose of matrixA
183052
+ * @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter).
183053
+ * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect
183054
+ * on the plane is the inverse transpose of matrixA.
182910
183055
  * * Callers that will apply the same matrix to many planes should pre-invert the matrix for efficiency.
182911
183056
  * * Both params default to true to get the full effect of transforming space.
182912
183057
  * @param matrix matrix to apply
@@ -182943,7 +183088,7 @@ class UnionOfConvexClipPlaneSets {
182943
183088
  this._convexSets.push(convexSet);
182944
183089
  }
182945
183090
  }
182946
- /** move convex sets from source.*/
183091
+ /** Move convex sets from source.*/
182947
183092
  takeConvexSets(source) {
182948
183093
  let convexSet;
182949
183094
  while ((undefined !== (convexSet = source._convexSets.pop()))) {
@@ -182953,8 +183098,10 @@ class UnionOfConvexClipPlaneSets {
182953
183098
  /**
182954
183099
  *
182955
183100
  * @param xyz input polygon. This is not changed.
182956
- * @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from the cache. This is NOT cleared.
182957
- * @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from the cache. This is NOT cleared.
183101
+ * @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from
183102
+ * the cache. This is NOT cleared.
183103
+ * @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from
183104
+ * the cache. This is NOT cleared.
182958
183105
  * @param arrayCache cache for reusable GrowableXYZArray.
182959
183106
  */
182960
183107
  appendPolygonClip(xyz, insideFragments, outsideFragments, arrayCache) {
@@ -183152,8 +183299,8 @@ class LineStringOffsetClipperContext {
183152
183299
  * @param points
183153
183300
  * @param positiveOffsetLeft offset to left. 0 is clip on the path.
183154
183301
  * @param positiveOffsetRight offset to the right. 0 is clip on the path.
183155
- * @param z0 z for lower clipping plane. If undefined, unbounded in positive z
183156
- * @param z1 z for upper clipping plane. If undefined, unbounded in negative z.
183302
+ * @param z0 z for lower clipping plane. If undefined, unbounded in positive z
183303
+ * @param z1 z for upper clipping plane. If undefined, unbounded in negative z.
183157
183304
  */
183158
183305
  static createClipBetweenOffsets(points, positiveOffsetLeft, positiveOffsetRight, z0, z1) {
183159
183306
  const context = new LineStringOffsetClipperContext(positiveOffsetLeft, positiveOffsetRight);
@@ -278983,7 +279130,7 @@ class TestContext {
278983
279130
  this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
278984
279131
  const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
278985
279132
  await core_frontend_1.NoRenderApp.startup({
278986
- applicationVersion: "4.1.0-dev.70",
279133
+ applicationVersion: "4.1.0-dev.72",
278987
279134
  applicationId: this.settings.gprid,
278988
279135
  authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.adminUserAccessToken),
278989
279136
  hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
@@ -294655,9 +294802,9 @@ const gBase64 = {
294655
294802
 
294656
294803
  /***/ }),
294657
294804
 
294658
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js":
294805
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js":
294659
294806
  /*!******************************************************************************************************************************!*\
294660
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***!
294807
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***!
294661
294808
  \******************************************************************************************************************************/
294662
294809
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
294663
294810
 
@@ -294674,9 +294821,9 @@ function _arrayLikeToArray(arr, len) {
294674
294821
 
294675
294822
  /***/ }),
294676
294823
 
294677
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js":
294824
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js":
294678
294825
  /*!****************************************************************************************************************************!*\
294679
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js ***!
294826
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js ***!
294680
294827
  \****************************************************************************************************************************/
294681
294828
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
294682
294829
 
@@ -294691,9 +294838,9 @@ function _arrayWithHoles(arr) {
294691
294838
 
294692
294839
  /***/ }),
294693
294840
 
294694
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js":
294841
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js":
294695
294842
  /*!***********************************************************************************************************************************!*\
294696
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***!
294843
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***!
294697
294844
  \***********************************************************************************************************************************/
294698
294845
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
294699
294846
 
@@ -294711,9 +294858,9 @@ function _assertThisInitialized(self) {
294711
294858
 
294712
294859
  /***/ }),
294713
294860
 
294714
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/classCallCheck.js":
294861
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/classCallCheck.js":
294715
294862
  /*!****************************************************************************************************************************!*\
294716
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***!
294863
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***!
294717
294864
  \****************************************************************************************************************************/
294718
294865
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
294719
294866
 
@@ -294730,9 +294877,9 @@ function _classCallCheck(instance, Constructor) {
294730
294877
 
294731
294878
  /***/ }),
294732
294879
 
294733
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/createClass.js":
294880
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/createClass.js":
294734
294881
  /*!*************************************************************************************************************************!*\
294735
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/createClass.js ***!
294882
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/createClass.js ***!
294736
294883
  \*************************************************************************************************************************/
294737
294884
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
294738
294885
 
@@ -294741,7 +294888,7 @@ __webpack_require__.r(__webpack_exports__);
294741
294888
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
294742
294889
  /* harmony export */ "default": () => (/* binding */ _createClass)
294743
294890
  /* harmony export */ });
294744
- /* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js");
294891
+ /* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js");
294745
294892
 
294746
294893
  function _defineProperties(target, props) {
294747
294894
  for (var i = 0; i < props.length; i++) {
@@ -294763,9 +294910,9 @@ function _createClass(Constructor, protoProps, staticProps) {
294763
294910
 
294764
294911
  /***/ }),
294765
294912
 
294766
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/defineProperty.js":
294913
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/defineProperty.js":
294767
294914
  /*!****************************************************************************************************************************!*\
294768
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/defineProperty.js ***!
294915
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/defineProperty.js ***!
294769
294916
  \****************************************************************************************************************************/
294770
294917
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
294771
294918
 
@@ -294774,7 +294921,7 @@ __webpack_require__.r(__webpack_exports__);
294774
294921
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
294775
294922
  /* harmony export */ "default": () => (/* binding */ _defineProperty)
294776
294923
  /* harmony export */ });
294777
- /* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js");
294924
+ /* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js");
294778
294925
 
294779
294926
  function _defineProperty(obj, key, value) {
294780
294927
  key = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(key);
@@ -294793,9 +294940,9 @@ function _defineProperty(obj, key, value) {
294793
294940
 
294794
294941
  /***/ }),
294795
294942
 
294796
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js":
294943
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js":
294797
294944
  /*!****************************************************************************************************************************!*\
294798
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js ***!
294945
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js ***!
294799
294946
  \****************************************************************************************************************************/
294800
294947
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
294801
294948
 
@@ -294813,9 +294960,9 @@ function _getPrototypeOf(o) {
294813
294960
 
294814
294961
  /***/ }),
294815
294962
 
294816
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/inherits.js":
294963
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/inherits.js":
294817
294964
  /*!**********************************************************************************************************************!*\
294818
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/inherits.js ***!
294965
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/inherits.js ***!
294819
294966
  \**********************************************************************************************************************/
294820
294967
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
294821
294968
 
@@ -294824,7 +294971,7 @@ __webpack_require__.r(__webpack_exports__);
294824
294971
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
294825
294972
  /* harmony export */ "default": () => (/* binding */ _inherits)
294826
294973
  /* harmony export */ });
294827
- /* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js");
294974
+ /* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js");
294828
294975
 
294829
294976
  function _inherits(subClass, superClass) {
294830
294977
  if (typeof superClass !== "function" && superClass !== null) {
@@ -294845,9 +294992,9 @@ function _inherits(subClass, superClass) {
294845
294992
 
294846
294993
  /***/ }),
294847
294994
 
294848
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/iterableToArray.js":
294995
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/iterableToArray.js":
294849
294996
  /*!*****************************************************************************************************************************!*\
294850
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***!
294997
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***!
294851
294998
  \*****************************************************************************************************************************/
294852
294999
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
294853
295000
 
@@ -294862,9 +295009,9 @@ function _iterableToArray(iter) {
294862
295009
 
294863
295010
  /***/ }),
294864
295011
 
294865
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js":
295012
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js":
294866
295013
  /*!*****************************************************************************************************************************!*\
294867
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js ***!
295014
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js ***!
294868
295015
  \*****************************************************************************************************************************/
294869
295016
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
294870
295017
 
@@ -294879,9 +295026,9 @@ function _nonIterableRest() {
294879
295026
 
294880
295027
  /***/ }),
294881
295028
 
294882
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js":
295029
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js":
294883
295030
  /*!***************************************************************************************************************************************!*\
294884
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js ***!
295031
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js ***!
294885
295032
  \***************************************************************************************************************************************/
294886
295033
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
294887
295034
 
@@ -294890,8 +295037,8 @@ __webpack_require__.r(__webpack_exports__);
294890
295037
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
294891
295038
  /* harmony export */ "default": () => (/* binding */ _possibleConstructorReturn)
294892
295039
  /* harmony export */ });
294893
- /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/typeof.js");
294894
- /* harmony import */ var _assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js");
295040
+ /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/typeof.js");
295041
+ /* harmony import */ var _assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js");
294895
295042
 
294896
295043
 
294897
295044
  function _possibleConstructorReturn(self, call) {
@@ -294905,9 +295052,9 @@ function _possibleConstructorReturn(self, call) {
294905
295052
 
294906
295053
  /***/ }),
294907
295054
 
294908
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js":
295055
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js":
294909
295056
  /*!****************************************************************************************************************************!*\
294910
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***!
295057
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***!
294911
295058
  \****************************************************************************************************************************/
294912
295059
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
294913
295060
 
@@ -294926,9 +295073,9 @@ function _setPrototypeOf(o, p) {
294926
295073
 
294927
295074
  /***/ }),
294928
295075
 
294929
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/toArray.js":
295076
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toArray.js":
294930
295077
  /*!*********************************************************************************************************************!*\
294931
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/toArray.js ***!
295078
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toArray.js ***!
294932
295079
  \*********************************************************************************************************************/
294933
295080
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
294934
295081
 
@@ -294937,10 +295084,10 @@ __webpack_require__.r(__webpack_exports__);
294937
295084
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
294938
295085
  /* harmony export */ "default": () => (/* binding */ _toArray)
294939
295086
  /* harmony export */ });
294940
- /* harmony import */ var _arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js");
294941
- /* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/iterableToArray.js");
294942
- /* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js");
294943
- /* harmony import */ var _nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableRest.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js");
295087
+ /* harmony import */ var _arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js");
295088
+ /* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/iterableToArray.js");
295089
+ /* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js");
295090
+ /* harmony import */ var _nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableRest.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js");
294944
295091
 
294945
295092
 
294946
295093
 
@@ -294951,9 +295098,9 @@ function _toArray(arr) {
294951
295098
 
294952
295099
  /***/ }),
294953
295100
 
294954
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/toPrimitive.js":
295101
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPrimitive.js":
294955
295102
  /*!*************************************************************************************************************************!*\
294956
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***!
295103
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***!
294957
295104
  \*************************************************************************************************************************/
294958
295105
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
294959
295106
 
@@ -294962,7 +295109,7 @@ __webpack_require__.r(__webpack_exports__);
294962
295109
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
294963
295110
  /* harmony export */ "default": () => (/* binding */ _toPrimitive)
294964
295111
  /* harmony export */ });
294965
- /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/typeof.js");
295112
+ /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/typeof.js");
294966
295113
 
294967
295114
  function _toPrimitive(input, hint) {
294968
295115
  if ((0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(input) !== "object" || input === null) return input;
@@ -294977,9 +295124,9 @@ function _toPrimitive(input, hint) {
294977
295124
 
294978
295125
  /***/ }),
294979
295126
 
294980
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js":
295127
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js":
294981
295128
  /*!***************************************************************************************************************************!*\
294982
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***!
295129
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***!
294983
295130
  \***************************************************************************************************************************/
294984
295131
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
294985
295132
 
@@ -294988,8 +295135,8 @@ __webpack_require__.r(__webpack_exports__);
294988
295135
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
294989
295136
  /* harmony export */ "default": () => (/* binding */ _toPropertyKey)
294990
295137
  /* harmony export */ });
294991
- /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/typeof.js");
294992
- /* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/toPrimitive.js");
295138
+ /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/typeof.js");
295139
+ /* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPrimitive.js");
294993
295140
 
294994
295141
 
294995
295142
  function _toPropertyKey(arg) {
@@ -294999,9 +295146,9 @@ function _toPropertyKey(arg) {
294999
295146
 
295000
295147
  /***/ }),
295001
295148
 
295002
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/typeof.js":
295149
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/typeof.js":
295003
295150
  /*!********************************************************************************************************************!*\
295004
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/typeof.js ***!
295151
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/typeof.js ***!
295005
295152
  \********************************************************************************************************************/
295006
295153
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
295007
295154
 
@@ -295022,9 +295169,9 @@ function _typeof(obj) {
295022
295169
 
295023
295170
  /***/ }),
295024
295171
 
295025
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js":
295172
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js":
295026
295173
  /*!****************************************************************************************************************************************!*\
295027
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***!
295174
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***!
295028
295175
  \****************************************************************************************************************************************/
295029
295176
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
295030
295177
 
@@ -295033,7 +295180,7 @@ __webpack_require__.r(__webpack_exports__);
295033
295180
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
295034
295181
  /* harmony export */ "default": () => (/* binding */ _unsupportedIterableToArray)
295035
295182
  /* harmony export */ });
295036
- /* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js");
295183
+ /* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js");
295037
295184
 
295038
295185
  function _unsupportedIterableToArray(o, minLen) {
295039
295186
  if (!o) return;
@@ -295467,15 +295614,15 @@ __webpack_require__.r(__webpack_exports__);
295467
295614
  /* harmony export */ t: () => (/* binding */ t),
295468
295615
  /* harmony export */ use: () => (/* binding */ use)
295469
295616
  /* harmony export */ });
295470
- /* harmony import */ var _babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/typeof */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/typeof.js");
295471
- /* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
295472
- /* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/createClass.js");
295473
- /* harmony import */ var _babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/assertThisInitialized */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js");
295474
- /* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inherits */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/inherits.js");
295475
- /* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/esm/possibleConstructorReturn */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js");
295476
- /* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/esm/getPrototypeOf */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js");
295477
- /* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/defineProperty.js");
295478
- /* harmony import */ var _babel_runtime_helpers_esm_toArray__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toArray */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/toArray.js");
295617
+ /* harmony import */ var _babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/typeof */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/typeof.js");
295618
+ /* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
295619
+ /* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/createClass.js");
295620
+ /* harmony import */ var _babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/assertThisInitialized */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js");
295621
+ /* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inherits */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/inherits.js");
295622
+ /* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/esm/possibleConstructorReturn */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js");
295623
+ /* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/esm/getPrototypeOf */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js");
295624
+ /* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/defineProperty.js");
295625
+ /* harmony import */ var _babel_runtime_helpers_esm_toArray__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toArray */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toArray.js");
295479
295626
 
295480
295627
 
295481
295628
 
@@ -298355,7 +298502,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
298355
298502
  /***/ ((module) => {
298356
298503
 
298357
298504
  "use strict";
298358
- module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.1.0-dev.70","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:^4.1.0-dev.70","@itwin/core-bentley":"workspace:^4.1.0-dev.70","@itwin/core-common":"workspace:^4.1.0-dev.70","@itwin/core-geometry":"workspace:^4.1.0-dev.70","@itwin/core-orbitgt":"workspace:^4.1.0-dev.70","@itwin/core-quantity":"workspace:^4.1.0-dev.70"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/certa":"workspace:*","@itwin/eslint-plugin":"4.0.0-dev.44","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/node":"18.16.1","@types/sinon":"^10.0.15","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.44.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^15.0.4","source-map-loader":"^4.0.0","typescript":"~5.0.2","webpack":"^5.76.0"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/cloud-agnostic-core":"^2.0.0","@itwin/object-storage-core":"^2.0.0","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"}}');
298505
+ module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.1.0-dev.72","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:^4.1.0-dev.72","@itwin/core-bentley":"workspace:^4.1.0-dev.72","@itwin/core-common":"workspace:^4.1.0-dev.72","@itwin/core-geometry":"workspace:^4.1.0-dev.72","@itwin/core-orbitgt":"workspace:^4.1.0-dev.72","@itwin/core-quantity":"workspace:^4.1.0-dev.72"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/certa":"workspace:*","@itwin/eslint-plugin":"4.0.0-dev.44","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/node":"18.16.1","@types/sinon":"^10.0.15","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.44.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^15.0.4","source-map-loader":"^4.0.0","typescript":"~5.0.2","webpack":"^5.76.0"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/cloud-agnostic-core":"^2.0.0","@itwin/object-storage-core":"^2.0.0","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"}}');
298359
298506
 
298360
298507
  /***/ }),
298361
298508