@itwin/rpcinterface-full-stack-tests 4.2.0-dev.1 → 4.2.0-dev.4

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.
@@ -34593,7 +34593,7 @@ __webpack_require__.r(__webpack_exports__);
34593
34593
  */
34594
34594
 
34595
34595
 
34596
- /** @beta */
34596
+ /** @public */
34597
34597
  class PropertyMetaDataMap {
34598
34598
  constructor(properties) {
34599
34599
  this.properties = properties;
@@ -34655,8 +34655,7 @@ class PropertyMetaDataMap {
34655
34655
  *
34656
34656
  * @note When iterating over the results, the current row will be a [[QueryRowProxy]] object. To get the row as a basic
34657
34657
  * JavaScript object, call [[QueryRowProxy.toRow]] on it.
34658
- *
34659
- * @beta
34658
+ * @public
34660
34659
  */
34661
34660
  class ECSqlReader {
34662
34661
  /**
@@ -34804,7 +34803,7 @@ class ECSqlReader {
34804
34803
  return this._done;
34805
34804
  }
34806
34805
  /**
34807
- *
34806
+ * @internal
34808
34807
  */
34809
34808
  getRowInternal() {
34810
34809
  if (this._localRows.length <= this._localOffset)
@@ -34884,7 +34883,7 @@ class ECSqlReader {
34884
34883
  return resp;
34885
34884
  }
34886
34885
  /**
34887
- *
34886
+ * @internal
34888
34887
  */
34889
34888
  formatCurrentRow(onlyReturnObject = false) {
34890
34889
  if (!onlyReturnObject && this._options.rowFormat === _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.QueryRowFormat.UseECSqlPropertyIndexes) {
@@ -68491,6 +68490,9 @@ class Property {
68491
68490
  this._customAttributes = new Map();
68492
68491
  this._customAttributes.set(customAttribute.className, customAttribute);
68493
68492
  }
68493
+ setName(name) {
68494
+ this._name = name;
68495
+ }
68494
68496
  /**
68495
68497
  * Retrieve all custom attributes in the current property and its base
68496
68498
  * This is the async version of getCustomAttributesSync()
@@ -83274,7 +83276,7 @@ class IModelConnection extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.I
83274
83276
  * @param params The values to bind to the parameters (if the ECSQL has any).
83275
83277
  * @param config Allow to specify certain flags which control how query is executed.
83276
83278
  * @returns Returns an [ECSqlReader]($common) which helps iterate over the result set and also give access to metadata.
83277
- * @beta
83279
+ * @public
83278
83280
  * */
83279
83281
  createQueryReader(ecsql, params, config) {
83280
83282
  const executor = {
@@ -206701,12 +206703,11 @@ __webpack_require__.r(__webpack_exports__);
206701
206703
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
206702
206704
  /* harmony export */ GrowableXYArray: () => (/* binding */ GrowableXYArray)
206703
206705
  /* harmony export */ });
206704
- /* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
206706
+ /* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
206705
206707
  /* harmony import */ var _GrowableXYZArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./GrowableXYZArray */ "../../core/geometry/lib/esm/geometry3d/GrowableXYZArray.js");
206706
206708
  /* harmony import */ var _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./IndexedXYCollection */ "../../core/geometry/lib/esm/geometry3d/IndexedXYCollection.js");
206707
206709
  /* harmony import */ var _Point2dVector2d__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Point2dVector2d */ "../../core/geometry/lib/esm/geometry3d/Point2dVector2d.js");
206708
- /* harmony import */ var _Point3dVector3d__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
206709
- /* harmony import */ var _PointStreaming__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PointStreaming */ "../../core/geometry/lib/esm/geometry3d/PointStreaming.js");
206710
+ /* harmony import */ var _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
206710
206711
  /*---------------------------------------------------------------------------------------------
206711
206712
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
206712
206713
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -206719,7 +206720,6 @@ __webpack_require__.r(__webpack_exports__);
206719
206720
 
206720
206721
 
206721
206722
 
206722
-
206723
206723
  /** `GrowableXYArray` manages a (possibly growing) Float64Array to pack xy coordinates.
206724
206724
  * @public
206725
206725
  */
@@ -206814,26 +206814,33 @@ class GrowableXYArray extends _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.
206814
206814
  return newPoints;
206815
206815
  }
206816
206816
  /** Create an array populated from
206817
- * * An array of Point2d
206818
- * * An array of Point3d (hidden as XAndY)
206819
- * * An array of objects with keyed values, et `{x:1, y:1}`
206820
- * * A `GrowableXYZArray`
206817
+ * Valid inputs are:
206818
+ * * Point2d
206819
+ * * Point3d
206820
+ * * An array of 2 doubles
206821
+ * * An array of 3 doubles
206822
+ * * A GrowableXYZArray
206823
+ * * A GrowableXYArray
206824
+ * * Any json object satisfying Point3d.isXAndY
206825
+ * * A Float64Array of doubles, interpreted as xyxy
206826
+ * * An array of any of the above
206821
206827
  */
206822
- static create(data) {
206823
- const newPoints = new GrowableXYArray(data.length);
206824
- if (data instanceof _GrowableXYZArray__WEBPACK_IMPORTED_MODULE_1__.GrowableXYZArray) {
206825
- newPoints.pushAllXYAndZ(data);
206828
+ static create(data, result) {
206829
+ if (result) {
206830
+ result.clear();
206826
206831
  }
206827
206832
  else {
206828
- newPoints.pushAll(data);
206833
+ const pointCount = typeof data[0] === "number" ? data.length / 2 : data.length;
206834
+ result = new GrowableXYArray(pointCount);
206829
206835
  }
206830
- return newPoints;
206836
+ result.pushFrom(data);
206837
+ return result;
206831
206838
  }
206832
- /** Restructure MultiLineStringDataVariant as array of GrowableXYZArray */
206839
+ /** Restructure MultiLineStringDataVariant as array of GrowableXYZArray
206840
+ * @deprecated in 4.x. Moved to GrowableXYZArray class.
206841
+ */
206833
206842
  static createArrayOfGrowableXYZArray(data) {
206834
- const collector = new _PointStreaming__WEBPACK_IMPORTED_MODULE_2__.PointStreamGrowableXYZArrayCollector();
206835
- _PointStreaming__WEBPACK_IMPORTED_MODULE_2__.VariantPointDataStream.streamXYZ(data, collector);
206836
- return collector.claimArrayOfGrowableXYZArray();
206843
+ return _GrowableXYZArray__WEBPACK_IMPORTED_MODULE_1__.GrowableXYZArray.createArrayOfGrowableXYZArray(data);
206837
206844
  }
206838
206845
  /** push a point to the end of the array */
206839
206846
  push(toPush) {
@@ -206859,6 +206866,51 @@ class GrowableXYArray extends _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.
206859
206866
  this.pushXY(p.x, p.y);
206860
206867
  }
206861
206868
  }
206869
+ /** Push points from variant sources.
206870
+ * Valid inputs are:
206871
+ * * Point2d
206872
+ * * Point3d
206873
+ * * An array of 2 doubles
206874
+ * * A GrowableXYArray
206875
+ * * A GrowableXYZArray
206876
+ * * Any json object satisfying Point3d.isXAndY
206877
+ * * A Float64Array of doubles, interpreted as xyxy
206878
+ * * An array of any of the above
206879
+ */
206880
+ pushFrom(p) {
206881
+ if (p instanceof _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d) {
206882
+ this.pushXY(p.x, p.y);
206883
+ }
206884
+ else if (p instanceof _GrowableXYZArray__WEBPACK_IMPORTED_MODULE_1__.GrowableXYZArray) {
206885
+ this.pushAllXYAndZ(p);
206886
+ }
206887
+ else if (p instanceof _Point2dVector2d__WEBPACK_IMPORTED_MODULE_3__.Point2d) {
206888
+ this.pushXY(p.x, p.y);
206889
+ }
206890
+ else if (_Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.isNumberArray(p, 3) || p instanceof Float64Array) {
206891
+ const xyToAdd = Math.trunc(p.length / 2);
206892
+ this.ensureCapacity(this._xyInUse + xyToAdd, false);
206893
+ this.copyData(p, xyToAdd, this._xyInUse);
206894
+ this._xyInUse += xyToAdd;
206895
+ }
206896
+ else if (_Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.isNumberArray(p, 2)) {
206897
+ this.pushXY(p[0], p[1]);
206898
+ }
206899
+ else if (Array.isArray(p)) {
206900
+ // direct recursion re-wraps p and goes infinite. Unroll here.
206901
+ for (const q of p)
206902
+ this.pushFrom(q);
206903
+ }
206904
+ else if (_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.isXAndY(p)) {
206905
+ this.pushXY(p.x, p.y);
206906
+ }
206907
+ else if (p instanceof _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.IndexedXYCollection) {
206908
+ const n = p.length;
206909
+ this.ensureCapacity(this._xyInUse + n, false);
206910
+ for (let i = 0; i < n; i++)
206911
+ this.pushXY(p.getXAtUncheckedPointIndex(i), p.getYAtUncheckedPointIndex(i));
206912
+ }
206913
+ }
206862
206914
  /**
206863
206915
  * Replicate numWrap xy values from the front of the array as new values at the end.
206864
206916
  * @param numWrap number of xy values to replicate
@@ -207094,7 +207146,7 @@ class GrowableXYArray extends _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.
207094
207146
  const result = [];
207095
207147
  const data = this._data;
207096
207148
  for (let i = 0; i < n; i += 2)
207097
- result.push(_Point3dVector3d__WEBPACK_IMPORTED_MODULE_4__.Point3d.create(data[i], data[i + 1], z));
207149
+ result.push(_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.create(data[i], data[i + 1], z));
207098
207150
  return result;
207099
207151
  }
207100
207152
  /** reverse the order of points. */
@@ -207188,7 +207240,7 @@ class GrowableXYArray extends _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.
207188
207240
  const n = 2 * (this._xyInUse - 1); // Length already takes into account what specifically is in use
207189
207241
  const data = this._data;
207190
207242
  for (let i = 0; i < n; i += 2)
207191
- sum += _Geometry__WEBPACK_IMPORTED_MODULE_5__.Geometry.hypotenuseXY(data[i + 2] - data[i], data[i + 3] - data[i + 1]);
207243
+ sum += _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.hypotenuseXY(data[i + 2] - data[i], data[i + 3] - data[i + 1]);
207192
207244
  return sum;
207193
207245
  }
207194
207246
  /**
@@ -207227,7 +207279,7 @@ class GrowableXYArray extends _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.
207227
207279
  for (let i = 2; i < n; i += 2, dx1 = dx2, dy1 = dy2) {
207228
207280
  dx2 = this._data[i] - x0;
207229
207281
  dy2 = this._data[i + 1] - y0;
207230
- area += _Geometry__WEBPACK_IMPORTED_MODULE_5__.Geometry.crossProductXYXY(dx1, dy1, dx2, dy2);
207282
+ area += _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.crossProductXYXY(dx1, dy1, dx2, dy2);
207231
207283
  }
207232
207284
  }
207233
207285
  return 0.5 * area;
@@ -207257,7 +207309,7 @@ class GrowableXYArray extends _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.
207257
207309
  const j = targetAIndex * 2;
207258
207310
  const k = targetBIndex * 2;
207259
207311
  const data = this._data;
207260
- return _Geometry__WEBPACK_IMPORTED_MODULE_5__.Geometry.crossProductXYXY(data[j] - data[i], data[j + 1] - data[i + 1], data[k] - data[i], data[k + 1] - data[i + 1]);
207312
+ return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.crossProductXYXY(data[j] - data[i], data[j + 1] - data[i + 1], data[k] - data[i], data[k + 1] - data[i + 1]);
207261
207313
  }
207262
207314
  return undefined;
207263
207315
  }
@@ -207267,7 +207319,7 @@ class GrowableXYArray extends _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.
207267
207319
  const j = targetAIndex * 2;
207268
207320
  const k = targetBIndex * 2;
207269
207321
  const data = this._data;
207270
- return _Geometry__WEBPACK_IMPORTED_MODULE_5__.Geometry.crossProductXYXY(data[j] - origin.x, data[j + 1] - origin.y, data[k] - origin.x, data[k + 1] - origin.y);
207322
+ return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.crossProductXYXY(data[j] - origin.x, data[j + 1] - origin.y, data[k] - origin.x, data[k + 1] - origin.y);
207271
207323
  }
207272
207324
  return undefined;
207273
207325
  }
@@ -207276,7 +207328,7 @@ class GrowableXYArray extends _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.
207276
207328
  if (this.isIndexValid(i) && this.isIndexValid(j)) {
207277
207329
  const i0 = 2 * i;
207278
207330
  const j0 = 2 * j;
207279
- return _Geometry__WEBPACK_IMPORTED_MODULE_5__.Geometry.hypotenuseXY(this._data[j0] - this._data[i0], this._data[j0 + 1] - this._data[i0 + 1]);
207331
+ return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.hypotenuseXY(this._data[j0] - this._data[i0], this._data[j0 + 1] - this._data[i0 + 1]);
207280
207332
  }
207281
207333
  return undefined;
207282
207334
  }
@@ -207284,7 +207336,7 @@ class GrowableXYArray extends _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.
207284
207336
  distanceIndexToPoint(i, spacePoint) {
207285
207337
  if (this.isIndexValid(i)) {
207286
207338
  const i0 = 2 * i;
207287
- return _Geometry__WEBPACK_IMPORTED_MODULE_5__.Geometry.hypotenuseXY(spacePoint.x - this._data[i0], spacePoint.y - this._data[i0 + 1]);
207339
+ return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.hypotenuseXY(spacePoint.x - this._data[i0], spacePoint.y - this._data[i0 + 1]);
207288
207340
  }
207289
207341
  return undefined;
207290
207342
  }
@@ -207334,7 +207386,7 @@ class GrowableXYArray extends _IndexedXYCollection__WEBPACK_IMPORTED_MODULE_0__.
207334
207386
  return this._data[2 * pointIndex + componentIndex];
207335
207387
  }
207336
207388
  /** Toleranced equality test */
207337
- isAlmostEqual(other, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_5__.Geometry.smallMetricDistance) {
207389
+ isAlmostEqual(other, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.smallMetricDistance) {
207338
207390
  const numXY = this._xyInUse;
207339
207391
  if (other._xyInUse !== numXY)
207340
207392
  return false;
@@ -207362,12 +207414,13 @@ __webpack_require__.r(__webpack_exports__);
207362
207414
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
207363
207415
  /* harmony export */ GrowableXYZArray: () => (/* binding */ GrowableXYZArray)
207364
207416
  /* harmony export */ });
207365
- /* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
207417
+ /* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
207366
207418
  /* harmony import */ var _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./IndexedXYZCollection */ "../../core/geometry/lib/esm/geometry3d/IndexedXYZCollection.js");
207367
- /* harmony import */ var _Point2dVector2d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Point2dVector2d */ "../../core/geometry/lib/esm/geometry3d/Point2dVector2d.js");
207368
- /* harmony import */ var _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
207369
- /* harmony import */ var _Range__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
207370
- /* harmony import */ var _Transform__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Transform */ "../../core/geometry/lib/esm/geometry3d/Transform.js");
207419
+ /* harmony import */ var _Point2dVector2d__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Point2dVector2d */ "../../core/geometry/lib/esm/geometry3d/Point2dVector2d.js");
207420
+ /* harmony import */ var _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
207421
+ /* harmony import */ var _PointStreaming__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PointStreaming */ "../../core/geometry/lib/esm/geometry3d/PointStreaming.js");
207422
+ /* harmony import */ var _Range__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
207423
+ /* harmony import */ var _Transform__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Transform */ "../../core/geometry/lib/esm/geometry3d/Transform.js");
207371
207424
  /*---------------------------------------------------------------------------------------------
207372
207425
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
207373
207426
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -207381,6 +207434,7 @@ __webpack_require__.r(__webpack_exports__);
207381
207434
 
207382
207435
 
207383
207436
 
207437
+
207384
207438
  /** `GrowableXYArray` manages a (possibly growing) Float64Array to pack xy coordinates.
207385
207439
  * @public
207386
207440
  */
