@itwin/rpcinterface-full-stack-tests 4.3.0-dev.16 → 4.3.0-dev.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/dist/bundled-tests.js +191 -88
- package/lib/dist/bundled-tests.js.map +1 -1
- package/package.json +14 -14
|
@@ -145251,7 +145251,7 @@ class RealityModelTileLoader extends _internal__WEBPACK_IMPORTED_MODULE_8__.Real
|
|
|
145251
145251
|
}
|
|
145252
145252
|
get doDrapeBackgroundMap() { return this.tree.doDrapeBackgroundMap; }
|
|
145253
145253
|
get wantDeduplicatedVertices() { return this._deduplicateVertices; }
|
|
145254
|
-
get maxDepth() { return
|
|
145254
|
+
get maxDepth() { return Number.MAX_SAFE_INTEGER; }
|
|
145255
145255
|
get minDepth() { return 0; }
|
|
145256
145256
|
get priority() { return _internal__WEBPACK_IMPORTED_MODULE_8__.TileLoadPriority.Context; }
|
|
145257
145257
|
getBatchIdMap() { return this._batchedIdMap; }
|
|
@@ -188670,7 +188670,7 @@ class CurveOps {
|
|
|
188670
188670
|
/**
|
|
188671
188671
|
* Construct a separate xy-offset for each input curve.
|
|
188672
188672
|
* * For best offset results, the inputs should be parallel to the xy-plane.
|
|
188673
|
-
* @param curves input curve(s), z-coordinates ignored. Only [[
|
|
188673
|
+
* @param curves input curve(s), z-coordinates ignored. Only curves of type [[AnyChain]] are handled.
|
|
188674
188674
|
* @param offset offset distance (positive to left of curve, negative to right)
|
|
188675
188675
|
* @param result array to collect offset curves
|
|
188676
188676
|
* @returns summed length of offset curves
|
|
@@ -200289,7 +200289,10 @@ class Joint {
|
|
|
200289
200289
|
return numOut++ < maxTest;
|
|
200290
200290
|
}, maxTest);
|
|
200291
200291
|
}
|
|
200292
|
-
/**
|
|
200292
|
+
/**
|
|
200293
|
+
* Execute `joint.annotateJointMode()` at all joints on the chain to set some of the joints' attributes,
|
|
200294
|
+
* such as whether to extend both curves to intersection or to fill the gap between curves.
|
|
200295
|
+
*/
|
|
200293
200296
|
static annotateChain(start, options, maxTest = 100) {
|
|
200294
200297
|
if (start)
|
|
200295
200298
|
Joint.visitJointsOnChain(start, (joint) => { joint.annotateJointMode(options); return true; }, maxTest);
|
|
@@ -200321,6 +200324,7 @@ class Joint {
|
|
|
200321
200324
|
if (this.curve0 && this.curve1) {
|
|
200322
200325
|
const ray0 = this.curve0.fractionToPointAndDerivative(1.0);
|
|
200323
200326
|
const ray1 = this.curve1.fractionToPointAndDerivative(0.0);
|
|
200327
|
+
ray0.direction.z = ray1.direction.z = 0.0; // xy-offset
|
|
200324
200328
|
const intersection = _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_6__.Ray3d.closestApproachRay3dRay3d(ray0, ray1); // intersection of the 2 ray lines
|
|
200325
200329
|
if (intersection.approachType === _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_7__.CurveCurveApproachType.Intersection) {
|
|
200326
200330
|
if (intersection.detailA.fraction >= 0.0 && intersection.detailB.fraction <= 0.0) {
|
|
@@ -200399,7 +200403,7 @@ class Joint {
|
|
|
200399
200403
|
this.fraction0 = 1.0;
|
|
200400
200404
|
}
|
|
200401
200405
|
else if (this.curve0 && this.curve1) { // joints at the middle of the chain
|
|
200402
|
-
if (this.curve0.endPoint().
|
|
200406
|
+
if (this.curve0.endPoint().isAlmostEqualXY(this.curve1.startPoint())) { // joint between colinear xy-segments
|
|
200403
200407
|
this.fraction0 = 1.0;
|
|
200404
200408
|
this.fraction1 = 0.0;
|
|
200405
200409
|
this.flexure = JointMode.Trim;
|
|
@@ -200407,8 +200411,9 @@ class Joint {
|
|
|
200407
200411
|
else if (this.curve0 instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_4__.LineSegment3d && this.curve1 instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_4__.LineSegment3d) { // pair of lines
|
|
200408
200412
|
const ray0 = this.curve0.fractionToPointAndDerivative(0.0);
|
|
200409
200413
|
const ray1 = this.curve1.fractionToPointAndDerivative(0.0);
|
|
200414
|
+
ray0.direction.z = ray1.direction.z = 0.0; // xy-offset
|
|
200410
200415
|
const intersection = _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_6__.Ray3d.closestApproachRay3dRay3d(ray0, ray1); // intersection of the 2 ray lines
|
|
200411
|
-
if (intersection.approachType === _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_7__.CurveCurveApproachType.Intersection) {
|
|
200416
|
+
if (intersection.approachType === _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_7__.CurveCurveApproachType.Intersection || intersection.approachType === _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_7__.CurveCurveApproachType.PerpendicularChord) {
|
|
200412
200417
|
this.fraction0 = intersection.detailA.fraction;
|
|
200413
200418
|
this.fraction1 = intersection.detailB.fraction;
|
|
200414
200419
|
if (this.fraction0 >= 1.0 && this.fraction1 <= 0.0) { // need to extend
|
|
@@ -200529,7 +200534,7 @@ class Joint {
|
|
|
200529
200534
|
}
|
|
200530
200535
|
}
|
|
200531
200536
|
/**
|
|
200532
|
-
* Context for building a wire offset.
|
|
200537
|
+
* Context for building a wire xy-offset.
|
|
200533
200538
|
* @internal
|
|
200534
200539
|
*/
|
|
200535
200540
|
class PolygonWireOffsetContext {
|
|
@@ -200538,6 +200543,7 @@ class PolygonWireOffsetContext {
|
|
|
200538
200543
|
// Construct a single offset from base points
|
|
200539
200544
|
static createOffsetSegment(basePointA, basePointB, distance) {
|
|
200540
200545
|
_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createStartEnd(basePointA, basePointB, this._unitAlong);
|
|
200546
|
+
this._unitAlong.z = 0.0; // xy-offset
|
|
200541
200547
|
if (this._unitAlong.normalizeInPlace()) {
|
|
200542
200548
|
this._unitAlong.rotate90CCWXY(this._unitPerp);
|
|
200543
200549
|
const segment = _LineSegment3d__WEBPACK_IMPORTED_MODULE_4__.LineSegment3d.create(basePointA.plusScaled(this._unitPerp, distance, this._offsetA), basePointB.plusScaled(this._unitPerp, distance, this._offsetB));
|
|
@@ -200547,8 +200553,8 @@ class PolygonWireOffsetContext {
|
|
|
200547
200553
|
return undefined;
|
|
200548
200554
|
}
|
|
200549
200555
|
/**
|
|
200550
|
-
* Construct a wire (not area) that is offset from given polyline or polygon
|
|
200551
|
-
*
|
|
200556
|
+
* Construct a wire (not area) that is offset from given polyline or polygon.
|
|
200557
|
+
* * For best results, points should be in a horizontal plane because z-coordinates are ignored.
|
|
200552
200558
|
* * This is a simple wire offset (in the form of a line string), not an area.
|
|
200553
200559
|
* * If offsetDistance is given as a number, default OffsetOptions are applied.
|
|
200554
200560
|
* * See [[JointOptions]] class doc for offset construction rules.
|
|
@@ -200558,36 +200564,34 @@ class PolygonWireOffsetContext {
|
|
|
200558
200564
|
* object.
|
|
200559
200565
|
*/
|
|
200560
200566
|
constructPolygonWireXYOffset(points, wrap, leftOffsetDistanceOrOptions) {
|
|
200561
|
-
|
|
200562
|
-
|
|
200563
|
-
|
|
200564
|
-
*/
|
|
200565
|
-
if (wrap && !points[0].isAlmostEqual(points[points.length - 1])) {
|
|
200566
|
-
wrap = false;
|
|
200567
|
-
}
|
|
200568
|
-
/** create raw offsets as a linked list (joint0) */
|
|
200567
|
+
if (wrap && !points[0].isAlmostEqual(points[points.length - 1]))
|
|
200568
|
+
wrap = false; // no wrap possible for polylines
|
|
200569
|
+
// create raw offset segments as a linked list of Joints, starting with joint0
|
|
200569
200570
|
const options = _OffsetOptions__WEBPACK_IMPORTED_MODULE_9__.JointOptions.create(leftOffsetDistanceOrOptions);
|
|
200570
200571
|
const numPoints = points.length;
|
|
200571
|
-
let fragment0
|
|
200572
|
-
let joint0
|
|
200573
|
-
let
|
|
200574
|
-
|
|
200575
|
-
|
|
200576
|
-
|
|
200577
|
-
|
|
200578
|
-
|
|
200579
|
-
|
|
200580
|
-
|
|
200581
|
-
|
|
200582
|
-
|
|
200583
|
-
|
|
200584
|
-
|
|
200585
|
-
|
|
200586
|
-
|
|
200572
|
+
let fragment0;
|
|
200573
|
+
let joint0, previousJoint;
|
|
200574
|
+
for (let i = 0; i + 1 < numPoints; ++i) {
|
|
200575
|
+
if (!previousJoint) { // start the linked list at the first nontrivial xy-segment
|
|
200576
|
+
if (fragment0 = PolygonWireOffsetContext.createOffsetSegment(points[i], points[i + 1], options.leftOffsetDistance))
|
|
200577
|
+
previousJoint = joint0 = new Joint(undefined, fragment0, points[i]);
|
|
200578
|
+
}
|
|
200579
|
+
else {
|
|
200580
|
+
const fragment1 = PolygonWireOffsetContext.createOffsetSegment(points[i], points[i + 1], options.leftOffsetDistance);
|
|
200581
|
+
if (fragment1) { // append the next nontrivial xy-segment
|
|
200582
|
+
const newJoint = new Joint(fragment0, fragment1, points[i]);
|
|
200583
|
+
Joint.link(previousJoint, newJoint);
|
|
200584
|
+
previousJoint = newJoint;
|
|
200585
|
+
fragment0 = fragment1;
|
|
200586
|
+
}
|
|
200587
|
+
}
|
|
200587
200588
|
}
|
|
200588
|
-
|
|
200589
|
+
if (!fragment0 || !previousJoint || !joint0)
|
|
200590
|
+
return undefined; // no edge with positive xy-length
|
|
200591
|
+
const lastJoint = wrap ? joint0 : new Joint(fragment0, undefined, points[numPoints - 1]);
|
|
200592
|
+
Joint.link(previousJoint, lastJoint);
|
|
200589
200593
|
Joint.annotateChain(joint0, options, numPoints);
|
|
200590
|
-
|
|
200594
|
+
// make limited passes through the Joint chain until no self-intersections are removed
|
|
200591
200595
|
for (let pass = 0; pass++ < 5;) {
|
|
200592
200596
|
const state = Joint.removeDegeneratePrimitives(joint0, options, numPoints);
|
|
200593
200597
|
joint0 = state.newStart;
|
|
@@ -200600,10 +200604,8 @@ class PolygonWireOffsetContext {
|
|
|
200600
200604
|
}
|
|
200601
200605
|
*/
|
|
200602
200606
|
}
|
|
200603
|
-
// Joint.collectPrimitivesFromChain(joint0, result, numPoints);
|
|
200604
|
-
/** turn the Joint linked list into a CurveCollection (Loop or Path). trimming is done in collectStrokesFromChain */
|
|
200605
200607
|
const chain = _LineString3d__WEBPACK_IMPORTED_MODULE_5__.LineString3d.create();
|
|
200606
|
-
Joint.collectStrokesFromChain(joint0, chain, numPoints);
|
|
200608
|
+
Joint.collectStrokesFromChain(joint0, chain, numPoints); // compute offset corners (by extension/trim)
|
|
200607
200609
|
const n = chain.packedPoints.length;
|
|
200608
200610
|
if (n > 1) {
|
|
200609
200611
|
if (chain.packedPoints.front().isAlmostEqual(chain.packedPoints.back()))
|
|
@@ -200620,7 +200622,7 @@ PolygonWireOffsetContext._offsetA = _geometry3d_Point3dVector3d__WEBPACK_IMPORTE
|
|
|
200620
200622
|
PolygonWireOffsetContext._offsetB = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create();
|
|
200621
200623
|
|
|
200622
200624
|
/**
|
|
200623
|
-
* Context for building a wire offset from a Path or Loop of CurvePrimitives
|
|
200625
|
+
* Context for building a wire xy-offset from a Path or Loop of CurvePrimitives
|
|
200624
200626
|
* @internal
|
|
200625
200627
|
*/
|
|
200626
200628
|
class CurveChainWireOffsetContext {
|
|
@@ -216454,6 +216456,16 @@ class Vector3d extends XYZ {
|
|
|
216454
216456
|
angleFromPerpendicular(planeNormal) {
|
|
216455
216457
|
return _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createAtan2(this.dotProduct(planeNormal), this.crossProductMagnitude(planeNormal));
|
|
216456
216458
|
}
|
|
216459
|
+
/**
|
|
216460
|
+
* Return the angle in radians (not as strongly typed Angle) from this vector to the plane perpendicular to planeNormal.
|
|
216461
|
+
* * The returned angle is between -PI/2 and PI/2.
|
|
216462
|
+
* * The returned angle is measured in the plane containing the two vectors.
|
|
216463
|
+
* * The function returns PI/2 - radiansTo(planeNormal).
|
|
216464
|
+
* @param planeNormal a normal vector to the plane.
|
|
216465
|
+
*/
|
|
216466
|
+
radiansFromPerpendicular(planeNormal) {
|
|
216467
|
+
return Math.atan2(this.dotProduct(planeNormal), this.crossProductMagnitude(planeNormal));
|
|
216468
|
+
}
|
|
216457
216469
|
/**
|
|
216458
216470
|
* Return the (strongly-typed) angle from this vector to vectorB, using only the xy parts.
|
|
216459
216471
|
* * The returned angle is between -180 and 180 degrees.
|
|
@@ -235330,8 +235342,12 @@ class PolyfaceBuilder extends _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODU
|
|
|
235330
235342
|
*/
|
|
235331
235343
|
addTorusPipe(surface, phiStrokeCount, thetaStrokeCount) {
|
|
235332
235344
|
const thetaFraction = surface.getThetaFraction();
|
|
235333
|
-
|
|
235334
|
-
|
|
235345
|
+
let numU = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.clamp(_Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.resolveNumber(phiStrokeCount, 8), 4, 64);
|
|
235346
|
+
let numV = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.clamp(_Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.resolveNumber(thetaStrokeCount, Math.ceil(16 * thetaFraction)), 2, 64);
|
|
235347
|
+
if (this._options) {
|
|
235348
|
+
numU = this._options.applyTolerancesToArc(surface.getMinorRadius());
|
|
235349
|
+
numV = this._options.applyTolerancesToArc(surface.getMajorRadius(), surface.getSweepAngle().radians);
|
|
235350
|
+
}
|
|
235335
235351
|
this.toggleReversedFacetFlag();
|
|
235336
235352
|
const sizes = surface.maxIsoParametricDistance();
|
|
235337
235353
|
this.addUVGridBody(surface, numU, numV, _geometry3d_Segment1d__WEBPACK_IMPORTED_MODULE_14__.Segment1d.create(0, sizes.x), _geometry3d_Segment1d__WEBPACK_IMPORTED_MODULE_14__.Segment1d.create(0, sizes.y));
|
|
@@ -235801,6 +235817,12 @@ class PolyfaceBuilder extends _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODU
|
|
|
235801
235817
|
addFacetFromVisitor(visitor) {
|
|
235802
235818
|
this.addFacetFromGrowableArrays(visitor.point, visitor.normal, visitor.param, visitor.color, visitor.edgeVisible);
|
|
235803
235819
|
}
|
|
235820
|
+
/** Add all visitor facets to the evolving polyface (in reverse order if indicated by the builder state) */
|
|
235821
|
+
addFacetsFromVisitor(visitor) {
|
|
235822
|
+
visitor.reset();
|
|
235823
|
+
for (; visitor.moveToNextFacet();)
|
|
235824
|
+
this.addFacetFromVisitor(visitor);
|
|
235825
|
+
}
|
|
235804
235826
|
/**
|
|
235805
235827
|
* Add the subset of visitor data indexed by the indices.
|
|
235806
235828
|
* * Ideally, the subset represents a sub-facet of the visited facet.
|
|
@@ -237451,7 +237473,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
237451
237473
|
/* harmony export */ });
|
|
237452
237474
|
/* harmony import */ var _curve_CurveCollection__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../curve/CurveCollection */ "../../core/geometry/lib/esm/curve/CurveCollection.js");
|
|
237453
237475
|
/* harmony import */ var _curve_CurveOps__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../curve/CurveOps */ "../../core/geometry/lib/esm/curve/CurveOps.js");
|
|
237454
|
-
/* harmony import */ var
|
|
237476
|
+
/* harmony import */ var _curve_internalContexts_MultiChainCollector__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../curve/internalContexts/MultiChainCollector */ "../../core/geometry/lib/esm/curve/internalContexts/MultiChainCollector.js");
|
|
237455
237477
|
/* harmony import */ var _curve_LineSegment3d__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../curve/LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
|
|
237456
237478
|
/* harmony import */ var _curve_LineString3d__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../curve/LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
237457
237479
|
/* harmony import */ var _curve_Loop__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../curve/Loop */ "../../core/geometry/lib/esm/curve/Loop.js");
|
|
@@ -237467,7 +237489,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
237467
237489
|
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
237468
237490
|
/* harmony import */ var _geometry4d_Matrix4d__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../geometry4d/Matrix4d */ "../../core/geometry/lib/esm/geometry4d/Matrix4d.js");
|
|
237469
237491
|
/* harmony import */ var _geometry4d_MomentData__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../geometry4d/MomentData */ "../../core/geometry/lib/esm/geometry4d/MomentData.js");
|
|
237470
|
-
/* harmony import */ var
|
|
237492
|
+
/* harmony import */ var _numerics_UnionFind__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../numerics/UnionFind */ "../../core/geometry/lib/esm/numerics/UnionFind.js");
|
|
237471
237493
|
/* harmony import */ var _topology_ChainMerge__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../topology/ChainMerge */ "../../core/geometry/lib/esm/topology/ChainMerge.js");
|
|
237472
237494
|
/* harmony import */ var _topology_Graph__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../topology/Graph */ "../../core/geometry/lib/esm/topology/Graph.js");
|
|
237473
237495
|
/* harmony import */ var _topology_HalfEdgeGraphFromIndexedLoopsContext__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../topology/HalfEdgeGraphFromIndexedLoopsContext */ "../../core/geometry/lib/esm/topology/HalfEdgeGraphFromIndexedLoopsContext.js");
|
|
@@ -237477,10 +237499,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
237477
237499
|
/* harmony import */ var _FacetLocationDetail__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./FacetLocationDetail */ "../../core/geometry/lib/esm/polyface/FacetLocationDetail.js");
|
|
237478
237500
|
/* harmony import */ var _FacetOrientation__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./FacetOrientation */ "../../core/geometry/lib/esm/polyface/FacetOrientation.js");
|
|
237479
237501
|
/* harmony import */ var _IndexedEdgeMatcher__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./IndexedEdgeMatcher */ "../../core/geometry/lib/esm/polyface/IndexedEdgeMatcher.js");
|
|
237480
|
-
/* harmony import */ var
|
|
237502
|
+
/* harmony import */ var _IndexedPolyfaceVisitor__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./IndexedPolyfaceVisitor */ "../../core/geometry/lib/esm/polyface/IndexedPolyfaceVisitor.js");
|
|
237481
237503
|
/* harmony import */ var _multiclip_BuildAverageNormalsContext__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./multiclip/BuildAverageNormalsContext */ "../../core/geometry/lib/esm/polyface/multiclip/BuildAverageNormalsContext.js");
|
|
237482
237504
|
/* harmony import */ var _multiclip_OffsetMeshContext__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./multiclip/OffsetMeshContext */ "../../core/geometry/lib/esm/polyface/multiclip/OffsetMeshContext.js");
|
|
237483
|
-
/* harmony import */ var
|
|
237505
|
+
/* harmony import */ var _multiclip_SweepLineStringToFacetContext__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./multiclip/SweepLineStringToFacetContext */ "../../core/geometry/lib/esm/polyface/multiclip/SweepLineStringToFacetContext.js");
|
|
237484
237506
|
/* harmony import */ var _multiclip_XYPointBuckets__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./multiclip/XYPointBuckets */ "../../core/geometry/lib/esm/polyface/multiclip/XYPointBuckets.js");
|
|
237485
237507
|
/* harmony import */ var _Polyface__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Polyface */ "../../core/geometry/lib/esm/polyface/Polyface.js");
|
|
237486
237508
|
/* harmony import */ var _PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./PolyfaceBuilder */ "../../core/geometry/lib/esm/polyface/PolyfaceBuilder.js");
|
|
@@ -237904,30 +237926,42 @@ class PolyfaceQuery {
|
|
|
237904
237926
|
* construct a CurveCollection containing boundary edges.
|
|
237905
237927
|
* * each edge is a LineSegment3d
|
|
237906
237928
|
* @param source polyface or visitor
|
|
237907
|
-
* @param
|
|
237929
|
+
* @param includeTypical true to in include typical boundary edges with a single incident facet
|
|
237908
237930
|
* @param includeMismatch true to include edges with more than 2 incident facets
|
|
237909
237931
|
* @param includeNull true to include edges with identical start and end vertex indices.
|
|
237910
|
-
* @returns
|
|
237911
237932
|
*/
|
|
237912
|
-
static boundaryEdges(source,
|
|
237933
|
+
static boundaryEdges(source, includeTypical = true, includeMismatch = true, includeNull = true) {
|
|
237913
237934
|
const result = new _curve_CurveCollection__WEBPACK_IMPORTED_MODULE_5__.BagOfCurves();
|
|
237914
237935
|
const announceEdge = (pointA, pointB, _indexA, _indexB, _readIndex) => {
|
|
237915
237936
|
result.tryAddChild(_curve_LineSegment3d__WEBPACK_IMPORTED_MODULE_11__.LineSegment3d.create(pointA, pointB));
|
|
237916
237937
|
};
|
|
237917
|
-
PolyfaceQuery.announceBoundaryEdges(source, announceEdge,
|
|
237938
|
+
PolyfaceQuery.announceBoundaryEdges(source, announceEdge, includeTypical, includeMismatch, includeNull);
|
|
237918
237939
|
if (result.children.length === 0)
|
|
237919
237940
|
return undefined;
|
|
237920
237941
|
return result;
|
|
237921
237942
|
}
|
|
237922
237943
|
/**
|
|
237923
|
-
|
|
237924
|
-
|
|
237925
|
-
|
|
237926
|
-
|
|
237927
|
-
|
|
237928
|
-
|
|
237929
|
-
|
|
237930
|
-
|
|
237944
|
+
* Collect boundary edges.
|
|
237945
|
+
* * Return the edges as the simplest collection of chains of line segments.
|
|
237946
|
+
* @param source facets
|
|
237947
|
+
* @param includeTypical true to in include typical boundary edges with a single incident facet
|
|
237948
|
+
* @param includeMismatch true to include edges with more than 2 incident facets
|
|
237949
|
+
* @param includeNull true to include edges with identical start and end vertex indices.
|
|
237950
|
+
*/
|
|
237951
|
+
static collectBoundaryEdges(source, includeTypical = true, includeMismatch = true, includeNull = true) {
|
|
237952
|
+
const collector = new _curve_internalContexts_MultiChainCollector__WEBPACK_IMPORTED_MODULE_12__.MultiChainCollector(_Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance, _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance);
|
|
237953
|
+
PolyfaceQuery.announceBoundaryEdges(source, (ptA, ptB) => collector.captureCurve(_curve_LineSegment3d__WEBPACK_IMPORTED_MODULE_11__.LineSegment3d.create(ptA, ptB)), includeTypical, includeMismatch, includeNull);
|
|
237954
|
+
return collector.grabResult(true);
|
|
237955
|
+
}
|
|
237956
|
+
/**
|
|
237957
|
+
* Test if the facets in `source` occur in perfectly mated pairs, as is required for a closed manifold volume.
|
|
237958
|
+
* If not, extract the boundary edges as lines.
|
|
237959
|
+
* @param source polyface or visitor
|
|
237960
|
+
* @param announceEdge function to be called with each boundary edge. The announcement is start and end points, start and end indices, and facet index.
|
|
237961
|
+
* @param includeTypical true to announce typical boundary edges with a single incident facet
|
|
237962
|
+
* @param includeMismatch true to announce edges with more than 2 incident facets
|
|
237963
|
+
* @param includeNull true to announce edges with identical start and end vertex indices.
|
|
237964
|
+
*/
|
|
237931
237965
|
static announceBoundaryEdges(source, announceEdge, includeTypical = true, includeMismatch = true, includeNull = true) {
|
|
237932
237966
|
if (source === undefined)
|
|
237933
237967
|
return undefined;
|
|
@@ -237955,24 +237989,89 @@ class PolyfaceQuery {
|
|
|
237955
237989
|
if (badList.length === 0)
|
|
237956
237990
|
return undefined;
|
|
237957
237991
|
const sourcePolyface = visitor.clientPolyface();
|
|
237992
|
+
const pointA = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create();
|
|
237993
|
+
const pointB = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create();
|
|
237958
237994
|
for (const list of badList) {
|
|
237959
237995
|
for (const e of list) {
|
|
237960
237996
|
const e1 = e instanceof _IndexedEdgeMatcher__WEBPACK_IMPORTED_MODULE_10__.SortableEdge ? e : e[0];
|
|
237961
237997
|
const indexA = e1.vertexIndexA;
|
|
237962
237998
|
const indexB = e1.vertexIndexB;
|
|
237963
|
-
|
|
237964
|
-
|
|
237965
|
-
if (pointA && pointB)
|
|
237966
|
-
announceEdge(pointA, pointB, indexA, indexB, visitor.currentReadIndex());
|
|
237999
|
+
if (sourcePolyface.data.getPoint(indexA, pointA) && sourcePolyface.data.getPoint(indexB, pointB))
|
|
238000
|
+
announceEdge(pointA, pointB, indexA, indexB, e1.facetIndex);
|
|
237967
238001
|
}
|
|
237968
238002
|
}
|
|
237969
238003
|
}
|
|
238004
|
+
/**
|
|
238005
|
+
* Invoke the callback on each manifold edge whose adjacent facet normals form vectorToEye dot products with opposite sign.
|
|
238006
|
+
* * The callback is not called on boundary edges.
|
|
238007
|
+
* @param source facets
|
|
238008
|
+
* @param announce callback function invoked on manifold silhouette edges
|
|
238009
|
+
* @param vectorToEye normal of plane in which to compute silhouette edges
|
|
238010
|
+
* @param sideAngle angular tolerance for perpendicularity test
|
|
238011
|
+
*/
|
|
238012
|
+
static announceSilhouetteEdges(source, announce, vectorToEye, sideAngle = _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_1__.Angle.createSmallAngle()) {
|
|
238013
|
+
if (source instanceof _Polyface__WEBPACK_IMPORTED_MODULE_6__.Polyface)
|
|
238014
|
+
return this.announceSilhouetteEdges(source.createVisitor(1), announce, vectorToEye, sideAngle);
|
|
238015
|
+
const mesh = source.clientPolyface();
|
|
238016
|
+
if (undefined === mesh)
|
|
238017
|
+
return;
|
|
238018
|
+
source.setNumWrap(1);
|
|
238019
|
+
const allEdges = this.createIndexedEdges(source);
|
|
238020
|
+
const manifoldEdges = [];
|
|
238021
|
+
allEdges.sortAndCollectClusters(manifoldEdges);
|
|
238022
|
+
const sideAngleTol = sideAngle.radians < 0.0 ? -sideAngle.radians : sideAngle.radians;
|
|
238023
|
+
const pointA = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create();
|
|
238024
|
+
const pointB = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create();
|
|
238025
|
+
const normal = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Vector3d.create();
|
|
238026
|
+
const analyzeFace = (iFacet) => {
|
|
238027
|
+
if (!PolyfaceQuery.computeFacetUnitNormal(source, iFacet, normal))
|
|
238028
|
+
return { isSideFace: false, perpAngle: 0.0 };
|
|
238029
|
+
const perpAngle = normal.radiansFromPerpendicular(vectorToEye);
|
|
238030
|
+
const isSideFace = Math.abs(perpAngle) <= sideAngleTol;
|
|
238031
|
+
return { isSideFace, perpAngle };
|
|
238032
|
+
};
|
|
238033
|
+
for (const pair of manifoldEdges) {
|
|
238034
|
+
if (!Array.isArray(pair) || pair.length !== 2)
|
|
238035
|
+
continue;
|
|
238036
|
+
const indexA = pair[0].vertexIndexA;
|
|
238037
|
+
const indexB = pair[0].vertexIndexB;
|
|
238038
|
+
if (!mesh.data.getPoint(indexA, pointA) || !mesh.data.getPoint(indexB, pointB))
|
|
238039
|
+
continue;
|
|
238040
|
+
const face0 = analyzeFace(pair[0].facetIndex);
|
|
238041
|
+
if (face0.isSideFace) {
|
|
238042
|
+
announce(pointA, pointB, indexA, indexB, pair[0].facetIndex);
|
|
238043
|
+
continue;
|
|
238044
|
+
}
|
|
238045
|
+
const face1 = analyzeFace(pair[1].facetIndex);
|
|
238046
|
+
if (face1.isSideFace) {
|
|
238047
|
+
announce(pointB, pointA, indexB, indexA, pair[1].facetIndex);
|
|
238048
|
+
continue;
|
|
238049
|
+
}
|
|
238050
|
+
if (face0.perpAngle * face1.perpAngle < 0.0) { // normals straddle plane
|
|
238051
|
+
announce(pointA, pointB, indexA, indexB, pair[0].facetIndex);
|
|
238052
|
+
continue;
|
|
238053
|
+
}
|
|
238054
|
+
}
|
|
238055
|
+
}
|
|
238056
|
+
/**
|
|
238057
|
+
* Collect manifold edges whose adjacent facet normals form vectorToEye dot products with opposite sign.
|
|
238058
|
+
* * Does not return boundary edges.
|
|
238059
|
+
* * Return the edges as chains of line segments.
|
|
238060
|
+
* @param source facets
|
|
238061
|
+
* @param vectorToEye normal of plane in which to compute silhouette edges
|
|
238062
|
+
* @param sideAngle angular tolerance for perpendicularity test
|
|
238063
|
+
*/
|
|
238064
|
+
static collectSilhouetteEdges(source, vectorToEye, sideAngle = _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_1__.Angle.createSmallAngle()) {
|
|
238065
|
+
const collector = new _curve_internalContexts_MultiChainCollector__WEBPACK_IMPORTED_MODULE_12__.MultiChainCollector(_Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance, _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance);
|
|
238066
|
+
PolyfaceQuery.announceSilhouetteEdges(source, (ptA, ptB) => collector.captureCurve(_curve_LineSegment3d__WEBPACK_IMPORTED_MODULE_11__.LineSegment3d.create(ptA, ptB)), vectorToEye, sideAngle);
|
|
238067
|
+
return collector.grabResult(true);
|
|
238068
|
+
}
|
|
237970
238069
|
/** Find segments (within the linestring) which project to facets.
|
|
237971
238070
|
* * Announce each pair of linestring segment and on-facet segment through a callback.
|
|
237972
238071
|
* * Facets are ASSUMED to be convex and planar, and not overlap in the z direction.
|
|
237973
238072
|
*/
|
|
237974
238073
|
static announceSweepLinestringToConvexPolyfaceXY(linestringPoints, polyface, announce) {
|
|
237975
|
-
const context =
|
|
238074
|
+
const context = _multiclip_SweepLineStringToFacetContext__WEBPACK_IMPORTED_MODULE_13__.SweepLineStringToFacetContext.create(linestringPoints);
|
|
237976
238075
|
if (context) {
|
|
237977
238076
|
const visitor = polyface.createVisitor(0);
|
|
237978
238077
|
for (visitor.reset(); visitor.moveToNextFacet();) {
|
|
@@ -238005,7 +238104,7 @@ class PolyfaceQuery {
|
|
|
238005
238104
|
* @internal
|
|
238006
238105
|
*/
|
|
238007
238106
|
static async asyncAnnounceSweepLinestringToConvexPolyfaceXY(linestringPoints, polyface, announce) {
|
|
238008
|
-
const context =
|
|
238107
|
+
const context = _multiclip_SweepLineStringToFacetContext__WEBPACK_IMPORTED_MODULE_13__.SweepLineStringToFacetContext.create(linestringPoints);
|
|
238009
238108
|
this.awaitBlockCount = 0;
|
|
238010
238109
|
let workTotal = 0;
|
|
238011
238110
|
if (context) {
|
|
@@ -238028,7 +238127,7 @@ class PolyfaceQuery {
|
|
|
238028
238127
|
return this.partitionFacetIndicesByVertexConnectedComponent(polyface.createVisitor(0));
|
|
238029
238128
|
}
|
|
238030
238129
|
// The polyface is really a visitor !!!
|
|
238031
|
-
const context = new
|
|
238130
|
+
const context = new _numerics_UnionFind__WEBPACK_IMPORTED_MODULE_14__.UnionFindContext(this.visitorClientPointCount(polyface));
|
|
238032
238131
|
for (polyface.reset(); polyface.moveToNextFacet();) {
|
|
238033
238132
|
const firstVertexIndexOnThisFacet = polyface.pointIndex[0];
|
|
238034
238133
|
for (const vertexIndex of polyface.pointIndex)
|
|
@@ -238104,7 +238203,7 @@ class PolyfaceQuery {
|
|
|
238104
238203
|
const partitionedIndices = this.partitionFacetIndicesByVisibilityVector(polyface, vectorToEye, sideAngleTolerance);
|
|
238105
238204
|
if (partitionedIndices[visibilitySelect].length === 0)
|
|
238106
238205
|
return undefined;
|
|
238107
|
-
const visitor =
|
|
238206
|
+
const visitor = _IndexedPolyfaceVisitor__WEBPACK_IMPORTED_MODULE_15__.IndexedPolyfaceSubsetVisitor.createSubsetVisitor(polyface, partitionedIndices[visibilitySelect], 1);
|
|
238108
238207
|
return this.boundaryEdges(visitor, true, false, false);
|
|
238109
238208
|
}
|
|
238110
238209
|
/**
|
|
@@ -238114,7 +238213,7 @@ class PolyfaceQuery {
|
|
|
238114
238213
|
* @param mesh
|
|
238115
238214
|
*/
|
|
238116
238215
|
static announceBoundaryChainsAsLineString3d(mesh, announceLoop) {
|
|
238117
|
-
const collector = new
|
|
238216
|
+
const collector = new _curve_internalContexts_MultiChainCollector__WEBPACK_IMPORTED_MODULE_12__.MultiChainCollector(_Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance, 1000);
|
|
238118
238217
|
PolyfaceQuery.announceBoundaryEdges(mesh, (pointA, pointB, _indexA, _indexB) => collector.captureCurve(_curve_LineSegment3d__WEBPACK_IMPORTED_MODULE_11__.LineSegment3d.create(pointA, pointB)), true, false, false);
|
|
238119
238218
|
collector.announceChainsAsLineString3d(announceLoop);
|
|
238120
238219
|
}
|
|
@@ -238356,7 +238455,7 @@ class PolyfaceQuery {
|
|
|
238356
238455
|
* @return collection of facet index arrays, one array per connected component
|
|
238357
238456
|
*/
|
|
238358
238457
|
static partitionFacetIndicesBySortableEdgeClusters(edgeClusters, numFacets) {
|
|
238359
|
-
const context = new
|
|
238458
|
+
const context = new _numerics_UnionFind__WEBPACK_IMPORTED_MODULE_14__.UnionFindContext(numFacets);
|
|
238360
238459
|
for (const cluster of edgeClusters) {
|
|
238361
238460
|
if (cluster instanceof _IndexedEdgeMatcher__WEBPACK_IMPORTED_MODULE_10__.SortableEdge) {
|
|
238362
238461
|
// this edge does not connect anywhere. Ignore it!!
|
|
@@ -238447,7 +238546,7 @@ class PolyfaceQuery {
|
|
|
238447
238546
|
let chainContext;
|
|
238448
238547
|
if (options.assembleChains)
|
|
238449
238548
|
chainContext = _topology_ChainMerge__WEBPACK_IMPORTED_MODULE_25__.ChainMergeContext.create();
|
|
238450
|
-
const context =
|
|
238549
|
+
const context = _multiclip_SweepLineStringToFacetContext__WEBPACK_IMPORTED_MODULE_13__.ClipSweptLineStringContext.create(linestringPoints, options.vectorToEye);
|
|
238451
238550
|
if (context) {
|
|
238452
238551
|
let visitor;
|
|
238453
238552
|
if (polyfaceOrVisitor instanceof _Polyface__WEBPACK_IMPORTED_MODULE_6__.Polyface)
|
|
@@ -238505,7 +238604,7 @@ class PolyfaceQuery {
|
|
|
238505
238604
|
for (let i = 1; i < lineStringSource.length; i++) {
|
|
238506
238605
|
const point0 = lineStringSource.getPoint3dAtUncheckedPointIndex(i - 1);
|
|
238507
238606
|
const point1 = lineStringSource.getPoint3dAtUncheckedPointIndex(i);
|
|
238508
|
-
const edgeClipper =
|
|
238607
|
+
const edgeClipper = _multiclip_SweepLineStringToFacetContext__WEBPACK_IMPORTED_MODULE_13__.EdgeClipData.createPointPointSweep(point0, point1, sweepVector);
|
|
238509
238608
|
if (edgeClipper !== undefined) {
|
|
238510
238609
|
_geometry3d_Range__WEBPACK_IMPORTED_MODULE_26__.Range3d.createNull(searchRange);
|
|
238511
238610
|
searchRange.extendPoint(point0);
|
|
@@ -281790,7 +281889,7 @@ class TestContext {
|
|
|
281790
281889
|
this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
|
|
281791
281890
|
const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
|
|
281792
281891
|
await core_frontend_1.NoRenderApp.startup({
|
|
281793
|
-
applicationVersion: "4.3.0-dev.
|
|
281892
|
+
applicationVersion: "4.3.0-dev.18",
|
|
281794
281893
|
applicationId: this.settings.gprid,
|
|
281795
281894
|
authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.adminUserAccessToken),
|
|
281796
281895
|
hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
|
|
@@ -285936,32 +286035,36 @@ class ContentPropertyValueFormatter {
|
|
|
285936
286035
|
this._koqValueFormatter = _koqValueFormatter;
|
|
285937
286036
|
}
|
|
285938
286037
|
async formatPropertyValue(field, value, unitSystem) {
|
|
285939
|
-
|
|
285940
|
-
|
|
285941
|
-
|
|
285942
|
-
|
|
285943
|
-
|
|
285944
|
-
|
|
285945
|
-
|
|
285946
|
-
|
|
285947
|
-
|
|
286038
|
+
const doubleFormatter = isFieldWithKoq(field)
|
|
286039
|
+
? async (rawValue) => {
|
|
286040
|
+
const koq = field.properties[0].property.kindOfQuantity;
|
|
286041
|
+
const formattedValue = await this._koqValueFormatter.format(rawValue, { koqName: koq.name, unitSystem });
|
|
286042
|
+
if (formattedValue !== undefined)
|
|
286043
|
+
return formattedValue;
|
|
286044
|
+
return formatDouble(rawValue);
|
|
286045
|
+
}
|
|
286046
|
+
: async (rawValue) => formatDouble(rawValue);
|
|
286047
|
+
return this.formatValue(field.type, value, { doubleFormatter });
|
|
286048
|
+
}
|
|
286049
|
+
async formatValue(type, value, ctx) {
|
|
285948
286050
|
switch (type.valueFormat) {
|
|
285949
286051
|
case _TypeDescription__WEBPACK_IMPORTED_MODULE_1__.PropertyValueFormat.Primitive:
|
|
285950
|
-
return this.formatPrimitiveValue(type, value);
|
|
286052
|
+
return this.formatPrimitiveValue(type, value, ctx);
|
|
285951
286053
|
case _TypeDescription__WEBPACK_IMPORTED_MODULE_1__.PropertyValueFormat.Array:
|
|
285952
286054
|
return this.formatArrayValue(type, value);
|
|
285953
286055
|
case _TypeDescription__WEBPACK_IMPORTED_MODULE_1__.PropertyValueFormat.Struct:
|
|
285954
286056
|
return this.formatStructValue(type, value);
|
|
285955
286057
|
}
|
|
285956
286058
|
}
|
|
285957
|
-
formatPrimitiveValue(type, value) {
|
|
286059
|
+
async formatPrimitiveValue(type, value, ctx) {
|
|
285958
286060
|
if (value === undefined)
|
|
285959
286061
|
return "";
|
|
286062
|
+
const formatDoubleValue = async (raw) => ctx ? ctx.doubleFormatter(raw) : formatDouble(raw);
|
|
285960
286063
|
if (type.typeName === "point2d" && isPoint2d(value)) {
|
|
285961
|
-
return `X: ${
|
|
286064
|
+
return `X: ${await formatDoubleValue(value.x)}; Y: ${await formatDoubleValue(value.y)}`;
|
|
285962
286065
|
}
|
|
285963
286066
|
if (type.typeName === "point3d" && isPoint3d(value)) {
|
|
285964
|
-
return `X: ${
|
|
286067
|
+
return `X: ${await formatDoubleValue(value.x)}; Y: ${await formatDoubleValue(value.y)}; Z: ${await formatDoubleValue(value.z)}`;
|
|
285965
286068
|
}
|
|
285966
286069
|
if (type.typeName === "dateTime") {
|
|
285967
286070
|
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(typeof value === "string");
|
|
@@ -285977,7 +286080,7 @@ class ContentPropertyValueFormatter {
|
|
|
285977
286080
|
}
|
|
285978
286081
|
if (type.typeName === "double") {
|
|
285979
286082
|
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(isNumber(value));
|
|
285980
|
-
return
|
|
286083
|
+
return formatDoubleValue(value);
|
|
285981
286084
|
}
|
|
285982
286085
|
if (type.typeName === "navigation") {
|
|
285983
286086
|
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(_Value__WEBPACK_IMPORTED_MODULE_2__.Value.isNavigationValue(value));
|
|
@@ -285985,19 +286088,19 @@ class ContentPropertyValueFormatter {
|
|
|
285985
286088
|
}
|
|
285986
286089
|
return value.toString();
|
|
285987
286090
|
}
|
|
285988
|
-
formatStructValue(type, value) {
|
|
286091
|
+
async formatStructValue(type, value) {
|
|
285989
286092
|
if (!_Value__WEBPACK_IMPORTED_MODULE_2__.Value.isMap(value))
|
|
285990
286093
|
return {};
|
|
285991
286094
|
const formattedMember = {};
|
|
285992
286095
|
for (const member of type.members) {
|
|
285993
|
-
formattedMember[member.name] = this.formatValue(member.type, value[member.name]);
|
|
286096
|
+
formattedMember[member.name] = await this.formatValue(member.type, value[member.name]);
|
|
285994
286097
|
}
|
|
285995
286098
|
return formattedMember;
|
|
285996
286099
|
}
|
|
285997
|
-
formatArrayValue(type, value) {
|
|
286100
|
+
async formatArrayValue(type, value) {
|
|
285998
286101
|
if (!_Value__WEBPACK_IMPORTED_MODULE_2__.Value.isArray(value))
|
|
285999
286102
|
return [];
|
|
286000
|
-
return value.map((arrayVal) => this.formatValue(type.memberType, arrayVal));
|
|
286103
|
+
return Promise.all(value.map(async (arrayVal) => this.formatValue(type.memberType, arrayVal)));
|
|
286001
286104
|
}
|
|
286002
286105
|
}
|
|
286003
286106
|
function formatDouble(value) {
|
|
@@ -301198,7 +301301,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
|
|
|
301198
301301
|
/***/ ((module) => {
|
|
301199
301302
|
|
|
301200
301303
|
"use strict";
|
|
301201
|
-
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.3.0-dev.
|
|
301304
|
+
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.3.0-dev.18","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:^4.3.0-dev.18","@itwin/core-bentley":"workspace:^4.3.0-dev.18","@itwin/core-common":"workspace:^4.3.0-dev.18","@itwin/core-geometry":"workspace:^4.3.0-dev.18","@itwin/core-orbitgt":"workspace:^4.3.0-dev.18","@itwin/core-quantity":"workspace:^4.3.0-dev.18"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/certa":"workspace:*","@itwin/eslint-plugin":"4.0.0-dev.44","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/node":"18.16.1","@types/sinon":"^10.0.15","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.3.10","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.44.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^15.0.4","source-map-loader":"^4.0.0","typescript":"~5.0.2","typemoq":"^2.1.0","webpack":"^5.76.0"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/cloud-agnostic-core":"^2.1.0","@itwin/object-storage-core":"^2.1.0","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"}}');
|
|
301202
301305
|
|
|
301203
301306
|
/***/ }),
|
|
301204
301307
|
|