@itwin/ecschema-rpcinterface-tests 4.1.0-dev.12 → 4.1.0-dev.14

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.
@@ -28309,6 +28309,8 @@ __webpack_require__.r(__webpack_exports__);
28309
28309
  */
28310
28310
  var TypeOfChange;
28311
28311
  (function (TypeOfChange) {
28312
+ /** Element contains no changes */
28313
+ TypeOfChange[TypeOfChange["NoChange"] = 0] = "NoChange";
28312
28314
  /** A property in the element changed */
28313
28315
  TypeOfChange[TypeOfChange["Property"] = 1] = "Property";
28314
28316
  /** The geometry stream of a [GeometricElement]($backend) changed */
@@ -181145,7 +181147,7 @@ __webpack_require__.r(__webpack_exports__);
181145
181147
 
181146
181148
 
181147
181149
  /**
181148
- * * Annotation of an interval of a curve.
181150
+ * Annotation of an interval of a curve.
181149
181151
  * * The interval is marked with two pairs of numbers:
181150
181152
  * * * fraction0, fraction1 = fraction parameters along the child curve
181151
181153
  * * * distance0,distance1 = distances within containing CurveChainWithDistanceIndex
@@ -181169,8 +181171,7 @@ class PathFragment {
181169
181171
  containsChainDistance(distance) {
181170
181172
  return distance >= this.chainDistance0 && distance <= this.chainDistance1;
181171
181173
  }
181172
- // Return a quick distance to the curve. This may be SMALLER than true distance but may
181173
- // not be larger.
181174
+ /** Return a quick distance to the curve. This may be SMALLER than true distance but may not be larger */
181174
181175
  quickMinDistanceToChildCurve(spacePoint) {
181175
181176
  if (this.range) {
181176
181177
  return this.range.distanceToPoint(spacePoint);
@@ -181181,8 +181182,10 @@ class PathFragment {
181181
181182
  return detail.a;
181182
181183
  return 0;
181183
181184
  }
181184
- // Return an array with (references to) all the path fragments, sorted smallest to largest on
181185
- // the "a" value equal to the quick min distance to the fragment
181185
+ /**
181186
+ * Return an array with (references to) all the path fragments, sorted smallest to largest on the "a" value
181187
+ * equal to the quick min distance to the fragment
181188
+ */
181186
181189
  static collectSortedQuickMinDistances(fragments, spacePoint) {
181187
181190
  const sortedFragments = [];
181188
181191
  for (const f of fragments) {
@@ -181199,26 +181202,28 @@ class PathFragment {
181199
181202
  containsChildCurveAndChildFraction(curve, fraction) {
181200
181203
  return this.childCurve === curve && fraction >= this.childFraction0 && fraction <= this.childFraction1;
181201
181204
  }
181202
- /** Convert distance to local fraction, and apply that to interpolate between the stored curve fractions.
181205
+ /**
181206
+ * Convert distance to local fraction, and apply that to interpolate between the stored curve fractions.
181203
181207
  * Note that proportional calculation does NOT account for nonuniform parameterization in the child curve.
181204
181208
  */
181205
181209
  chainDistanceToInterpolatedChildFraction(distance) {
181206
181210
  return _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.inverseInterpolate(this.childFraction0, this.chainDistance0, this.childFraction1, this.chainDistance1, distance, this.childFraction0); // the interval "must" have nonzero length, division should be safe . ..
181207
181211
  }
181208
- /** Convert chainDistance to true chidFraction, using detailed moveSignedDistanceFromFraction
181209
- */
181212
+ /** Convert chainDistance to true chidFraction, using detailed moveSignedDistanceFromFraction */
181210
181213
  chainDistanceToAccurateChildFraction(chainDistance, allowExtrapolation) {
181211
181214
  // The fragments are really expected to do good mappings in their distance range ...
181212
181215
  const childDetail = this.childCurve.moveSignedDistanceFromFraction(this.childFraction0, chainDistance - this.chainDistance0, allowExtrapolation ?? false);
181213
181216
  return childDetail.fraction;
181214
181217
  }
181215
- /** Return the scale factor to map childCurve fraction derivatives to chain fraction derivatives
181218
+ /**
181219
+ * Return the scale factor to map childCurve fraction derivatives to chain fraction derivatives
181216
181220
  * @param globalDistance total length of the global curve.
181217
181221
  */
181218
181222
  fractionScaleFactor(globalDistance) {
181219
181223
  return globalDistance * (this.childFraction1 - this.childFraction0) / (this.chainDistance1 - this.chainDistance0);
181220
181224
  }
181221
- /** Reverse the fraction and distance data.
181225
+ /**
181226
+ * Reverse the fraction and distance data.
181222
181227
  * * each child fraction `f` is replaced by `1-f`
181223
181228
  * * each `chainDistance` is replaced by `totalDistance-chainDistance`
181224
181229
  */
@@ -181237,7 +181242,7 @@ class PathFragment {
181237
181242
  return this.childFractionToChainDistance(fraction);
181238
181243
  }
181239
181244
  /**
181240
- * convert a fractional position on the childCurve to distance in the chain space.
181245
+ * Convert a fractional position on the childCurve to distance in the chain space.
181241
181246
  * * Return value is SIGNED -- will be negative when fraction < this.childFraction0.
181242
181247
  * @param fraction fraction along the curve within this fragment
181243
181248
  */
@@ -181259,7 +181264,6 @@ class DistanceIndexConstructionContext {
181259
181264
  startCurvePrimitive(_cp) { }
181260
181265
  endParentCurvePrimitive(_cp) { }
181261
181266
  endCurvePrimitive(_cp) { }
181262
- // um .. we need to see curves? how to reject?
181263
181267
  announcePointTangent(_xyz, _fraction, _tangent) { }
181264
181268
  /** Announce numPoints interpolated between point0 and point1, with associated fractions */
181265
181269
  announceSegmentInterval(cp, point0, point1, numStrokes, fraction0, fraction1) {
@@ -181306,13 +181310,17 @@ class DistanceIndexConstructionContext {
181306
181310
  /**
181307
181311
  * `CurveChainWithDistanceIndex` is a CurvePrimitive whose fractional parameterization is proportional to true
181308
181312
  * distance along a CurveChain.
181313
+ * * For example if the total length of the chain is `L`, then the distance along the chain from parameters `t0`
181314
+ * to `t1` is easily computed as `L*(t1-t0)`.
181309
181315
  * * The curve chain can be any type derived from CurveChain.
181310
181316
  * * * i.e. either a `Path` or a `Loop`
181311
181317
  * @public
181312
181318
  */
181313
181319
  class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_2__.CurvePrimitive {
181314
181320
  /** Test if other is a `CurveChainWithDistanceIndex` */
181315
- isSameGeometryClass(other) { return other instanceof CurveChainWithDistanceIndex; }
181321
+ isSameGeometryClass(other) {
181322
+ return other instanceof CurveChainWithDistanceIndex;
181323
+ }
181316
181324
  // final assembly of CurveChainWithDistanceIndex -- caller must create valid fragment index.
181317
181325
  constructor(path, fragments) {
181318
181326
  super();
@@ -181332,14 +181340,20 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
181332
181340
  return CurveChainWithDistanceIndex.createCapture(c);
181333
181341
  return undefined;
181334
181342
  }
181335
- /** Reference to the contained path.
181343
+ /**
181344
+ * Reference to the contained path.
181336
181345
  * * Do not modify the path. The distance index will be wrong.
181337
181346
  */
181338
- get path() { return this._path; }
181339
- /** Reference to the fragments array.
181347
+ get path() {
181348
+ return this._path;
181349
+ }
181350
+ /**
181351
+ * Reference to the fragments array.
181340
181352
  * * Do not modify.
181341
181353
  */
181342
- get fragments() { return this._fragments; }
181354
+ get fragments() {
181355
+ return this._fragments;
181356
+ }
181343
181357
  /** Return a deep clone */
181344
181358
  clone() {
181345
181359
  const c = this._path.clone();
@@ -181411,7 +181425,8 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
181411
181425
  newPath.children.reverse();
181412
181426
  return CurveChainWithDistanceIndex.createCapture(newPath);
181413
181427
  }
181414
- /** Ask if the curve is within tolerance of a plane.
181428
+ /**
181429
+ * Ask if the curve is within tolerance of a plane.
181415
181430
  * @returns Returns true if the curve is completely within tolerance of the plane.
181416
181431
  */
181417
181432
  isInPlane(plane) {
@@ -181421,7 +181436,7 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
181421
181436
  }
181422
181437
  return true;
181423
181438
  }
181424
- /** return the start point of the primitive. The default implementation returns fractionToPoint (0.0) */
181439
+ /** Return the start point of the primitive. The default implementation returns fractionToPoint (0.0) */
181425
181440
  startPoint(result) {
181426
181441
  const c = this._path.cyclicCurvePrimitive(0);
181427
181442
  if (c)
@@ -181441,7 +181456,8 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
181441
181456
  c.emitStrokes(dest, options);
181442
181457
  }
181443
181458
  }
181444
- /** Ask the curve to announce points and simple subcurve fragments for stroking.
181459
+ /**
181460
+ * Ask the curve to announce points and simple subcurve fragments for stroking.
181445
181461
  * See IStrokeHandler for description of the sequence of the method calls.
181446
181462
  */
181447
181463
  emitStrokableParts(dest, options) {
@@ -181450,7 +181466,7 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
181450
181466
  }
181451
181467
  }
181452
181468
  /**
181453
- * return the stroke count required for given options.
181469
+ * Return the stroke count required for given options.
181454
181470
  * @param options StrokeOptions that determine count
181455
181471
  */
181456
181472
  computeStrokeCountForOptions(options) {
@@ -181464,7 +181480,8 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
181464
181480
  * Return an array containing only the curve primitives.
181465
181481
  * @param collectorArray array to receive primitives (pushed -- the array is not cleared)
181466
181482
  * @param smallestPossiblePrimitives if true, recurse on the (otherwise hidden) children. If false, only push `this`.
181467
- * @param explodeLinestrings (if smallestPossiblePrimitives is true) whether to push a [[LineSegment3d]] for each segment of a [[LineString3d]] child. If false, push only the [[LineString3d]].
181483
+ * @param explodeLinestrings (if smallestPossiblePrimitives is true) whether to push a [[LineSegment3d]] for each
181484
+ * segment of a [[LineString3d]] child. If false, push only the [[LineString3d]].
181468
181485
  */
181469
181486
  collectCurvePrimitivesGo(collectorArray, smallestPossiblePrimitives = false, explodeLineStrings = false) {
181470
181487
  if (smallestPossiblePrimitives) {
@@ -181477,7 +181494,7 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
181477
181494
  }
181478
181495
  }
181479
181496
  /**
181480
- * construct StrokeCountMap for each child, accumulating data to stroke count map for this primitive.
181497
+ * Construct StrokeCountMap for each child, accumulating data to stroke count map for this primitive.
181481
181498
  * @param options StrokeOptions that determine count
181482
181499
  * @param parentStrokeMap evolving parent map.
181483
181500
  */
@@ -181488,20 +181505,19 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
181488
181505
  }
181489
181506
  _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_2__.CurvePrimitive.installStrokeCountMap(this, myMap, parentStrokeMap);
181490
181507
  }
181491
- /** Second step of double dispatch: call `this._path.dispatchToGeometryHandler (handler)`
181508
+ /**
181509
+ * Second step of double dispatch: call `this._path.dispatchToGeometryHandler (handler)`
181492
181510
  * * Note that this exposes the children individually to the handler.
181493
181511
  */
181494
181512
  dispatchToGeometryHandler(handler) {
181495
181513
  return this._path.dispatchToGeometryHandler(handler);
181496
181514
  }
181497
- /** Extend (increase) `rangeToExtend` as needed to include these curves (optionally transformed)
181498
- */
181515
+ /** Extend (increase) `rangeToExtend` as needed to include these curves (optionally transformed) */
181499
181516
  extendRange(rangeToExtend, transform) {
181500
181517
  this._path.extendRange(rangeToExtend, transform);
181501
181518
  }
181502
181519
  /**
181503
- *
181504
- * * Curve length is always positive.
181520
+ * Curve length is always positive.
181505
181521
  * @returns Returns a (high accuracy) length of the curve between fractional positions
181506
181522
  * @returns Returns the length of the curve.
181507
181523
  */
@@ -181553,7 +181569,9 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
181553
181569
  * Convert distance along the chain to fraction along the chain.
181554
181570
  * @param distance distance along the chain
181555
181571
  */
181556
- chainDistanceToChainFraction(distance) { return distance / this._totalLength; }
181572
+ chainDistanceToChainFraction(distance) {
181573
+ return distance / this._totalLength;
181574
+ }
181557
181575
  /**
181558
181576
  * Resolve a fraction within a specific curve to a fragment.
181559
181577
  * @param curve
@@ -181575,9 +181593,7 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
181575
181593
  }
181576
181594
  return undefined;
181577
181595
  }
181578
- /**
181579
- * Returns the total length of curves.
181580
- */
181596
+ /** Returns the total length of curves. */
181581
181597
  curveLength() {
181582
181598
  return this._totalLength;
181583
181599
  }
@@ -181604,8 +181620,8 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
181604
181620
  // fragment = this.chainDistanceToFragment(chainDistance, true);
181605
181621
  return this._fragments[0].childCurve.fractionToPoint(0.0, result);
181606
181622
  }
181607
- /** Return the point (x,y,z) and derivative on the curve at fractional position.
181608
- *
181623
+ /**
181624
+ * Return the point (x,y,z) and derivative on the curve at fractional position.
181609
181625
  * * Note that this derivative is "derivative of xyz with respect to fraction."
181610
181626
  * * this derivative shows the speed of the "fractional point" moving along the curve.
181611
181627
  * * this is not generally a unit vector. use fractionToPointAndUnitTangent for a unit vector.
@@ -181639,10 +181655,11 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
181639
181655
  result.direction.normalizeInPlace();
181640
181656
  return result;
181641
181657
  }
181642
- /** Return a plane with
181643
- *
181658
+ /**
181659
+ * Return a plane with
181644
181660
  * * origin at fractional position along the curve
181645
- * * vectorU is the first derivative, i.e. tangent vector with length equal to the rate of change with respect to the fraction.
181661
+ * * vectorU is the first derivative, i.e. tangent vector with length equal to the rate of change with respect to
181662
+ * the fraction.
181646
181663
  * * vectorV is the second derivative, i.e.derivative of vectorU.
181647
181664
  */
181648
181665
  fractionToPointAnd2Derivatives(fraction, result) {
@@ -181668,7 +181685,8 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
181668
181685
  result.vectorV.scaleInPlace(scale * scale);
181669
181686
  return result;
181670
181687
  }
181671
- /** Attempt to transform in place.
181688
+ /**
181689
+ * Attempt to transform in place.
181672
181690
  * * Warning: If any child fails, this object becomes invalid. But that should never happen.
181673
181691
  */
181674
181692
  tryTransformInPlace(transform) {
@@ -181701,9 +181719,11 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
181701
181719
  }
181702
181720
  return false;
181703
181721
  }
181704
- /** Implement moveSignedDistanceFromFraction.
181722
+ /**
181723
+ * Implement moveSignedDistanceFromFraction.
181705
181724
  * * See `CurvePrimitive` for parameter details.
181706
- * * The returned location directly identifies fractional position along the CurveChainWithDistanceIndex, and has pointer to an additional detail for the child curve.
181725
+ * * The returned location directly identifies fractional position along the CurveChainWithDistanceIndex, and
181726
+ * has pointer to an additional detail for the child curve.
181707
181727
  */
181708
181728
  moveSignedDistanceFromFraction(startFraction, signedDistance, allowExtension, result) {
181709
181729
  const distanceA = startFraction * this._totalLength;
@@ -181716,7 +181736,6 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
181716
181736
  return chainDetail;
181717
181737
  }
181718
181738
  /**
181719
- *
181720
181739
  * The returned object has
181721
181740
  * * numCalls = number of times closestPoint was called.
181722
181741
  * * numCurvesTested = number of curves tested with full closestPoint
@@ -181737,10 +181756,12 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
181737
181756
  }
181738
181757
  return a;
181739
181758
  }
181740
- /** Search for the curve point that is closest to the spacePoint.
181759
+ /**
181760
+ * Search for the curve point that is closest to the spacePoint.
181741
181761
  * * The CurveChainWithDistanceIndex invokes the base class CurvePrimitive method, which
181742
181762
  * (via a handler) determines a CurveLocation detail among the children.
181743
- * * The returned detail directly identifies fractional position along the CurveChainWithDistanceIndex, and has pointer to an additional detail for the child curve.
181763
+ * * The returned detail directly identifies fractional position along the CurveChainWithDistanceIndex, and
181764
+ * has pointer to an additional detail for the child curve.
181744
181765
  * @param spacePoint point in space
181745
181766
  * @param extend true to extend the curve
181746
181767
  * @returns Returns a CurveLocationDetail structure that holds the details of the close point.
@@ -181789,7 +181810,8 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
181789
181810
  }
181790
181811
  /**
181791
181812
  * Construct an offset of each child as viewed in the xy-plane (ignoring z).
181792
- * * No attempt is made to join the offset children. Use RegionOps.constructCurveXYOffset() to return a fully joined offset.
181813
+ * * No attempt is made to join the offset children. Use RegionOps.constructCurveXYOffset() to return a fully
181814
+ * joined offset.
181793
181815
  * @param offsetDistanceOrOptions offset distance (positive to left of the instance curve), or options object
181794
181816
  */
181795
181817
  constructOffsetXY(offsetDistanceOrOptions) {
@@ -181806,10 +181828,13 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
181806
181828
  }
181807
181829
  return offsets;
181808
181830
  }
181809
- /** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
181831
+ /**
181832
+ * Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of
181833
+ * projection.
181810
181834
  * @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
181811
181835
  * @param lowHigh optional receiver for output
181812
- * @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the end of the ray.
181836
+ * @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the
181837
+ * end of the ray.
181813
181838
  */
181814
181839
  projectedParameterRange(ray, lowHigh) {
181815
181840
  return _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_10__.PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
@@ -188632,14 +188657,16 @@ __webpack_require__.r(__webpack_exports__);
188632
188657
  * @public
188633
188658
  */
188634
188659
  class Loop extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
188635
- /** test if `other` is a `Loop` */
188636
- isSameGeometryClass(other) { return other instanceof Loop; }
188660
+ /** Test if `other` is a `Loop` */
188661
+ isSameGeometryClass(other) {
188662
+ return other instanceof Loop;
188663
+ }
188637
188664
  /** Test if `other` is an instance of `Loop` */
188638
188665
  constructor() {
188639
188666
  super();
188640
188667
  /** String name for schema properties */
188641
188668
  this.curveCollectionType = "loop";
188642
- /** tag value that can be set to true for user code to mark inner and outer loops. */
188669
+ /** Tag value that can be set to true for user code to mark inner and outer loops. */
188643
188670
  this.isInner = false;
188644
188671
  }
188645
188672
  /**
@@ -188684,13 +188711,22 @@ class Loop extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
188684
188711
  return Loop.create(strokes);
188685
188712
  }
188686
188713
  /** Return the boundary type (2) of a corresponding MicroStation CurveVector */
188687
- dgnBoundaryType() { return 2; } // (2) all "Loop" become "outer"
188688
- /** invoke `processor.announceLoop(this, indexInParent)` */
188714
+ dgnBoundaryType() {
188715
+ /**
188716
+ * All "Loop" become "outer". TypeScript Loop object is equivalent to a native CurveVector with
188717
+ * boundaryType = BOUNDARY_TYPE_Outer. In other words, TypeScript has no flavor of Loop that
188718
+ * carries "hole" semantics.
188719
+ */
188720
+ return 2;
188721
+ }
188722
+ /** Invoke `processor.announceLoop(this, indexInParent)` */
188689
188723
  announceToCurveProcessor(processor, indexInParent = -1) {
188690
188724
  return processor.announceLoop(this, indexInParent);
188691
188725
  }
188692
188726
  /** Create a new `Loop` with no children */
188693
- cloneEmptyPeer() { return new Loop(); }
188727
+ cloneEmptyPeer() {
188728
+ return new Loop();
188729
+ }
188694
188730
  /** Second step of double dispatch: call `handler.handleLoop(this)` */
188695
188731
  dispatchToGeometryHandler(handler) {
188696
188732
  return handler.handleLoop(this);
@@ -188701,6 +188737,7 @@ class Loop extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
188701
188737
  * @public
188702
188738
  */
188703
188739
  class LoopCurveLoopCurve {
188740
+ /** Constructor */
188704
188741
  constructor(loopA, curveA, loopB, curveB) {
188705
188742
  this.loopA = loopA;
188706
188743
  this.curveA = curveA;
@@ -188750,9 +188787,13 @@ __webpack_require__.r(__webpack_exports__);
188750
188787
  */
188751
188788
  class ParityRegion extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveCollection {
188752
188789
  /** Test if `other` is an instance of `ParityRegion` */
188753
- isSameGeometryClass(other) { return other instanceof ParityRegion; }
188790
+ isSameGeometryClass(other) {
188791
+ return other instanceof ParityRegion;
188792
+ }
188754
188793
  /** Return the array of loops in this parity region. */
188755
- get children() { return this._children; }
188794
+ get children() {
188795
+ return this._children;
188796
+ }
188756
188797
  /** Construct parity region with empty loop array */
188757
188798
  constructor() {
188758
188799
  super();
@@ -188760,9 +188801,7 @@ class ParityRegion extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveCo
188760
188801
  this.curveCollectionType = "parityRegion";
188761
188802
  this._children = [];
188762
188803
  }
188763
- /**
188764
- * Add loops (recursively) to this region's children
188765
- */
188804
+ /** Add loops (recursively) to this region's children */
188766
188805
  addLoops(data) {
188767
188806
  if (data === undefined) {
188768
188807
  }
@@ -188777,7 +188816,8 @@ class ParityRegion extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveCo
188777
188816
  }
188778
188817
  }
188779
188818
  }
188780
- /** Return a single loop or parity region with given loops.
188819
+ /**
188820
+ * Return a single loop or parity region with given loops.
188781
188821
  * * The returned structure CAPTURES the loops.
188782
188822
  * * The loops are NOT reorganized by hole analysis.
188783
188823
  */
@@ -188797,8 +188837,10 @@ class ParityRegion extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveCo
188797
188837
  return result;
188798
188838
  }
188799
188839
  /** Return the boundary type (4) of a corresponding MicroStation CurveVector */
188800
- dgnBoundaryType() { return 4; }
188801
- /** invoke `processor.announceParityRegion(this, indexInParent)` */
188840
+ dgnBoundaryType() {
188841
+ return 4;
188842
+ }
188843
+ /** Invoke `processor.announceParityRegion(this, indexInParent)` */
188802
188844
  announceToCurveProcessor(processor, indexInParent = -1) {
188803
188845
  return processor.announceParityRegion(this, indexInParent);
188804
188846
  }
@@ -188825,9 +188867,12 @@ class ParityRegion extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveCo
188825
188867
  return clone;
188826
188868
  }
188827
188869
  /** Create a new empty parity region. */
188828
- cloneEmptyPeer() { return new ParityRegion(); }
188829
- /** Add `child` to this parity region.
188830
- * * any child type other than `Loop` is ignored.
188870
+ cloneEmptyPeer() {
188871
+ return new ParityRegion();
188872
+ }
188873
+ /**
188874
+ * Add `child` to this parity region.
188875
+ * * Any child type other than `Loop` is ignored.
188831
188876
  */
188832
188877
  tryAddChild(child) {
188833
188878
  if (child && child instanceof _Loop__WEBPACK_IMPORTED_MODULE_1__.Loop) {
@@ -188876,14 +188921,16 @@ __webpack_require__.r(__webpack_exports__);
188876
188921
 
188877
188922
  /**
188878
188923
  * * A `Path` object is a collection of curves that join head-to-tail to form a path.
188879
- * * A `Path` object does not bound a planar region. Use `Loop` to indicate region bounding.
188924
+ * * A `Path` object does not bound a planar region. Use `Loop` to indicate region bounding.
188880
188925
  * @see [Curve Collections]($docs/learning/geometry/CurveCollection.md) learning article.
188881
188926
  * @public
188882
188927
  */
188883
188928
  class Path extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
188884
188929
  /** Test if `other` is an instance of `Path` */
188885
- isSameGeometryClass(other) { return other instanceof Path; }
188886
- /** invoke `processor.announcePath(this, indexInParent)` */
188930
+ isSameGeometryClass(other) {
188931
+ return other instanceof Path;
188932
+ }
188933
+ /** Invoke `processor.announcePath(this, indexInParent)` */
188887
188934
  announceToCurveProcessor(processor, indexInParent = -1) {
188888
188935
  return processor.announcePath(this, indexInParent);
188889
188936
  }
@@ -188895,7 +188942,7 @@ class Path extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
188895
188942
  }
188896
188943
  /**
188897
188944
  * Create a path from a variable length list of curve primitives
188898
- * * CurvePrimitive params are captured !!!
188945
+ * * CurvePrimitive params are captured.
188899
188946
  * @param curves variable length list of individual curve primitives or point arrays.
188900
188947
  */
188901
188948
  static create(...curves) {
@@ -188910,8 +188957,8 @@ class Path extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
188910
188957
  return result;
188911
188958
  }
188912
188959
  /**
188913
- * Create a path from a an array of curve primitives
188914
- * @param curves array of individual curve primitives
188960
+ * Create a path from a an array of curve primitives.
188961
+ * @param curves array of individual curve primitives.
188915
188962
  */
188916
188963
  static createArray(curves) {
188917
188964
  const result = new Path();
@@ -188928,10 +188975,14 @@ class Path extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
188928
188975
  return Path.create(strokes);
188929
188976
  }
188930
188977
  /** Return the boundary type (1) of a corresponding MicroStation CurveVector */
188931
- dgnBoundaryType() { return 1; }
188978
+ dgnBoundaryType() {
188979
+ return 1;
188980
+ }
188932
188981
  /** Clone as a new `Path` with no primitives */
188933
- cloneEmptyPeer() { return new Path(); }
188934
- /** Second step of double dispatch: call `handler.handlePath(this)` */
188982
+ cloneEmptyPeer() {
188983
+ return new Path();
188984
+ }
188985
+ /** Second step of double dispatch: call `handler.handlePath(this)` */
188935
188986
  dispatchToGeometryHandler(handler) {
188936
188987
  return handler.handlePath(this);
188937
188988
  }
@@ -189153,11 +189204,9 @@ __webpack_require__.r(__webpack_exports__);
189153
189204
  */
189154
189205
 
189155
189206
  /**
189156
- * A ProxyCurve is expected to be used as a base class for
189157
- * curve types that use some existing curve (the proxy) for evaluation and display
189158
- * but carry other defining data.
189159
- * * The ProxyCurve implements all required CurvePrimitive methods by dispatching
189160
- * to the proxy.
189207
+ * A ProxyCurve is expected to be used as a base class for curve types that use some existing curve (the proxy)
189208
+ * for evaluation and display but carry other defining data.
189209
+ * * The ProxyCurve implements all required CurvePrimitive methods by dispatching to the proxy.
189161
189210
  * * These methods presumably require support from the application class and are left abstract:
189162
189211
  * * clone
189163
189212
  * * curvePrimitiveType
@@ -189177,8 +189226,10 @@ class ProxyCurve extends _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__.Curv
189177
189226
  super();
189178
189227
  this._proxyCurve = proxyCurve;
189179
189228
  }
189180
- /** return the (pointer to) the proxy curve. */
189181
- get proxyCurve() { return this._proxyCurve; }
189229
+ /** Return the (pointer to) the proxy curve. */
189230
+ get proxyCurve() {
189231
+ return this._proxyCurve;
189232
+ }
189182
189233
  /** Implement by proxyCurve */
189183
189234
  computeStrokeCountForOptions(options) {
189184
189235
  return this._proxyCurve.computeStrokeCountForOptions(options);
@@ -190940,7 +190991,8 @@ var RegionBinaryOpType;
190940
190991
  * * `ParityRegion` -- a collection of loops, interpreted by parity rules.
190941
190992
  * The common "One outer loop and many Inner loops" is a parity region.
190942
190993
  * * `UnionRegion` -- a collection of `Loop` and `ParityRegion` objects understood as a (probably disjoint) union.
190943
- * * Most of the methods in this class ignore z-coordinates, so callers should ensure that input geometry has been rotated parallel to the xy-plane.
190994
+ * * Most of the methods in this class ignore z-coordinates, so callers should ensure that input geometry has been
190995
+ * rotated parallel to the xy-plane.
190944
190996
  * @public
190945
190997
  */
190946
190998
  class RegionOps {
@@ -190959,7 +191011,8 @@ class RegionOps {
190959
191011
  }
190960
191012
  return undefined;
190961
191013
  }
190962
- /** Return an area tolerance for a given xy-range and optional distance tolerance.
191014
+ /**
191015
+ * Return an area tolerance for a given xy-range and optional distance tolerance.
190963
191016
  * @param range range of planar region to tolerance
190964
191017
  * @param distanceTolerance optional absolute distance tolerance
190965
191018
  */
@@ -190982,7 +191035,8 @@ class RegionOps {
190982
191035
  }
190983
191036
  return undefined;
190984
191037
  }
190985
- /** Return MomentData with the sums of wire moments.
191038
+ /**
191039
+ * Return MomentData with the sums of wire moments.
190986
191040
  * * If `rawMomentData` is the MomentData returned by computeXYAreaMoments, convert to principal axes and moments with
190987
191041
  * call `principalMomentData = MomentData.inertiaProductsToPrincipalAxes (rawMomentData.origin, rawMomentData.sums);`
190988
191042
  * @param root any CurveCollection or CurvePrimitive.
@@ -190995,7 +191049,7 @@ class RegionOps {
190995
191049
  return result;
190996
191050
  }
190997
191051
  /**
190998
- * * create loops in the graph.
191052
+ * Create loops in the graph.
190999
191053
  * @internal
191000
191054
  */
191001
191055
  static addLoopsToGraph(graph, data, announceIsolatedLoop) {
@@ -191039,7 +191093,8 @@ class RegionOps {
191039
191093
  }
191040
191094
  }
191041
191095
  }
191042
- /** Add multiple loops to a graph.
191096
+ /**
191097
+ * Add multiple loops to a graph.
191043
191098
  * * Apply edgeTag and mask to each edge.
191044
191099
  * @internal
191045
191100
  */
@@ -191058,7 +191113,6 @@ class RegionOps {
191058
191113
  /**
191059
191114
  * Given a graph just produced by booleans, convert to a polyface
191060
191115
  * * "just produced" implies exterior face markup.
191061
- *
191062
191116
  * @param graph
191063
191117
  * @param triangulate
191064
191118
  */
@@ -191119,7 +191173,8 @@ class RegionOps {
191119
191173
  * @param loopsB second set of loops
191120
191174
  * @param operation indicates Union, Intersection, Parity, AMinusB, or BMinusA
191121
191175
  * @param mergeTolerance absolute distance tolerance for merging loops
191122
- * @returns a region resulting from merging input loops and the boolean operation. May contain bridge edges added to connect interior loops to exterior loops.
191176
+ * @returns a region resulting from merging input loops and the boolean operation. May contain bridge edges added
191177
+ * to connect interior loops to exterior loops.
191123
191178
  */
191124
191179
  static regionBooleanXY(loopsA, loopsB, operation, mergeTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
191125
191180
  const result = _UnionRegion__WEBPACK_IMPORTED_MODULE_11__.UnionRegion.create();
@@ -191186,10 +191241,13 @@ class RegionOps {
191186
191241
  }
191187
191242
  return RegionOps.sortOuterAndHoleLoopsXY(allLoops);
191188
191243
  }
191189
- /** Construct a wire (not area!!) that is offset from given polyline or polygon.
191244
+ /**
191245
+ * Construct a wire (not area!!) that is offset from given polyline or polygon.
191190
191246
  * * This is a simple wire offset, not an area.
191191
- * * The construction algorithm attempts to eliminate some self-intersections within the offsets, but does not guarantee a simple area offset.
191192
- * * The construction algorithm is subject to being changed, resulting in different (hopefully better) self-intersection behavior on the future.
191247
+ * * The construction algorithm attempts to eliminate some self-intersections within the offsets, but does not
191248
+ * guarantee a simple area offset.
191249
+ * * The construction algorithm is subject to being changed, resulting in different (hopefully better)
191250
+ * self-intersection behavior on the future.
191193
191251
  * @param points a single loop or path
191194
191252
  * @param wrap true to include wraparound
191195
191253
  * @param offsetDistance distance of offset from wire. Positive is left.
@@ -191199,19 +191257,22 @@ class RegionOps {
191199
191257
  return context.constructPolygonWireXYOffset(points, wrap, offsetDistance);
191200
191258
  }
191201
191259
  /**
191202
- * Construct curves that are offset from a Path or Loop as viewed in xy-plane (ignoring z).
191203
- * * The construction will remove "some" local effects of features smaller than the offset distance, but will not detect self intersection among widely separated edges.
191204
- * * If offsetDistance is given as a number, default OffsetOptions are applied.
191205
- * * When the offset needs to do an "outside" turn, the first applicable construction is applied:
191206
- * * If the turn is larger than `options.minArcDegrees`, a circular arc is constructed.
191207
- * * If the turn is less than or equal to `options.maxChamferTurnDegrees`, extend curves along tangent to single intersection point.
191208
- * * If the turn is larger than `options.maxChamferDegrees`, the turn is constructed as a sequence of straight lines that are:
191209
- * * outside the arc
191210
- * * have uniform turn angle less than `options.maxChamferDegrees`
191211
- * * each line segment (except first and last) touches the arc at its midpoint.
191212
- * @param curves base curves.
191213
- * @param offsetDistanceOrOptions offset distance (positive to left of curve, negative to right) or options object.
191214
- */
191260
+ * Construct curves that are offset from a Path or Loop as viewed in xy-plane (ignoring z).
191261
+ * * The construction will remove "some" local effects of features smaller than the offset distance, but will
191262
+ * not detect self intersection among widely separated edges.
191263
+ * * If offsetDistance is given as a number, default OffsetOptions are applied.
191264
+ * * When the offset needs to do an "outside" turn, the first applicable construction is applied:
191265
+ * * If the turn is larger than `options.minArcDegrees`, a circular arc is constructed.
191266
+ * * If the turn is less than or equal to `options.maxChamferTurnDegrees`, extend curves along tangent to
191267
+ * single intersection point.
191268
+ * * If the turn is larger than `options.maxChamferDegrees`, the turn is constructed as a sequence of straight
191269
+ * lines that are:
191270
+ * * outside the arc
191271
+ * * have uniform turn angle less than `options.maxChamferDegrees`
191272
+ * * each line segment (except first and last) touches the arc at its midpoint.
191273
+ * @param curves base curves.
191274
+ * @param offsetDistanceOrOptions offset distance (positive to left of curve, negative to right) or options object.
191275
+ */
191215
191276
  static constructCurveXYOffset(curves, offsetDistanceOrOptions) {
191216
191277
  return _internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_17__.CurveChainWireOffsetContext.constructCurveXYOffset(curves, offsetDistanceOrOptions);
191217
191278
  }
@@ -191225,7 +191286,8 @@ class RegionOps {
191225
191286
  static testPointInOnOutRegionXY(curves, x, y) {
191226
191287
  return _Query_InOutTests__WEBPACK_IMPORTED_MODULE_18__.PointInOnOutContext.testPointInOnOutRegionXY(curves, x, y);
191227
191288
  }
191228
- /** Create curve collection of subtype determined by gaps between the input curves.
191289
+ /**
191290
+ * Create curve collection of subtype determined by gaps between the input curves.
191229
191291
  * * If (a) wrap is requested and (b) all curves connect head-to-tail (including wraparound), assemble as a `loop`.
191230
191292
  * * If all curves connect head-to-tail except for closure, return a `Path`.
191231
191293
  * * If there are internal gaps, return a `BagOfCurves`
@@ -191262,7 +191324,9 @@ class RegionOps {
191262
191324
  * Announce Checkpoint function for use during booleans
191263
191325
  * @internal
191264
191326
  */
191265
- static setCheckPointFunction(f) { this._graphCheckPointFunction = f; }
191327
+ static setCheckPointFunction(f) {
191328
+ this._graphCheckPointFunction = f;
191329
+ }
191266
191330
  /**
191267
191331
  * Find all intersections among curves in `curvesToCut` and `cutterCurves` and return fragments of `curvesToCut`.
191268
191332
  * * For a `Loop`, `ParityRegion`, or `UnionRegion` in `curvesToCut`:
@@ -191277,7 +191341,8 @@ class RegionOps {
191277
191341
  }
191278
191342
  /**
191279
191343
  * Create paths assembled from many curves.
191280
- * * Assemble paths from consecutive curves NOT separated by either gaps or the split markup set by [[cloneCurvesWithXYSplits]].
191344
+ * * Assemble paths from consecutive curves NOT separated by either gaps or the split markup set by
191345
+ * [[cloneCurvesWithXYSplits]].
191281
191346
  * * Return simplest form -- single primitive, single path, or bag of curves.
191282
191347
  */
191283
191348
  static splitToPathsBetweenBreaks(source, makeClones) {
@@ -191314,7 +191379,8 @@ class RegionOps {
191314
191379
  return _internalContexts_MultiChainCollector__WEBPACK_IMPORTED_MODULE_24__.OffsetHelpers.collectChains(fragments, gapTolerance);
191315
191380
  }
191316
191381
  /**
191317
- * Find all intersections among curves in `curvesToCut` against the boundaries of `region` and return fragments of `curvesToCut`.
191382
+ * Find all intersections among curves in `curvesToCut` against the boundaries of `region` and return fragments
191383
+ * of `curvesToCut`.
191318
191384
  * * Break `curvesToCut` into parts inside, outside, and coincident.
191319
191385
  * @returns output object with all fragments split among `insideParts`, `outsideParts`, and `coincidentParts`
191320
191386
  */
@@ -191340,7 +191406,8 @@ class RegionOps {
191340
191406
  }
191341
191407
  return result;
191342
191408
  }
191343
- /** If `data` is one of several forms of a rectangle, return its edge Transform.
191409
+ /**
191410
+ * If `data` is one of several forms of a rectangle, return its edge Transform.
191344
191411
  * * Points are considered a rectangle if, within the first 4 points:
191345
191412
  * * vectors from 0 to 1 and 0 to 3 are perpendicular and have a non-zero cross product
191346
191413
  * * vectors from 0 to 3 and 1 to 2 are the same
@@ -191351,7 +191418,8 @@ class RegionOps {
191351
191418
  * * Array of Point3d[]
191352
191419
  * * IndexedXYZCollection
191353
191420
  * @param requireClosurePoint whether to require a 5th point equal to the 1st point.
191354
- * @returns Transform with origin at one corner, x and y columns extending along two adjacent sides, and unit normal in z column. If not a rectangle, return undefined.
191421
+ * @returns Transform with origin at one corner, x and y columns extending along two adjacent sides, and unit
191422
+ * normal in z column. If not a rectangle, return undefined.
191355
191423
  */
191356
191424
  static rectangleEdgeTransform(data, requireClosurePoint = true) {
191357
191425
  if (data instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_16__.LineString3d) {
@@ -191411,9 +191479,10 @@ class RegionOps {
191411
191479
  * * Contiguous `LineSegment3d` and `LineString3d` objects.
191412
191480
  * * collect all points
191413
191481
  * * eliminate duplicated points
191414
- * * eliminate points colinear with surrounding points.
191415
- * * Contiguous concentric circular or elliptic arcs
191482
+ * * eliminate points colinear with surrounding points
191483
+ * * contiguous concentric circular or elliptic arcs
191416
191484
  * * combine angular ranges
191485
+ * * This function can be used to compress adjacent LineSegment3ds into a LineString3d
191417
191486
  * @param curves Path or loop (or larger collection containing paths and loops) to be simplified
191418
191487
  * @param options options for tolerance and selective simplification.
191419
191488
  */
@@ -191427,8 +191496,10 @@ class RegionOps {
191427
191496
  * @returns a region that captures the input pointers. This region is a:
191428
191497
  * * `Loop` if there is exactly one input loop. It is oriented counterclockwise.
191429
191498
  * * `ParityRegion` if input consists of exactly one outer loop with at least one hole loop.
191430
- * Its first child is an outer loop oriented counterclockwise; all subsequent children are holes oriented clockwise.
191431
- * * `UnionRegion` if any other input configuration. Its children are individually ordered/oriented as in the above cases.
191499
+ * Its first child is an outer loop oriented counterclockwise; all subsequent children are holes oriented
191500
+ * clockwise.
191501
+ * * `UnionRegion` if any other input configuration. Its children are individually ordered/oriented as in
191502
+ * the above cases.
191432
191503
  * @see [[PolygonOps.sortOuterAndHoleLoopsXY]]
191433
191504
  */
191434
191505
  static sortOuterAndHoleLoopsXY(loops) {
@@ -191445,17 +191516,22 @@ class RegionOps {
191445
191516
  }
191446
191517
  /**
191447
191518
  * Find all areas bounded by the unstructured, possibly intersecting curves.
191448
- * * A common use case of this method is to assemble the bounding "exterior" loop (or loops) containing the input curves.
191449
- * * This method does not add bridge edges to connect outer loops to inner loops. Each disconnected loop, regardless
191450
- * of its containment, is returned as its own SignedLoops object. Pre-process with [[regionBooleanXY]] to add bridge edges so that
191451
- * [[constructAllXYRegionLoops]] will return outer and inner loops in the same SignedLoops object.
191452
- * @param curvesAndRegions Any collection of curves. Each Loop/ParityRegion/UnionRegion contributes its curve primitives.
191519
+ * * A common use case of this method is to assemble the bounding "exterior" loop (or loops) containing the
191520
+ * input curves.
191521
+ * * This method does not add bridge edges to connect outer loops to inner loops. Each disconnected loop,
191522
+ * regardless of its containment, is returned as its own SignedLoops object. Pre-process with [[regionBooleanXY]]
191523
+ * to add bridge edges so that [[constructAllXYRegionLoops]] will return outer and inner loops in the same
191524
+ * SignedLoops object.
191525
+ * @param curvesAndRegions Any collection of curves. Each Loop/ParityRegion/UnionRegion contributes its curve
191526
+ * primitives.
191453
191527
  * @param tolerance optional distance tolerance for coincidence
191454
191528
  * @returns array of [[SignedLoops]], each entry of which describes the faces in a single connected component:
191455
- * * `positiveAreaLoops` contains "interior" loops, _including holes in ParityRegion input_. These loops have positive area and counterclockwise orientation.
191529
+ * * `positiveAreaLoops` contains "interior" loops, _including holes in ParityRegion input_. These loops have
191530
+ * positive area and counterclockwise orientation.
191456
191531
  * * `negativeAreaLoops` contains (probably just one) "exterior" loop which is ordered clockwise.
191457
191532
  * * `slivers` contains sliver loops that have zero area, such as appear between coincident curves.
191458
- * * `edges` contains a [[LoopCurveLoopCurve]] object for each component edge, collecting both loops adjacent to the edge and a constituent curve in each.
191533
+ * * `edges` contains a [[LoopCurveLoopCurve]] object for each component edge, collecting both loops adjacent
191534
+ * to the edge and a constituent curve in each.
191459
191535
  */
191460
191536
  static constructAllXYRegionLoops(curvesAndRegions, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
191461
191537
  const primitives = RegionOps.collectCurvePrimitives(curvesAndRegions, undefined, true, true);
@@ -191471,8 +191547,10 @@ class RegionOps {
191471
191547
  * * Optionally recurses into hidden primitives if `smallestPossiblePrimitives` is true.
191472
191548
  * @param candidates input curves
191473
191549
  * @param collectorArray optional pre-defined output array. If defined, it is NOT cleared: primitives are appended.
191474
- * @param smallestPossiblePrimitives if true, recurse into the children of a [[CurveChainWithDistanceIndex]]. If false, push the [[CurveChainWithDistanceIndex]] instead.
191475
- * @param explodeLinestrings if true, push a [[LineSegment3d]] for each segment of a [[LineString3d]]. If false, push the [[LineString3d]] instead.
191550
+ * @param smallestPossiblePrimitives if true, recurse into the children of a [[CurveChainWithDistanceIndex]]. If
191551
+ * false, push the [[CurveChainWithDistanceIndex]] instead.
191552
+ * @param explodeLinestrings if true, push a [[LineSegment3d]] for each segment of a [[LineString3d]]. If false,
191553
+ * push the [[LineString3d]] instead.
191476
191554
  */
191477
191555
  static collectCurvePrimitives(candidates, collectorArray, smallestPossiblePrimitives = false, explodeLinestrings = false) {
191478
191556
  const results = collectorArray === undefined ? [] : collectorArray;
@@ -191490,7 +191568,8 @@ class RegionOps {
191490
191568
  return results;
191491
191569
  }
191492
191570
  /**
191493
- * Copy primitive pointers from candidates to result array, replacing each [[LineString3d]] by newly constructed instances of [[LineSegment3d]].
191571
+ * Copy primitive pointers from candidates to result array, replacing each [[LineString3d]] by newly constructed
191572
+ * instances of [[LineSegment3d]].
191494
191573
  * @param candidates input curves
191495
191574
  * @return copied (captured) inputs except for the linestrings, which are exploded
191496
191575
  */
@@ -192538,10 +192617,14 @@ __webpack_require__.r(__webpack_exports__);
192538
192617
  * @public
192539
192618
  */
192540
192619
  class UnionRegion extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveCollection {
192541
- /** test if `other` is a `UnionRegion` */
192542
- isSameGeometryClass(other) { return other instanceof UnionRegion; }
192620
+ /** Test if `other` is a `UnionRegion` */
192621
+ isSameGeometryClass(other) {
192622
+ return other instanceof UnionRegion;
192623
+ }
192543
192624
  /** Return the array of regions */
192544
- get children() { return this._children; }
192625
+ get children() {
192626
+ return this._children;
192627
+ }
192545
192628
  /** Constructor -- initialize with no children */
192546
192629
  constructor() {
192547
192630
  super();
@@ -192557,9 +192640,11 @@ class UnionRegion extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveCol
192557
192640
  }
192558
192641
  return result;
192559
192642
  }
192560
- /** Return the boundary type (5) of a corresponding MicroStation CurveVector */
192561
- dgnBoundaryType() { return 5; }
192562
- /** dispatch to more strongly typed `processor.announceUnionRegion(this, indexInParent)` */
192643
+ /** Return the boundary type (5) of a corresponding MicroStation CurveVector */
192644
+ dgnBoundaryType() {
192645
+ return 5;
192646
+ }
192647
+ /** Dispatch to more strongly typed `processor.announceUnionRegion(this, indexInParent)` */
192563
192648
  announceToCurveProcessor(processor, indexInParent = -1) {
192564
192649
  return processor.announceUnionRegion(this, indexInParent);
192565
192650
  }
@@ -192575,8 +192660,11 @@ class UnionRegion extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveCol
192575
192660
  return clone;
192576
192661
  }
192577
192662
  /** Return new empty `UnionRegion` */
192578
- cloneEmptyPeer() { return new UnionRegion(); }
192579
- /** add a child.
192663
+ cloneEmptyPeer() {
192664
+ return new UnionRegion();
192665
+ }
192666
+ /**
192667
+ * Try to add a child.
192580
192668
  * * Returns false if the `AnyCurve` child is not a region type.
192581
192669
  */
192582
192670
  tryAddChild(child) {
@@ -193318,11 +193406,15 @@ __webpack_require__.r(__webpack_exports__);
193318
193406
 
193319
193407
 
193320
193408
  // import { SumLengthsContext, GapSearchContext, CountLinearPartsSearchContext, CloneCurvesContext, TransformInPlaceContext } from "./CurveSearches";
193321
- /** Algorithmic class: Accumulate maximum gap between adjacent primitives of CurveChain.
193409
+ /**
193410
+ * Algorithmic class: Accumulate maximum gap between adjacent primitives of CurveChain.
193322
193411
  * @internal
193323
193412
  */
193324
193413
  class GapSearchContext extends _CurveProcessor__WEBPACK_IMPORTED_MODULE_0__.RecursiveCurveProcessorWithStack {
193325
- constructor() { super(); this.maxGap = 0.0; }
193414
+ constructor() {
193415
+ super();
193416
+ this.maxGap = 0.0;
193417
+ }
193326
193418
  static maxGap(target) {
193327
193419
  const context = new GapSearchContext();
193328
193420
  target.announceToCurveProcessor(context);
@@ -193973,10 +194065,12 @@ class PlaneAltitudeRangeContext extends _geometry3d_GeometryHandler__WEBPACK_IMP
193973
194065
  }
193974
194066
  return undefined;
193975
194067
  }
193976
- /** Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction,
193977
- * and return points at min and max altitude, packed into a `LineSegment3d`.
194068
+ /**
194069
+ * Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction, and
194070
+ * return points at min and max altitude, packed into a `LineSegment3d`.
193978
194071
  * @param geometry geometry to project
193979
- * @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with zero origin.
194072
+ * @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with
194073
+ * zero origin.
193980
194074
  * @param lowHigh optional receiver for output
193981
194075
  */
193982
194076
  static findExtremePointsInDirection(geometry, direction, lowHigh) {
@@ -193985,10 +194079,12 @@ class PlaneAltitudeRangeContext extends _geometry3d_GeometryHandler__WEBPACK_IMP
193985
194079
  return _LineSegment3d__WEBPACK_IMPORTED_MODULE_10__.LineSegment3d.create(context.lowPoint, context.highPoint, lowHigh);
193986
194080
  return undefined;
193987
194081
  }
193988
- /** Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction,
193989
- * and return the min and max altitudes, packed into a Range1d.
194082
+ /**
194083
+ * Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction, and return
194084
+ * the min and max altitudes, packed into a Range1d.
193990
194085
  * @param geometry geometry to project
193991
- * @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with zero origin.
194086
+ * @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with
194087
+ * zero origin.
193992
194088
  * @param lowHigh optional receiver for output
193993
194089
  */
193994
194090
  static findExtremeAltitudesInDirection(geometry, direction, lowHigh) {
@@ -193997,9 +194093,11 @@ class PlaneAltitudeRangeContext extends _geometry3d_GeometryHandler__WEBPACK_IMP
193997
194093
  return _geometry3d_Range__WEBPACK_IMPORTED_MODULE_1__.Range1d.createFrom(context.range, lowHigh);
193998
194094
  return undefined;
193999
194095
  }
194000
- /** Project geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
194096
+ /**
194097
+ * Project geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
194001
194098
  * @param geometry geometry to project
194002
- * @param direction vector or ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
194099
+ * @param direction vector or ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with
194100
+ * zero origin.
194003
194101
  * @param lowHigh optional receiver for output
194004
194102
  */
194005
194103
  static findExtremeFractionsAlongDirection(geometry, direction, lowHigh) {
@@ -194760,7 +194858,10 @@ __webpack_require__.r(__webpack_exports__);
194760
194858
  * @internal
194761
194859
  */
194762
194860
  class SumLengthsContext extends _CurveProcessor__WEBPACK_IMPORTED_MODULE_0__.RecursiveCurveProcessor {
194763
- constructor() { super(); this._sum = 0.0; }
194861
+ constructor() {
194862
+ super();
194863
+ this._sum = 0.0;
194864
+ }
194764
194865
  static sumLengths(target) {
194765
194866
  const context = new SumLengthsContext();
194766
194867
  target.announceToCurveProcessor(context);
@@ -213557,13 +213658,21 @@ __webpack_require__.r(__webpack_exports__);
213557
213658
  */
213558
213659
  class RangeBase {
213559
213660
  /** Return 0 if high<= low, otherwise `1/(high-low)` for use in fractionalizing */
213560
- static npcScaleFactor(low, high) { return (high <= low) ? 0.0 : 1.0 / (high - low); }
213661
+ static npcScaleFactor(low, high) {
213662
+ return (high <= low) ? 0.0 : 1.0 / (high - low);
213663
+ }
213561
213664
  /** Return true if x is outside the range `[_EXTREME_NEGATIVE, _EXTREME_POSITIVE]' */
213562
- static isExtremeValue(x) { return Math.abs(x) >= RangeBase._EXTREME_POSITIVE; }
213665
+ static isExtremeValue(x) {
213666
+ return Math.abs(x) >= RangeBase._EXTREME_POSITIVE;
213667
+ }
213563
213668
  /** Return true if any x or y or z is outside the range `[_EXTREME_NEGATIVE, _EXTREME_POSITIVE]' */
213564
- static isExtremePoint3d(xyz) { return RangeBase.isExtremeValue(xyz.x) || RangeBase.isExtremeValue(xyz.y) || RangeBase.isExtremeValue(xyz.z); }
213669
+ static isExtremePoint3d(xyz) {
213670
+ return RangeBase.isExtremeValue(xyz.x) || RangeBase.isExtremeValue(xyz.y) || RangeBase.isExtremeValue(xyz.z);
213671
+ }
213565
213672
  /** Return true if either of x,y is outside the range `[_EXTREME_NEGATIVE, _EXTREME_POSITIVE]' */
213566
- static isExtremePoint2d(xy) { return RangeBase.isExtremeValue(xy.x) || RangeBase.isExtremeValue(xy.y); }
213673
+ static isExtremePoint2d(xy) {
213674
+ return RangeBase.isExtremeValue(xy.x) || RangeBase.isExtremeValue(xy.y);
213675
+ }
213567
213676
  /**
213568
213677
  * Return the min absolute distance from any point of `[lowA,highA]' to any point of `[lowB,highB]'.
213569
213678
  * * Both low,high pairs have order expectations: The condition `high < low` means null interval.
@@ -213586,7 +213695,8 @@ class RangeBase {
213586
213695
  return 0.0;
213587
213696
  return lowB - highA;
213588
213697
  }
213589
- /** Given a coordinate and pair of range limits, return the smallest distance to the range.
213698
+ /**
213699
+ * Given a coordinate and pair of range limits, return the smallest distance to the range.
213590
213700
  * * This is zero for any point inside the range
213591
213701
  * * This is _EXTREME_POSITIVE if the range limits are inverted
213592
213702
  * * Otherwise (i.e. x is outside a finite range) the distance to the near endpoint.
@@ -213601,7 +213711,7 @@ class RangeBase {
213601
213711
  return 0.0;
213602
213712
  }
213603
213713
  /**
213604
- * if a > 0, return (extrapolationFactor * a); otherwise return defaultValue
213714
+ * If a > 0, return (extrapolationFactor * a); otherwise return defaultValue
213605
213715
  * @param q
213606
213716
  * @param factor multiplier for positive q values.
213607
213717
  */
@@ -213632,11 +213742,19 @@ class Range3d extends RangeBase {
213632
213742
  this.high.z = RangeBase._EXTREME_NEGATIVE;
213633
213743
  }
213634
213744
  /** Freeze this instance (and its members) so it is read-only */
213635
- freeze() { this.low.freeze(); this.high.freeze(); return Object.freeze(this); }
213745
+ freeze() {
213746
+ this.low.freeze();
213747
+ this.high.freeze();
213748
+ return Object.freeze(this);
213749
+ }
213636
213750
  /** Flatten the low and high coordinates of any json object with low.x .. high.z into an array of 6 doubles */
213637
- static toFloat64Array(val) { return Float64Array.of(val.low.x, val.low.y, val.low.z, val.high.x, val.high.y, val.high.z); }
213751
+ static toFloat64Array(val) {
213752
+ return Float64Array.of(val.low.x, val.low.y, val.low.z, val.high.x, val.high.y, val.high.z);
213753
+ }
213638
213754
  /** Flatten the low and high coordinates of this into an array of 6 doubles */
213639
- toFloat64Array() { return Range3d.toFloat64Array(this); }
213755
+ toFloat64Array() {
213756
+ return Range3d.toFloat64Array(this);
213757
+ }
213640
213758
  /**
213641
213759
  * Construct a Range3d from an array of double-precision values
213642
213760
  * @param f64 the array, which should contain exactly 6 values in this order: lowX, lowY, lowZ, highX, highY, highZ
@@ -213648,11 +213766,14 @@ class Range3d extends RangeBase {
213648
213766
  return new this(f64[0], f64[1], f64[2], f64[3], f64[4], f64[5]);
213649
213767
  }
213650
213768
  /**
213651
- * Construct a Range3d from an un-typed array. This mostly useful when interpreting ECSQL query results of the 'blob' type, where you know that that result is a Range3d.
213769
+ * Construct a Range3d from an un-typed array. This mostly useful when interpreting ECSQL query results of
213770
+ * the 'blob' type, where you know that that result is a Range3d.
213652
213771
  * @param buffer untyped array
213653
213772
  * @return a new Range3d object
213654
213773
  */
213655
- static fromArrayBuffer(buffer) { return this.fromFloat64Array(new Float64Array(buffer)); }
213774
+ static fromArrayBuffer(buffer) {
213775
+ return this.fromFloat64Array(new Float64Array(buffer));
213776
+ }
213656
213777
  // explicit ctor - no enforcement of value relationships
213657
213778
  constructor(lowX = RangeBase._EXTREME_POSITIVE, lowY = RangeBase._EXTREME_POSITIVE, lowZ = RangeBase._EXTREME_POSITIVE, highX = RangeBase._EXTREME_NEGATIVE, highY = RangeBase._EXTREME_NEGATIVE, highZ = RangeBase._EXTREME_NEGATIVE) {
213658
213779
  super();
@@ -213664,8 +213785,11 @@ class Range3d extends RangeBase {
213664
213785
  return (this.low.isAlmostEqual(other.low, tol) && this.high.isAlmostEqual(other.high, tol))
213665
213786
  || (this.isNull && other.isNull);
213666
213787
  }
213667
- /** copy low and high values from other. */
213668
- setFrom(other) { this.low.setFrom(other.low); this.high.setFrom(other.high); }
213788
+ /** Copy low and high values from other. */
213789
+ setFrom(other) {
213790
+ this.low.setFrom(other.low);
213791
+ this.high.setFrom(other.high);
213792
+ }
213669
213793
  /** Return a new Range3d copied from a range or derived type */
213670
213794
  static createFrom(other, result) {
213671
213795
  if (result) {
@@ -213674,7 +213798,8 @@ class Range3d extends RangeBase {
213674
213798
  }
213675
213799
  return this.createXYZXYZOrCorrectToNull(other.low.x, other.low.y, other.low.z, other.high.x, other.high.y, other.high.z, result);
213676
213800
  }
213677
- /** set this range (in place) from json such as
213801
+ /**
213802
+ * Set this range (in place) from json such as
213678
213803
  * * key-value pairs: `{low:[1,2,3], high:[4,5,6]}`
213679
213804
  * * array of points: `[[1,2,3],[9,3,4],[-2,1,3] ...]`
213680
213805
  * * Lowest level points can be `[1,2,3]` or `{x:1,y:2,z:3}`
@@ -213698,10 +213823,13 @@ class Range3d extends RangeBase {
213698
213823
  this.extendPoint(high);
213699
213824
  }
213700
213825
  }
213701
- /** Return a JSON object `{low: ... , high: ...}`
213826
+ /**
213827
+ * Return a JSON object `{low: ... , high: ...}`
213702
213828
  * with points formatted by `Point3d.toJSON()`
213703
213829
  */
213704
- toJSON() { return { low: this.low.toJSON(), high: this.high.toJSON() }; }
213830
+ toJSON() {
213831
+ return { low: this.low.toJSON(), high: this.high.toJSON() };
213832
+ }
213705
213833
  /** Use `setFromJSON` to parse `json` into a new Range3d instance. */
213706
213834
  static fromJSON(json) {
213707
213835
  const result = new this();
@@ -213729,7 +213857,8 @@ class Range3d extends RangeBase {
213729
213857
  result.setDirect(this.low.x, this.low.y, this.low.z, this.high.x, this.high.y, this.high.z, false);
213730
213858
  return result;
213731
213859
  }
213732
- /** Return a copy, translated by adding `shift` components in all directions.
213860
+ /**
213861
+ * Return a copy, translated by adding `shift` components in all directions.
213733
213862
  * * The translate of a null range is also a null range.
213734
213863
  */
213735
213864
  cloneTranslated(shift, result) {
@@ -213764,7 +213893,7 @@ class Range3d extends RangeBase {
213764
213893
  _PointStreaming__WEBPACK_IMPORTED_MODULE_1__.VariantPointDataStream.streamXYZ(data, collector);
213765
213894
  return collector.claimResult();
213766
213895
  }
213767
- /** create a Range3d enclosing the transformed points. */
213896
+ /** Create a Range3d enclosing the transformed points. */
213768
213897
  static createTransformed(transform, ...point) {
213769
213898
  const result = this.createNull();
213770
213899
  let p;
@@ -213772,13 +213901,13 @@ class Range3d extends RangeBase {
213772
213901
  result.extendTransformedXYZ(transform, p.x, p.y, p.z);
213773
213902
  return result;
213774
213903
  }
213775
- /** create a Range3d enclosing the transformed points. */
213904
+ /** Create a Range3d enclosing the transformed points. */
213776
213905
  static createTransformedArray(transform, points) {
213777
213906
  const result = this.createNull();
213778
213907
  result.extendArray(points, transform);
213779
213908
  return result;
213780
213909
  }
213781
- /** create a Range3d enclosing the points after inverse transform. */
213910
+ /** Create a Range3d enclosing the points after inverse transform. */
213782
213911
  static createInverseTransformedArray(transform, points) {
213783
213912
  const result = this.createNull();
213784
213913
  result.extendInverseTransformedArray(points, transform);
@@ -213827,7 +213956,7 @@ class Range3d extends RangeBase {
213827
213956
  result.extendPoint(point);
213828
213957
  return result;
213829
213958
  }
213830
- /** extend a range around an array of points (optionally transformed) */
213959
+ /** Extend a range around an array of points (optionally transformed) */
213831
213960
  extendArray(points, transform) {
213832
213961
  if (Array.isArray(points))
213833
213962
  if (transform)
@@ -213844,7 +213973,7 @@ class Range3d extends RangeBase {
213844
213973
  for (let i = 0; i < points.length; i++)
213845
213974
  this.extendXYZ(points.getXAtUncheckedPointIndex(i), points.getYAtUncheckedPointIndex(i), points.getZAtUncheckedPointIndex(i));
213846
213975
  }
213847
- /** extend a range around an array of points (optionally transformed) */
213976
+ /** Extend a range around an array of points (optionally transformed) */
213848
213977
  extendInverseTransformedArray(points, transform) {
213849
213978
  if (Array.isArray(points))
213850
213979
  for (const point of points)
@@ -213853,22 +213982,19 @@ class Range3d extends RangeBase {
213853
213982
  for (let i = 0; i < points.length; i++)
213854
213983
  this.extendInverseTransformedXYZ(transform, points.getXAtUncheckedPointIndex(i), points.getYAtUncheckedPointIndex(i), points.getZAtUncheckedPointIndex(i));
213855
213984
  }
213856
- /** multiply the point x,y,z by transform and use the coordinate to extend this range.
213857
- */
213985
+ /** Multiply the point x,y,z by transform and use the coordinate to extend this range. */
213858
213986
  extendTransformedXYZ(transform, x, y, z) {
213859
213987
  const origin = transform.origin;
213860
213988
  const coffs = transform.matrix.coffs;
213861
213989
  this.extendXYZ(origin.x + coffs[0] * x + coffs[1] * y + coffs[2] * z, origin.y + coffs[3] * x + coffs[4] * y + coffs[5] * z, origin.z + coffs[6] * x + coffs[7] * y + coffs[8] * z);
213862
213990
  }
213863
- /** multiply the point x,y,z,w by transform and use the coordinate to extend this range.
213864
- */
213991
+ /** Multiply the point x,y,z,w by transform and use the coordinate to extend this range. */
213865
213992
  extendTransformedXYZW(transform, x, y, z, w) {
213866
213993
  const origin = transform.origin;
213867
213994
  const coffs = transform.matrix.coffs;
213868
213995
  this.extendXYZW(origin.x * w + coffs[0] * x + coffs[1] * y + coffs[2] * z, origin.y * w + coffs[3] * x + coffs[4] * y + coffs[5] * z, origin.z * w + coffs[6] * x + coffs[7] * y + coffs[8] * z, w);
213869
213996
  }
213870
- /** multiply the point x,y,z by transform and use the coordinate to extend this range.
213871
- */
213997
+ /** Multiply the point x,y,z by transform and use the coordinate to extend this range. */
213872
213998
  extendInverseTransformedXYZ(transform, x, y, z) {
213873
213999
  const origin = transform.origin;
213874
214000
  if (!transform.matrix.computeCachedInverse(true))
@@ -213905,36 +214031,72 @@ class Range3d extends RangeBase {
213905
214031
  && this.high.z === this.low.z;
213906
214032
  }
213907
214033
  /** Return the midpoint of the diagonal. No test for null range. */
213908
- get center() { return this.low.interpolate(.5, this.high); }
213909
- /** return the low x coordinate */
213910
- get xLow() { return this.low.x; }
213911
- /** return the low y coordinate */
213912
- get yLow() { return this.low.y; }
213913
- /** return the low z coordinate */
213914
- get zLow() { return this.low.z; }
213915
- /** return the high x coordinate */
213916
- get xHigh() { return this.high.x; }
213917
- /** return the high y coordinate */
213918
- get yHigh() { return this.high.y; }
213919
- /** return the high z coordinate */
213920
- get zHigh() { return this.high.z; }
214034
+ get center() {
214035
+ return this.low.interpolate(.5, this.high);
214036
+ }
214037
+ /** Return the low x coordinate */
214038
+ get xLow() {
214039
+ return this.low.x;
214040
+ }
214041
+ /** Return the low y coordinate */
214042
+ get yLow() {
214043
+ return this.low.y;
214044
+ }
214045
+ /** Return the low z coordinate */
214046
+ get zLow() {
214047
+ return this.low.z;
214048
+ }
214049
+ /** Return the high x coordinate */
214050
+ get xHigh() {
214051
+ return this.high.x;
214052
+ }
214053
+ /** Return the high y coordinate */
214054
+ get yHigh() {
214055
+ return this.high.y;
214056
+ }
214057
+ /** Return the high z coordinate */
214058
+ get zHigh() {
214059
+ return this.high.z;
214060
+ }
213921
214061
  /** Return the length of the box in the x direction */
213922
- xLength() { const a = this.high.x - this.low.x; return a > 0.0 ? a : 0.0; }
214062
+ xLength() {
214063
+ const a = this.high.x - this.low.x;
214064
+ return a > 0.0 ? a : 0.0;
214065
+ }
213923
214066
  /** Return the length of the box in the y direction */
213924
- yLength() { const a = this.high.y - this.low.y; return a > 0.0 ? a : 0.0; }
214067
+ yLength() {
214068
+ const a = this.high.y - this.low.y;
214069
+ return a > 0.0 ? a : 0.0;
214070
+ }
213925
214071
  /** Return the length of the box in the z direction */
213926
- zLength() { const a = this.high.z - this.low.z; return a > 0.0 ? a : 0.0; }
214072
+ zLength() {
214073
+ const a = this.high.z - this.low.z;
214074
+ return a > 0.0 ? a : 0.0;
214075
+ }
213927
214076
  /** Return the largest of the x,y, z lengths of the range. */
213928
- maxLength() { return Math.max(this.xLength(), this.yLength(), this.zLength()); }
213929
- /** return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very large negative coordinates. */
213930
- diagonal(result) { return this.low.vectorTo(this.high, result); }
213931
- /** Return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very large negative coordinates. */
213932
- diagonalFractionToPoint(fraction, result) { return this.low.interpolate(fraction, this.high, result); }
213933
- /** Return a point given by fractional positions on the XYZ axes. This is done with no check for isNull !!! */
214077
+ maxLength() {
214078
+ return Math.max(this.xLength(), this.yLength(), this.zLength());
214079
+ }
214080
+ /**
214081
+ * Return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very
214082
+ * large negative coordinates.
214083
+ */
214084
+ diagonal(result) {
214085
+ return this.low.vectorTo(this.high, result);
214086
+ }
214087
+ /**
214088
+ * Return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very
214089
+ * large negative coordinates.
214090
+ */
214091
+ diagonalFractionToPoint(fraction, result) {
214092
+ return this.low.interpolate(fraction, this.high, result);
214093
+ }
214094
+ /** Return a point given by fractional positions on the XYZ axes. This is done with no check for isNull !!! */
213934
214095
  fractionToPoint(fractionX, fractionY, fractionZ = 0, result) {
213935
214096
  return this.low.interpolateXYZ(fractionX, fractionY, fractionZ, this.high, result);
213936
214097
  }
213937
- /** Return a point given by fractional positions on the XYZ axes.
214098
+ /**
214099
+ * Return a point given by fractional positions on the XYZ axes.
213938
214100
  * Returns undefined if the range is null.
213939
214101
  */
213940
214102
  localXYZToWorld(fractionX, fractionY, fractionZ, result) {
@@ -213942,13 +214104,15 @@ class Range3d extends RangeBase {
213942
214104
  return undefined;
213943
214105
  return this.low.interpolateXYZ(fractionX, fractionY, fractionZ, this.high, result);
213944
214106
  }
213945
- /** Return a point given by fractional positions on the XYZ axes.
214107
+ /**
214108
+ * Return a point given by fractional positions on the XYZ axes.
213946
214109
  * * Returns undefined if the range is null.
213947
214110
  */
213948
214111
  localToWorld(xyz, result) {
213949
214112
  return this.localXYZToWorld(xyz.x, xyz.y, xyz.z, result);
213950
214113
  }
213951
- /** Replace fractional coordinates by world coordinates.
214114
+ /**
214115
+ * Replace fractional coordinates by world coordinates.
213952
214116
  * @returns false if null range.
213953
214117
  */
213954
214118
  localToWorldArrayInPlace(points) {
@@ -213958,7 +214122,8 @@ class Range3d extends RangeBase {
213958
214122
  this.low.interpolateXYZ(p.x, p.y, p.z, this.high, p);
213959
214123
  return false;
213960
214124
  }
213961
- /** Return fractional coordinates of point within the range.
214125
+ /**
214126
+ * Return fractional coordinates of point within the range.
213962
214127
  * * returns undefined if the range is null.
213963
214128
  * * returns undefined if any direction (x,y,z) has zero length
213964
214129
  */
@@ -213970,7 +214135,8 @@ class Range3d extends RangeBase {
213970
214135
  return undefined;
213971
214136
  return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create((point.x - this.low.x) * ax, (point.y - this.low.y) * ay, (point.z - this.low.z) * az, result);
213972
214137
  }
213973
- /** Return fractional coordinates of point within the range.
214138
+ /**
214139
+ * Return fractional coordinates of point within the range.
213974
214140
  * * returns undefined if the range is null.
213975
214141
  * * returns undefined if any direction (x,y,z) has zero length
213976
214142
  */
@@ -213984,7 +214150,8 @@ class Range3d extends RangeBase {
213984
214150
  _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create((p.x - this.low.x) * ax, (p.y - this.low.y) * ay, (p.z - this.low.z) * az, p);
213985
214151
  return true;
213986
214152
  }
213987
- /** Return an array with the 8 corners on order wth "x varies fastest, then y, then z"
214153
+ /**
214154
+ * Return an array with the 8 corners on order wth "x varies fastest, then y, then z"
213988
214155
  * * points preallocated in `result` are reused if result.length >= 8.
213989
214156
  * * in reuse case, result.length is trimmed to 8
213990
214157
  */
@@ -214009,10 +214176,11 @@ class Range3d extends RangeBase {
214009
214176
  _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.low.x, this.low.y, this.high.z),
214010
214177
  _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.high.x, this.low.y, this.high.z),
214011
214178
  _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.low.x, this.high.y, this.high.z),
214012
- _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.high.x, this.high.y, this.high.z)
214179
+ _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.high.x, this.high.y, this.high.z),
214013
214180
  ];
214014
214181
  }
214015
- /** Return an array with indices of the corners of a face
214182
+ /**
214183
+ * Return an array with indices of the corners of a face
214016
214184
  * * face 0 has negative x normal
214017
214185
  * * face 1 has positive x normal
214018
214186
  * * face 2 has negative y normal
@@ -214063,12 +214231,18 @@ class Range3d extends RangeBase {
214063
214231
  return 0.0;
214064
214232
  return Math.max(this.low.maxAbs(), this.high.maxAbs());
214065
214233
  }
214066
- /** returns true if the x direction size is nearly zero */
214067
- get isAlmostZeroX() { return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.xLength()); }
214068
- /** returns true if the y direction size is nearly zero */
214069
- get isAlmostZeroY() { return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.yLength()); }
214070
- /** returns true if the z direction size is nearly zero */
214071
- get isAlmostZeroZ() { return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.zLength()); }
214234
+ /** Returns true if the x direction size is nearly zero */
214235
+ get isAlmostZeroX() {
214236
+ return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.xLength());
214237
+ }
214238
+ /** Returns true if the y direction size is nearly zero */
214239
+ get isAlmostZeroY() {
214240
+ return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.yLength());
214241
+ }
214242
+ /** Returns true if the z direction size is nearly zero */
214243
+ get isAlmostZeroZ() {
214244
+ return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.zLength());
214245
+ }
214072
214246
  /** Test if a point given as x,y,z is within the range. */
214073
214247
  containsXYZ(x, y, z) {
214074
214248
  return x >= this.low.x
@@ -214078,7 +214252,7 @@ class Range3d extends RangeBase {
214078
214252
  && y <= this.high.y
214079
214253
  && z <= this.high.z;
214080
214254
  }
214081
- /** Test if a point given as x,y is within the range. (Ignoring z of range) */
214255
+ /** Test if a point given as x,y is within the range (ignoring z of range). */
214082
214256
  containsXY(x, y) {
214083
214257
  return x >= this.low.x
214084
214258
  && y >= this.low.y
@@ -214086,7 +214260,9 @@ class Range3d extends RangeBase {
214086
214260
  && y <= this.high.y;
214087
214261
  }
214088
214262
  /** Test if a point is within the range. */
214089
- containsPoint(point) { return this.containsXYZ(point.x, point.y, point.z); }
214263
+ containsPoint(point) {
214264
+ return this.containsXYZ(point.x, point.y, point.z);
214265
+ }
214090
214266
  /** Test if the x,y coordinates of a point are within the range. */
214091
214267
  containsPointXY(point) {
214092
214268
  return point.x >= this.low.x
@@ -214125,7 +214301,7 @@ class Range3d extends RangeBase {
214125
214301
  return RangeBase._EXTREME_POSITIVE;
214126
214302
  return Math.min(_Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.hypotenuseXYZ(RangeBase.coordinateToRangeAbsoluteDistance(point.x, this.low.x, this.high.x), RangeBase.coordinateToRangeAbsoluteDistance(point.y, this.low.y, this.high.y), RangeBase.coordinateToRangeAbsoluteDistance(point.z, this.low.z, this.high.z)), RangeBase._EXTREME_POSITIVE);
214127
214303
  }
214128
- /** returns 0 if the ranges have any overlap, otherwise the shortest absolute distance from one to the other. */
214304
+ /** Returns 0 if the ranges have any overlap, otherwise the shortest absolute distance from one to the other. */
214129
214305
  distanceToRange(other) {
214130
214306
  return Math.min(_Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.hypotenuseXYZ(RangeBase.rangeToRangeAbsoluteDistance(this.low.x, this.high.x, other.low.x, other.high.x), RangeBase.rangeToRangeAbsoluteDistance(this.low.y, this.high.y, other.low.y, other.high.y), RangeBase.rangeToRangeAbsoluteDistance(this.low.z, this.high.z, other.low.z, other.high.z)), RangeBase._EXTREME_POSITIVE);
214131
214307
  }
@@ -214210,7 +214386,8 @@ class Range3d extends RangeBase {
214210
214386
  this.extendXYZ(other.high.x, other.high.y, other.high.z);
214211
214387
  }
214212
214388
  }
214213
- /** In each direction look at the difference between this range limit and that of interiorRange.
214389
+ /**
214390
+ * In each direction look at the difference between this range limit and that of interiorRange.
214214
214391
  * * If this range is larger, expand it by extrapolationFactor.
214215
214392
  */
214216
214393
  extendWhenLarger(other, extrapolationFactor) {
@@ -214239,7 +214416,7 @@ class Range3d extends RangeBase {
214239
214416
  return Range3d.createXYZXYZOrCorrectToNull(Math.min(this.low.x, other.low.x), Math.min(this.low.y, other.low.y), Math.min(this.low.z, other.low.z), Math.max(this.high.x, other.high.x), Math.max(this.high.y, other.high.y), Math.max(this.high.z, other.high.z), result);
214240
214417
  }
214241
214418
  /**
214242
- * move low and high points by scaleFactor around the center point.
214419
+ * Move low and high points by scaleFactor around the center point.
214243
214420
  * @param scaleFactor scale factor applied to low, high distance from center.
214244
214421
  */
214245
214422
  scaleAboutCenterInPlace(scaleFactor) {
@@ -214258,7 +214435,7 @@ class Range3d extends RangeBase {
214258
214435
  }
214259
214436
  }
214260
214437
  /**
214261
- * move all limits by a fixed amount.
214438
+ * Move all limits by a fixed amount.
214262
214439
  * * positive delta expands the range size
214263
214440
  * * negative delta reduces the range size
214264
214441
  * * if any dimension reduces below zero size, the whole range becomes null
@@ -214272,7 +214449,8 @@ class Range3d extends RangeBase {
214272
214449
  return _Transform__WEBPACK_IMPORTED_MODULE_3__.Transform.createOriginAndMatrix(_Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.low.x, this.low.y, this.low.z), _Matrix3d__WEBPACK_IMPORTED_MODULE_4__.Matrix3d.createRowValues(this.high.x - this.low.x, 0, 0, 0, this.high.y - this.low.y, 0, 0, 0, this.high.z - this.low.z), result);
214273
214450
  }
214274
214451
  /**
214275
- * Creates an NPC to world transformation to go from 000...111 to the globally aligned cube with diagonally opposite corners that are the
214452
+ * Creates an NPC to world transformation to go from 000...111 to the globally aligned cube with diagonally
214453
+ * opposite corners that are the
214276
214454
  * min and max of this range. The diagonal component for any degenerate direction is 1.
214277
214455
  */
214278
214456
  getNpcToWorldRangeTransform(result) {
@@ -214286,7 +214464,9 @@ class Range3d extends RangeBase {
214286
214464
  matrix.coffs[8] = 1;
214287
214465
  return transform;
214288
214466
  }
214289
- /** Ensure that the length of each dimension of this AxisAlignedBox3d is at least a minimum size. If not, expand to minimum about the center.
214467
+ /**
214468
+ * Ensure that the length of each dimension of this AxisAlignedBox3d is at least a minimum size. If not, expand
214469
+ * to minimum about the center.
214290
214470
  * @param min The minimum length for each dimension.
214291
214471
  */
214292
214472
  ensureMinLengths(min = .001) {
@@ -214315,7 +214495,7 @@ class Range3d extends RangeBase {
214315
214495
  * @public
214316
214496
  */
214317
214497
  class Range1d extends RangeBase {
214318
- /** reset the low and high to null range state. */
214498
+ /** Reset the low and high to null range state. */
214319
214499
  setNull() {
214320
214500
  this.low = RangeBase._EXTREME_POSITIVE;
214321
214501
  this.high = RangeBase._EXTREME_NEGATIVE;
@@ -214339,10 +214519,13 @@ class Range1d extends RangeBase {
214339
214519
  return (_Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSameCoordinate(this.low, other.low) && _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSameCoordinate(this.high, other.high))
214340
214520
  || (this.isNull && other.isNull);
214341
214521
  }
214342
- /** copy contents from other Range1d. */
214343
- setFrom(other) { this.low = other.low; this.high = other.high; }
214344
- /** Convert from a JSON object of one of these forms:
214345
- *
214522
+ /** Copy contents from other Range1d. */
214523
+ setFrom(other) {
214524
+ this.low = other.low;
214525
+ this.high = other.high;
214526
+ }
214527
+ /**
214528
+ * Convert from a JSON object of one of these forms:
214346
214529
  * * Any array of numbers: `[value,value, value]`
214347
214530
  * * An object with low and high as properties: `{low:lowValue, high: highValue}`
214348
214531
  */
@@ -214367,16 +214550,20 @@ class Range1d extends RangeBase {
214367
214550
  result.setFromJSON(json);
214368
214551
  return result;
214369
214552
  }
214370
- /** Convert to a JSON object of form
214553
+ /**
214554
+ * Convert to a JSON object of form
214371
214555
  * ```
214372
214556
  * [lowValue,highValue]
214373
214557
  * ```
214374
214558
  */
214375
- toJSON() { if (this.isNull)
214376
- return new Array();
214377
- else
214378
- return [this.low, this.high]; }
214379
- /** return a new Range1d with contents of this.
214559
+ toJSON() {
214560
+ if (this.isNull)
214561
+ return new Array();
214562
+ else
214563
+ return [this.low, this.high];
214564
+ }
214565
+ /**
214566
+ * Return a new Range1d with contents of this.
214380
214567
  * @param result optional result.
214381
214568
  */
214382
214569
  clone(result) {
@@ -214384,7 +214571,8 @@ class Range1d extends RangeBase {
214384
214571
  result.setDirect(this.low, this.high);
214385
214572
  return result;
214386
214573
  }
214387
- /** return a new Range1d with contents of this.
214574
+ /**
214575
+ * Return a new Range1d with contents of this.
214388
214576
  * @param result optional result.
214389
214577
  */
214390
214578
  static createFrom(other, result) {
@@ -214392,7 +214580,8 @@ class Range1d extends RangeBase {
214392
214580
  result.setDirect(other.low, other.high);
214393
214581
  return result;
214394
214582
  }
214395
- /** Create a range with no content.
214583
+ /**
214584
+ * Create a range with no content.
214396
214585
  * @param result optional result.
214397
214586
  */
214398
214587
  static createNull(result) {
@@ -214400,7 +214589,8 @@ class Range1d extends RangeBase {
214400
214589
  result.setNull();
214401
214590
  return result;
214402
214591
  }
214403
- /** create a range with `delta` added to low and high
214592
+ /**
214593
+ * Create a range with `delta` added to low and high
214404
214594
  * * If `this` is a null range, return a null range.
214405
214595
  */
214406
214596
  cloneTranslated(delta, result) {
@@ -214415,7 +214605,9 @@ class Range1d extends RangeBase {
214415
214605
  * Set this range to be a single value.
214416
214606
  * @param x value to use as both low and high.
214417
214607
  */
214418
- setX(x) { this.low = this.high = x; }
214608
+ setX(x) {
214609
+ this.low = this.high = x;
214610
+ }
214419
214611
  /** Create a single point box */
214420
214612
  static createX(x, result) {
214421
214613
  result = result ? result : new this();
@@ -214437,10 +214629,12 @@ class Range1d extends RangeBase {
214437
214629
  this.high = x0;
214438
214630
  }
214439
214631
  }
214632
+ /** Check if low is 0 and high is 1 */
214440
214633
  get isExact01() {
214441
214634
  return this.low === 0.0 && this.high === 1.0;
214442
214635
  }
214443
- /** Create a box from two values. Values are reversed if needed
214636
+ /**
214637
+ * Create a box from two values. Values are reversed if needed
214444
214638
  * @param xA first value
214445
214639
  * @param xB second value
214446
214640
  */
@@ -214449,7 +214643,8 @@ class Range1d extends RangeBase {
214449
214643
  result.setDirect(Math.min(xA, xB), Math.max(xA, xB));
214450
214644
  return result;
214451
214645
  }
214452
- /** Create a box from two values, but null range if the values are reversed
214646
+ /**
214647
+ * Create a box from two values, but null range if the values are reversed
214453
214648
  * @param xA first value
214454
214649
  * @param xB second value
214455
214650
  */
@@ -214460,7 +214655,8 @@ class Range1d extends RangeBase {
214460
214655
  result.setDirect(Math.min(xA, xB), Math.max(xA, xB));
214461
214656
  return result;
214462
214657
  }
214463
- /** Create a range containing all the values in an array.
214658
+ /**
214659
+ * Create a range containing all the values in an array.
214464
214660
  * @param values array of points to be contained in the range.
214465
214661
  * @param result optional result.
214466
214662
  */
@@ -214471,13 +214667,14 @@ class Range1d extends RangeBase {
214471
214667
  result.extendX(x);
214472
214668
  return result;
214473
214669
  }
214474
- /** extend to include an array of values */
214670
+ /** Extend to include an array of values */
214475
214671
  extendArray(values) {
214476
214672
  let x;
214477
214673
  for (x of values)
214478
214674
  this.extendX(x);
214479
214675
  }
214480
- /** extend to include `values` at indices `beginIndex <= i < endIndex]`
214676
+ /**
214677
+ * Extend to include `values` at indices `beginIndex <= i < endIndex]`
214481
214678
  * @param values array of values
214482
214679
  * @param beginIndex first index to include
214483
214680
  * @param numValue number of values to access
@@ -214496,8 +214693,11 @@ class Range1d extends RangeBase {
214496
214693
  return this.high === this.low;
214497
214694
  }
214498
214695
  /** Return the length of the range in the x direction */
214499
- length() { const a = this.high - this.low; return a > 0.0 ? a : 0.0; }
214500
- /** return a point given by fractional positions within the range. This is done with no check for isNull !!! */
214696
+ length() {
214697
+ const a = this.high - this.low;
214698
+ return a > 0.0 ? a : 0.0;
214699
+ }
214700
+ /** Return a point given by fractional positions within the range. This is done with no check for isNull !!! */
214501
214701
  fractionToPoint(fraction) {
214502
214702
  return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.interpolate(this.low, fraction, this.high);
214503
214703
  }
@@ -214508,7 +214708,9 @@ class Range1d extends RangeBase {
214508
214708
  return Math.max(Math.abs(this.low), Math.abs(this.high));
214509
214709
  }
214510
214710
  /** Test if the x direction size is nearly zero */
214511
- get isAlmostZeroLength() { return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.length()); }
214711
+ get isAlmostZeroLength() {
214712
+ return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.length());
214713
+ }
214512
214714
  /** Test if a number is within the range. */
214513
214715
  containsX(x) {
214514
214716
  return x >= this.low
@@ -214528,7 +214730,6 @@ class Range1d extends RangeBase {
214528
214730
  * * For x1 > x0, that range is null, and the intersection is null.
214529
214731
  * * For x0 <= x1, the input is a non-null range.
214530
214732
  * * The intersection range replaces the contents of this.
214531
- *
214532
214733
  */
214533
214734
  intersectRangeXXInPlace(x0, x1) {
214534
214735
  if (x1 < x0 || x1 < this.low || x0 > this.high) {
@@ -214541,7 +214742,7 @@ class Range1d extends RangeBase {
214541
214742
  this.low = x0;
214542
214743
  }
214543
214744
  }
214544
- /** returns 0 if the ranges have any overlap, otherwise the shortest absolute distance from one to the other. */
214745
+ /** Returns 0 if the ranges have any overlap, otherwise the shortest absolute distance from one to the other. */
214545
214746
  distanceToRange(other) {
214546
214747
  return RangeBase.rangeToRangeAbsoluteDistance(this.low, this.high, other.low, other.high);
214547
214748
  }
@@ -214593,7 +214794,7 @@ class Range1d extends RangeBase {
214593
214794
  return Range1d.createXX(Math.min(this.low, other.low), Math.max(this.high, other.high), result);
214594
214795
  }
214595
214796
  /**
214596
- * move low and high points by scaleFactor around the center point.
214797
+ * Move low and high points by scaleFactor around the center point.
214597
214798
  * @param scaleFactor scale factor applied to low, high distance from center.
214598
214799
  */
214599
214800
  scaleAboutCenterInPlace(scaleFactor) {
@@ -214606,7 +214807,7 @@ class Range1d extends RangeBase {
214606
214807
  }
214607
214808
  }
214608
214809
  /**
214609
- * move all limits by a fixed amount.
214810
+ * Move all limits by a fixed amount.
214610
214811
  * * positive delta expands the range size
214611
214812
  * * negative delta reduces the range size
214612
214813
  * * if any dimension reduces below zero size, the whole range becomes null
@@ -214616,13 +214817,14 @@ class Range1d extends RangeBase {
214616
214817
  this.setDirect(this.low - delta, this.high + delta, true);
214617
214818
  }
214618
214819
  /**
214619
- * clip this range to a linear half space condition
214820
+ * Clip this range to a linear half space condition
214620
214821
  * * if `limitA > limitB` the limit space is empty
214621
214822
  * * make this range null
214622
214823
  * * return false;
214623
214824
  * * otherwise (i.e `limitA <= limitB`)
214624
214825
  * * solve `a + u * f = limitA' and `a + u * f = limitA`
214625
- * * if unable to solve (i.e. u near zero), `a` alone determines whether to (a) leave this interval unchanged or (b) reduce to nothing.
214826
+ * * if unable to solve (i.e. u near zero), `a` alone determines whether to (a) leave this interval unchanged or
214827
+ * (b) reduce to nothing.
214626
214828
  * * the `f` values are an interval in the space of this `Range1d`
214627
214829
  * * restrict the range to that interval (i.e intersect existing (low,high) with the fraction interval.
214628
214830
  * * return true if the range is non-null after the clip.
@@ -214631,7 +214833,6 @@ class Range1d extends RangeBase {
214631
214833
  * @param limitA crossing value, assumed in range relation with limitB
214632
214834
  * @param limitB crossing value, assumed in range relation with limitB
214633
214835
  * @param limitIsHigh true if the limit is an upper limit on mapped values.
214634
- *
214635
214836
  */
214636
214837
  clipLinearMapToInterval(a, u, limitA, limitB) {
214637
214838
  // f = (limit - a) / u
@@ -214670,7 +214871,7 @@ class Range1d extends RangeBase {
214670
214871
  * @public
214671
214872
  */
214672
214873
  class Range2d extends RangeBase {
214673
- /** reset the low and high to null range state. */
214874
+ /** Reset the low and high to null range state. */
214674
214875
  setNull() {
214675
214876
  this.low.x = RangeBase._EXTREME_POSITIVE;
214676
214877
  this.low.y = RangeBase._EXTREME_POSITIVE;
@@ -214678,9 +214879,13 @@ class Range2d extends RangeBase {
214678
214879
  this.high.y = RangeBase._EXTREME_NEGATIVE;
214679
214880
  }
214680
214881
  /** Flatten the low and high coordinates of any json object with low.x .. high.y into an array of 4 doubles */
214681
- static toFloat64Array(val) { return Float64Array.of(val.low.x, val.low.y, val.high.x, val.high.y); }
214882
+ static toFloat64Array(val) {
214883
+ return Float64Array.of(val.low.x, val.low.y, val.high.x, val.high.y);
214884
+ }
214682
214885
  /** Flatten the low and high coordinates of this instance into an array of 4 doubles */
214683
- toFloat64Array() { return Range2d.toFloat64Array(this); }
214886
+ toFloat64Array() {
214887
+ return Range2d.toFloat64Array(this);
214888
+ }
214684
214889
  /**
214685
214890
  * Construct a Range2d from an array of double-precision values
214686
214891
  * @param f64 the array, which should contain exactly 4 values in this order: lowX, lowY, highX, highY
@@ -214692,12 +214897,15 @@ class Range2d extends RangeBase {
214692
214897
  return new this(f64[0], f64[1], f64[2], f64[3]);
214693
214898
  }
214694
214899
  /**
214695
- * Construct a Range2d from an un-typed array. This mostly useful when interpreting ECSQL query results of the 'blob' type, where you know that that result is a Range3d.
214900
+ * Construct a Range2d from an un-typed array. This mostly useful when interpreting ECSQL query results of
214901
+ * the 'blob' type, where you know that that result is a Range3d.
214696
214902
  * @param buffer untyped array
214697
214903
  * @return a new Range2d object
214698
214904
  */
214699
- static fromArrayBuffer(buffer) { return this.fromFloat64Array(new Float64Array(buffer)); }
214700
- // explicit ctor - no enforcement of value relationships
214905
+ static fromArrayBuffer(buffer) {
214906
+ return this.fromFloat64Array(new Float64Array(buffer));
214907
+ }
214908
+ // explicit constructor - no enforcement of value relationships
214701
214909
  constructor(lowX = Range2d._EXTREME_POSITIVE, lowY = Range2d._EXTREME_POSITIVE, highX = Range2d._EXTREME_NEGATIVE, highY = Range2d._EXTREME_NEGATIVE) {
214702
214910
  super();
214703
214911
  this.low = _Point2dVector2d__WEBPACK_IMPORTED_MODULE_5__.Point2d.create(lowX, lowY);
@@ -214708,12 +214916,12 @@ class Range2d extends RangeBase {
214708
214916
  return (this.low.isAlmostEqual(other.low) && this.high.isAlmostEqual(other.high))
214709
214917
  || (this.isNull && other.isNull);
214710
214918
  }
214711
- /** copy all content from any `other` that has low and high xy data. */
214919
+ /** Copy all content from any `other` that has low and high xy data. */
214712
214920
  setFrom(other) {
214713
214921
  this.low.set(other.low.x, other.low.y);
214714
214922
  this.high.set(other.high.x, other.high.y);
214715
214923
  }
214716
- /** create a new Range2d from any `other` that has low and high xy data. */
214924
+ /** Create a new Range2d from any `other` that has low and high xy data. */
214717
214925
  static createFrom(other, result) {
214718
214926
  if (result) {
214719
214927
  result.setFrom(other);
@@ -214721,7 +214929,7 @@ class Range2d extends RangeBase {
214721
214929
  }
214722
214930
  return this.createXYXYOrCorrectToNull(other.low.x, other.low.y, other.high.x, other.high.y, result);
214723
214931
  }
214724
- /** treat any array of numbers as numbers to be inserted !!! */
214932
+ /** Treat any array of numbers as numbers to be inserted !!! */
214725
214933
  setFromJSON(json) {
214726
214934
  this.setNull();
214727
214935
  if (Array.isArray(json)) {
@@ -214740,9 +214948,15 @@ class Range2d extends RangeBase {
214740
214948
  }
214741
214949
  }
214742
214950
  /** Freeze this instance (and its members) so it is read-only */
214743
- freeze() { this.low.freeze(); this.high.freeze(); return Object.freeze(this); }
214744
- /** return json array with two points as produced by `Point2d.toJSON` */
214745
- toJSON() { return this.isNull ? [] : [this.low.toJSON(), this.high.toJSON()]; }
214951
+ freeze() {
214952
+ this.low.freeze();
214953
+ this.high.freeze();
214954
+ return Object.freeze(this);
214955
+ }
214956
+ /** Return json array with two points as produced by `Point2d.toJSON` */
214957
+ toJSON() {
214958
+ return this.isNull ? [] : [this.low.toJSON(), this.high.toJSON()];
214959
+ }
214746
214960
  /** Use `setFromJSON` to parse `json` into a new Range2d instance. */
214747
214961
  static fromJSON(json) {
214748
214962
  const result = new this();
@@ -214761,13 +214975,13 @@ class Range2d extends RangeBase {
214761
214975
  this.setNull();
214762
214976
  }
214763
214977
  }
214764
- /** return a clone of this range (or copy to optional result) */
214978
+ /** Return a clone of this range (or copy to optional result) */
214765
214979
  clone(result) {
214766
214980
  result = result ? result : new this.constructor();
214767
214981
  result.setDirect(this.low.x, this.low.y, this.high.x, this.high.y, false);
214768
214982
  return result;
214769
214983
  }
214770
- /** create a range with no content. */
214984
+ /** Create a range with no content. */
214771
214985
  static createNull(result) {
214772
214986
  result = result ? result : new this();
214773
214987
  result.setNull();
@@ -214817,7 +215031,10 @@ class Range2d extends RangeBase {
214817
215031
  return this.high.x < this.low.x
214818
215032
  || this.high.y < this.low.y;
214819
215033
  }
214820
- /** Test if the box has high strictly less than low for any of x,y, condition. Note that a range around a single point is NOT null. */
215034
+ /**
215035
+ * Test if the box has high strictly less than low for any of x,y, condition. Note that a range around a
215036
+ * single point is NOT null.
215037
+ */
214821
215038
  static isNull(range) {
214822
215039
  return range.high.x < range.low.x
214823
215040
  || range.high.y < range.low.y;
@@ -214828,28 +215045,55 @@ class Range2d extends RangeBase {
214828
215045
  && this.high.y === this.low.y;
214829
215046
  }
214830
215047
  /** Return the midpoint of the diagonal. No test for null range. */
214831
- get center() { return this.low.interpolate(.5, this.high); }
214832
- /** return the low x coordinate */
214833
- get xLow() { return this.low.x; }
214834
- /** return the low y coordinate */
214835
- get yLow() { return this.low.y; }
214836
- /** return the high x coordinate */
214837
- get xHigh() { return this.high.x; }
214838
- /** return the high y coordinate */
214839
- get yHigh() { return this.high.y; }
215048
+ get center() {
215049
+ return this.low.interpolate(.5, this.high);
215050
+ }
215051
+ /** Return the low x coordinate */
215052
+ get xLow() {
215053
+ return this.low.x;
215054
+ }
215055
+ /** Return the low y coordinate */
215056
+ get yLow() {
215057
+ return this.low.y;
215058
+ }
215059
+ /** Return the high x coordinate */
215060
+ get xHigh() {
215061
+ return this.high.x;
215062
+ }
215063
+ /** Return the high y coordinate */
215064
+ get yHigh() {
215065
+ return this.high.y;
215066
+ }
214840
215067
  /** Length of the box in the x direction */
214841
- xLength() { const a = this.high.x - this.low.x; return a > 0.0 ? a : 0.0; }
215068
+ xLength() {
215069
+ const a = this.high.x - this.low.x;
215070
+ return a > 0.0 ? a : 0.0;
215071
+ }
214842
215072
  /** Length of the box in the y direction */
214843
- yLength() { const a = this.high.y - this.low.y; return a > 0.0 ? a : 0.0; }
214844
- /** return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very large negative coordinates. */
214845
- diagonal(result) { return this.low.vectorTo(this.high, result); }
214846
- /** return the point at the specified fraction along the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very large negative coordinates. */
214847
- diagonalFractionToPoint(fraction, result) { return this.low.interpolate(fraction, this.high, result); }
214848
- /** return a point given by fractional positions on the XY axes. This is done with no check for isNull !!! */
215073
+ yLength() {
215074
+ const a = this.high.y - this.low.y;
215075
+ return a > 0.0 ? a : 0.0;
215076
+ }
215077
+ /**
215078
+ * Return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very
215079
+ * large negative coordinates.
215080
+ */
215081
+ diagonal(result) {
215082
+ return this.low.vectorTo(this.high, result);
215083
+ }
215084
+ /**
215085
+ * Return the point at the specified fraction along the diagonal vector. There is no check for isNull -- if the
215086
+ * range isNull(), the vector will have very large negative coordinates.
215087
+ */
215088
+ diagonalFractionToPoint(fraction, result) {
215089
+ return this.low.interpolate(fraction, this.high, result);
215090
+ }
215091
+ /** Return a point given by fractional positions on the XY axes. This is done with no check for isNull !!! */
214849
215092
  fractionToPoint(fractionX, fractionY, result) {
214850
215093
  return this.low.interpolateXY(fractionX, fractionY, this.high, result);
214851
215094
  }
214852
- /** Return an array with the 4 corners.
215095
+ /**
215096
+ * Return an array with the 4 corners.
214853
215097
  * * if asLoop is false, 4 corners are "x varies fastest, then y"
214854
215098
  * * if asLoop is true, 5 corners are in CCW order WITH CLOSURE
214855
215099
  */
@@ -214860,13 +215104,13 @@ class Range2d extends RangeBase {
214860
215104
  _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.high.x, this.low.y, z),
214861
215105
  _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.high.x, this.high.y, z),
214862
215106
  _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.low.x, this.high.y, z),
214863
- _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.low.x, this.low.y, z)
215107
+ _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.low.x, this.low.y, z),
214864
215108
  ];
214865
215109
  return [
214866
215110
  _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.low.x, this.low.y, z),
214867
215111
  _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.high.x, this.low.y, z),
214868
215112
  _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.low.x, this.high.y, z),
214869
- _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.high.x, this.high.y, z)
215113
+ _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.high.x, this.high.y, z),
214870
215114
  ];
214871
215115
  }
214872
215116
  /** Largest absolute value among any coordinates in the box corners. */
@@ -214876,10 +215120,14 @@ class Range2d extends RangeBase {
214876
215120
  return Math.max(this.low.maxAbs(), this.high.maxAbs());
214877
215121
  }
214878
215122
  /** Test if the x direction size is nearly zero */
214879
- get isAlmostZeroX() { return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.xLength()); }
215123
+ get isAlmostZeroX() {
215124
+ return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.xLength());
215125
+ }
214880
215126
  /** Test if the y direction size is nearly zero */
214881
- get isAlmostZeroY() { return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.yLength()); }
214882
- /** Test if a point given as x,y is within the range. */
215127
+ get isAlmostZeroY() {
215128
+ return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.yLength());
215129
+ }
215130
+ /** Test if a point given as x,y is within the range */
214883
215131
  containsXY(x, y) {
214884
215132
  return x >= this.low.x
214885
215133
  && y >= this.low.y
@@ -214887,7 +215135,9 @@ class Range2d extends RangeBase {
214887
215135
  && y <= this.high.y;
214888
215136
  }
214889
215137
  /** Test if a point is within the range. */
214890
- containsPoint(point) { return this.containsXY(point.x, point.y); }
215138
+ containsPoint(point) {
215139
+ return this.containsXY(point.x, point.y);
215140
+ }
214891
215141
  /** Test of other range is within this range */
214892
215142
  containsRange(other) {
214893
215143
  return other.low.x >= this.low.x
@@ -214930,7 +215180,9 @@ class Range2d extends RangeBase {
214930
215180
  this.extendXY(x1, y1);
214931
215181
  }
214932
215182
  /** Expand this range to include a point. */
214933
- extendPoint(point) { this.extendXY(point.x, point.y); }
215183
+ extendPoint(point) {
215184
+ this.extendXY(point.x, point.y);
215185
+ }
214934
215186
  /** Expand this range to include a range. */
214935
215187
  extendRange(other) {
214936
215188
  if (!Range2d.isNull(other)) {
@@ -214954,7 +215206,7 @@ class Range2d extends RangeBase {
214954
215206
  return Range2d.createXYXY(Math.min(this.low.x, other.low.x), Math.min(this.low.y, other.low.y), Math.max(this.high.x, other.high.x), Math.max(this.high.y, other.high.y), result);
214955
215207
  }
214956
215208
  /**
214957
- * move low and high points by scaleFactor around the center point.
215209
+ * Move low and high points by scaleFactor around the center point.
214958
215210
  * @param scaleFactor scale factor applied to low, high distance from center.
214959
215211
  */
214960
215212
  scaleAboutCenterInPlace(scaleFactor) {
@@ -214970,7 +215222,7 @@ class Range2d extends RangeBase {
214970
215222
  }
214971
215223
  }
214972
215224
  /**
214973
- * move all limits by a fixed amount.
215225
+ * Move all limits by a fixed amount.
214974
215226
  * * positive delta expands the range size
214975
215227
  * * negative delta reduces the range size
214976
215228
  * * if any dimension reduces below zero size, the whole range becomes null
@@ -214979,7 +215231,8 @@ class Range2d extends RangeBase {
214979
215231
  expandInPlace(delta) {
214980
215232
  this.setDirect(this.low.x - delta, this.low.y - delta, this.high.x + delta, this.high.y + delta, true);
214981
215233
  }
214982
- /** Return fractional coordinates of point within the range.
215234
+ /**
215235
+ * Return fractional coordinates of point within the range.
214983
215236
  * * returns undefined if the range is null.
214984
215237
  * * returns undefined if any direction (x,y) has zero length
214985
215238
  */
@@ -284230,7 +284483,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
284230
284483
  /***/ ((module) => {
284231
284484
 
284232
284485
  "use strict";
284233
- module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.1.0-dev.12","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/**/*,**/primitives,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-eslintrc -c \\"./node_modules/@itwin/eslint-plugin/dist/configs/extension-exports-config.js\\" \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && 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.12","@itwin/core-bentley":"workspace:^4.1.0-dev.12","@itwin/core-common":"workspace:^4.1.0-dev.12","@itwin/core-geometry":"workspace:^4.1.0-dev.12","@itwin/core-orbitgt":"workspace:^4.1.0-dev.12","@itwin/core-quantity":"workspace:^4.1.0-dev.12"},"//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.33","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/node":"^18.11.5","@types/sinon":"^9.0.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.36.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^9.0.2","source-map-loader":"^4.0.0","typescript":"~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/object-storage-azure":"^1.5.0","@itwin/cloud-agnostic-core":"^1.5.0","@itwin/object-storage-core":"^1.5.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","reflect-metadata":"0.1.13"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"},"eslintConfig":{"plugins":["@itwin"],"extends":"plugin:@itwin/itwinjs-recommended","rules":{"@itwin/no-internal-barrel-imports":["error",{"required-barrel-modules":["./src/tile/internal.ts"]}],"@itwin/public-extension-exports":["error",{"releaseTags":["public","preview"],"outputApiFile":false}]},"overrides":[{"files":["*.test.ts","*.test.tsx","**/test/**/*.ts"],"rules":{"@itwin/no-internal-barrel-imports":"off"}}]}}');
284486
+ module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.1.0-dev.14","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/**/*,**/primitives,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-eslintrc -c \\"./node_modules/@itwin/eslint-plugin/dist/configs/extension-exports-config.js\\" \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && 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.14","@itwin/core-bentley":"workspace:^4.1.0-dev.14","@itwin/core-common":"workspace:^4.1.0-dev.14","@itwin/core-geometry":"workspace:^4.1.0-dev.14","@itwin/core-orbitgt":"workspace:^4.1.0-dev.14","@itwin/core-quantity":"workspace:^4.1.0-dev.14"},"//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.33","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/node":"^18.11.5","@types/sinon":"^9.0.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.36.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^9.0.2","source-map-loader":"^4.0.0","typescript":"~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/object-storage-azure":"^1.5.0","@itwin/cloud-agnostic-core":"^1.5.0","@itwin/object-storage-core":"^1.5.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","reflect-metadata":"0.1.13"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"},"eslintConfig":{"plugins":["@itwin"],"extends":"plugin:@itwin/itwinjs-recommended","rules":{"@itwin/no-internal-barrel-imports":["error",{"required-barrel-modules":["./src/tile/internal.ts"]}],"@itwin/public-extension-exports":["error",{"releaseTags":["public","preview"],"outputApiFile":false}]},"overrides":[{"files":["*.test.ts","*.test.tsx","**/test/**/*.ts"],"rules":{"@itwin/no-internal-barrel-imports":"off"}}]}}');
284234
284487
 
284235
284488
  /***/ })
284236
284489