@@ -207483,7 +207537,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
207483
207537
  /** Create an array from various point data formats.
207484
207538
  * Valid inputs are:
207485
207539
  * * Point2d
207486
- * * point3d
207540
+ * * Point3d
207487
207541
  * * An array of 2 doubles
207488
207542
  * * An array of 3 doubles
207489
207543
  * * A GrowableXYZArray
@@ -207505,6 +207559,12 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
207505
207559
  result.pushFrom(data);
207506
207560
  return result;
207507
207561
  }
207562
+ /** Restructure MultiLineStringDataVariant as array of GrowableXYZArray */
207563
+ static createArrayOfGrowableXYZArray(data) {
207564
+ const collector = new _PointStreaming__WEBPACK_IMPORTED_MODULE_1__.PointStreamGrowableXYZArrayCollector();
207565
+ _PointStreaming__WEBPACK_IMPORTED_MODULE_1__.VariantPointDataStream.streamXYZ(data, collector);
207566
+ return collector.claimArrayOfGrowableXYZArray();
207567
+ }
207508
207568
  /** push a point to the end of the array */
207509
207569
  push(toPush) {
207510
207570
  this.pushXYZ(toPush.x, toPush.y, toPush.z);
@@ -207518,7 +207578,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
207518
207578
  /** Push points from variant sources.
207519
207579
  * Valid inputs are:
207520
207580
  * * Point2d
207521
- * * point3d
207581
+ * * Point3d
207522
207582
  * * An array of 2 doubles
207523
207583
  * * An array of 3 doubles
207524
207584
  * * A GrowableXYZArray
@@ -207528,30 +207588,30 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
207528
207588
  * * An array of any of the above
207529
207589
  */
207530
207590
  pushFrom(p) {
207531
- if (p instanceof _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d)
207591
+ if (p instanceof _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d)
207532
207592
  this.pushXYZ(p.x, p.y, p.z);
207533
207593
  else if (p instanceof GrowableXYZArray)
207534
207594
  this.pushFromGrowableXYZArray(p);
207535
- else if (p instanceof _Point2dVector2d__WEBPACK_IMPORTED_MODULE_2__.Point2d)
207595
+ else if (p instanceof _Point2dVector2d__WEBPACK_IMPORTED_MODULE_3__.Point2d)
207536
207596
  this.pushXYZ(p.x, p.y, 0.0);
207537
- else if (_Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.isNumberArray(p, 4) || p instanceof Float64Array) {
207597
+ else if (_Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.isNumberArray(p, 4) || p instanceof Float64Array) {
207538
207598
  const xyzToAdd = Math.trunc(p.length / 3);
207539
207599
  this.ensureCapacity(this._xyzInUse + xyzToAdd, false);
207540
207600
  this.copyData(p, xyzToAdd, this._xyzInUse);
207541
207601
  this._xyzInUse += xyzToAdd;
207542
207602
  }
207543
- else if (_Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.isNumberArray(p, 3))
207603
+ else if (_Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.isNumberArray(p, 3))
207544
207604
  this.pushXYZ(p[0], p[1], p[2]);
207545
- else if (_Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.isNumberArray(p, 2))
207605
+ else if (_Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.isNumberArray(p, 2))
207546
207606
  this.pushXYZ(p[0], p[1], 0.0);
207547
207607
  else if (Array.isArray(p)) {
207548
- // direct recursion re-wraps p and goes infinite. unroll here .
207608
+ // direct recursion re-wraps p and goes infinite. Unroll here.
207549
207609
  for (const q of p)
207550
207610
  this.pushFrom(q);
207551
207611
  }
207552
- else if (_Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.isXYAndZ(p))
207612
+ else if (_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.isXYAndZ(p))
207553
207613
  this.pushXYZ(p.x, p.y, p.z);
207554
- else if (_Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.isXAndY(p))
207614
+ else if (_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.isXAndY(p))
207555
207615
  this.pushXYZ(p.x, p.y, 0.0);
207556
207616
  else if (p instanceof _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0__.IndexedXYZCollection) {
207557
207617
  const n = p.length;
@@ -207652,7 +207712,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
207652
207712
  */
207653
207713
  getPoint3dAtUncheckedPointIndex(pointIndex, result) {
207654
207714
  const index = 3 * pointIndex;
207655
- return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create(this._data[index], this._data[index + 1], this._data[index + 2], result);
207715
+ return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.create(this._data[index], this._data[index + 1], this._data[index + 2], result);
207656
207716
  }
207657
207717
  /**
207658
207718
  * Get a point by index, strongly typed as a Point2d. This is unchecked. Use getPoint2dAtCheckedPointIndex to have validity test.
@@ -207661,13 +207721,13 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
207661
207721
  */
207662
207722
  getPoint2dAtUncheckedPointIndex(pointIndex, result) {
207663
207723
  const index = 3 * pointIndex;
207664
- return _Point2dVector2d__WEBPACK_IMPORTED_MODULE_2__.Point2d.create(this._data[index], this._data[index + 1], result);
207724
+ return _Point2dVector2d__WEBPACK_IMPORTED_MODULE_3__.Point2d.create(this._data[index], this._data[index + 1], result);
207665
207725
  }
207666
207726
  /** copy xyz into strongly typed Point3d */
207667
207727
  getPoint3dAtCheckedPointIndex(pointIndex, result) {
207668
207728
  if (this.isIndexValid(pointIndex)) {
207669
207729
  const index = 3 * pointIndex;
207670
- return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create(this._data[index], this._data[index + 1], this._data[index + 2], result);
207730
+ return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.create(this._data[index], this._data[index + 1], this._data[index + 2], result);
207671
207731
  }
207672
207732
  return undefined;
207673
207733
  }
@@ -207690,7 +207750,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
207690
207750
  getPoint2dAtCheckedPointIndex(pointIndex, result) {
207691
207751
  if (this.isIndexValid(pointIndex)) {
207692
207752
  const index = 3 * pointIndex;
207693
- return _Point2dVector2d__WEBPACK_IMPORTED_MODULE_2__.Point2d.create(this._data[index], this._data[index + 1], result);
207753
+ return _Point2dVector2d__WEBPACK_IMPORTED_MODULE_3__.Point2d.create(this._data[index], this._data[index + 1], result);
207694
207754
  }
207695
207755
  return undefined;
207696
207756
  }
@@ -207698,7 +207758,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
207698
207758
  getVector3dAtCheckedVectorIndex(vectorIndex, result) {
207699
207759
  if (this.isIndexValid(vectorIndex)) {
207700
207760
  const index = 3 * vectorIndex;
207701
- return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this._data[index], this._data[index + 1], this._data[index + 2], result);
207761
+ return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.create(this._data[index], this._data[index + 1], this._data[index + 2], result);
207702
207762
  }
207703
207763
  return undefined;
207704
207764
  }
@@ -207797,7 +207857,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
207797
207857
  const result = [];
207798
207858
  const data = this._data;
207799
207859
  for (let i = 0; i < n; i += 3)
207800
- result.push(_Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create(data[i], data[i + 1], data[i + 2]));
207860
+ result.push(_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.create(data[i], data[i + 1], data[i + 2]));
207801
207861
  return result;
207802
207862
  }
207803
207863
  /** multiply each point by the transform, replace values. */
@@ -207883,7 +207943,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
207883
207943
  if (!matrix.computeCachedInverse(true))
207884
207944
  return false;
207885
207945
  const coffs = matrix.inverseCoffs;
207886
- const tol = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.smallFloatingPoint;
207946
+ const tol = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.smallFloatingPoint;
207887
207947
  let x = 0;
207888
207948
  let y = 0;
207889
207949
  let z = 0;
@@ -207926,7 +207986,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
207926
207986
  multiplyMatrix4dAndQuietRenormalizeMatrix4d(matrix) {
207927
207987
  const data = this._data;
207928
207988
  const nDouble = this.float64Length;
207929
- const xyz1 = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create();
207989
+ const xyz1 = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.create();
207930
207990
  for (let i = 0; i + 2 <= nDouble; i += 3) {
207931
207991
  matrix.multiplyXYZWQuietRenormalize(data[i], data[i + 1], data[i + 2], 1.0, xyz1);
207932
207992
  data[i] = xyz1.x;
@@ -207975,7 +208035,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
207975
208035
  }
207976
208036
  /** get range of points. */
207977
208037
  getRange(transform) {
207978
- const range = _Range__WEBPACK_IMPORTED_MODULE_4__.Range3d.createNull();
208038
+ const range = _Range__WEBPACK_IMPORTED_MODULE_5__.Range3d.createNull();
207979
208039
  this.extendRange(range, transform);
207980
208040
  return range;
207981
208041
  }
@@ -207990,7 +208050,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
207990
208050
  const n = 3 * (this._xyzInUse - 1); // Length already takes into account what specifically is in use
207991
208051
  const data = this._data;
207992
208052
  for (let i = 0; i < n; i += 3)
207993
- sum += _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.hypotenuseXYZ(data[i + 3] - data[i], data[i + 4] - data[i + 1], data[i + 5] - data[i + 2]);
208053
+ sum += _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.hypotenuseXYZ(data[i + 3] - data[i], data[i + 4] - data[i + 1], data[i + 5] - data[i + 2]);
207994
208054
  return sum;
207995
208055
  }
207996
208056
  /**
@@ -208005,7 +208065,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
208005
208065
  }
208006
208066
  }
208007
208067
  /** test if all points are within tolerance of a plane. */
208008
- isCloseToPlane(plane, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.smallMetricDistance) {
208068
+ isCloseToPlane(plane, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.smallMetricDistance) {
208009
208069
  const numCoordinate = 3 * this._xyzInUse;
208010
208070
  const data = this._data;
208011
208071
  for (let i = 0; i < numCoordinate; i += 3)
@@ -208018,7 +208078,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
208018
208078
  * * If already closed within tolerance, force exact copy
208019
208079
  * * otherwise leave unchanged.
208020
208080
  */
208021
- forceClosure(tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.smallMetricDistance) {
208081
+ forceClosure(tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.smallMetricDistance) {
208022
208082
  const d = this.distanceIndexIndex(0, this.length - 1);
208023
208083
  // leave the empty array alone.
208024
208084
  // Note that singleton will generate 0 distance and do nothing.
@@ -208040,7 +208100,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
208040
208100
  const data = this._data;
208041
208101
  i = 3 * i;
208042
208102
  j = 3 * j;
208043
- return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create(fraction0 * data[i] + fraction * data[j], fraction0 * data[i + 1] + fraction * data[j + 1], fraction0 * data[i + 2] + fraction * data[j + 2], result);
208103
+ return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.create(fraction0 * data[i] + fraction * data[j], fraction0 * data[i + 1] + fraction * data[j + 1], fraction0 * data[i + 2] + fraction * data[j + 2], result);
208044
208104
  }
208045
208105
  return undefined;
208046
208106
  }
@@ -208071,7 +208131,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
208071
208131
  for (let i = 3; i < n; i += 3, dx1 = dx2, dy1 = dy2) {
208072
208132
  dx2 = this._data[i] - x0;
208073
208133
  dy2 = this._data[i + 1] - y0;
208074
- area += _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.crossProductXYXY(dx1, dy1, dx2, dy2);
208134
+ area += _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.crossProductXYXY(dx1, dy1, dx2, dy2);
208075
208135
  }
208076
208136
  }
208077
208137
  return 0.5 * area;
@@ -208083,14 +208143,14 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
208083
208143
  const data = this._data;
208084
208144
  i = 3 * i;
208085
208145
  j = 3 * j;
208086
- return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(data[j] - data[i], data[j + 1] - data[i + 1], data[j + 2] - data[i + 2], result);
208146
+ return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.create(data[j] - data[i], data[j + 1] - data[i + 1], data[j + 2] - data[i + 2], result);
208087
208147
  }
208088
208148
  /** Compute a vector from origin to indexed target j */
208089
208149
  vectorXYAndZIndex(origin, j, result) {
208090
208150
  if (this.isIndexValid(j)) {
208091
208151
  const data = this._data;
208092
208152
  j = 3 * j;
208093
- return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(data[j] - origin.x, data[j + 1] - origin.y, data[j + 2] - origin.z, result);
208153
+ return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.create(data[j] - origin.x, data[j + 1] - origin.y, data[j + 2] - origin.z, result);
208094
208154
  }
208095
208155
  return undefined;
208096
208156
  }
@@ -208101,7 +208161,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
208101
208161
  const j = targetAIndex * 3;
208102
208162
  const k = targetBIndex * 3;
208103
208163
  const data = this._data;
208104
- return _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.crossProductXYZXYZ(data[j] - data[i], data[j + 1] - data[i + 1], data[j + 2] - data[i + 2], data[k] - data[i], data[k + 1] - data[i + 1], data[k + 2] - data[i + 2], result);
208164
+ return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.crossProductXYZXYZ(data[j] - data[i], data[j + 1] - data[i + 1], data[j + 2] - data[i + 2], data[k] - data[i], data[k + 1] - data[i + 1], data[k + 2] - data[i + 2], result);
208105
208165
  }
208106
208166
  return undefined;
208107
208167
  }
