@itwin/rpcinterface-full-stack-tests 4.1.0-dev.13 → 4.1.0-dev.15

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.
@@ -31054,6 +31054,8 @@ __webpack_require__.r(__webpack_exports__);
31054
31054
  */
31055
31055
  var TypeOfChange;
31056
31056
  (function (TypeOfChange) {
31057
+ /** Element contains no changes */
31058
+ TypeOfChange[TypeOfChange["NoChange"] = 0] = "NoChange";
31057
31059
  /** A property in the element changed */
31058
31060
  TypeOfChange[TypeOfChange["Property"] = 1] = "Property";
31059
31061
  /** The geometry stream of a [GeometricElement]($backend) changed */
@@ -183721,7 +183723,7 @@ __webpack_require__.r(__webpack_exports__);
183721
183723
 
183722
183724
 
183723
183725
  /**
183724
- * * Annotation of an interval of a curve.
183726
+ * Annotation of an interval of a curve.
183725
183727
  * * The interval is marked with two pairs of numbers:
183726
183728
  * * * fraction0, fraction1 = fraction parameters along the child curve
183727
183729
  * * * distance0,distance1 = distances within containing CurveChainWithDistanceIndex
@@ -183745,8 +183747,7 @@ class PathFragment {
183745
183747
  containsChainDistance(distance) {
183746
183748
  return distance >= this.chainDistance0 && distance <= this.chainDistance1;
183747
183749
  }
183748
- // Return a quick distance to the curve. This may be SMALLER than true distance but may
183749
- // not be larger.
183750
+ /** Return a quick distance to the curve. This may be SMALLER than true distance but may not be larger */
183750
183751
  quickMinDistanceToChildCurve(spacePoint) {
183751
183752
  if (this.range) {
183752
183753
  return this.range.distanceToPoint(spacePoint);
@@ -183757,8 +183758,10 @@ class PathFragment {
183757
183758
  return detail.a;
183758
183759
  return 0;
183759
183760
  }
183760
- // Return an array with (references to) all the path fragments, sorted smallest to largest on
183761
- // the "a" value equal to the quick min distance to the fragment
183761
+ /**
183762
+ * Return an array with (references to) all the path fragments, sorted smallest to largest on the "a" value
183763
+ * equal to the quick min distance to the fragment
183764
+ */
183762
183765
  static collectSortedQuickMinDistances(fragments, spacePoint) {
183763
183766
  const sortedFragments = [];
183764
183767
  for (const f of fragments) {
@@ -183775,26 +183778,28 @@ class PathFragment {
183775
183778
  containsChildCurveAndChildFraction(curve, fraction) {
183776
183779
  return this.childCurve === curve && fraction >= this.childFraction0 && fraction <= this.childFraction1;
183777
183780
  }
183778
- /** Convert distance to local fraction, and apply that to interpolate between the stored curve fractions.
183781
+ /**
183782
+ * Convert distance to local fraction, and apply that to interpolate between the stored curve fractions.
183779
183783
  * Note that proportional calculation does NOT account for nonuniform parameterization in the child curve.
183780
183784
  */
183781
183785
  chainDistanceToInterpolatedChildFraction(distance) {
183782
183786
  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 . ..
183783
183787
  }
183784
- /** Convert chainDistance to true chidFraction, using detailed moveSignedDistanceFromFraction
183785
- */
183788
+ /** Convert chainDistance to true chidFraction, using detailed moveSignedDistanceFromFraction */
183786
183789
  chainDistanceToAccurateChildFraction(chainDistance, allowExtrapolation) {
183787
183790
  // The fragments are really expected to do good mappings in their distance range ...
183788
183791
  const childDetail = this.childCurve.moveSignedDistanceFromFraction(this.childFraction0, chainDistance - this.chainDistance0, allowExtrapolation ?? false);
183789
183792
  return childDetail.fraction;
183790
183793
  }
183791
- /** Return the scale factor to map childCurve fraction derivatives to chain fraction derivatives
183794
+ /**
183795
+ * Return the scale factor to map childCurve fraction derivatives to chain fraction derivatives
183792
183796
  * @param globalDistance total length of the global curve.
183793
183797
  */
183794
183798
  fractionScaleFactor(globalDistance) {
183795
183799
  return globalDistance * (this.childFraction1 - this.childFraction0) / (this.chainDistance1 - this.chainDistance0);
183796
183800
  }
183797
- /** Reverse the fraction and distance data.
183801
+ /**
183802
+ * Reverse the fraction and distance data.
183798
183803
  * * each child fraction `f` is replaced by `1-f`
183799
183804
  * * each `chainDistance` is replaced by `totalDistance-chainDistance`
183800
183805
  */
@@ -183813,7 +183818,7 @@ class PathFragment {
183813
183818
  return this.childFractionToChainDistance(fraction);
183814
183819
  }
183815
183820
  /**
183816
- * convert a fractional position on the childCurve to distance in the chain space.
183821
+ * Convert a fractional position on the childCurve to distance in the chain space.
183817
183822
  * * Return value is SIGNED -- will be negative when fraction < this.childFraction0.
183818
183823
  * @param fraction fraction along the curve within this fragment
183819
183824
  */
@@ -183835,7 +183840,6 @@ class DistanceIndexConstructionContext {
183835
183840
  startCurvePrimitive(_cp) { }
183836
183841
  endParentCurvePrimitive(_cp) { }
183837
183842
  endCurvePrimitive(_cp) { }
183838
- // um .. we need to see curves? how to reject?
183839
183843
  announcePointTangent(_xyz, _fraction, _tangent) { }
183840
183844
  /** Announce numPoints interpolated between point0 and point1, with associated fractions */
183841
183845
  announceSegmentInterval(cp, point0, point1, numStrokes, fraction0, fraction1) {
@@ -183882,13 +183886,17 @@ class DistanceIndexConstructionContext {
183882
183886
  /**
183883
183887
  * `CurveChainWithDistanceIndex` is a CurvePrimitive whose fractional parameterization is proportional to true
183884
183888
  * distance along a CurveChain.
183889
+ * * For example if the total length of the chain is `L`, then the distance along the chain from parameters `t0`
183890
+ * to `t1` is easily computed as `L*(t1-t0)`.
183885
183891
  * * The curve chain can be any type derived from CurveChain.
183886
183892
  * * * i.e. either a `Path` or a `Loop`
183887
183893
  * @public
183888
183894
  */
183889
183895
  class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_2__.CurvePrimitive {
183890
183896
  /** Test if other is a `CurveChainWithDistanceIndex` */
183891
- isSameGeometryClass(other) { return other instanceof CurveChainWithDistanceIndex; }
183897
+ isSameGeometryClass(other) {
183898
+ return other instanceof CurveChainWithDistanceIndex;
183899
+ }
183892
183900
  // final assembly of CurveChainWithDistanceIndex -- caller must create valid fragment index.
183893
183901
  constructor(path, fragments) {
183894
183902
  super();
@@ -183908,14 +183916,20 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
183908
183916
  return CurveChainWithDistanceIndex.createCapture(c);
183909
183917
  return undefined;
183910
183918
  }
183911
- /** Reference to the contained path.
183919
+ /**
183920
+ * Reference to the contained path.
183912
183921
  * * Do not modify the path. The distance index will be wrong.
183913
183922
  */
183914
- get path() { return this._path; }
183915
- /** Reference to the fragments array.
183923
+ get path() {
183924
+ return this._path;
183925
+ }
183926
+ /**
183927
+ * Reference to the fragments array.
183916
183928
  * * Do not modify.
183917
183929
  */
183918
- get fragments() { return this._fragments; }
183930
+ get fragments() {
183931
+ return this._fragments;
183932
+ }
183919
183933
  /** Return a deep clone */
183920
183934
  clone() {
183921
183935
  const c = this._path.clone();
@@ -183987,7 +184001,8 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
183987
184001
  newPath.children.reverse();
183988
184002
  return CurveChainWithDistanceIndex.createCapture(newPath);
183989
184003
  }
183990
- /** Ask if the curve is within tolerance of a plane.
184004
+ /**
184005
+ * Ask if the curve is within tolerance of a plane.
183991
184006
  * @returns Returns true if the curve is completely within tolerance of the plane.
183992
184007
  */
183993
184008
  isInPlane(plane) {
@@ -183997,7 +184012,7 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
183997
184012
  }
183998
184013
  return true;
183999
184014
  }
184000
- /** return the start point of the primitive. The default implementation returns fractionToPoint (0.0) */
184015
+ /** Return the start point of the primitive. The default implementation returns fractionToPoint (0.0) */
184001
184016
  startPoint(result) {
184002
184017
  const c = this._path.cyclicCurvePrimitive(0);
184003
184018
  if (c)
@@ -184017,7 +184032,8 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
184017
184032
  c.emitStrokes(dest, options);
184018
184033
  }
184019
184034
  }
184020
- /** Ask the curve to announce points and simple subcurve fragments for stroking.
184035
+ /**
184036
+ * Ask the curve to announce points and simple subcurve fragments for stroking.
184021
184037
  * See IStrokeHandler for description of the sequence of the method calls.
184022
184038
  */
184023
184039
  emitStrokableParts(dest, options) {
@@ -184026,7 +184042,7 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
184026
184042
  }
184027
184043
  }
184028
184044
  /**
184029
- * return the stroke count required for given options.
184045
+ * Return the stroke count required for given options.
184030
184046
  * @param options StrokeOptions that determine count
184031
184047
  */
184032
184048
  computeStrokeCountForOptions(options) {
@@ -184040,7 +184056,8 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
184040
184056
  * Return an array containing only the curve primitives.
184041
184057
  * @param collectorArray array to receive primitives (pushed -- the array is not cleared)
184042
184058
  * @param smallestPossiblePrimitives if true, recurse on the (otherwise hidden) children. If false, only push `this`.
184043
- * @param explodeLinestrings (if smallestPossiblePrimitives is true) whether to push a [[LineSegment3d]] for each segment of a [[LineString3d]] child. If false, push only the [[LineString3d]].
184059
+ * @param explodeLinestrings (if smallestPossiblePrimitives is true) whether to push a [[LineSegment3d]] for each
184060
+ * segment of a [[LineString3d]] child. If false, push only the [[LineString3d]].
184044
184061
  */
184045
184062
  collectCurvePrimitivesGo(collectorArray, smallestPossiblePrimitives = false, explodeLineStrings = false) {
184046
184063
  if (smallestPossiblePrimitives) {
@@ -184053,7 +184070,7 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
184053
184070
  }
184054
184071
  }
184055
184072
  /**
184056
- * construct StrokeCountMap for each child, accumulating data to stroke count map for this primitive.
184073
+ * Construct StrokeCountMap for each child, accumulating data to stroke count map for this primitive.
184057
184074
  * @param options StrokeOptions that determine count
184058
184075
  * @param parentStrokeMap evolving parent map.
184059
184076
  */
@@ -184064,20 +184081,19 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
184064
184081
  }
184065
184082
  _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_2__.CurvePrimitive.installStrokeCountMap(this, myMap, parentStrokeMap);
184066
184083
  }
184067
- /** Second step of double dispatch: call `this._path.dispatchToGeometryHandler (handler)`
184084
+ /**
184085
+ * Second step of double dispatch: call `this._path.dispatchToGeometryHandler (handler)`
184068
184086
  * * Note that this exposes the children individually to the handler.
184069
184087
  */
184070
184088
  dispatchToGeometryHandler(handler) {
184071
184089
  return this._path.dispatchToGeometryHandler(handler);
184072
184090
  }
184073
- /** Extend (increase) `rangeToExtend` as needed to include these curves (optionally transformed)
184074
- */
184091
+ /** Extend (increase) `rangeToExtend` as needed to include these curves (optionally transformed) */
184075
184092
  extendRange(rangeToExtend, transform) {
184076
184093
  this._path.extendRange(rangeToExtend, transform);
184077
184094
  }
184078
184095
  /**
184079
- *
184080
- * * Curve length is always positive.
184096
+ * Curve length is always positive.
184081
184097
  * @returns Returns a (high accuracy) length of the curve between fractional positions
184082
184098
  * @returns Returns the length of the curve.
184083
184099
  */
@@ -184129,7 +184145,9 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
184129
184145
  * Convert distance along the chain to fraction along the chain.
184130
184146
  * @param distance distance along the chain
184131
184147
  */
184132
- chainDistanceToChainFraction(distance) { return distance / this._totalLength; }
184148
+ chainDistanceToChainFraction(distance) {
184149
+ return distance / this._totalLength;
184150
+ }
184133
184151
  /**
184134
184152
  * Resolve a fraction within a specific curve to a fragment.
184135
184153
  * @param curve
@@ -184151,9 +184169,7 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
184151
184169
  }
184152
184170
  return undefined;
184153
184171
  }
184154
- /**
184155
- * Returns the total length of curves.
184156
- */
184172
+ /** Returns the total length of curves. */
184157
184173
  curveLength() {
184158
184174
  return this._totalLength;
184159
184175
  }
@@ -184180,8 +184196,8 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
184180
184196
  // fragment = this.chainDistanceToFragment(chainDistance, true);
184181
184197
  return this._fragments[0].childCurve.fractionToPoint(0.0, result);
184182
184198
  }
184183
- /** Return the point (x,y,z) and derivative on the curve at fractional position.
184184
- *
184199
+ /**
184200
+ * Return the point (x,y,z) and derivative on the curve at fractional position.
184185
184201
  * * Note that this derivative is "derivative of xyz with respect to fraction."
184186
184202
  * * this derivative shows the speed of the "fractional point" moving along the curve.
184187
184203
  * * this is not generally a unit vector. use fractionToPointAndUnitTangent for a unit vector.
@@ -184215,10 +184231,11 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
184215
184231
  result.direction.normalizeInPlace();
184216
184232
  return result;
184217
184233
  }
184218
- /** Return a plane with
184219
- *
184234
+ /**
184235
+ * Return a plane with
184220
184236
  * * origin at fractional position along the curve
184221
- * * vectorU is the first derivative, i.e. tangent vector with length equal to the rate of change with respect to the fraction.
184237
+ * * vectorU is the first derivative, i.e. tangent vector with length equal to the rate of change with respect to
184238
+ * the fraction.
184222
184239
  * * vectorV is the second derivative, i.e.derivative of vectorU.
184223
184240
  */
184224
184241
  fractionToPointAnd2Derivatives(fraction, result) {
@@ -184244,7 +184261,8 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
184244
184261
  result.vectorV.scaleInPlace(scale * scale);
184245
184262
  return result;
184246
184263
  }
184247
- /** Attempt to transform in place.
184264
+ /**
184265
+ * Attempt to transform in place.
184248
184266
  * * Warning: If any child fails, this object becomes invalid. But that should never happen.
184249
184267
  */
184250
184268
  tryTransformInPlace(transform) {
@@ -184277,9 +184295,11 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
184277
184295
  }
184278
184296
  return false;
184279
184297
  }
184280
- /** Implement moveSignedDistanceFromFraction.
184298
+ /**
184299
+ * Implement moveSignedDistanceFromFraction.
184281
184300
  * * See `CurvePrimitive` for parameter details.
184282
- * * The returned location directly identifies fractional position along the CurveChainWithDistanceIndex, and has pointer to an additional detail for the child curve.
184301
+ * * The returned location directly identifies fractional position along the CurveChainWithDistanceIndex, and
184302
+ * has pointer to an additional detail for the child curve.
184283
184303
  */
184284
184304
  moveSignedDistanceFromFraction(startFraction, signedDistance, allowExtension, result) {
184285
184305
  const distanceA = startFraction * this._totalLength;
@@ -184292,7 +184312,6 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
184292
184312
  return chainDetail;
184293
184313
  }
184294
184314
  /**
184295
- *
184296
184315
  * The returned object has
184297
184316
  * * numCalls = number of times closestPoint was called.
184298
184317
  * * numCurvesTested = number of curves tested with full closestPoint
@@ -184313,10 +184332,12 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
184313
184332
  }
184314
184333
  return a;
184315
184334
  }
184316
- /** Search for the curve point that is closest to the spacePoint.
184335
+ /**
184336
+ * Search for the curve point that is closest to the spacePoint.
184317
184337
  * * The CurveChainWithDistanceIndex invokes the base class CurvePrimitive method, which
184318
184338
  * (via a handler) determines a CurveLocation detail among the children.
184319
- * * The returned detail directly identifies fractional position along the CurveChainWithDistanceIndex, and has pointer to an additional detail for the child curve.
184339
+ * * The returned detail directly identifies fractional position along the CurveChainWithDistanceIndex, and
184340
+ * has pointer to an additional detail for the child curve.
184320
184341
  * @param spacePoint point in space
184321
184342
  * @param extend true to extend the curve
184322
184343
  * @returns Returns a CurveLocationDetail structure that holds the details of the close point.
@@ -184365,7 +184386,8 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
184365
184386
  }
184366
184387
  /**
184367
184388
  * Construct an offset of each child as viewed in the xy-plane (ignoring z).
184368
- * * No attempt is made to join the offset children. Use RegionOps.constructCurveXYOffset() to return a fully joined offset.
184389
+ * * No attempt is made to join the offset children. Use RegionOps.constructCurveXYOffset() to return a fully
184390
+ * joined offset.
184369
184391
  * @param offsetDistanceOrOptions offset distance (positive to left of the instance curve), or options object
184370
184392
  */
184371
184393
  constructOffsetXY(offsetDistanceOrOptions) {
@@ -184382,10 +184404,13 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
184382
184404
  }
184383
184405
  return offsets;
184384
184406
  }
184385
- /** Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
184407
+ /**
184408
+ * Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of
184409
+ * projection.
184386
184410
  * @param ray ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
184387
184411
  * @param lowHigh optional receiver for output
184388
- * @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.
184412
+ * @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the
184413
+ * end of the ray.
184389
184414
  */
184390
184415
  projectedParameterRange(ray, lowHigh) {
184391
184416
  return _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_10__.PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
@@ -191208,14 +191233,16 @@ __webpack_require__.r(__webpack_exports__);
191208
191233
  * @public
191209
191234
  */
191210
191235
  class Loop extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
191211
- /** test if `other` is a `Loop` */
191212
- isSameGeometryClass(other) { return other instanceof Loop; }
191236
+ /** Test if `other` is a `Loop` */
191237
+ isSameGeometryClass(other) {
191238
+ return other instanceof Loop;
191239
+ }
191213
191240
  /** Test if `other` is an instance of `Loop` */
191214
191241
  constructor() {
191215
191242
  super();
191216
191243
  /** String name for schema properties */
191217
191244
  this.curveCollectionType = "loop";
191218
- /** tag value that can be set to true for user code to mark inner and outer loops. */
191245
+ /** Tag value that can be set to true for user code to mark inner and outer loops. */
191219
191246
  this.isInner = false;
191220
191247
  }
191221
191248
  /**
@@ -191260,13 +191287,22 @@ class Loop extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
191260
191287
  return Loop.create(strokes);
191261
191288
  }
191262
191289
  /** Return the boundary type (2) of a corresponding MicroStation CurveVector */
191263
- dgnBoundaryType() { return 2; } // (2) all "Loop" become "outer"
191264
- /** invoke `processor.announceLoop(this, indexInParent)` */
191290
+ dgnBoundaryType() {
191291
+ /**
191292
+ * All "Loop" become "outer". TypeScript Loop object is equivalent to a native CurveVector with
191293
+ * boundaryType = BOUNDARY_TYPE_Outer. In other words, TypeScript has no flavor of Loop that
191294
+ * carries "hole" semantics.
191295
+ */
191296
+ return 2;
191297
+ }
191298
+ /** Invoke `processor.announceLoop(this, indexInParent)` */
191265
191299
  announceToCurveProcessor(processor, indexInParent = -1) {
191266
191300
  return processor.announceLoop(this, indexInParent);
191267
191301
  }
191268
191302
  /** Create a new `Loop` with no children */
191269
- cloneEmptyPeer() { return new Loop(); }
191303
+ cloneEmptyPeer() {
191304
+ return new Loop();
191305
+ }
191270
191306
  /** Second step of double dispatch: call `handler.handleLoop(this)` */
191271
191307
  dispatchToGeometryHandler(handler) {
191272
191308
  return handler.handleLoop(this);
@@ -191277,6 +191313,7 @@ class Loop extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
191277
191313
  * @public
191278
191314
  */
191279
191315
  class LoopCurveLoopCurve {
191316
+ /** Constructor */
191280
191317
  constructor(loopA, curveA, loopB, curveB) {
191281
191318
  this.loopA = loopA;
191282
191319
  this.curveA = curveA;
@@ -191326,9 +191363,13 @@ __webpack_require__.r(__webpack_exports__);
191326
191363
  */
191327
191364
  class ParityRegion extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveCollection {
191328
191365
  /** Test if `other` is an instance of `ParityRegion` */
191329
- isSameGeometryClass(other) { return other instanceof ParityRegion; }
191366
+ isSameGeometryClass(other) {
191367
+ return other instanceof ParityRegion;
191368
+ }
191330
191369
  /** Return the array of loops in this parity region. */
191331
- get children() { return this._children; }
191370
+ get children() {
191371
+ return this._children;
191372
+ }
191332
191373
  /** Construct parity region with empty loop array */
191333
191374
  constructor() {
191334
191375
  super();
@@ -191336,9 +191377,7 @@ class ParityRegion extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveCo
191336
191377
  this.curveCollectionType = "parityRegion";
191337
191378
  this._children = [];
191338
191379
  }
191339
- /**
191340
- * Add loops (recursively) to this region's children
191341
- */
191380
+ /** Add loops (recursively) to this region's children */
191342
191381
  addLoops(data) {
191343
191382
  if (data === undefined) {
191344
191383
  }
@@ -191353,7 +191392,8 @@ class ParityRegion extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveCo
191353
191392
  }
191354
191393
  }
191355
191394
  }
191356
- /** Return a single loop or parity region with given loops.
191395
+ /**
191396
+ * Return a single loop or parity region with given loops.
191357
191397
  * * The returned structure CAPTURES the loops.
191358
191398
  * * The loops are NOT reorganized by hole analysis.
191359
191399
  */
@@ -191373,8 +191413,10 @@ class ParityRegion extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveCo
191373
191413
  return result;
191374
191414
  }
191375
191415
  /** Return the boundary type (4) of a corresponding MicroStation CurveVector */
191376
- dgnBoundaryType() { return 4; }
191377
- /** invoke `processor.announceParityRegion(this, indexInParent)` */
191416
+ dgnBoundaryType() {
191417
+ return 4;
191418
+ }
191419
+ /** Invoke `processor.announceParityRegion(this, indexInParent)` */
191378
191420
  announceToCurveProcessor(processor, indexInParent = -1) {
191379
191421
  return processor.announceParityRegion(this, indexInParent);
191380
191422
  }
@@ -191401,9 +191443,12 @@ class ParityRegion extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveCo
191401
191443
  return clone;
191402
191444
  }
191403
191445
  /** Create a new empty parity region. */
191404
- cloneEmptyPeer() { return new ParityRegion(); }
191405
- /** Add `child` to this parity region.
191406
- * * any child type other than `Loop` is ignored.
191446
+ cloneEmptyPeer() {
191447
+ return new ParityRegion();
191448
+ }
191449
+ /**
191450
+ * Add `child` to this parity region.
191451
+ * * Any child type other than `Loop` is ignored.
191407
191452
  */
191408
191453
  tryAddChild(child) {
191409
191454
  if (child && child instanceof _Loop__WEBPACK_IMPORTED_MODULE_1__.Loop) {
@@ -191452,14 +191497,16 @@ __webpack_require__.r(__webpack_exports__);
191452
191497
 
191453
191498
  /**
191454
191499
  * * A `Path` object is a collection of curves that join head-to-tail to form a path.
191455
- * * A `Path` object does not bound a planar region. Use `Loop` to indicate region bounding.
191500
+ * * A `Path` object does not bound a planar region. Use `Loop` to indicate region bounding.
191456
191501
  * @see [Curve Collections]($docs/learning/geometry/CurveCollection.md) learning article.
191457
191502
  * @public
191458
191503
  */
191459
191504
  class Path extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
191460
191505
  /** Test if `other` is an instance of `Path` */
191461
- isSameGeometryClass(other) { return other instanceof Path; }
191462
- /** invoke `processor.announcePath(this, indexInParent)` */
191506
+ isSameGeometryClass(other) {
191507
+ return other instanceof Path;
191508
+ }
191509
+ /** Invoke `processor.announcePath(this, indexInParent)` */
191463
191510
  announceToCurveProcessor(processor, indexInParent = -1) {
191464
191511
  return processor.announcePath(this, indexInParent);
191465
191512
  }
@@ -191471,7 +191518,7 @@ class Path extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
191471
191518
  }
191472
191519
  /**
191473
191520
  * Create a path from a variable length list of curve primitives
191474
- * * CurvePrimitive params are captured !!!
191521
+ * * CurvePrimitive params are captured.
191475
191522
  * @param curves variable length list of individual curve primitives or point arrays.
191476
191523
  */
191477
191524
  static create(...curves) {
@@ -191486,8 +191533,8 @@ class Path extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
191486
191533
  return result;
191487
191534
  }
191488
191535
  /**
191489
- * Create a path from a an array of curve primitives
191490
- * @param curves array of individual curve primitives
191536
+ * Create a path from a an array of curve primitives.
191537
+ * @param curves array of individual curve primitives.
191491
191538
  */
191492
191539
  static createArray(curves) {
191493
191540
  const result = new Path();
@@ -191504,10 +191551,14 @@ class Path extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
191504
191551
  return Path.create(strokes);
191505
191552
  }
191506
191553
  /** Return the boundary type (1) of a corresponding MicroStation CurveVector */
191507
- dgnBoundaryType() { return 1; }
191554
+ dgnBoundaryType() {
191555
+ return 1;
191556
+ }
191508
191557
  /** Clone as a new `Path` with no primitives */
191509
- cloneEmptyPeer() { return new Path(); }
191510
- /** Second step of double dispatch: call `handler.handlePath(this)` */
191558
+ cloneEmptyPeer() {
191559
+ return new Path();
191560
+ }
191561
+ /** Second step of double dispatch: call `handler.handlePath(this)` */
191511
191562
  dispatchToGeometryHandler(handler) {
191512
191563
  return handler.handlePath(this);
191513
191564
  }
@@ -191729,11 +191780,9 @@ __webpack_require__.r(__webpack_exports__);
191729
191780
  */
191730
191781
 
191731
191782
  /**
191732
- * A ProxyCurve is expected to be used as a base class for
191733
- * curve types that use some existing curve (the proxy) for evaluation and display
191734
- * but carry other defining data.
191735
- * * The ProxyCurve implements all required CurvePrimitive methods by dispatching
191736
- * to the proxy.
191783
+ * A ProxyCurve is expected to be used as a base class for curve types that use some existing curve (the proxy)
191784
+ * for evaluation and display but carry other defining data.
191785
+ * * The ProxyCurve implements all required CurvePrimitive methods by dispatching to the proxy.
191737
191786
  * * These methods presumably require support from the application class and are left abstract:
191738
191787
  * * clone
191739
191788
  * * curvePrimitiveType
@@ -191753,8 +191802,10 @@ class ProxyCurve extends _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__.Curv
191753
191802
  super();
191754
191803
  this._proxyCurve = proxyCurve;
191755
191804
  }
191756
- /** return the (pointer to) the proxy curve. */
191757
- get proxyCurve() { return this._proxyCurve; }
191805
+ /** Return the (pointer to) the proxy curve. */
191806
+ get proxyCurve() {
191807
+ return this._proxyCurve;
191808
+ }
191758
191809
  /** Implement by proxyCurve */
191759
191810
  computeStrokeCountForOptions(options) {
191760
191811
  return this._proxyCurve.computeStrokeCountForOptions(options);
@@ -193516,7 +193567,8 @@ var RegionBinaryOpType;
193516
193567
  * * `ParityRegion` -- a collection of loops, interpreted by parity rules.
193517
193568
  * The common "One outer loop and many Inner loops" is a parity region.
193518
193569
  * * `UnionRegion` -- a collection of `Loop` and `ParityRegion` objects understood as a (probably disjoint) union.
193519
- * * 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.
193570
+ * * Most of the methods in this class ignore z-coordinates, so callers should ensure that input geometry has been
193571
+ * rotated parallel to the xy-plane.
193520
193572
  * @public
193521
193573
  */
193522
193574
  class RegionOps {
@@ -193535,7 +193587,8 @@ class RegionOps {
193535
193587
  }
193536
193588
  return undefined;
193537
193589
  }
193538
- /** Return an area tolerance for a given xy-range and optional distance tolerance.
193590
+ /**
193591
+ * Return an area tolerance for a given xy-range and optional distance tolerance.
193539
193592
  * @param range range of planar region to tolerance
193540
193593
  * @param distanceTolerance optional absolute distance tolerance
193541
193594
  */
@@ -193558,7 +193611,8 @@ class RegionOps {
193558
193611
  }
193559
193612
  return undefined;
193560
193613
  }
193561
- /** Return MomentData with the sums of wire moments.
193614
+ /**
193615
+ * Return MomentData with the sums of wire moments.
193562
193616
  * * If `rawMomentData` is the MomentData returned by computeXYAreaMoments, convert to principal axes and moments with
193563
193617
  * call `principalMomentData = MomentData.inertiaProductsToPrincipalAxes (rawMomentData.origin, rawMomentData.sums);`
193564
193618
  * @param root any CurveCollection or CurvePrimitive.
@@ -193571,7 +193625,7 @@ class RegionOps {
193571
193625
  return result;
193572
193626
  }
193573
193627
  /**
193574
- * * create loops in the graph.
193628
+ * Create loops in the graph.
193575
193629
  * @internal
193576
193630
  */
193577
193631
  static addLoopsToGraph(graph, data, announceIsolatedLoop) {
@@ -193615,7 +193669,8 @@ class RegionOps {
193615
193669
  }
193616
193670
  }
193617
193671
  }
193618
- /** Add multiple loops to a graph.
193672
+ /**
193673
+ * Add multiple loops to a graph.
193619
193674
  * * Apply edgeTag and mask to each edge.
193620
193675
  * @internal
193621
193676
  */
@@ -193634,7 +193689,6 @@ class RegionOps {
193634
193689
  /**
193635
193690
  * Given a graph just produced by booleans, convert to a polyface
193636
193691
  * * "just produced" implies exterior face markup.
193637
- *
193638
193692
  * @param graph
193639
193693
  * @param triangulate
193640
193694
  */
@@ -193695,7 +193749,8 @@ class RegionOps {
193695
193749
  * @param loopsB second set of loops
193696
193750
  * @param operation indicates Union, Intersection, Parity, AMinusB, or BMinusA
193697
193751
  * @param mergeTolerance absolute distance tolerance for merging loops
193698
- * @returns a region resulting from merging input loops and the boolean operation. May contain bridge edges added to connect interior loops to exterior loops.
193752
+ * @returns a region resulting from merging input loops and the boolean operation. May contain bridge edges added
193753
+ * to connect interior loops to exterior loops.
193699
193754
  */
193700
193755
  static regionBooleanXY(loopsA, loopsB, operation, mergeTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
193701
193756
  const result = _UnionRegion__WEBPACK_IMPORTED_MODULE_11__.UnionRegion.create();
@@ -193762,10 +193817,13 @@ class RegionOps {
193762
193817
  }
193763
193818
  return RegionOps.sortOuterAndHoleLoopsXY(allLoops);
193764
193819
  }
193765
- /** Construct a wire (not area!!) that is offset from given polyline or polygon.
193820
+ /**
193821
+ * Construct a wire (not area!!) that is offset from given polyline or polygon.
193766
193822
  * * This is a simple wire offset, not an area.
193767
- * * The construction algorithm attempts to eliminate some self-intersections within the offsets, but does not guarantee a simple area offset.
193768
- * * The construction algorithm is subject to being changed, resulting in different (hopefully better) self-intersection behavior on the future.
193823
+ * * The construction algorithm attempts to eliminate some self-intersections within the offsets, but does not
193824
+ * guarantee a simple area offset.
193825
+ * * The construction algorithm is subject to being changed, resulting in different (hopefully better)
193826
+ * self-intersection behavior on the future.
193769
193827
  * @param points a single loop or path
193770
193828
  * @param wrap true to include wraparound
193771
193829
  * @param offsetDistance distance of offset from wire. Positive is left.
@@ -193775,19 +193833,22 @@ class RegionOps {
193775
193833
  return context.constructPolygonWireXYOffset(points, wrap, offsetDistance);
193776
193834
  }
193777
193835
  /**
193778
- * Construct curves that are offset from a Path or Loop as viewed in xy-plane (ignoring z).
193779
- * * The construction will remove "some" local effects of features smaller than the offset distance, but will not detect self intersection among widely separated edges.
193780
- * * If offsetDistance is given as a number, default OffsetOptions are applied.
193781
- * * When the offset needs to do an "outside" turn, the first applicable construction is applied:
193782
- * * If the turn is larger than `options.minArcDegrees`, a circular arc is constructed.
193783
- * * If the turn is less than or equal to `options.maxChamferTurnDegrees`, extend curves along tangent to single intersection point.
193784
- * * If the turn is larger than `options.maxChamferDegrees`, the turn is constructed as a sequence of straight lines that are:
193785
- * * outside the arc
193786
- * * have uniform turn angle less than `options.maxChamferDegrees`
193787
- * * each line segment (except first and last) touches the arc at its midpoint.
193788
- * @param curves base curves.
193789
- * @param offsetDistanceOrOptions offset distance (positive to left of curve, negative to right) or options object.
193790
- */
193836
+ * Construct curves that are offset from a Path or Loop as viewed in xy-plane (ignoring z).
193837
+ * * The construction will remove "some" local effects of features smaller than the offset distance, but will
193838
+ * not detect self intersection among widely separated edges.
193839
+ * * If offsetDistance is given as a number, default OffsetOptions are applied.
193840
+ * * When the offset needs to do an "outside" turn, the first applicable construction is applied:
193841
+ * * If the turn is larger than `options.minArcDegrees`, a circular arc is constructed.
193842
+ * * If the turn is less than or equal to `options.maxChamferTurnDegrees`, extend curves along tangent to
193843
+ * single intersection point.
193844
+ * * If the turn is larger than `options.maxChamferDegrees`, the turn is constructed as a sequence of straight
193845
+ * lines that are:
193846
+ * * outside the arc
193847
+ * * have uniform turn angle less than `options.maxChamferDegrees`
193848
+ * * each line segment (except first and last) touches the arc at its midpoint.
193849
+ * @param curves base curves.
193850
+ * @param offsetDistanceOrOptions offset distance (positive to left of curve, negative to right) or options object.
193851
+ */
193791
193852
  static constructCurveXYOffset(curves, offsetDistanceOrOptions) {
193792
193853
  return _internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_17__.CurveChainWireOffsetContext.constructCurveXYOffset(curves, offsetDistanceOrOptions);
193793
193854
  }
@@ -193801,7 +193862,8 @@ class RegionOps {
193801
193862
  static testPointInOnOutRegionXY(curves, x, y) {
193802
193863
  return _Query_InOutTests__WEBPACK_IMPORTED_MODULE_18__.PointInOnOutContext.testPointInOnOutRegionXY(curves, x, y);
193803
193864
  }
193804
- /** Create curve collection of subtype determined by gaps between the input curves.
193865
+ /**
193866
+ * Create curve collection of subtype determined by gaps between the input curves.
193805
193867
  * * If (a) wrap is requested and (b) all curves connect head-to-tail (including wraparound), assemble as a `loop`.
193806
193868
  * * If all curves connect head-to-tail except for closure, return a `Path`.
193807
193869
  * * If there are internal gaps, return a `BagOfCurves`
@@ -193838,7 +193900,9 @@ class RegionOps {
193838
193900
  * Announce Checkpoint function for use during booleans
193839
193901
  * @internal
193840
193902
  */
193841
- static setCheckPointFunction(f) { this._graphCheckPointFunction = f; }
193903
+ static setCheckPointFunction(f) {
193904
+ this._graphCheckPointFunction = f;
193905
+ }
193842
193906
  /**
193843
193907
  * Find all intersections among curves in `curvesToCut` and `cutterCurves` and return fragments of `curvesToCut`.
193844
193908
  * * For a `Loop`, `ParityRegion`, or `UnionRegion` in `curvesToCut`:
@@ -193853,7 +193917,8 @@ class RegionOps {
193853
193917
  }
193854
193918
  /**
193855
193919
  * Create paths assembled from many curves.
193856
- * * Assemble paths from consecutive curves NOT separated by either gaps or the split markup set by [[cloneCurvesWithXYSplits]].
193920
+ * * Assemble paths from consecutive curves NOT separated by either gaps or the split markup set by
193921
+ * [[cloneCurvesWithXYSplits]].
193857
193922
  * * Return simplest form -- single primitive, single path, or bag of curves.
193858
193923
  */
193859
193924
  static splitToPathsBetweenBreaks(source, makeClones) {
@@ -193890,7 +193955,8 @@ class RegionOps {
193890
193955
  return _internalContexts_MultiChainCollector__WEBPACK_IMPORTED_MODULE_24__.OffsetHelpers.collectChains(fragments, gapTolerance);
193891
193956
  }
193892
193957
  /**
193893
- * Find all intersections among curves in `curvesToCut` against the boundaries of `region` and return fragments of `curvesToCut`.
193958
+ * Find all intersections among curves in `curvesToCut` against the boundaries of `region` and return fragments
193959
+ * of `curvesToCut`.
193894
193960
  * * Break `curvesToCut` into parts inside, outside, and coincident.
193895
193961
  * @returns output object with all fragments split among `insideParts`, `outsideParts`, and `coincidentParts`
193896
193962
  */
@@ -193916,7 +193982,8 @@ class RegionOps {
193916
193982
  }
193917
193983
  return result;
193918
193984
  }
193919
- /** If `data` is one of several forms of a rectangle, return its edge Transform.
193985
+ /**
193986
+ * If `data` is one of several forms of a rectangle, return its edge Transform.
193920
193987
  * * Points are considered a rectangle if, within the first 4 points:
193921
193988
  * * vectors from 0 to 1 and 0 to 3 are perpendicular and have a non-zero cross product
193922
193989
  * * vectors from 0 to 3 and 1 to 2 are the same
@@ -193927,7 +193994,8 @@ class RegionOps {
193927
193994
  * * Array of Point3d[]
193928
193995
  * * IndexedXYZCollection
193929
193996
  * @param requireClosurePoint whether to require a 5th point equal to the 1st point.
193930
- * @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.
193997
+ * @returns Transform with origin at one corner, x and y columns extending along two adjacent sides, and unit
193998
+ * normal in z column. If not a rectangle, return undefined.
193931
193999
  */
193932
194000
  static rectangleEdgeTransform(data, requireClosurePoint = true) {
193933
194001
  if (data instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_16__.LineString3d) {
@@ -193987,9 +194055,10 @@ class RegionOps {
193987
194055
  * * Contiguous `LineSegment3d` and `LineString3d` objects.
193988
194056
  * * collect all points
193989
194057
  * * eliminate duplicated points
193990
- * * eliminate points colinear with surrounding points.
193991
- * * Contiguous concentric circular or elliptic arcs
194058
+ * * eliminate points colinear with surrounding points
194059
+ * * contiguous concentric circular or elliptic arcs
193992
194060
  * * combine angular ranges
194061
+ * * This function can be used to compress adjacent LineSegment3ds into a LineString3d
193993
194062
  * @param curves Path or loop (or larger collection containing paths and loops) to be simplified
193994
194063
  * @param options options for tolerance and selective simplification.
193995
194064
  */
@@ -194003,8 +194072,10 @@ class RegionOps {
194003
194072
  * @returns a region that captures the input pointers. This region is a:
194004
194073
  * * `Loop` if there is exactly one input loop. It is oriented counterclockwise.
194005
194074
  * * `ParityRegion` if input consists of exactly one outer loop with at least one hole loop.
194006
- * Its first child is an outer loop oriented counterclockwise; all subsequent children are holes oriented clockwise.
194007
- * * `UnionRegion` if any other input configuration. Its children are individually ordered/oriented as in the above cases.
194075
+ * Its first child is an outer loop oriented counterclockwise; all subsequent children are holes oriented
194076
+ * clockwise.
194077
+ * * `UnionRegion` if any other input configuration. Its children are individually ordered/oriented as in
194078
+ * the above cases.
194008
194079
  * @see [[PolygonOps.sortOuterAndHoleLoopsXY]]
194009
194080
  */
194010
194081
  static sortOuterAndHoleLoopsXY(loops) {
@@ -194021,17 +194092,22 @@ class RegionOps {
194021
194092
  }
194022
194093
  /**
194023
194094
  * Find all areas bounded by the unstructured, possibly intersecting curves.
194024
- * * A common use case of this method is to assemble the bounding "exterior" loop (or loops) containing the input curves.
194025
- * * This method does not add bridge edges to connect outer loops to inner loops. Each disconnected loop, regardless
194026
- * of its containment, is returned as its own SignedLoops object. Pre-process with [[regionBooleanXY]] to add bridge edges so that
194027
- * [[constructAllXYRegionLoops]] will return outer and inner loops in the same SignedLoops object.
194028
- * @param curvesAndRegions Any collection of curves. Each Loop/ParityRegion/UnionRegion contributes its curve primitives.
194095
+ * * A common use case of this method is to assemble the bounding "exterior" loop (or loops) containing the
194096
+ * input curves.
194097
+ * * This method does not add bridge edges to connect outer loops to inner loops. Each disconnected loop,
194098
+ * regardless of its containment, is returned as its own SignedLoops object. Pre-process with [[regionBooleanXY]]
194099
+ * to add bridge edges so that [[constructAllXYRegionLoops]] will return outer and inner loops in the same
194100
+ * SignedLoops object.
194101
+ * @param curvesAndRegions Any collection of curves. Each Loop/ParityRegion/UnionRegion contributes its curve
194102
+ * primitives.
194029
194103
  * @param tolerance optional distance tolerance for coincidence
194030
194104
  * @returns array of [[SignedLoops]], each entry of which describes the faces in a single connected component:
194031
- * * `positiveAreaLoops` contains "interior" loops, _including holes in ParityRegion input_. These loops have positive area and counterclockwise orientation.
194105
+ * * `positiveAreaLoops` contains "interior" loops, _including holes in ParityRegion input_. These loops have
194106
+ * positive area and counterclockwise orientation.
194032
194107
  * * `negativeAreaLoops` contains (probably just one) "exterior" loop which is ordered clockwise.
194033
194108
  * * `slivers` contains sliver loops that have zero area, such as appear between coincident curves.
194034
- * * `edges` contains a [[LoopCurveLoopCurve]] object for each component edge, collecting both loops adjacent to the edge and a constituent curve in each.
194109
+ * * `edges` contains a [[LoopCurveLoopCurve]] object for each component edge, collecting both loops adjacent
194110
+ * to the edge and a constituent curve in each.
194035
194111
  */
194036
194112
  static constructAllXYRegionLoops(curvesAndRegions, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
194037
194113
  const primitives = RegionOps.collectCurvePrimitives(curvesAndRegions, undefined, true, true);
@@ -194047,8 +194123,10 @@ class RegionOps {
194047
194123
  * * Optionally recurses into hidden primitives if `smallestPossiblePrimitives` is true.
194048
194124
  * @param candidates input curves
194049
194125
  * @param collectorArray optional pre-defined output array. If defined, it is NOT cleared: primitives are appended.
194050
- * @param smallestPossiblePrimitives if true, recurse into the children of a [[CurveChainWithDistanceIndex]]. If false, push the [[CurveChainWithDistanceIndex]] instead.
194051
- * @param explodeLinestrings if true, push a [[LineSegment3d]] for each segment of a [[LineString3d]]. If false, push the [[LineString3d]] instead.
194126
+ * @param smallestPossiblePrimitives if true, recurse into the children of a [[CurveChainWithDistanceIndex]]. If
194127
+ * false, push the [[CurveChainWithDistanceIndex]] instead.
194128
+ * @param explodeLinestrings if true, push a [[LineSegment3d]] for each segment of a [[LineString3d]]. If false,
194129
+ * push the [[LineString3d]] instead.
194052
194130
  */
194053
194131
  static collectCurvePrimitives(candidates, collectorArray, smallestPossiblePrimitives = false, explodeLinestrings = false) {
194054
194132
  const results = collectorArray === undefined ? [] : collectorArray;
@@ -194066,7 +194144,8 @@ class RegionOps {
194066
194144
  return results;
194067
194145
  }
194068
194146
  /**
194069
- * Copy primitive pointers from candidates to result array, replacing each [[LineString3d]] by newly constructed instances of [[LineSegment3d]].
194147
+ * Copy primitive pointers from candidates to result array, replacing each [[LineString3d]] by newly constructed
194148
+ * instances of [[LineSegment3d]].
194070
194149
  * @param candidates input curves
194071
194150
  * @return copied (captured) inputs except for the linestrings, which are exploded
194072
194151
  */
@@ -195114,10 +195193,14 @@ __webpack_require__.r(__webpack_exports__);
195114
195193
  * @public
195115
195194
  */
195116
195195
  class UnionRegion extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveCollection {
195117
- /** test if `other` is a `UnionRegion` */
195118
- isSameGeometryClass(other) { return other instanceof UnionRegion; }
195196
+ /** Test if `other` is a `UnionRegion` */
195197
+ isSameGeometryClass(other) {
195198
+ return other instanceof UnionRegion;
195199
+ }
195119
195200
  /** Return the array of regions */
195120
- get children() { return this._children; }
195201
+ get children() {
195202
+ return this._children;
195203
+ }
195121
195204
  /** Constructor -- initialize with no children */
195122
195205
  constructor() {
195123
195206
  super();
@@ -195133,9 +195216,11 @@ class UnionRegion extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveCol
195133
195216
  }
195134
195217
  return result;
195135
195218
  }
195136
- /** Return the boundary type (5) of a corresponding MicroStation CurveVector */
195137
- dgnBoundaryType() { return 5; }
195138
- /** dispatch to more strongly typed `processor.announceUnionRegion(this, indexInParent)` */
195219
+ /** Return the boundary type (5) of a corresponding MicroStation CurveVector */
195220
+ dgnBoundaryType() {
195221
+ return 5;
195222
+ }
195223
+ /** Dispatch to more strongly typed `processor.announceUnionRegion(this, indexInParent)` */
195139
195224
  announceToCurveProcessor(processor, indexInParent = -1) {
195140
195225
  return processor.announceUnionRegion(this, indexInParent);
195141
195226
  }
@@ -195151,8 +195236,11 @@ class UnionRegion extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveCol
195151
195236
  return clone;
195152
195237
  }
195153
195238
  /** Return new empty `UnionRegion` */
195154
- cloneEmptyPeer() { return new UnionRegion(); }
195155
- /** add a child.
195239
+ cloneEmptyPeer() {
195240
+ return new UnionRegion();
195241
+ }
195242
+ /**
195243
+ * Try to add a child.
195156
195244
  * * Returns false if the `AnyCurve` child is not a region type.
195157
195245
  */
195158
195246
  tryAddChild(child) {
@@ -195894,11 +195982,15 @@ __webpack_require__.r(__webpack_exports__);
195894
195982
 
195895
195983
 
195896
195984
  // import { SumLengthsContext, GapSearchContext, CountLinearPartsSearchContext, CloneCurvesContext, TransformInPlaceContext } from "./CurveSearches";
195897
- /** Algorithmic class: Accumulate maximum gap between adjacent primitives of CurveChain.
195985
+ /**
195986
+ * Algorithmic class: Accumulate maximum gap between adjacent primitives of CurveChain.
195898
195987
  * @internal
195899
195988
  */
195900
195989
  class GapSearchContext extends _CurveProcessor__WEBPACK_IMPORTED_MODULE_0__.RecursiveCurveProcessorWithStack {
195901
- constructor() { super(); this.maxGap = 0.0; }
195990
+ constructor() {
195991
+ super();
195992
+ this.maxGap = 0.0;
195993
+ }
195902
195994
  static maxGap(target) {
195903
195995
  const context = new GapSearchContext();
195904
195996
  target.announceToCurveProcessor(context);
@@ -196549,10 +196641,12 @@ class PlaneAltitudeRangeContext extends _geometry3d_GeometryHandler__WEBPACK_IMP
196549
196641
  }
196550
196642
  return undefined;
196551
196643
  }
196552
- /** Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction,
196553
- * and return points at min and max altitude, packed into a `LineSegment3d`.
196644
+ /**
196645
+ * Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction, and
196646
+ * return points at min and max altitude, packed into a `LineSegment3d`.
196554
196647
  * @param geometry geometry to project
196555
- * @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with zero origin.
196648
+ * @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with
196649
+ * zero origin.
196556
196650
  * @param lowHigh optional receiver for output
196557
196651
  */
196558
196652
  static findExtremePointsInDirection(geometry, direction, lowHigh) {
@@ -196561,10 +196655,12 @@ class PlaneAltitudeRangeContext extends _geometry3d_GeometryHandler__WEBPACK_IMP
196561
196655
  return _LineSegment3d__WEBPACK_IMPORTED_MODULE_10__.LineSegment3d.create(context.lowPoint, context.highPoint, lowHigh);
196562
196656
  return undefined;
196563
196657
  }
196564
- /** Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction,
196565
- * and return the min and max altitudes, packed into a Range1d.
196658
+ /**
196659
+ * Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction, and return
196660
+ * the min and max altitudes, packed into a Range1d.
196566
196661
  * @param geometry geometry to project
196567
- * @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with zero origin.
196662
+ * @param direction vector or ray on which to project the instance. A `Vector3d` is treated as a `Ray3d` with
196663
+ * zero origin.
196568
196664
  * @param lowHigh optional receiver for output
196569
196665
  */
196570
196666
  static findExtremeAltitudesInDirection(geometry, direction, lowHigh) {
@@ -196573,9 +196669,11 @@ class PlaneAltitudeRangeContext extends _geometry3d_GeometryHandler__WEBPACK_IMP
196573
196669
  return _geometry3d_Range__WEBPACK_IMPORTED_MODULE_1__.Range1d.createFrom(context.range, lowHigh);
196574
196670
  return undefined;
196575
196671
  }
196576
- /** Project geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
196672
+ /**
196673
+ * Project geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection.
196577
196674
  * @param geometry geometry to project
196578
- * @param direction vector or ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with zero origin.
196675
+ * @param direction vector or ray onto which the instance is projected. A `Vector3d` is treated as a `Ray3d` with
196676
+ * zero origin.
196579
196677
  * @param lowHigh optional receiver for output
196580
196678
  */
196581
196679
  static findExtremeFractionsAlongDirection(geometry, direction, lowHigh) {
@@ -197336,7 +197434,10 @@ __webpack_require__.r(__webpack_exports__);
197336
197434
  * @internal
197337
197435
  */
197338
197436
  class SumLengthsContext extends _CurveProcessor__WEBPACK_IMPORTED_MODULE_0__.RecursiveCurveProcessor {
197339
- constructor() { super(); this._sum = 0.0; }
197437
+ constructor() {
197438
+ super();
197439
+ this._sum = 0.0;
197440
+ }
197340
197441
  static sumLengths(target) {
197341
197442
  const context = new SumLengthsContext();
197342
197443
  target.announceToCurveProcessor(context);
@@ -216133,13 +216234,21 @@ __webpack_require__.r(__webpack_exports__);
216133
216234
  */
216134
216235
  class RangeBase {
216135
216236
  /** Return 0 if high<= low, otherwise `1/(high-low)` for use in fractionalizing */
216136
- static npcScaleFactor(low, high) { return (high <= low) ? 0.0 : 1.0 / (high - low); }
216237
+ static npcScaleFactor(low, high) {
216238
+ return (high <= low) ? 0.0 : 1.0 / (high - low);
216239
+ }
216137
216240
  /** Return true if x is outside the range `[_EXTREME_NEGATIVE, _EXTREME_POSITIVE]' */
216138
- static isExtremeValue(x) { return Math.abs(x) >= RangeBase._EXTREME_POSITIVE; }
216241
+ static isExtremeValue(x) {
216242
+ return Math.abs(x) >= RangeBase._EXTREME_POSITIVE;
216243
+ }
216139
216244
  /** Return true if any x or y or z is outside the range `[_EXTREME_NEGATIVE, _EXTREME_POSITIVE]' */
216140
- static isExtremePoint3d(xyz) { return RangeBase.isExtremeValue(xyz.x) || RangeBase.isExtremeValue(xyz.y) || RangeBase.isExtremeValue(xyz.z); }
216245
+ static isExtremePoint3d(xyz) {
216246
+ return RangeBase.isExtremeValue(xyz.x) || RangeBase.isExtremeValue(xyz.y) || RangeBase.isExtremeValue(xyz.z);
216247
+ }
216141
216248
  /** Return true if either of x,y is outside the range `[_EXTREME_NEGATIVE, _EXTREME_POSITIVE]' */
216142
- static isExtremePoint2d(xy) { return RangeBase.isExtremeValue(xy.x) || RangeBase.isExtremeValue(xy.y); }
216249
+ static isExtremePoint2d(xy) {
216250
+ return RangeBase.isExtremeValue(xy.x) || RangeBase.isExtremeValue(xy.y);
216251
+ }
216143
216252
  /**
216144
216253
  * Return the min absolute distance from any point of `[lowA,highA]' to any point of `[lowB,highB]'.
216145
216254
  * * Both low,high pairs have order expectations: The condition `high < low` means null interval.
@@ -216162,7 +216271,8 @@ class RangeBase {
216162
216271
  return 0.0;
216163
216272
  return lowB - highA;
216164
216273
  }
216165
- /** Given a coordinate and pair of range limits, return the smallest distance to the range.
216274
+ /**
216275
+ * Given a coordinate and pair of range limits, return the smallest distance to the range.
216166
216276
  * * This is zero for any point inside the range
216167
216277
  * * This is _EXTREME_POSITIVE if the range limits are inverted
216168
216278
  * * Otherwise (i.e. x is outside a finite range) the distance to the near endpoint.
@@ -216177,7 +216287,7 @@ class RangeBase {
216177
216287
  return 0.0;
216178
216288
  }
216179
216289
  /**
216180
- * if a > 0, return (extrapolationFactor * a); otherwise return defaultValue
216290
+ * If a > 0, return (extrapolationFactor * a); otherwise return defaultValue
216181
216291
  * @param q
216182
216292
  * @param factor multiplier for positive q values.
216183
216293
  */
@@ -216208,11 +216318,19 @@ class Range3d extends RangeBase {
216208
216318
  this.high.z = RangeBase._EXTREME_NEGATIVE;
216209
216319
  }
216210
216320
  /** Freeze this instance (and its members) so it is read-only */
216211
- freeze() { this.low.freeze(); this.high.freeze(); return Object.freeze(this); }
216321
+ freeze() {
216322
+ this.low.freeze();
216323
+ this.high.freeze();
216324
+ return Object.freeze(this);
216325
+ }
216212
216326
  /** Flatten the low and high coordinates of any json object with low.x .. high.z into an array of 6 doubles */
216213
- static toFloat64Array(val) { return Float64Array.of(val.low.x, val.low.y, val.low.z, val.high.x, val.high.y, val.high.z); }
216327
+ static toFloat64Array(val) {
216328
+ return Float64Array.of(val.low.x, val.low.y, val.low.z, val.high.x, val.high.y, val.high.z);
216329
+ }
216214
216330
  /** Flatten the low and high coordinates of this into an array of 6 doubles */
216215
- toFloat64Array() { return Range3d.toFloat64Array(this); }
216331
+ toFloat64Array() {
216332
+ return Range3d.toFloat64Array(this);
216333
+ }
216216
216334
  /**
216217
216335
  * Construct a Range3d from an array of double-precision values
216218
216336
  * @param f64 the array, which should contain exactly 6 values in this order: lowX, lowY, lowZ, highX, highY, highZ
@@ -216224,11 +216342,14 @@ class Range3d extends RangeBase {
216224
216342
  return new this(f64[0], f64[1], f64[2], f64[3], f64[4], f64[5]);
216225
216343
  }
216226
216344
  /**
216227
- * 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.
216345
+ * Construct a Range3d from an un-typed array. This mostly useful when interpreting ECSQL query results of
216346
+ * the 'blob' type, where you know that that result is a Range3d.
216228
216347
  * @param buffer untyped array
216229
216348
  * @return a new Range3d object
216230
216349
  */
216231
- static fromArrayBuffer(buffer) { return this.fromFloat64Array(new Float64Array(buffer)); }
216350
+ static fromArrayBuffer(buffer) {
216351
+ return this.fromFloat64Array(new Float64Array(buffer));
216352
+ }
216232
216353
  // explicit ctor - no enforcement of value relationships
216233
216354
  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) {
216234
216355
  super();
@@ -216240,8 +216361,11 @@ class Range3d extends RangeBase {
216240
216361
  return (this.low.isAlmostEqual(other.low, tol) && this.high.isAlmostEqual(other.high, tol))
216241
216362
  || (this.isNull && other.isNull);
216242
216363
  }
216243
- /** copy low and high values from other. */
216244
- setFrom(other) { this.low.setFrom(other.low); this.high.setFrom(other.high); }
216364
+ /** Copy low and high values from other. */
216365
+ setFrom(other) {
216366
+ this.low.setFrom(other.low);
216367
+ this.high.setFrom(other.high);
216368
+ }
216245
216369
  /** Return a new Range3d copied from a range or derived type */
216246
216370
  static createFrom(other, result) {
216247
216371
  if (result) {
@@ -216250,7 +216374,8 @@ class Range3d extends RangeBase {
216250
216374
  }
216251
216375
  return this.createXYZXYZOrCorrectToNull(other.low.x, other.low.y, other.low.z, other.high.x, other.high.y, other.high.z, result);
216252
216376
  }
216253
- /** set this range (in place) from json such as
216377
+ /**
216378
+ * Set this range (in place) from json such as
216254
216379
  * * key-value pairs: `{low:[1,2,3], high:[4,5,6]}`
216255
216380
  * * array of points: `[[1,2,3],[9,3,4],[-2,1,3] ...]`
216256
216381
  * * Lowest level points can be `[1,2,3]` or `{x:1,y:2,z:3}`
@@ -216274,10 +216399,13 @@ class Range3d extends RangeBase {
216274
216399
  this.extendPoint(high);
216275
216400
  }
216276
216401
  }
216277
- /** Return a JSON object `{low: ... , high: ...}`
216402
+ /**
216403
+ * Return a JSON object `{low: ... , high: ...}`
216278
216404
  * with points formatted by `Point3d.toJSON()`
216279
216405
  */
216280
- toJSON() { return { low: this.low.toJSON(), high: this.high.toJSON() }; }
216406
+ toJSON() {
216407
+ return { low: this.low.toJSON(), high: this.high.toJSON() };
216408
+ }
216281
216409
  /** Use `setFromJSON` to parse `json` into a new Range3d instance. */
216282
216410
  static fromJSON(json) {
216283
216411
  const result = new this();
@@ -216305,7 +216433,8 @@ class Range3d extends RangeBase {
216305
216433
  result.setDirect(this.low.x, this.low.y, this.low.z, this.high.x, this.high.y, this.high.z, false);
216306
216434
  return result;
216307
216435
  }
216308
- /** Return a copy, translated by adding `shift` components in all directions.
216436
+ /**
216437
+ * Return a copy, translated by adding `shift` components in all directions.
216309
216438
  * * The translate of a null range is also a null range.
216310
216439
  */
216311
216440
  cloneTranslated(shift, result) {
@@ -216340,7 +216469,7 @@ class Range3d extends RangeBase {
216340
216469
  _PointStreaming__WEBPACK_IMPORTED_MODULE_1__.VariantPointDataStream.streamXYZ(data, collector);
216341
216470
  return collector.claimResult();
216342
216471
  }
216343
- /** create a Range3d enclosing the transformed points. */
216472
+ /** Create a Range3d enclosing the transformed points. */
216344
216473
  static createTransformed(transform, ...point) {
216345
216474
  const result = this.createNull();
216346
216475
  let p;
@@ -216348,13 +216477,13 @@ class Range3d extends RangeBase {
216348
216477
  result.extendTransformedXYZ(transform, p.x, p.y, p.z);
216349
216478
  return result;
216350
216479
  }
216351
- /** create a Range3d enclosing the transformed points. */
216480
+ /** Create a Range3d enclosing the transformed points. */
216352
216481
  static createTransformedArray(transform, points) {
216353
216482
  const result = this.createNull();
216354
216483
  result.extendArray(points, transform);
216355
216484
  return result;
216356
216485
  }
216357
- /** create a Range3d enclosing the points after inverse transform. */
216486
+ /** Create a Range3d enclosing the points after inverse transform. */
216358
216487
  static createInverseTransformedArray(transform, points) {
216359
216488
  const result = this.createNull();
216360
216489
  result.extendInverseTransformedArray(points, transform);
@@ -216403,7 +216532,7 @@ class Range3d extends RangeBase {
216403
216532
  result.extendPoint(point);
216404
216533
  return result;
216405
216534
  }
216406
- /** extend a range around an array of points (optionally transformed) */
216535
+ /** Extend a range around an array of points (optionally transformed) */
216407
216536
  extendArray(points, transform) {
216408
216537
  if (Array.isArray(points))
216409
216538
  if (transform)
@@ -216420,7 +216549,7 @@ class Range3d extends RangeBase {
216420
216549
  for (let i = 0; i < points.length; i++)
216421
216550
  this.extendXYZ(points.getXAtUncheckedPointIndex(i), points.getYAtUncheckedPointIndex(i), points.getZAtUncheckedPointIndex(i));
216422
216551
  }
216423
- /** extend a range around an array of points (optionally transformed) */
216552
+ /** Extend a range around an array of points (optionally transformed) */
216424
216553
  extendInverseTransformedArray(points, transform) {
216425
216554
  if (Array.isArray(points))
216426
216555
  for (const point of points)
@@ -216429,22 +216558,19 @@ class Range3d extends RangeBase {
216429
216558
  for (let i = 0; i < points.length; i++)
216430
216559
  this.extendInverseTransformedXYZ(transform, points.getXAtUncheckedPointIndex(i), points.getYAtUncheckedPointIndex(i), points.getZAtUncheckedPointIndex(i));
216431
216560
  }
216432
- /** multiply the point x,y,z by transform and use the coordinate to extend this range.
216433
- */
216561
+ /** Multiply the point x,y,z by transform and use the coordinate to extend this range. */
216434
216562
  extendTransformedXYZ(transform, x, y, z) {
216435
216563
  const origin = transform.origin;
216436
216564
  const coffs = transform.matrix.coffs;
216437
216565
  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);
216438
216566
  }
216439
- /** multiply the point x,y,z,w by transform and use the coordinate to extend this range.
216440
- */
216567
+ /** Multiply the point x,y,z,w by transform and use the coordinate to extend this range. */
216441
216568
  extendTransformedXYZW(transform, x, y, z, w) {
216442
216569
  const origin = transform.origin;
216443
216570
  const coffs = transform.matrix.coffs;
216444
216571
  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);
216445
216572
  }
216446
- /** multiply the point x,y,z by transform and use the coordinate to extend this range.
216447
- */
216573
+ /** Multiply the point x,y,z by transform and use the coordinate to extend this range. */
216448
216574
  extendInverseTransformedXYZ(transform, x, y, z) {
216449
216575
  const origin = transform.origin;
216450
216576
  if (!transform.matrix.computeCachedInverse(true))
@@ -216481,36 +216607,72 @@ class Range3d extends RangeBase {
216481
216607
  && this.high.z === this.low.z;
216482
216608
  }
216483
216609
  /** Return the midpoint of the diagonal. No test for null range. */
216484
- get center() { return this.low.interpolate(.5, this.high); }
216485
- /** return the low x coordinate */
216486
- get xLow() { return this.low.x; }
216487
- /** return the low y coordinate */
216488
- get yLow() { return this.low.y; }
216489
- /** return the low z coordinate */
216490
- get zLow() { return this.low.z; }
216491
- /** return the high x coordinate */
216492
- get xHigh() { return this.high.x; }
216493
- /** return the high y coordinate */
216494
- get yHigh() { return this.high.y; }
216495
- /** return the high z coordinate */
216496
- get zHigh() { return this.high.z; }
216610
+ get center() {
216611
+ return this.low.interpolate(.5, this.high);
216612
+ }
216613
+ /** Return the low x coordinate */
216614
+ get xLow() {
216615
+ return this.low.x;
216616
+ }
216617
+ /** Return the low y coordinate */
216618
+ get yLow() {
216619
+ return this.low.y;
216620
+ }
216621
+ /** Return the low z coordinate */
216622
+ get zLow() {
216623
+ return this.low.z;
216624
+ }
216625
+ /** Return the high x coordinate */
216626
+ get xHigh() {
216627
+ return this.high.x;
216628
+ }
216629
+ /** Return the high y coordinate */
216630
+ get yHigh() {
216631
+ return this.high.y;
216632
+ }
216633
+ /** Return the high z coordinate */
216634
+ get zHigh() {
216635
+ return this.high.z;
216636
+ }
216497
216637
  /** Return the length of the box in the x direction */
216498
- xLength() { const a = this.high.x - this.low.x; return a > 0.0 ? a : 0.0; }
216638
+ xLength() {
216639
+ const a = this.high.x - this.low.x;
216640
+ return a > 0.0 ? a : 0.0;
216641
+ }
216499
216642
  /** Return the length of the box in the y direction */
216500
- yLength() { const a = this.high.y - this.low.y; return a > 0.0 ? a : 0.0; }
216643
+ yLength() {
216644
+ const a = this.high.y - this.low.y;
216645
+ return a > 0.0 ? a : 0.0;
216646
+ }
216501
216647
  /** Return the length of the box in the z direction */
216502
- zLength() { const a = this.high.z - this.low.z; return a > 0.0 ? a : 0.0; }
216648
+ zLength() {
216649
+ const a = this.high.z - this.low.z;
216650
+ return a > 0.0 ? a : 0.0;
216651
+ }
216503
216652
  /** Return the largest of the x,y, z lengths of the range. */
216504
- maxLength() { return Math.max(this.xLength(), this.yLength(), this.zLength()); }
216505
- /** return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very large negative coordinates. */
216506
- diagonal(result) { return this.low.vectorTo(this.high, result); }
216507
- /** Return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very large negative coordinates. */
216508
- diagonalFractionToPoint(fraction, result) { return this.low.interpolate(fraction, this.high, result); }
216509
- /** Return a point given by fractional positions on the XYZ axes. This is done with no check for isNull !!! */
216653
+ maxLength() {
216654
+ return Math.max(this.xLength(), this.yLength(), this.zLength());
216655
+ }
216656
+ /**
216657
+ * Return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very
216658
+ * large negative coordinates.
216659
+ */
216660
+ diagonal(result) {
216661
+ return this.low.vectorTo(this.high, result);
216662
+ }
216663
+ /**
216664
+ * Return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very
216665
+ * large negative coordinates.
216666
+ */
216667
+ diagonalFractionToPoint(fraction, result) {
216668
+ return this.low.interpolate(fraction, this.high, result);
216669
+ }
216670
+ /** Return a point given by fractional positions on the XYZ axes. This is done with no check for isNull !!! */
216510
216671
  fractionToPoint(fractionX, fractionY, fractionZ = 0, result) {
216511
216672
  return this.low.interpolateXYZ(fractionX, fractionY, fractionZ, this.high, result);
216512
216673
  }
216513
- /** Return a point given by fractional positions on the XYZ axes.
216674
+ /**
216675
+ * Return a point given by fractional positions on the XYZ axes.
216514
216676
  * Returns undefined if the range is null.
216515
216677
  */
216516
216678
  localXYZToWorld(fractionX, fractionY, fractionZ, result) {
@@ -216518,13 +216680,15 @@ class Range3d extends RangeBase {
216518
216680
  return undefined;
216519
216681
  return this.low.interpolateXYZ(fractionX, fractionY, fractionZ, this.high, result);
216520
216682
  }
216521
- /** Return a point given by fractional positions on the XYZ axes.
216683
+ /**
216684
+ * Return a point given by fractional positions on the XYZ axes.
216522
216685
  * * Returns undefined if the range is null.
216523
216686
  */
216524
216687
  localToWorld(xyz, result) {
216525
216688
  return this.localXYZToWorld(xyz.x, xyz.y, xyz.z, result);
216526
216689
  }
216527
- /** Replace fractional coordinates by world coordinates.
216690
+ /**
216691
+ * Replace fractional coordinates by world coordinates.
216528
216692
  * @returns false if null range.
216529
216693
  */
216530
216694
  localToWorldArrayInPlace(points) {
@@ -216534,7 +216698,8 @@ class Range3d extends RangeBase {
216534
216698
  this.low.interpolateXYZ(p.x, p.y, p.z, this.high, p);
216535
216699
  return false;
216536
216700
  }
216537
- /** Return fractional coordinates of point within the range.
216701
+ /**
216702
+ * Return fractional coordinates of point within the range.
216538
216703
  * * returns undefined if the range is null.
216539
216704
  * * returns undefined if any direction (x,y,z) has zero length
216540
216705
  */
@@ -216546,7 +216711,8 @@ class Range3d extends RangeBase {
216546
216711
  return undefined;
216547
216712
  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);
216548
216713
  }
216549
- /** Return fractional coordinates of point within the range.
216714
+ /**
216715
+ * Return fractional coordinates of point within the range.
216550
216716
  * * returns undefined if the range is null.
216551
216717
  * * returns undefined if any direction (x,y,z) has zero length
216552
216718
  */
@@ -216560,7 +216726,8 @@ class Range3d extends RangeBase {
216560
216726
  _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);
216561
216727
  return true;
216562
216728
  }
216563
- /** Return an array with the 8 corners on order wth "x varies fastest, then y, then z"
216729
+ /**
216730
+ * Return an array with the 8 corners on order wth "x varies fastest, then y, then z"
216564
216731
  * * points preallocated in `result` are reused if result.length >= 8.
216565
216732
  * * in reuse case, result.length is trimmed to 8
216566
216733
  */
@@ -216585,10 +216752,11 @@ class Range3d extends RangeBase {
216585
216752
  _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.low.x, this.low.y, this.high.z),
216586
216753
  _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.high.x, this.low.y, this.high.z),
216587
216754
  _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.low.x, this.high.y, this.high.z),
216588
- _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.high.x, this.high.y, this.high.z)
216755
+ _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.high.x, this.high.y, this.high.z),
216589
216756
  ];
216590
216757
  }
216591
- /** Return an array with indices of the corners of a face
216758
+ /**
216759
+ * Return an array with indices of the corners of a face
216592
216760
  * * face 0 has negative x normal
216593
216761
  * * face 1 has positive x normal
216594
216762
  * * face 2 has negative y normal
@@ -216639,12 +216807,18 @@ class Range3d extends RangeBase {
216639
216807
  return 0.0;
216640
216808
  return Math.max(this.low.maxAbs(), this.high.maxAbs());
216641
216809
  }
216642
- /** returns true if the x direction size is nearly zero */
216643
- get isAlmostZeroX() { return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.xLength()); }
216644
- /** returns true if the y direction size is nearly zero */
216645
- get isAlmostZeroY() { return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.yLength()); }
216646
- /** returns true if the z direction size is nearly zero */
216647
- get isAlmostZeroZ() { return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.zLength()); }
216810
+ /** Returns true if the x direction size is nearly zero */
216811
+ get isAlmostZeroX() {
216812
+ return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.xLength());
216813
+ }
216814
+ /** Returns true if the y direction size is nearly zero */
216815
+ get isAlmostZeroY() {
216816
+ return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.yLength());
216817
+ }
216818
+ /** Returns true if the z direction size is nearly zero */
216819
+ get isAlmostZeroZ() {
216820
+ return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.zLength());
216821
+ }
216648
216822
  /** Test if a point given as x,y,z is within the range. */
216649
216823
  containsXYZ(x, y, z) {
216650
216824
  return x >= this.low.x
@@ -216654,7 +216828,7 @@ class Range3d extends RangeBase {
216654
216828
  && y <= this.high.y
216655
216829
  && z <= this.high.z;
216656
216830
  }
216657
- /** Test if a point given as x,y is within the range. (Ignoring z of range) */
216831
+ /** Test if a point given as x,y is within the range (ignoring z of range). */
216658
216832
  containsXY(x, y) {
216659
216833
  return x >= this.low.x
216660
216834
  && y >= this.low.y
@@ -216662,7 +216836,9 @@ class Range3d extends RangeBase {
216662
216836
  && y <= this.high.y;
216663
216837
  }
216664
216838
  /** Test if a point is within the range. */
216665
- containsPoint(point) { return this.containsXYZ(point.x, point.y, point.z); }
216839
+ containsPoint(point) {
216840
+ return this.containsXYZ(point.x, point.y, point.z);
216841
+ }
216666
216842
  /** Test if the x,y coordinates of a point are within the range. */
216667
216843
  containsPointXY(point) {
216668
216844
  return point.x >= this.low.x
@@ -216701,7 +216877,7 @@ class Range3d extends RangeBase {
216701
216877
  return RangeBase._EXTREME_POSITIVE;
216702
216878
  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);
216703
216879
  }
216704
- /** returns 0 if the ranges have any overlap, otherwise the shortest absolute distance from one to the other. */
216880
+ /** Returns 0 if the ranges have any overlap, otherwise the shortest absolute distance from one to the other. */
216705
216881
  distanceToRange(other) {
216706
216882
  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);
216707
216883
  }
@@ -216786,7 +216962,8 @@ class Range3d extends RangeBase {
216786
216962
  this.extendXYZ(other.high.x, other.high.y, other.high.z);
216787
216963
  }
216788
216964
  }
216789
- /** In each direction look at the difference between this range limit and that of interiorRange.
216965
+ /**
216966
+ * In each direction look at the difference between this range limit and that of interiorRange.
216790
216967
  * * If this range is larger, expand it by extrapolationFactor.
216791
216968
  */
216792
216969
  extendWhenLarger(other, extrapolationFactor) {
@@ -216815,7 +216992,7 @@ class Range3d extends RangeBase {
216815
216992
  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);
216816
216993
  }
216817
216994
  /**
216818
- * move low and high points by scaleFactor around the center point.
216995
+ * Move low and high points by scaleFactor around the center point.
216819
216996
  * @param scaleFactor scale factor applied to low, high distance from center.
216820
216997
  */
216821
216998
  scaleAboutCenterInPlace(scaleFactor) {
@@ -216834,7 +217011,7 @@ class Range3d extends RangeBase {
216834
217011
  }
216835
217012
  }
216836
217013
  /**
216837
- * move all limits by a fixed amount.
217014
+ * Move all limits by a fixed amount.
216838
217015
  * * positive delta expands the range size
216839
217016
  * * negative delta reduces the range size
216840
217017
  * * if any dimension reduces below zero size, the whole range becomes null
@@ -216848,7 +217025,8 @@ class Range3d extends RangeBase {
216848
217025
  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);
216849
217026
  }
216850
217027
  /**
216851
- * Creates an NPC to world transformation to go from 000...111 to the globally aligned cube with diagonally opposite corners that are the
217028
+ * Creates an NPC to world transformation to go from 000...111 to the globally aligned cube with diagonally
217029
+ * opposite corners that are the
216852
217030
  * min and max of this range. The diagonal component for any degenerate direction is 1.
216853
217031
  */
216854
217032
  getNpcToWorldRangeTransform(result) {
@@ -216862,7 +217040,9 @@ class Range3d extends RangeBase {
216862
217040
  matrix.coffs[8] = 1;
216863
217041
  return transform;
216864
217042
  }
216865
- /** Ensure that the length of each dimension of this AxisAlignedBox3d is at least a minimum size. If not, expand to minimum about the center.
217043
+ /**
217044
+ * Ensure that the length of each dimension of this AxisAlignedBox3d is at least a minimum size. If not, expand
217045
+ * to minimum about the center.
216866
217046
  * @param min The minimum length for each dimension.
216867
217047
  */
216868
217048
  ensureMinLengths(min = .001) {
@@ -216891,7 +217071,7 @@ class Range3d extends RangeBase {
216891
217071
  * @public
216892
217072
  */
216893
217073
  class Range1d extends RangeBase {
216894
- /** reset the low and high to null range state. */
217074
+ /** Reset the low and high to null range state. */
216895
217075
  setNull() {
216896
217076
  this.low = RangeBase._EXTREME_POSITIVE;
216897
217077
  this.high = RangeBase._EXTREME_NEGATIVE;
@@ -216915,10 +217095,13 @@ class Range1d extends RangeBase {
216915
217095
  return (_Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSameCoordinate(this.low, other.low) && _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSameCoordinate(this.high, other.high))
216916
217096
  || (this.isNull && other.isNull);
216917
217097
  }
216918
- /** copy contents from other Range1d. */
216919
- setFrom(other) { this.low = other.low; this.high = other.high; }
216920
- /** Convert from a JSON object of one of these forms:
216921
- *
217098
+ /** Copy contents from other Range1d. */
217099
+ setFrom(other) {
217100
+ this.low = other.low;
217101
+ this.high = other.high;
217102
+ }
217103
+ /**
217104
+ * Convert from a JSON object of one of these forms:
216922
217105
  * * Any array of numbers: `[value,value, value]`
216923
217106
  * * An object with low and high as properties: `{low:lowValue, high: highValue}`
216924
217107
  */
@@ -216943,16 +217126,20 @@ class Range1d extends RangeBase {
216943
217126
  result.setFromJSON(json);
216944
217127
  return result;
216945
217128
  }
216946
- /** Convert to a JSON object of form
217129
+ /**
217130
+ * Convert to a JSON object of form
216947
217131
  * ```
216948
217132
  * [lowValue,highValue]
216949
217133
  * ```
216950
217134
  */
216951
- toJSON() { if (this.isNull)
216952
- return new Array();
216953
- else
216954
- return [this.low, this.high]; }
216955
- /** return a new Range1d with contents of this.
217135
+ toJSON() {
217136
+ if (this.isNull)
217137
+ return new Array();
217138
+ else
217139
+ return [this.low, this.high];
217140
+ }
217141
+ /**
217142
+ * Return a new Range1d with contents of this.
216956
217143
  * @param result optional result.
216957
217144
  */
216958
217145
  clone(result) {
@@ -216960,7 +217147,8 @@ class Range1d extends RangeBase {
216960
217147
  result.setDirect(this.low, this.high);
216961
217148
  return result;
216962
217149
  }
216963
- /** return a new Range1d with contents of this.
217150
+ /**
217151
+ * Return a new Range1d with contents of this.
216964
217152
  * @param result optional result.
216965
217153
  */
216966
217154
  static createFrom(other, result) {
@@ -216968,7 +217156,8 @@ class Range1d extends RangeBase {
216968
217156
  result.setDirect(other.low, other.high);
216969
217157
  return result;
216970
217158
  }
216971
- /** Create a range with no content.
217159
+ /**
217160
+ * Create a range with no content.
216972
217161
  * @param result optional result.
216973
217162
  */
216974
217163
  static createNull(result) {
@@ -216976,7 +217165,8 @@ class Range1d extends RangeBase {
216976
217165
  result.setNull();
216977
217166
  return result;
216978
217167
  }
216979
- /** create a range with `delta` added to low and high
217168
+ /**
217169
+ * Create a range with `delta` added to low and high
216980
217170
  * * If `this` is a null range, return a null range.
216981
217171
  */
216982
217172
  cloneTranslated(delta, result) {
@@ -216991,7 +217181,9 @@ class Range1d extends RangeBase {
216991
217181
  * Set this range to be a single value.
216992
217182
  * @param x value to use as both low and high.
216993
217183
  */
216994
- setX(x) { this.low = this.high = x; }
217184
+ setX(x) {
217185
+ this.low = this.high = x;
217186
+ }
216995
217187
  /** Create a single point box */
216996
217188
  static createX(x, result) {
216997
217189
  result = result ? result : new this();
@@ -217013,10 +217205,12 @@ class Range1d extends RangeBase {
217013
217205
  this.high = x0;
217014
217206
  }
217015
217207
  }
217208
+ /** Check if low is 0 and high is 1 */
217016
217209
  get isExact01() {
217017
217210
  return this.low === 0.0 && this.high === 1.0;
217018
217211
  }
217019
- /** Create a box from two values. Values are reversed if needed
217212
+ /**
217213
+ * Create a box from two values. Values are reversed if needed
217020
217214
  * @param xA first value
217021
217215
  * @param xB second value
217022
217216
  */
@@ -217025,7 +217219,8 @@ class Range1d extends RangeBase {
217025
217219
  result.setDirect(Math.min(xA, xB), Math.max(xA, xB));
217026
217220
  return result;
217027
217221
  }
217028
- /** Create a box from two values, but null range if the values are reversed
217222
+ /**
217223
+ * Create a box from two values, but null range if the values are reversed
217029
217224
  * @param xA first value
217030
217225
  * @param xB second value
217031
217226
  */
@@ -217036,7 +217231,8 @@ class Range1d extends RangeBase {
217036
217231
  result.setDirect(Math.min(xA, xB), Math.max(xA, xB));
217037
217232
  return result;
217038
217233
  }
217039
- /** Create a range containing all the values in an array.
217234
+ /**
217235
+ * Create a range containing all the values in an array.
217040
217236
  * @param values array of points to be contained in the range.
217041
217237
  * @param result optional result.
217042
217238
  */
@@ -217047,13 +217243,14 @@ class Range1d extends RangeBase {
217047
217243
  result.extendX(x);
217048
217244
  return result;
217049
217245
  }
217050
- /** extend to include an array of values */
217246
+ /** Extend to include an array of values */
217051
217247
  extendArray(values) {
217052
217248
  let x;
217053
217249
  for (x of values)
217054
217250
  this.extendX(x);
217055
217251
  }
217056
- /** extend to include `values` at indices `beginIndex <= i < endIndex]`
217252
+ /**
217253
+ * Extend to include `values` at indices `beginIndex <= i < endIndex]`
217057
217254
  * @param values array of values
217058
217255
  * @param beginIndex first index to include
217059
217256
  * @param numValue number of values to access
@@ -217072,8 +217269,11 @@ class Range1d extends RangeBase {
217072
217269
  return this.high === this.low;
217073
217270
  }
217074
217271
  /** Return the length of the range in the x direction */
217075
- length() { const a = this.high - this.low; return a > 0.0 ? a : 0.0; }
217076
- /** return a point given by fractional positions within the range. This is done with no check for isNull !!! */
217272
+ length() {
217273
+ const a = this.high - this.low;
217274
+ return a > 0.0 ? a : 0.0;
217275
+ }
217276
+ /** Return a point given by fractional positions within the range. This is done with no check for isNull !!! */
217077
217277
  fractionToPoint(fraction) {
217078
217278
  return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.interpolate(this.low, fraction, this.high);
217079
217279
  }
@@ -217084,7 +217284,9 @@ class Range1d extends RangeBase {
217084
217284
  return Math.max(Math.abs(this.low), Math.abs(this.high));
217085
217285
  }
217086
217286
  /** Test if the x direction size is nearly zero */
217087
- get isAlmostZeroLength() { return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.length()); }
217287
+ get isAlmostZeroLength() {
217288
+ return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.length());
217289
+ }
217088
217290
  /** Test if a number is within the range. */
217089
217291
  containsX(x) {
217090
217292
  return x >= this.low
@@ -217104,7 +217306,6 @@ class Range1d extends RangeBase {
217104
217306
  * * For x1 > x0, that range is null, and the intersection is null.
217105
217307
  * * For x0 <= x1, the input is a non-null range.
217106
217308
  * * The intersection range replaces the contents of this.
217107
- *
217108
217309
  */
217109
217310
  intersectRangeXXInPlace(x0, x1) {
217110
217311
  if (x1 < x0 || x1 < this.low || x0 > this.high) {
@@ -217117,7 +217318,7 @@ class Range1d extends RangeBase {
217117
217318
  this.low = x0;
217118
217319
  }
217119
217320
  }
217120
- /** returns 0 if the ranges have any overlap, otherwise the shortest absolute distance from one to the other. */
217321
+ /** Returns 0 if the ranges have any overlap, otherwise the shortest absolute distance from one to the other. */
217121
217322
  distanceToRange(other) {
217122
217323
  return RangeBase.rangeToRangeAbsoluteDistance(this.low, this.high, other.low, other.high);
217123
217324
  }
@@ -217169,7 +217370,7 @@ class Range1d extends RangeBase {
217169
217370
  return Range1d.createXX(Math.min(this.low, other.low), Math.max(this.high, other.high), result);
217170
217371
  }
217171
217372
  /**
217172
- * move low and high points by scaleFactor around the center point.
217373
+ * Move low and high points by scaleFactor around the center point.
217173
217374
  * @param scaleFactor scale factor applied to low, high distance from center.
217174
217375
  */
217175
217376
  scaleAboutCenterInPlace(scaleFactor) {
@@ -217182,7 +217383,7 @@ class Range1d extends RangeBase {
217182
217383
  }
217183
217384
  }
217184
217385
  /**
217185
- * move all limits by a fixed amount.
217386
+ * Move all limits by a fixed amount.
217186
217387
  * * positive delta expands the range size
217187
217388
  * * negative delta reduces the range size
217188
217389
  * * if any dimension reduces below zero size, the whole range becomes null
@@ -217192,13 +217393,14 @@ class Range1d extends RangeBase {
217192
217393
  this.setDirect(this.low - delta, this.high + delta, true);
217193
217394
  }
217194
217395
  /**
217195
- * clip this range to a linear half space condition
217396
+ * Clip this range to a linear half space condition
217196
217397
  * * if `limitA > limitB` the limit space is empty
217197
217398
  * * make this range null
217198
217399
  * * return false;
217199
217400
  * * otherwise (i.e `limitA <= limitB`)
217200
217401
  * * solve `a + u * f = limitA' and `a + u * f = limitA`
217201
- * * if unable to solve (i.e. u near zero), `a` alone determines whether to (a) leave this interval unchanged or (b) reduce to nothing.
217402
+ * * if unable to solve (i.e. u near zero), `a` alone determines whether to (a) leave this interval unchanged or
217403
+ * (b) reduce to nothing.
217202
217404
  * * the `f` values are an interval in the space of this `Range1d`
217203
217405
  * * restrict the range to that interval (i.e intersect existing (low,high) with the fraction interval.
217204
217406
  * * return true if the range is non-null after the clip.
@@ -217207,7 +217409,6 @@ class Range1d extends RangeBase {
217207
217409
  * @param limitA crossing value, assumed in range relation with limitB
217208
217410
  * @param limitB crossing value, assumed in range relation with limitB
217209
217411
  * @param limitIsHigh true if the limit is an upper limit on mapped values.
217210
- *
217211
217412
  */
217212
217413
  clipLinearMapToInterval(a, u, limitA, limitB) {
217213
217414
  // f = (limit - a) / u
@@ -217246,7 +217447,7 @@ class Range1d extends RangeBase {
217246
217447
  * @public
217247
217448
  */
217248
217449
  class Range2d extends RangeBase {
217249
- /** reset the low and high to null range state. */
217450
+ /** Reset the low and high to null range state. */
217250
217451
  setNull() {
217251
217452
  this.low.x = RangeBase._EXTREME_POSITIVE;
217252
217453
  this.low.y = RangeBase._EXTREME_POSITIVE;
@@ -217254,9 +217455,13 @@ class Range2d extends RangeBase {
217254
217455
  this.high.y = RangeBase._EXTREME_NEGATIVE;
217255
217456
  }
217256
217457
  /** Flatten the low and high coordinates of any json object with low.x .. high.y into an array of 4 doubles */
217257
- static toFloat64Array(val) { return Float64Array.of(val.low.x, val.low.y, val.high.x, val.high.y); }
217458
+ static toFloat64Array(val) {
217459
+ return Float64Array.of(val.low.x, val.low.y, val.high.x, val.high.y);
217460
+ }
217258
217461
  /** Flatten the low and high coordinates of this instance into an array of 4 doubles */
217259
- toFloat64Array() { return Range2d.toFloat64Array(this); }
217462
+ toFloat64Array() {
217463
+ return Range2d.toFloat64Array(this);
217464
+ }
217260
217465
  /**
217261
217466
  * Construct a Range2d from an array of double-precision values
217262
217467
  * @param f64 the array, which should contain exactly 4 values in this order: lowX, lowY, highX, highY
@@ -217268,12 +217473,15 @@ class Range2d extends RangeBase {
217268
217473
  return new this(f64[0], f64[1], f64[2], f64[3]);
217269
217474
  }
217270
217475
  /**
217271
- * 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.
217476
+ * Construct a Range2d from an un-typed array. This mostly useful when interpreting ECSQL query results of
217477
+ * the 'blob' type, where you know that that result is a Range3d.
217272
217478
  * @param buffer untyped array
217273
217479
  * @return a new Range2d object
217274
217480
  */
217275
- static fromArrayBuffer(buffer) { return this.fromFloat64Array(new Float64Array(buffer)); }
217276
- // explicit ctor - no enforcement of value relationships
217481
+ static fromArrayBuffer(buffer) {
217482
+ return this.fromFloat64Array(new Float64Array(buffer));
217483
+ }
217484
+ // explicit constructor - no enforcement of value relationships
217277
217485
  constructor(lowX = Range2d._EXTREME_POSITIVE, lowY = Range2d._EXTREME_POSITIVE, highX = Range2d._EXTREME_NEGATIVE, highY = Range2d._EXTREME_NEGATIVE) {
217278
217486
  super();
217279
217487
  this.low = _Point2dVector2d__WEBPACK_IMPORTED_MODULE_5__.Point2d.create(lowX, lowY);
@@ -217284,12 +217492,12 @@ class Range2d extends RangeBase {
217284
217492
  return (this.low.isAlmostEqual(other.low) && this.high.isAlmostEqual(other.high))
217285
217493
  || (this.isNull && other.isNull);
217286
217494
  }
217287
- /** copy all content from any `other` that has low and high xy data. */
217495
+ /** Copy all content from any `other` that has low and high xy data. */
217288
217496
  setFrom(other) {
217289
217497
  this.low.set(other.low.x, other.low.y);
217290
217498
  this.high.set(other.high.x, other.high.y);
217291
217499
  }
217292
- /** create a new Range2d from any `other` that has low and high xy data. */
217500
+ /** Create a new Range2d from any `other` that has low and high xy data. */
217293
217501
  static createFrom(other, result) {
217294
217502
  if (result) {
217295
217503
  result.setFrom(other);
@@ -217297,7 +217505,7 @@ class Range2d extends RangeBase {
217297
217505
  }
217298
217506
  return this.createXYXYOrCorrectToNull(other.low.x, other.low.y, other.high.x, other.high.y, result);
217299
217507
  }
217300
- /** treat any array of numbers as numbers to be inserted !!! */
217508
+ /** Treat any array of numbers as numbers to be inserted !!! */
217301
217509
  setFromJSON(json) {
217302
217510
  this.setNull();
217303
217511
  if (Array.isArray(json)) {
@@ -217316,9 +217524,15 @@ class Range2d extends RangeBase {
217316
217524
  }
217317
217525
  }
217318
217526
  /** Freeze this instance (and its members) so it is read-only */
217319
- freeze() { this.low.freeze(); this.high.freeze(); return Object.freeze(this); }
217320
- /** return json array with two points as produced by `Point2d.toJSON` */
217321
- toJSON() { return this.isNull ? [] : [this.low.toJSON(), this.high.toJSON()]; }
217527
+ freeze() {
217528
+ this.low.freeze();
217529
+ this.high.freeze();
217530
+ return Object.freeze(this);
217531
+ }
217532
+ /** Return json array with two points as produced by `Point2d.toJSON` */
217533
+ toJSON() {
217534
+ return this.isNull ? [] : [this.low.toJSON(), this.high.toJSON()];
217535
+ }
217322
217536
  /** Use `setFromJSON` to parse `json` into a new Range2d instance. */
217323
217537
  static fromJSON(json) {
217324
217538
  const result = new this();
@@ -217337,13 +217551,13 @@ class Range2d extends RangeBase {
217337
217551
  this.setNull();
217338
217552
  }
217339
217553
  }
217340
- /** return a clone of this range (or copy to optional result) */
217554
+ /** Return a clone of this range (or copy to optional result) */
217341
217555
  clone(result) {
217342
217556
  result = result ? result : new this.constructor();
217343
217557
  result.setDirect(this.low.x, this.low.y, this.high.x, this.high.y, false);
217344
217558
  return result;
217345
217559
  }
217346
- /** create a range with no content. */
217560
+ /** Create a range with no content. */
217347
217561
  static createNull(result) {
217348
217562
  result = result ? result : new this();
217349
217563
  result.setNull();
@@ -217393,7 +217607,10 @@ class Range2d extends RangeBase {
217393
217607
  return this.high.x < this.low.x
217394
217608
  || this.high.y < this.low.y;
217395
217609
  }
217396
- /** 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. */
217610
+ /**
217611
+ * Test if the box has high strictly less than low for any of x,y, condition. Note that a range around a
217612
+ * single point is NOT null.
217613
+ */
217397
217614
  static isNull(range) {
217398
217615
  return range.high.x < range.low.x
217399
217616
  || range.high.y < range.low.y;
@@ -217404,28 +217621,55 @@ class Range2d extends RangeBase {
217404
217621
  && this.high.y === this.low.y;
217405
217622
  }
217406
217623
  /** Return the midpoint of the diagonal. No test for null range. */
217407
- get center() { return this.low.interpolate(.5, this.high); }
217408
- /** return the low x coordinate */
217409
- get xLow() { return this.low.x; }
217410
- /** return the low y coordinate */
217411
- get yLow() { return this.low.y; }
217412
- /** return the high x coordinate */
217413
- get xHigh() { return this.high.x; }
217414
- /** return the high y coordinate */
217415
- get yHigh() { return this.high.y; }
217624
+ get center() {
217625
+ return this.low.interpolate(.5, this.high);
217626
+ }
217627
+ /** Return the low x coordinate */
217628
+ get xLow() {
217629
+ return this.low.x;
217630
+ }
217631
+ /** Return the low y coordinate */
217632
+ get yLow() {
217633
+ return this.low.y;
217634
+ }
217635
+ /** Return the high x coordinate */
217636
+ get xHigh() {
217637
+ return this.high.x;
217638
+ }
217639
+ /** Return the high y coordinate */
217640
+ get yHigh() {
217641
+ return this.high.y;
217642
+ }
217416
217643
  /** Length of the box in the x direction */
217417
- xLength() { const a = this.high.x - this.low.x; return a > 0.0 ? a : 0.0; }
217644
+ xLength() {
217645
+ const a = this.high.x - this.low.x;
217646
+ return a > 0.0 ? a : 0.0;
217647
+ }
217418
217648
  /** Length of the box in the y direction */
217419
- yLength() { const a = this.high.y - this.low.y; return a > 0.0 ? a : 0.0; }
217420
- /** return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very large negative coordinates. */
217421
- diagonal(result) { return this.low.vectorTo(this.high, result); }
217422
- /** 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. */
217423
- diagonalFractionToPoint(fraction, result) { return this.low.interpolate(fraction, this.high, result); }
217424
- /** return a point given by fractional positions on the XY axes. This is done with no check for isNull !!! */
217649
+ yLength() {
217650
+ const a = this.high.y - this.low.y;
217651
+ return a > 0.0 ? a : 0.0;
217652
+ }
217653
+ /**
217654
+ * Return the diagonal vector. There is no check for isNull -- if the range isNull(), the vector will have very
217655
+ * large negative coordinates.
217656
+ */
217657
+ diagonal(result) {
217658
+ return this.low.vectorTo(this.high, result);
217659
+ }
217660
+ /**
217661
+ * Return the point at the specified fraction along the diagonal vector. There is no check for isNull -- if the
217662
+ * range isNull(), the vector will have very large negative coordinates.
217663
+ */
217664
+ diagonalFractionToPoint(fraction, result) {
217665
+ return this.low.interpolate(fraction, this.high, result);
217666
+ }
217667
+ /** Return a point given by fractional positions on the XY axes. This is done with no check for isNull !!! */
217425
217668
  fractionToPoint(fractionX, fractionY, result) {
217426
217669
  return this.low.interpolateXY(fractionX, fractionY, this.high, result);
217427
217670
  }
217428
- /** Return an array with the 4 corners.
217671
+ /**
217672
+ * Return an array with the 4 corners.
217429
217673
  * * if asLoop is false, 4 corners are "x varies fastest, then y"
217430
217674
  * * if asLoop is true, 5 corners are in CCW order WITH CLOSURE
217431
217675
  */
@@ -217436,13 +217680,13 @@ class Range2d extends RangeBase {
217436
217680
  _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.high.x, this.low.y, z),
217437
217681
  _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.high.x, this.high.y, z),
217438
217682
  _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.low.x, this.high.y, z),
217439
- _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.low.x, this.low.y, z)
217683
+ _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.low.x, this.low.y, z),
217440
217684
  ];
217441
217685
  return [
217442
217686
  _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.low.x, this.low.y, z),
217443
217687
  _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.high.x, this.low.y, z),
217444
217688
  _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.low.x, this.high.y, z),
217445
- _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.high.x, this.high.y, z)
217689
+ _Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create(this.high.x, this.high.y, z),
217446
217690
  ];
217447
217691
  }
217448
217692
  /** Largest absolute value among any coordinates in the box corners. */
@@ -217452,10 +217696,14 @@ class Range2d extends RangeBase {
217452
217696
  return Math.max(this.low.maxAbs(), this.high.maxAbs());
217453
217697
  }
217454
217698
  /** Test if the x direction size is nearly zero */
217455
- get isAlmostZeroX() { return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.xLength()); }
217699
+ get isAlmostZeroX() {
217700
+ return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.xLength());
217701
+ }
217456
217702
  /** Test if the y direction size is nearly zero */
217457
- get isAlmostZeroY() { return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.yLength()); }
217458
- /** Test if a point given as x,y is within the range. */
217703
+ get isAlmostZeroY() {
217704
+ return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isSmallMetricDistance(this.yLength());
217705
+ }
217706
+ /** Test if a point given as x,y is within the range */
217459
217707
  containsXY(x, y) {
217460
217708
  return x >= this.low.x
217461
217709
  && y >= this.low.y
@@ -217463,7 +217711,9 @@ class Range2d extends RangeBase {
217463
217711
  && y <= this.high.y;
217464
217712
  }
217465
217713
  /** Test if a point is within the range. */
217466
- containsPoint(point) { return this.containsXY(point.x, point.y); }
217714
+ containsPoint(point) {
217715
+ return this.containsXY(point.x, point.y);
217716
+ }
217467
217717
  /** Test of other range is within this range */
217468
217718
  containsRange(other) {
217469
217719
  return other.low.x >= this.low.x
@@ -217506,7 +217756,9 @@ class Range2d extends RangeBase {
217506
217756
  this.extendXY(x1, y1);
217507
217757
  }
217508
217758
  /** Expand this range to include a point. */
217509
- extendPoint(point) { this.extendXY(point.x, point.y); }
217759
+ extendPoint(point) {
217760
+ this.extendXY(point.x, point.y);
217761
+ }
217510
217762
  /** Expand this range to include a range. */
217511
217763
  extendRange(other) {
217512
217764
  if (!Range2d.isNull(other)) {
@@ -217530,7 +217782,7 @@ class Range2d extends RangeBase {
217530
217782
  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);
217531
217783
  }
217532
217784
  /**
217533
- * move low and high points by scaleFactor around the center point.
217785
+ * Move low and high points by scaleFactor around the center point.
217534
217786
  * @param scaleFactor scale factor applied to low, high distance from center.
217535
217787
  */
217536
217788
  scaleAboutCenterInPlace(scaleFactor) {
@@ -217546,7 +217798,7 @@ class Range2d extends RangeBase {
217546
217798
  }
217547
217799
  }
217548
217800
  /**
217549
- * move all limits by a fixed amount.
217801
+ * Move all limits by a fixed amount.
217550
217802
  * * positive delta expands the range size
217551
217803
  * * negative delta reduces the range size
217552
217804
  * * if any dimension reduces below zero size, the whole range becomes null
@@ -217555,7 +217807,8 @@ class Range2d extends RangeBase {
217555
217807
  expandInPlace(delta) {
217556
217808
  this.setDirect(this.low.x - delta, this.low.y - delta, this.high.x + delta, this.high.y + delta, true);
217557
217809
  }
217558
- /** Return fractional coordinates of point within the range.
217810
+ /**
217811
+ * Return fractional coordinates of point within the range.
217559
217812
  * * returns undefined if the range is null.
217560
217813
  * * returns undefined if any direction (x,y) has zero length
217561
217814
  */
@@ -276282,18 +276535,18 @@ class Settings {
276282
276535
  }
276283
276536
  }
276284
276537
  toString() {
276285
- return `Configurations:
276286
- backend location: ${this.Backend.location},
276287
- backend name: ${this.Backend.name},
276288
- backend version: ${this.Backend.version},
276289
- oidc client id: ${this.oidcClientId},
276290
- oidc scopes: ${this.oidcScopes},
276291
- applicationId: ${this.gprid},
276292
- log level: ${this.logLevel},
276293
- testing iModelTileRpcTests: ${this.runiModelTileRpcTests},
276294
- testing PresentationRpcTest: ${this.runPresentationRpcTests},
276295
- testing iModelReadRpcTests: ${this.runiModelReadRpcTests},
276296
- testing DevToolsRpcTests: ${this.runDevToolsRpcTests},
276538
+ return `Configurations:
276539
+ backend location: ${this.Backend.location},
276540
+ backend name: ${this.Backend.name},
276541
+ backend version: ${this.Backend.version},
276542
+ oidc client id: ${this.oidcClientId},
276543
+ oidc scopes: ${this.oidcScopes},
276544
+ applicationId: ${this.gprid},
276545
+ log level: ${this.logLevel},
276546
+ testing iModelTileRpcTests: ${this.runiModelTileRpcTests},
276547
+ testing PresentationRpcTest: ${this.runPresentationRpcTests},
276548
+ testing iModelReadRpcTests: ${this.runiModelReadRpcTests},
276549
+ testing DevToolsRpcTests: ${this.runDevToolsRpcTests},
276297
276550
  testing iModelWriteRpcTests: ${this.runiModelWriteRpcTests}`;
276298
276551
  }
276299
276552
  }
@@ -276498,7 +276751,7 @@ class TestContext {
276498
276751
  this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
276499
276752
  const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
276500
276753
  await core_frontend_1.NoRenderApp.startup({
276501
- applicationVersion: "4.1.0-dev.13",
276754
+ applicationVersion: "4.1.0-dev.15",
276502
276755
  applicationId: this.settings.gprid,
276503
276756
  authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.adminUserAccessToken),
276504
276757
  hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
@@ -283908,13 +284161,13 @@ class FavoritePropertiesManager {
283908
284161
  });
283909
284162
  if (missingClasses.size === 0)
283910
284163
  return baseClasses;
283911
- const query = `
283912
- SELECT (derivedSchema.Name || ':' || derivedClass.Name) AS "ClassFullName", (baseSchema.Name || ':' || baseClass.Name) AS "BaseClassFullName"
283913
- FROM ECDbMeta.ClassHasAllBaseClasses baseClassRels
283914
- INNER JOIN ECDbMeta.ECClassDef derivedClass ON derivedClass.ECInstanceId = baseClassRels.SourceECInstanceId
283915
- INNER JOIN ECDbMeta.ECSchemaDef derivedSchema ON derivedSchema.ECInstanceId = derivedClass.Schema.Id
283916
- INNER JOIN ECDbMeta.ECClassDef baseClass ON baseClass.ECInstanceId = baseClassRels.TargetECInstanceId
283917
- INNER JOIN ECDbMeta.ECSchemaDef baseSchema ON baseSchema.ECInstanceId = baseClass.Schema.Id
284164
+ const query = `
284165
+ SELECT (derivedSchema.Name || ':' || derivedClass.Name) AS "ClassFullName", (baseSchema.Name || ':' || baseClass.Name) AS "BaseClassFullName"
284166
+ FROM ECDbMeta.ClassHasAllBaseClasses baseClassRels
284167
+ INNER JOIN ECDbMeta.ECClassDef derivedClass ON derivedClass.ECInstanceId = baseClassRels.SourceECInstanceId
284168
+ INNER JOIN ECDbMeta.ECSchemaDef derivedSchema ON derivedSchema.ECInstanceId = derivedClass.Schema.Id
284169
+ INNER JOIN ECDbMeta.ECClassDef baseClass ON baseClass.ECInstanceId = baseClassRels.TargetECInstanceId
284170
+ INNER JOIN ECDbMeta.ECSchemaDef baseSchema ON baseSchema.ECInstanceId = baseClass.Schema.Id
283918
284171
  WHERE (derivedSchema.Name || ':' || derivedClass.Name) IN (${[...missingClasses].map((className) => `'${className}'`).join(",")})`;
283919
284172
  const reader = imodel.createQueryReader(query, undefined, { rowFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.QueryRowFormat.UseJsPropertyNames });
283920
284173
  while (await reader.step()) {
@@ -295872,7 +296125,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
295872
296125
  /***/ ((module) => {
295873
296126
 
295874
296127
  "use strict";
295875
- module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.1.0-dev.13","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.13","@itwin/core-bentley":"workspace:^4.1.0-dev.13","@itwin/core-common":"workspace:^4.1.0-dev.13","@itwin/core-geometry":"workspace:^4.1.0-dev.13","@itwin/core-orbitgt":"workspace:^4.1.0-dev.13","@itwin/core-quantity":"workspace:^4.1.0-dev.13"},"//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"}}]}}');
296128
+ module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.1.0-dev.15","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.15","@itwin/core-bentley":"workspace:^4.1.0-dev.15","@itwin/core-common":"workspace:^4.1.0-dev.15","@itwin/core-geometry":"workspace:^4.1.0-dev.15","@itwin/core-orbitgt":"workspace:^4.1.0-dev.15","@itwin/core-quantity":"workspace:^4.1.0-dev.15"},"//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"}}]}}');
295876
296129
 
295877
296130
  /***/ }),
295878
296131