@@ -208149,7 +208209,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
208149
208209
  const j = targetAIndex * 3;
208150
208210
  const k = targetBIndex * 3;
208151
208211
  const data = this._data;
208152
- return _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.crossProductXYZXYZ(data[j] - origin.x, data[j + 1] - origin.y, data[j + 2] - origin.z, data[k] - origin.x, data[k + 1] - origin.y, data[k + 2] - origin.z, result);
208212
+ return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.crossProductXYZXYZ(data[j] - origin.x, data[j + 1] - origin.y, data[j + 2] - origin.z, data[k] - origin.x, data[k + 1] - origin.y, data[k + 2] - origin.z, result);
208153
208213
  }
208154
208214
  return undefined;
208155
208215
  }
@@ -208157,7 +208217,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
208157
208217
  distanceIndexToPoint(i, spacePoint) {
208158
208218
  if (this.isIndexValid(i)) {
208159
208219
  const i0 = 3 * i;
208160
- return _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.hypotenuseXYZ(spacePoint.x - this._data[i0], spacePoint.y - this._data[i0 + 1], spacePoint.z - this._data[i0 + 2]);
208220
+ return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.hypotenuseXYZ(spacePoint.x - this._data[i0], spacePoint.y - this._data[i0 + 1], spacePoint.z - this._data[i0 + 2]);
208161
208221
  }
208162
208222
  return undefined;
208163
208223
  }
@@ -208170,7 +208230,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
208170
208230
  if (this.isIndexValid(i) && this.isIndexValid(j)) {
208171
208231
  const i0 = 3 * i;
208172
208232
  const j0 = 3 * j;
208173
- return _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.hypotenuseSquaredXYZ(this._data[j0] - this._data[i0], this._data[j0 + 1] - this._data[i0 + 1], this._data[j0 + 2] - this._data[i0 + 2]);
208233
+ return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.hypotenuseSquaredXYZ(this._data[j0] - this._data[i0], this._data[j0 + 1] - this._data[i0 + 1], this._data[j0 + 2] - this._data[i0 + 2]);
208174
208234
  }
208175
208235
  return undefined;
208176
208236
  }
@@ -208183,7 +208243,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
208183
208243
  if (this.isIndexValid(i) && this.isIndexValid(j)) {
208184
208244
  const i0 = 3 * i;
208185
208245
  const j0 = 3 * j;
208186
- return _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.hypotenuseXYZ(this._data[j0] - this._data[i0], this._data[j0 + 1] - this._data[i0 + 1], this._data[j0 + 2] - this._data[i0 + 2]);
208246
+ return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.hypotenuseXYZ(this._data[j0] - this._data[i0], this._data[j0 + 1] - this._data[i0 + 1], this._data[j0 + 2] - this._data[i0 + 2]);
208187
208247
  }
208188
208248
  return undefined;
208189
208249
  }
@@ -208192,7 +208252,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
208192
208252
  if (arrayA.isIndexValid(i) && arrayB.isIndexValid(j)) {
208193
208253
  const i0 = 3 * i;
208194
208254
  const j0 = 3 * j;
208195
- return _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.hypotenuseXYZ(arrayB._data[j0] - arrayA._data[i0], arrayB._data[j0 + 1] - arrayA._data[i0 + 1], arrayB._data[j0 + 2] - arrayA._data[i0 + 2]);
208255
+ return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.hypotenuseXYZ(arrayB._data[j0] - arrayA._data[i0], arrayB._data[j0 + 1] - arrayA._data[i0 + 1], arrayB._data[j0 + 2] - arrayA._data[i0 + 2]);
208196
208256
  }
208197
208257
  return undefined;
208198
208258
  }
@@ -208271,10 +208331,10 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
208271
208331
  const n = Math.min(arrayA.length, arrayB.length);
208272
208332
  let i = 0;
208273
208333
  let k0;
208274
- const range = _Range__WEBPACK_IMPORTED_MODULE_4__.Range1d.createNull();
208334
+ const range = _Range__WEBPACK_IMPORTED_MODULE_5__.Range1d.createNull();
208275
208335
  while (i < n) {
208276
208336
  k0 = 3 * i;
208277
- range.extendX(_Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.hypotenuseXYZ(dataA[k0] - dataB[k0], dataA[k0 + 1] - dataB[k0 + 1], dataA[k0 + 2] - dataB[k0 + 2]));
208337
+ range.extendX(_Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.hypotenuseXYZ(dataA[k0] - dataB[k0], dataA[k0 + 1] - dataB[k0 + 1], dataA[k0 + 2] - dataB[k0 + 2]));
208278
208338
  i++;
208279
208339
  }
208280
208340
  return range;
@@ -208284,7 +208344,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
208284
208344
  * @param points
208285
208345
  * @param tolerance
208286
208346
  */
208287
- static removeClosure(points, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.smallMetricDistance) {
208347
+ static removeClosure(points, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.smallMetricDistance) {
208288
208348
  while (points.length > 1 && points.distanceIndexIndex(0, points.length - 1) < tolerance)
208289
208349
  points.pop();
208290
208350
  }
@@ -208310,7 +208370,7 @@ class GrowableXYZArray extends _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_0_
208310
208370
  const vx = data[i0++] - ax;
208311
208371
  const vy = data[i0++] - ay;
208312
208372
  const vz = data[i0++] - az;
208313
- result = _Transform__WEBPACK_IMPORTED_MODULE_5__.Transform.createRowValues(ux, vx, 0, ax, uy, vy, 0, ay, uz, vz, 1, az, result);
208373
+ result = _Transform__WEBPACK_IMPORTED_MODULE_6__.Transform.createRowValues(ux, vx, 0, ax, uy, vy, 0, ay, uz, vz, 1, az, result);
208314
208374
  return result.computeCachedInverse() ? result : undefined;
208315
208375
  }
208316
208376
  return undefined;
@@ -234199,11 +234259,15 @@ class PolyfaceBuilder extends _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODU
234199
234259
  }
234200
234260
  }
234201
234261
  /** Add a polygon to the evolving facets.
234202
- *
234203
- * * Add points to the polyface
234204
- * * indices are added (in reverse order if indicated by the builder state)
234205
- * @param normals array of points. This may contain extra points not to be used in the polygon
234206
- * @param numPointsToUse number of points to use.
234262
+ * * add points to the polyface
234263
+ * * compute each point index as the point is added
234264
+ * * all data arrays are parallel to the point array
234265
+ * * point indices are added in reverse order if indicated by the builder state
234266
+ * @param points array of vertices in order around the facet
234267
+ * @param normals optional array of normals, one per vertex
234268
+ * @param params optional array of uv-parameters, one per vertex
234269
+ * @param colors optional array of colors, one per vertex
234270
+ * @param edgeVisible optional array of flags, one per vertex, true iff edge starting at corresponding vertex is visible
234207
234271
  */
234208
234272
  addFacetFromGrowableArrays(points, normals, params, colors, edgeVisible) {
234209
234273
  // don't use trailing points that match start point.
@@ -279565,7 +279629,7 @@ class TestContext {
279565
279629
  this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
279566
279630
  const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
279567
279631
  await core_frontend_1.NoRenderApp.startup({
279568
- applicationVersion: "4.2.0-dev.1",
279632
+ applicationVersion: "4.2.0-dev.4",
279569
279633
  applicationId: this.settings.gprid,
279570
279634
  authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.adminUserAccessToken),
279571
279635
  hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
@@ -279667,6 +279731,7 @@ __webpack_require__.r(__webpack_exports__);
279667
279731
  /* harmony export */ combineFieldNames: () => (/* reexport safe */ _presentation_common_content_ContentTraverser__WEBPACK_IMPORTED_MODULE_31__.combineFieldNames),
279668
279732
  /* harmony export */ compareDiagnosticsSeverities: () => (/* reexport safe */ _presentation_common_Diagnostics__WEBPACK_IMPORTED_MODULE_1__.compareDiagnosticsSeverities),
279669
279733
  /* harmony export */ createFieldHierarchies: () => (/* reexport safe */ _presentation_common_content_ContentTraverser__WEBPACK_IMPORTED_MODULE_31__.createFieldHierarchies),
279734
+ /* harmony export */ getFieldByDescriptor: () => (/* reexport safe */ _presentation_common_content_Fields__WEBPACK_IMPORTED_MODULE_25__.getFieldByDescriptor),
279670
279735
  /* harmony export */ getFieldByName: () => (/* reexport safe */ _presentation_common_content_Fields__WEBPACK_IMPORTED_MODULE_25__.getFieldByName),
279671
279736
  /* harmony export */ getInstancesCount: () => (/* reexport safe */ _presentation_common_Utils__WEBPACK_IMPORTED_MODULE_11__.getInstancesCount),
279672
279737
  /* harmony export */ isComputeSelectionRequestOptions: () => (/* reexport safe */ _presentation_common_PresentationManagerOptions__WEBPACK_IMPORTED_MODULE_6__.isComputeSelectionRequestOptions),
@@ -282938,6 +283003,13 @@ class Descriptor {
282938
283003
  getFieldByName(name, recurse) {
282939
283004
  return (0,_Fields__WEBPACK_IMPORTED_MODULE_3__.getFieldByName)(this.fields, name, recurse);
282940
283005
  }
283006
+ /**
283007
+ * Get field by its descriptor.
283008
+ * @beta
283009
+ */
283010
+ getFieldByDescriptor(fieldDescriptor, recurse) {
283011
+ return (0,_Fields__WEBPACK_IMPORTED_MODULE_3__.getFieldByDescriptor)(this.fields, fieldDescriptor, recurse);
283012
+ }
282941
283013
  /**
282942
283014
  * Create descriptor overrides object from this descriptor.
282943
283015
  * @public
@@ -283036,6 +283108,7 @@ __webpack_require__.r(__webpack_exports__);
283036
283108
  /* harmony export */ FieldDescriptorType: () => (/* binding */ FieldDescriptorType),
283037
283109
  /* harmony export */ NestedContentField: () => (/* binding */ NestedContentField),
283038
283110
  /* harmony export */ PropertiesField: () => (/* binding */ PropertiesField),
283111
+ /* harmony export */ getFieldByDescriptor: () => (/* binding */ getFieldByDescriptor),
283039
283112
  /* harmony export */ getFieldByName: () => (/* binding */ getFieldByName)
283040
283113
  /* harmony export */ });
283041
283114
  /* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
@@ -283191,6 +283264,14 @@ class Field {
283191
283264
  fieldName: this.name,
283192
283265
  };
283193
283266
  }
283267
+ /**
283268
+ * Checks if this field matches given field descriptor
283269
+ * @see [[getFieldDescriptor]]
283270
+ * @beta
283271
+ */
283272
+ matchesDescriptor(descriptor) {
283273
+ return FieldDescriptor.isNamed(descriptor) && descriptor.fieldName === this.name;
283274
+ }
283194
283275
  }
283195
283276
  /**
283196
283277
  * Describes a content field that's based on one or more similar
@@ -283267,6 +283348,37 @@ class PropertiesField extends Field {
283267
283348
  })),
283268
283349
  };
283269
283350
  }
283351
+ /**
283352
+ * Checks if this field matches given field descriptor
283353
+ * @see [[getFieldDescriptor]]
283354
+ * @beta
283355
+ */
283356
+ matchesDescriptor(descriptor) {
283357
+ if (!FieldDescriptor.isProperties(descriptor)) {
283358
+ return false;
283359
+ }
283360
+ // ensure at least one descriptor property matches at least one property of this field
283361
+ if (!this.properties.some(({ property: fieldProperty }) => descriptor.properties.some((descriptorProperty) => fieldProperty.name === descriptorProperty.name && fieldProperty.classInfo.name === descriptorProperty.class))) {
283362
+ return false;
283363
+ }
283364
+ // ensure path from select to property in field and in descriptor matches
283365
+ let stepsCount = 0;
283366
+ let currAncestor = this.parent;
283367
+ while (currAncestor) {
283368
+ const pathFromCurrentToItsParent = _EC__WEBPACK_IMPORTED_MODULE_1__.RelationshipPath.reverse(currAncestor.pathToPrimaryClass);
283369
+ for (const step of pathFromCurrentToItsParent) {
283370
+ if (descriptor.pathFromSelectToPropertyClass.length < stepsCount + 1) {
283371
+ return false;
283372
+ }
283373
+ if (!_EC__WEBPACK_IMPORTED_MODULE_1__.RelatedClassInfo.equals(step, descriptor.pathFromSelectToPropertyClass[descriptor.pathFromSelectToPropertyClass.length - stepsCount - 1])) {
283374
+ return false;
283375
+ }
283376
+ ++stepsCount;
283377
+ }
283378
+ currAncestor = currAncestor.parent;
283379
+ }
283380
+ return true;
283381
+ }
283270
283382
  }
283271
283383
  /**
283272
283384
  * Describes a content field that contains [Nested content]($docs/presentation/content/Terminology#nested-content).
@@ -283392,6 +283504,19 @@ const getFieldByName = (fields, name, recurse) => {
283392
283504
  }
283393
283505
  return undefined;
283394
283506
  };
283507
+ /** @internal */
283508
+ const getFieldByDescriptor = (fields, fieldDescriptor, recurse) => {
283509
+ for (const field of fields) {
283510
+ if (field.matchesDescriptor(fieldDescriptor))
283511
+ return field;
283512
+ if (recurse && field.isNestedContentField()) {
283513
+ const nested = getFieldByDescriptor(field.nestedFields, fieldDescriptor, recurse);
283514
+ if (nested)
283515
+ return nested;
283516
+ }
283517
+ }
283518
+ return undefined;
283519
+ };
283395
283520
  /**
283396
283521
  * Types of different field descriptors.
283397
283522
  * @public
@@ -298938,7 +299063,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
298938
299063
  /***/ ((module) => {
298939
299064
 
298940
299065
  "use strict";
298941
- module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.2.0-dev.1","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:^4.2.0-dev.1","@itwin/core-bentley":"workspace:^4.2.0-dev.1","@itwin/core-common":"workspace:^4.2.0-dev.1","@itwin/core-geometry":"workspace:^4.2.0-dev.1","@itwin/core-orbitgt":"workspace:^4.2.0-dev.1","@itwin/core-quantity":"workspace:^4.2.0-dev.1"},"//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"}}');
299066
+ module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.2.0-dev.4","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:^4.2.0-dev.4","@itwin/core-bentley":"workspace:^4.2.0-dev.4","@itwin/core-common":"workspace:^4.2.0-dev.4","@itwin/core-geometry":"workspace:^4.2.0-dev.4","@itwin/core-orbitgt":"workspace:^4.2.0-dev.4","@itwin/core-quantity":"workspace:^4.2.0-dev.4"},"//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"}}');
298942
299067
 
298943
299068
  /***/ }),
298944
299069