@itwin/rpcinterface-full-stack-tests 5.0.0-dev.16 → 5.0.0-dev.20
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/_bea9.bundled-tests.js.map +1 -1
- package/lib/dist/bundled-tests.js +285 -196
- package/lib/dist/bundled-tests.js.map +1 -1
- package/lib/dist/core_frontend_lib_esm_ApproximateTerrainHeightsProps_js.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_1_6_node_modules_loaders_gl_draco_di-0642a6.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_meshoptimizer_0_20_0_node_modules_meshoptimizer_index_m-a5ae61.bundled-tests.js.map +1 -1
- package/package.json +14 -14
|
@@ -204395,6 +204395,28 @@ class CurveChain extends CurveCollection {
|
|
|
204395
204395
|
else
|
|
204396
204396
|
return undefined;
|
|
204397
204397
|
}
|
|
204398
|
+
/**
|
|
204399
|
+
* Return the start point and derivative of the first child of the curve chain.
|
|
204400
|
+
* * For queries interior to the chain, use [[CurveChainWithDistanceIndex.fractionToPointAndDerivative]].
|
|
204401
|
+
*/
|
|
204402
|
+
startPointAndDerivative(result) {
|
|
204403
|
+
const firstChild = this.getChild(0);
|
|
204404
|
+
if (firstChild)
|
|
204405
|
+
return firstChild.fractionToPointAndDerivative(0.0, result);
|
|
204406
|
+
else
|
|
204407
|
+
return undefined;
|
|
204408
|
+
}
|
|
204409
|
+
/**
|
|
204410
|
+
* Return the end point and derivative of the last child of the curve chain.
|
|
204411
|
+
* * For queries interior to the chain, use [[CurveChainWithDistanceIndex.fractionToPointAndDerivative]].
|
|
204412
|
+
*/
|
|
204413
|
+
endPointAndDerivative(result) {
|
|
204414
|
+
const lastChild = this.getChild(this._curves.length - 1);
|
|
204415
|
+
if (lastChild)
|
|
204416
|
+
return lastChild.fractionToPointAndDerivative(1.0, result);
|
|
204417
|
+
else
|
|
204418
|
+
return undefined;
|
|
204419
|
+
}
|
|
204398
204420
|
/**
|
|
204399
204421
|
* Return the curve primitive at the given `index`, optionally using `modulo` to map `index` to the cyclic indexing.
|
|
204400
204422
|
* * In particular, `-1` is the final curve.
|
|
@@ -204866,20 +204888,20 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
204866
204888
|
/* harmony export */ "MiteredSweepOutputSelect": () => (/* binding */ MiteredSweepOutputSelect)
|
|
204867
204889
|
/* harmony export */ });
|
|
204868
204890
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
204869
|
-
/* harmony import */ var
|
|
204891
|
+
/* harmony import */ var _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../geometry3d/Angle */ "../../core/geometry/lib/esm/geometry3d/Angle.js");
|
|
204870
204892
|
/* harmony import */ var _geometry3d_AngleSweep__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../geometry3d/AngleSweep */ "../../core/geometry/lib/esm/geometry3d/AngleSweep.js");
|
|
204871
204893
|
/* harmony import */ var _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../geometry3d/Matrix3d */ "../../core/geometry/lib/esm/geometry3d/Matrix3d.js");
|
|
204872
|
-
/* harmony import */ var
|
|
204894
|
+
/* harmony import */ var _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../geometry3d/Point2dVector2d */ "../../core/geometry/lib/esm/geometry3d/Point2dVector2d.js");
|
|
204873
204895
|
/* harmony import */ var _geometry3d_Point3dArrayCarrier__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../geometry3d/Point3dArrayCarrier */ "../../core/geometry/lib/esm/geometry3d/Point3dArrayCarrier.js");
|
|
204874
204896
|
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
204875
|
-
/* harmony import */ var
|
|
204876
|
-
/* harmony import */ var
|
|
204877
|
-
/* harmony import */ var
|
|
204878
|
-
/* harmony import */ var
|
|
204879
|
-
/* harmony import */ var
|
|
204897
|
+
/* harmony import */ var _geometry3d_PolylineOps__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../geometry3d/PolylineOps */ "../../core/geometry/lib/esm/geometry3d/PolylineOps.js");
|
|
204898
|
+
/* harmony import */ var _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../geometry3d/Ray3d */ "../../core/geometry/lib/esm/geometry3d/Ray3d.js");
|
|
204899
|
+
/* harmony import */ var _geometry3d_Segment1d__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../geometry3d/Segment1d */ "../../core/geometry/lib/esm/geometry3d/Segment1d.js");
|
|
204900
|
+
/* harmony import */ var _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../geometry3d/Transform */ "../../core/geometry/lib/esm/geometry3d/Transform.js");
|
|
204901
|
+
/* harmony import */ var _numerics_SmallSystem__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../numerics/SmallSystem */ "../../core/geometry/lib/esm/numerics/SmallSystem.js");
|
|
204880
204902
|
/* harmony import */ var _polyface_PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../polyface/PolyfaceBuilder */ "../../core/geometry/lib/esm/polyface/PolyfaceBuilder.js");
|
|
204881
204903
|
/* harmony import */ var _solid_Cone__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../solid/Cone */ "../../core/geometry/lib/esm/solid/Cone.js");
|
|
204882
|
-
/* harmony import */ var
|
|
204904
|
+
/* harmony import */ var _solid_RuledSweep__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../solid/RuledSweep */ "../../core/geometry/lib/esm/solid/RuledSweep.js");
|
|
204883
204905
|
/* harmony import */ var _solid_TorusPipe__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../solid/TorusPipe */ "../../core/geometry/lib/esm/solid/TorusPipe.js");
|
|
204884
204906
|
/* harmony import */ var _Arc3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Arc3d */ "../../core/geometry/lib/esm/curve/Arc3d.js");
|
|
204885
204907
|
/* harmony import */ var _CurveCollection__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./CurveCollection */ "../../core/geometry/lib/esm/curve/CurveCollection.js");
|
|
@@ -204889,7 +204911,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
204889
204911
|
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
204890
204912
|
/* harmony import */ var _Loop__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Loop */ "../../core/geometry/lib/esm/curve/Loop.js");
|
|
204891
204913
|
/* harmony import */ var _Path__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Path */ "../../core/geometry/lib/esm/curve/Path.js");
|
|
204892
|
-
/* harmony import */ var
|
|
204914
|
+
/* harmony import */ var _RegionOps__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./RegionOps */ "../../core/geometry/lib/esm/curve/RegionOps.js");
|
|
204915
|
+
/* harmony import */ var _spiral_IntegratedSpiral3d__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./spiral/IntegratedSpiral3d */ "../../core/geometry/lib/esm/curve/spiral/IntegratedSpiral3d.js");
|
|
204893
204916
|
/*---------------------------------------------------------------------------------------------
|
|
204894
204917
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
204895
204918
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -204897,7 +204920,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
204897
204920
|
/** @packageDocumentation
|
|
204898
204921
|
* @module Curve
|
|
204899
204922
|
*/
|
|
204900
|
-
|
|
204923
|
+
|
|
204901
204924
|
|
|
204902
204925
|
|
|
204903
204926
|
|
|
@@ -204936,6 +204959,7 @@ var MiteredSweepOutputSelect;
|
|
|
204936
204959
|
/** Output planes and sections, as well as the assembled ruled sweep and its stroked mesh. */
|
|
204937
204960
|
MiteredSweepOutputSelect[MiteredSweepOutputSelect["AlsoMesh"] = 2] = "AlsoMesh";
|
|
204938
204961
|
})(MiteredSweepOutputSelect || (MiteredSweepOutputSelect = {}));
|
|
204962
|
+
;
|
|
204939
204963
|
/**
|
|
204940
204964
|
* The `CurveFactory` class contains methods for specialized curve constructions.
|
|
204941
204965
|
* @public
|
|
@@ -205241,75 +205265,132 @@ class CurveFactory {
|
|
|
205241
205265
|
}
|
|
205242
205266
|
return arcs;
|
|
205243
205267
|
}
|
|
205268
|
+
/** For a smooth curve, stroke and return unnormalized start/end tangents. */
|
|
205269
|
+
static strokeSmoothCurve(curve, options) {
|
|
205270
|
+
let startTangent, endTangent;
|
|
205271
|
+
if (curve instanceof _CurvePrimitive__WEBPACK_IMPORTED_MODULE_12__.CurvePrimitive) {
|
|
205272
|
+
startTangent = curve.fractionToPointAndDerivative(0.0).direction;
|
|
205273
|
+
endTangent = curve.fractionToPointAndDerivative(1.0).direction;
|
|
205274
|
+
const strokes = _LineString3d__WEBPACK_IMPORTED_MODULE_4__.LineString3d.create();
|
|
205275
|
+
curve.emitStrokes(strokes, options);
|
|
205276
|
+
curve = strokes.packedPoints;
|
|
205277
|
+
}
|
|
205278
|
+
else if (curve instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_14__.CurveChain) {
|
|
205279
|
+
startTangent = curve.startPointAndDerivative()?.direction;
|
|
205280
|
+
endTangent = curve.endPointAndDerivative()?.direction;
|
|
205281
|
+
const strokes = curve.getPackedStrokes(options);
|
|
205282
|
+
if (!strokes)
|
|
205283
|
+
return undefined;
|
|
205284
|
+
curve = strokes;
|
|
205285
|
+
}
|
|
205286
|
+
else if (Array.isArray(curve))
|
|
205287
|
+
curve = new _geometry3d_Point3dArrayCarrier__WEBPACK_IMPORTED_MODULE_3__.Point3dArrayCarrier(curve);
|
|
205288
|
+
return { strokes: curve, startTangent, endTangent };
|
|
205289
|
+
}
|
|
205244
205290
|
/**
|
|
205245
|
-
*
|
|
205246
|
-
* *
|
|
205247
|
-
|
|
205248
|
-
|
|
205249
|
-
|
|
205250
|
-
|
|
205251
|
-
|
|
205252
|
-
|
|
205253
|
-
|
|
205254
|
-
|
|
205255
|
-
|
|
205256
|
-
|
|
205257
|
-
|
|
205258
|
-
|
|
205291
|
+
* Align two bisector plane normals to given smooth rail tangents or optional overrides.
|
|
205292
|
+
* * Optionally average the normals for physically closed rail.
|
|
205293
|
+
*/
|
|
205294
|
+
static alignFirstAndLastBisectorPlanes(firstPlane, lastPlane, smoothRailData, options) {
|
|
205295
|
+
const normal0 = options?.startTangent ?? (smoothRailData?.startTangent ?? firstPlane.getNormalRef());
|
|
205296
|
+
const normal1 = options?.endTangent ?? (smoothRailData?.endTangent ?? lastPlane.getNormalRef());
|
|
205297
|
+
if (options?.wrapIfPhysicallyClosed && firstPlane.getOriginRef().isAlmostEqual(lastPlane.getOriginRef())) {
|
|
205298
|
+
const avgNormal = normal0.plus(normal1);
|
|
205299
|
+
if (avgNormal.tryNormalizeInPlace()) { // ignore cusp at seam
|
|
205300
|
+
firstPlane.getNormalRef().setFrom(avgNormal);
|
|
205301
|
+
lastPlane.getNormalRef().setFrom(avgNormal);
|
|
205302
|
+
return;
|
|
205303
|
+
}
|
|
205304
|
+
}
|
|
205305
|
+
if (normal0.tryNormalizeInPlace())
|
|
205306
|
+
firstPlane.getNormalRef().setFrom(normal0);
|
|
205307
|
+
if (normal1.tryNormalizeInPlace())
|
|
205308
|
+
lastPlane.getNormalRef().setFrom(normal1);
|
|
205309
|
+
}
|
|
205310
|
+
/** Reverse a closed curve or region if necessary so that its orientation is CCW with respect to the plane normal. */
|
|
205311
|
+
static alignClosedCurveToPlane(curve, planeNormal) {
|
|
205312
|
+
let closedCurve;
|
|
205313
|
+
if (curve instanceof _CurvePrimitive__WEBPACK_IMPORTED_MODULE_12__.CurvePrimitive) {
|
|
205314
|
+
if (curve.startPoint().isAlmostEqual(curve.endPoint()))
|
|
205315
|
+
closedCurve = _Loop__WEBPACK_IMPORTED_MODULE_6__.Loop.create(curve);
|
|
205316
|
+
}
|
|
205317
|
+
else if (curve.isAnyRegion())
|
|
205318
|
+
closedCurve = curve;
|
|
205319
|
+
if (closedCurve) {
|
|
205320
|
+
// The alignment condition is equivalent to positive projected curve area computed wrt to the plane normal.
|
|
205321
|
+
const toLocal = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_15__.Matrix3d.createRigidHeadsUp(planeNormal).transpose();
|
|
205322
|
+
const projection = closedCurve.cloneTransformed(_geometry3d_Transform__WEBPACK_IMPORTED_MODULE_16__.Transform.createOriginAndMatrix(undefined, toLocal));
|
|
205323
|
+
if (projection) { // now we can ignore z-coords
|
|
205324
|
+
const areaXY = _RegionOps__WEBPACK_IMPORTED_MODULE_17__.RegionOps.computeXYArea(projection);
|
|
205325
|
+
if (areaXY && areaXY < 0)
|
|
205326
|
+
curve.reverseInPlace();
|
|
205327
|
+
}
|
|
205328
|
+
}
|
|
205329
|
+
}
|
|
205330
|
+
/**
|
|
205331
|
+
* Projection to target plane, constructing sweep direction from two given planes.
|
|
205332
|
+
* * If successful, push the target plane and swept section to the output arrays and return the swept section.
|
|
205333
|
+
* * If unsuccessful, leave the output arrays alone and return the input section.
|
|
205334
|
+
*/
|
|
205335
|
+
static doSweepToPlane(output, edgePlane0, edgePlane1, targetPlane, section) {
|
|
205336
|
+
const sweepVector = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_7__.Vector3d.createStartEnd(edgePlane0.getOriginRef(), edgePlane1.getOriginRef());
|
|
205337
|
+
const transform = _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_16__.Transform.createFlattenAlongVectorToPlane(sweepVector, targetPlane.getOriginRef(), targetPlane.getNormalRef());
|
|
205338
|
+
if (transform === undefined)
|
|
205339
|
+
return section;
|
|
205340
|
+
const transformedSection = section.cloneTransformed(transform);
|
|
205341
|
+
if (transformedSection === undefined)
|
|
205342
|
+
return section;
|
|
205343
|
+
output.planes.push(targetPlane);
|
|
205344
|
+
output.sections.push(transformedSection);
|
|
205345
|
+
return transformedSection;
|
|
205346
|
+
}
|
|
205347
|
+
/**
|
|
205348
|
+
* Sweep the `initialSection` along each segment of the (stroked) `centerline` until it hits the bisector plane at
|
|
205349
|
+
* the next vertex.
|
|
205350
|
+
* * For best results, the caller should place `initialSection` in a plane perpendicular to the `centerline`
|
|
205351
|
+
* start tangent.
|
|
205352
|
+
* * This plane is commonly (but not necessarily) through the centerline start point itself.
|
|
205353
|
+
* * To compute the sections, `initialSection` is projected in the direction of the centerline start tangent onto
|
|
205354
|
+
* the first bisector plane at the centerline start. The result of this projection will be likewise projected onto
|
|
205355
|
+
* the second plane, and so on in sequence.
|
|
205356
|
+
* * By default, the first/last bisector plane normals are set to the centerline start/end tangents. The caller can
|
|
205357
|
+
* override these with tangents supplied in `options`. If the centerline is physically closed and
|
|
205358
|
+
* `options.wrapIfPhysicallyClosed` is true, the first and last plane normals are averaged and equated.
|
|
205359
|
+
* * The centerline path does NOT have to be planar, however non-planarity will result in twisting of the sections
|
|
205360
|
+
* in the bisector planes.
|
|
205361
|
+
* @param centerline sweep path. Will be stroked if smooth.
|
|
205259
205362
|
* @param initialSection profile curve to be swept. As noted above, this should be on a plane perpendicular to the
|
|
205260
|
-
*
|
|
205363
|
+
* centerline start tangent.
|
|
205261
205364
|
* @param options options for computation and output.
|
|
205262
|
-
* @return array of sections,
|
|
205365
|
+
* @return array of sections, formed from projecting `initialSection` successively onto the bisector planes.
|
|
205263
205366
|
*/
|
|
205264
205367
|
static createMiteredSweepSections(centerline, initialSection, options) {
|
|
205368
|
+
const rail = this.strokeSmoothCurve(centerline, options.strokeOptions);
|
|
205369
|
+
if (!rail)
|
|
205370
|
+
return undefined;
|
|
205371
|
+
const planes = _geometry3d_PolylineOps__WEBPACK_IMPORTED_MODULE_18__.PolylineOps.createBisectorPlanesForDistinctPoints(rail.strokes);
|
|
205372
|
+
if (!planes || planes.length < 2)
|
|
205373
|
+
return undefined;
|
|
205374
|
+
this.alignFirstAndLastBisectorPlanes(planes[0], planes[planes.length - 1], rail, options);
|
|
205375
|
+
// RuledSweep facet construction assumes the contours are oriented CCW with respect to the sweep direction so that
|
|
205376
|
+
// facet normals point outward. We only have to align the first contour; the rest will inherit its orientation.
|
|
205377
|
+
this.alignClosedCurveToPlane(initialSection, planes[0].getNormalRef());
|
|
205265
205378
|
const sectionData = { sections: [], planes: [] };
|
|
205266
|
-
|
|
205267
|
-
|
|
205268
|
-
|
|
205269
|
-
|
|
205270
|
-
const
|
|
205271
|
-
|
|
205272
|
-
|
|
205273
|
-
|
|
205274
|
-
|
|
205275
|
-
|
|
205276
|
-
|
|
205277
|
-
if (endTang?.tryNormalizeInPlace())
|
|
205278
|
-
lastPlane.getNormalRef().setFrom(endTang);
|
|
205279
|
-
}
|
|
205280
|
-
// Projection to target plane, constructing sweep direction from two given planes.
|
|
205281
|
-
// If successful, push the target plane and swept section to the output arrays and return the swept section.
|
|
205282
|
-
// If unsuccessful, leave the output arrays alone and return the input section.
|
|
205283
|
-
const doSweepToPlane = function (edgePlane0, edgePlane1, targetPlane, section) {
|
|
205284
|
-
const sweepVector = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_7__.Vector3d.createStartEnd(edgePlane0.getOriginRef(), edgePlane1.getOriginRef());
|
|
205285
|
-
const transform = _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_17__.Transform.createFlattenAlongVectorToPlane(sweepVector, targetPlane.getOriginRef(), targetPlane.getNormalRef());
|
|
205286
|
-
if (transform === undefined)
|
|
205287
|
-
return section;
|
|
205288
|
-
const transformedSection = section.cloneTransformed(transform);
|
|
205289
|
-
if (transformedSection === undefined)
|
|
205290
|
-
return section;
|
|
205291
|
-
sectionData.planes.push(targetPlane);
|
|
205292
|
-
sectionData.sections.push(transformedSection);
|
|
205293
|
-
return transformedSection;
|
|
205294
|
-
};
|
|
205295
|
-
let currentSection = doSweepToPlane(planes[0], planes[1], planes[0], initialSection);
|
|
205296
|
-
for (let i = 1; i < planes.length; i++) {
|
|
205297
|
-
currentSection = doSweepToPlane(planes[i - 1], planes[i], planes[i], currentSection);
|
|
205298
|
-
}
|
|
205299
|
-
if (options.outputSelect) {
|
|
205300
|
-
const ruledSweep = _solid_RuledSweep__WEBPACK_IMPORTED_MODULE_18__.RuledSweep.create(sectionData.sections, options.capped ?? false);
|
|
205301
|
-
if (ruledSweep) {
|
|
205302
|
-
sectionData.ruledSweep = ruledSweep;
|
|
205303
|
-
if (MiteredSweepOutputSelect.AlsoMesh === options.outputSelect) {
|
|
205304
|
-
const builder = _polyface_PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_13__.PolyfaceBuilder.create(options.strokeOptions);
|
|
205305
|
-
builder.addRuledSweep(ruledSweep);
|
|
205306
|
-
sectionData.mesh = builder.claimPolyface();
|
|
205307
|
-
}
|
|
205379
|
+
let currentSection = this.doSweepToPlane(sectionData, planes[0], planes[1], planes[0], initialSection);
|
|
205380
|
+
for (let i = 1; i < planes.length; i++)
|
|
205381
|
+
currentSection = this.doSweepToPlane(sectionData, planes[i - 1], planes[i], planes[i], currentSection);
|
|
205382
|
+
if (options.outputSelect) {
|
|
205383
|
+
const ruledSweep = _solid_RuledSweep__WEBPACK_IMPORTED_MODULE_19__.RuledSweep.create(sectionData.sections, options.capped ?? false);
|
|
205384
|
+
if (ruledSweep) {
|
|
205385
|
+
sectionData.ruledSweep = ruledSweep;
|
|
205386
|
+
if (MiteredSweepOutputSelect.AlsoMesh === options.outputSelect) {
|
|
205387
|
+
const builder = _polyface_PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_13__.PolyfaceBuilder.create(options.strokeOptions);
|
|
205388
|
+
builder.addRuledSweep(ruledSweep);
|
|
205389
|
+
sectionData.mesh = builder.claimPolyface();
|
|
205308
205390
|
}
|
|
205309
205391
|
}
|
|
205310
|
-
return sectionData;
|
|
205311
205392
|
}
|
|
205312
|
-
return
|
|
205393
|
+
return sectionData;
|
|
205313
205394
|
}
|
|
205314
205395
|
/**
|
|
205315
205396
|
* Create a circular arc from start point, tangent at start, radius, optional plane normal, arc sweep.
|
|
@@ -205341,25 +205422,25 @@ class CurveFactory {
|
|
|
205341
205422
|
const lineTurnRadians = vectorAB.angleToXY(vectorBC0);
|
|
205342
205423
|
const spiralTurnRadians = 0.5 * lineTurnRadians.radians;
|
|
205343
205424
|
const radiansBC = radiansAB + lineTurnRadians.radians;
|
|
205344
|
-
const axesA = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_15__.Matrix3d.createRotationAroundAxisIndex(_Geometry__WEBPACK_IMPORTED_MODULE_0__.AxisIndex.Z,
|
|
205345
|
-
const frameA =
|
|
205425
|
+
const axesA = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_15__.Matrix3d.createRotationAroundAxisIndex(_Geometry__WEBPACK_IMPORTED_MODULE_0__.AxisIndex.Z, _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_20__.Angle.createRadians(radiansAB));
|
|
205426
|
+
const frameA = _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_16__.Transform.createRefs(startPoint.clone(), axesA);
|
|
205346
205427
|
// We know how much it has to turn, and but not the length or end radius.
|
|
205347
205428
|
// make a spiral of referenceLength and scale it back to the junction line
|
|
205348
|
-
const spiralARefLength =
|
|
205429
|
+
const spiralARefLength = _spiral_IntegratedSpiral3d__WEBPACK_IMPORTED_MODULE_21__.IntegratedSpiral3d.createFrom4OutOf5(spiralType, 0.0, undefined, _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_20__.Angle.createRadians(0), _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_20__.Angle.createRadians(spiralTurnRadians), referenceLength, undefined, frameA);
|
|
205349
205430
|
if (spiralARefLength) {
|
|
205350
205431
|
const midPlanePerpendicularRadians = radiansAB + spiralTurnRadians;
|
|
205351
|
-
const midPlanePerpendicularVector = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_7__.Vector3d.createPolar(1.0,
|
|
205432
|
+
const midPlanePerpendicularVector = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_7__.Vector3d.createPolar(1.0, _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_20__.Angle.createRadians(midPlanePerpendicularRadians));
|
|
205352
205433
|
const altitudeB = midPlanePerpendicularVector.dotProductStartEnd(startPoint, shoulderPoint);
|
|
205353
205434
|
const altitudeSpiralEnd = midPlanePerpendicularVector.dotProductStartEnd(startPoint, spiralARefLength.endPoint());
|
|
205354
205435
|
const scaleFactor = altitudeB / altitudeSpiralEnd;
|
|
205355
|
-
const spiralA =
|
|
205436
|
+
const spiralA = _spiral_IntegratedSpiral3d__WEBPACK_IMPORTED_MODULE_21__.IntegratedSpiral3d.createFrom4OutOf5(spiralType, 0.0, undefined, _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_20__.Angle.createRadians(0), _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_20__.Angle.createRadians(spiralTurnRadians), referenceLength * scaleFactor, undefined, frameA);
|
|
205356
205437
|
const distanceAB = vectorAB.magnitude();
|
|
205357
205438
|
const vectorBC = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_7__.Vector3d.createStartEnd(shoulderPoint, targetPoint);
|
|
205358
205439
|
vectorBC.scaleToLength(distanceAB, vectorBC);
|
|
205359
205440
|
const pointC = shoulderPoint.plus(vectorBC);
|
|
205360
|
-
const axesC = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_15__.Matrix3d.createRotationAroundAxisIndex(_Geometry__WEBPACK_IMPORTED_MODULE_0__.AxisIndex.Z,
|
|
205361
|
-
const frameC =
|
|
205362
|
-
const spiralC =
|
|
205441
|
+
const axesC = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_15__.Matrix3d.createRotationAroundAxisIndex(_Geometry__WEBPACK_IMPORTED_MODULE_0__.AxisIndex.Z, _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_20__.Angle.createRadians(radiansBC + Math.PI));
|
|
205442
|
+
const frameC = _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_16__.Transform.createRefs(pointC, axesC);
|
|
205443
|
+
const spiralC = _spiral_IntegratedSpiral3d__WEBPACK_IMPORTED_MODULE_21__.IntegratedSpiral3d.createFrom4OutOf5(spiralType, 0, -spiralA.radius01.x1, _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_20__.Angle.zero(), undefined, spiralA.curveLength(), _geometry3d_Segment1d__WEBPACK_IMPORTED_MODULE_22__.Segment1d.create(1, 0), frameC);
|
|
205363
205444
|
return [spiralA, spiralC];
|
|
205364
205445
|
}
|
|
205365
205446
|
return undefined;
|
|
@@ -205382,7 +205463,7 @@ class CurveFactory {
|
|
|
205382
205463
|
const spiralTurnRadians = 0.5 * lineTurnAngle.radians;
|
|
205383
205464
|
const bisectorRadians = 0.5 * (Math.PI - lineTurnAngle.radians);
|
|
205384
205465
|
const radiansCB = Math.atan2(-vectorBC.y, -vectorBC.x);
|
|
205385
|
-
const spiralAB0 =
|
|
205466
|
+
const spiralAB0 = _spiral_IntegratedSpiral3d__WEBPACK_IMPORTED_MODULE_21__.IntegratedSpiral3d.createFrom4OutOf5(spiralType, 0, undefined, _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_20__.Angle.zero(), _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_20__.Angle.createRadians(spiralTurnRadians), spiralLength, undefined, _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_16__.Transform.createIdentity());
|
|
205386
205467
|
if (spiralAB0) {
|
|
205387
205468
|
const localEndPoint = spiralAB0.fractionToPoint(1);
|
|
205388
205469
|
const distanceAB = pointA.distance(pointB);
|
|
@@ -205393,14 +205474,14 @@ class CurveFactory {
|
|
|
205393
205474
|
const xFractionAB = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.conditionalDivideFraction(distanceAB - distanceBE - localEndPoint.x, distanceAB);
|
|
205394
205475
|
const xFractionCB = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.conditionalDivideFraction(distanceCB - distanceBE - localEndPoint.x, distanceCB);
|
|
205395
205476
|
if (xFractionAB !== undefined && xFractionCB !== undefined) {
|
|
205396
|
-
const axesA = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_15__.Matrix3d.createRotationAroundAxisIndex(_Geometry__WEBPACK_IMPORTED_MODULE_0__.AxisIndex.Z,
|
|
205477
|
+
const axesA = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_15__.Matrix3d.createRotationAroundAxisIndex(_Geometry__WEBPACK_IMPORTED_MODULE_0__.AxisIndex.Z, _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_20__.Angle.createRadians(radiansAB));
|
|
205397
205478
|
const frameAOrigin = pointA.interpolate(xFractionAB, pointB);
|
|
205398
|
-
const frameA =
|
|
205399
|
-
const spiralAB =
|
|
205400
|
-
const axesB = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_15__.Matrix3d.createRotationAroundAxisIndex(_Geometry__WEBPACK_IMPORTED_MODULE_0__.AxisIndex.Z,
|
|
205479
|
+
const frameA = _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_16__.Transform.createRefs(frameAOrigin, axesA);
|
|
205480
|
+
const spiralAB = _spiral_IntegratedSpiral3d__WEBPACK_IMPORTED_MODULE_21__.IntegratedSpiral3d.createFrom4OutOf5(spiralType, 0, undefined, _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_20__.Angle.zero(), _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_20__.Angle.createRadians(spiralTurnRadians), spiralLength, undefined, frameA);
|
|
205481
|
+
const axesB = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_15__.Matrix3d.createRotationAroundAxisIndex(_Geometry__WEBPACK_IMPORTED_MODULE_0__.AxisIndex.Z, _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_20__.Angle.createRadians(radiansCB));
|
|
205401
205482
|
const frameBOrigin = pointC.interpolate(xFractionCB, pointB);
|
|
205402
|
-
const frameB =
|
|
205403
|
-
const spiralBC =
|
|
205483
|
+
const frameB = _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_16__.Transform.createRefs(frameBOrigin, axesB);
|
|
205484
|
+
const spiralBC = _spiral_IntegratedSpiral3d__WEBPACK_IMPORTED_MODULE_21__.IntegratedSpiral3d.createFrom4OutOf5(spiralType, 0, undefined, _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_20__.Angle.zero(), _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_20__.Angle.createRadians(-spiralTurnRadians), spiralLength, undefined, frameB);
|
|
205404
205485
|
return [spiralAB, spiralBC];
|
|
205405
205486
|
}
|
|
205406
205487
|
}
|
|
@@ -205432,8 +205513,8 @@ class CurveFactory {
|
|
|
205432
205513
|
const sideB = -sideA;
|
|
205433
205514
|
const radiusA = sideA * Math.abs(arcRadius);
|
|
205434
205515
|
const radiusB = sideB * Math.abs(arcRadius);
|
|
205435
|
-
const spiralA =
|
|
205436
|
-
const spiralB =
|
|
205516
|
+
const spiralA = _spiral_IntegratedSpiral3d__WEBPACK_IMPORTED_MODULE_21__.IntegratedSpiral3d.createFrom4OutOf5(spiralType, 0, radiusA, _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_20__.Angle.zero(), undefined, lengthA, undefined, _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_16__.Transform.createIdentity());
|
|
205517
|
+
const spiralB = _spiral_IntegratedSpiral3d__WEBPACK_IMPORTED_MODULE_21__.IntegratedSpiral3d.createFrom4OutOf5(spiralType, 0, radiusB, _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_20__.Angle.zero(), undefined, lengthB, undefined, _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_16__.Transform.createIdentity());
|
|
205437
205518
|
const spiralEndA = spiralA.fractionToPointAndUnitTangent(1.0);
|
|
205438
205519
|
const spiralEndB = spiralB.fractionToPointAndUnitTangent(1.0);
|
|
205439
205520
|
// From the end of spiral, step away to arc center (and this is in local coordinates of each spiral)
|
|
@@ -205444,12 +205525,12 @@ class CurveFactory {
|
|
|
205444
205525
|
// Those local coordinates are rotated to unitAB and unitBC ...
|
|
205445
205526
|
const vectorA = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_7__.Vector3d.createAdd2Scaled(unitAB, sA, unitPerpAB, tA);
|
|
205446
205527
|
const vectorB = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_7__.Vector3d.createAdd2Scaled(unitCB, sB, unitPerpCB, tB);
|
|
205447
|
-
const uv =
|
|
205448
|
-
if (
|
|
205528
|
+
const uv = _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_23__.Vector2d.create();
|
|
205529
|
+
if (_numerics_SmallSystem__WEBPACK_IMPORTED_MODULE_24__.SmallSystem.linearSystem2d(unitAB.x, -unitCB.x, unitAB.y, -unitCB.y, vectorB.x - vectorA.x, vectorB.y - vectorA.y, uv)) {
|
|
205449
205530
|
const tangencyAB = pointB.plusScaled(unitAB, uv.x);
|
|
205450
205531
|
const tangencyCB = pointB.plusScaled(unitCB, uv.y);
|
|
205451
|
-
const frameA =
|
|
205452
|
-
const frameB =
|
|
205532
|
+
const frameA = _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_16__.Transform.createOriginAndMatrixColumns(tangencyAB, unitAB, unitPerpAB, _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_7__.Vector3d.unitZ());
|
|
205533
|
+
const frameB = _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_16__.Transform.createOriginAndMatrixColumns(tangencyCB, unitCB, unitPerpCB, _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_7__.Vector3d.unitZ());
|
|
205453
205534
|
spiralA.tryTransformInPlace(frameA);
|
|
205454
205535
|
spiralB.tryTransformInPlace(frameB);
|
|
205455
205536
|
const rayA1 = spiralA.fractionToPointAndUnitTangent(1.0);
|
|
@@ -205476,9 +205557,9 @@ class CurveFactory {
|
|
|
205476
205557
|
const normalCx = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.crossProductXYXY(normalAy, normalAz, normalBy, normalBz);
|
|
205477
205558
|
const normalCy = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.crossProductXYXY(normalAz, normalAx, normalBz, normalBx);
|
|
205478
205559
|
const normalCz = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.crossProductXYXY(normalAx, normalAy, normalBx, normalBy);
|
|
205479
|
-
const rayOrigin =
|
|
205560
|
+
const rayOrigin = _numerics_SmallSystem__WEBPACK_IMPORTED_MODULE_24__.SmallSystem.linearSystem3d(normalAx, normalAy, normalAz, normalBx, normalBy, normalBz, normalCx, normalCy, normalCz, -altitudeA, -altitudeB, 0.0);
|
|
205480
205561
|
if (rayOrigin !== undefined) {
|
|
205481
|
-
return
|
|
205562
|
+
return _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_25__.Ray3d.createXYZUVW(rayOrigin.x, rayOrigin.y, rayOrigin.z, normalCx, normalCy, normalCz);
|
|
205482
205563
|
}
|
|
205483
205564
|
return undefined;
|
|
205484
205565
|
}
|
|
@@ -225670,10 +225751,10 @@ class FrameBuilder {
|
|
|
225670
225751
|
this.announcePoint(data.endPoint());
|
|
225671
225752
|
}
|
|
225672
225753
|
else if (data instanceof _curve_Arc3d__WEBPACK_IMPORTED_MODULE_6__.Arc3d) {
|
|
225673
|
-
const
|
|
225674
|
-
this.announcePoint(
|
|
225675
|
-
this.announceVector(
|
|
225676
|
-
this.announceVector(
|
|
225754
|
+
const plane = data.fractionToPointAnd2Derivatives(0.0);
|
|
225755
|
+
this.announcePoint(plane.origin);
|
|
225756
|
+
this.announceVector(plane.vectorU);
|
|
225757
|
+
this.announceVector(plane.vectorV);
|
|
225677
225758
|
}
|
|
225678
225759
|
else if (data instanceof _curve_LineString3d__WEBPACK_IMPORTED_MODULE_7__.LineString3d) {
|
|
225679
225760
|
for (const point of data.points) {
|
|
@@ -235571,8 +235652,8 @@ class Vector3d extends XYZ {
|
|
|
235571
235652
|
* * The input tolerances in `options`, if given, are considered to be squared for efficiency's sake,
|
|
235572
235653
|
* so if you have a distance or angle tolerance t, you should pass in t * t.
|
|
235573
235654
|
* @param other second vector in comparison
|
|
235574
|
-
* @param oppositeIsParallel whether to consider diametrically opposed vectors as parallel
|
|
235575
|
-
* @param returnValueIfAnInputIsZeroLength if either vector is near zero length, return this value.
|
|
235655
|
+
* @param oppositeIsParallel whether to consider diametrically opposed vectors as parallel. Default false.
|
|
235656
|
+
* @param returnValueIfAnInputIsZeroLength if either vector is near zero length, return this value. Default false.
|
|
235576
235657
|
* @param options optional radian and distance tolerances.
|
|
235577
235658
|
*/
|
|
235578
235659
|
isParallelTo(other, oppositeIsParallel = false, returnValueIfAnInputIsZeroLength = false, options) {
|
|
@@ -237468,8 +237549,8 @@ class PolygonOps {
|
|
|
237468
237549
|
}
|
|
237469
237550
|
/**
|
|
237470
237551
|
* Return a Ray3d with (assuming the polygon is planar and not self-intersecting):
|
|
237471
|
-
* * `origin` at the centroid of the (3D) polygon
|
|
237472
|
-
* * `direction` is the unit vector perpendicular to the plane
|
|
237552
|
+
* * `origin` at the centroid of the (3D) polygon,
|
|
237553
|
+
* * `direction` is the unit vector perpendicular to the plane,
|
|
237473
237554
|
* * `a` is the area.
|
|
237474
237555
|
* @param points
|
|
237475
237556
|
*/
|
|
@@ -239218,7 +239299,7 @@ class PolylineOps {
|
|
|
239218
239299
|
* * If there are one or fewer distinct input points, the return is undefined.
|
|
239219
239300
|
* @param centerline points to reside in output planes.
|
|
239220
239301
|
* @param wrapIfPhysicallyClosed if true and the first and last centerline points are the same, then the first and last
|
|
239221
|
-
* output planes are averaged and equated (cloned).
|
|
239302
|
+
* output planes are averaged and equated (cloned). Default false.
|
|
239222
239303
|
*/
|
|
239223
239304
|
static createBisectorPlanesForDistinctPoints(centerline, wrapIfPhysicallyClosed = false) {
|
|
239224
239305
|
const packedPoints = PolylineOps.compressShortEdges(centerline, 2.0 * _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.smallMetricDistance); // double the tolerance to ensure normalized vectors exist.
|
|
@@ -244502,8 +244583,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
244502
244583
|
/** @packageDocumentation
|
|
244503
244584
|
* @module Numerics
|
|
244504
244585
|
*/
|
|
244505
|
-
// import { Point2d } from "./Geometry2d";
|
|
244506
244586
|
/* eslint-disable @typescript-eslint/naming-convention */
|
|
244587
|
+
// cspell:word ABAT
|
|
244507
244588
|
|
|
244508
244589
|
|
|
244509
244590
|
|
|
@@ -244516,58 +244597,55 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
244516
244597
|
* * origin = local origin used as moments are summed.
|
|
244517
244598
|
* * sums = array of summed moments.
|
|
244518
244599
|
* * The [i,j] entry of the sums is a summed or integrated moment for product of axis i and j.
|
|
244519
|
-
* * axes 0,1,2 are x,y,z
|
|
244600
|
+
* * axes 0,1,2 are x,y,z.
|
|
244520
244601
|
* * e.g. entry [0,1] is summed product xy
|
|
244521
244602
|
* * axis 3 is "w", which is 1 in sums.
|
|
244522
|
-
* * e.g. entry 03 is summed x
|
|
244523
|
-
* * In this level
|
|
244603
|
+
* * e.g. entry 03 is summed x.
|
|
244604
|
+
* * In this level:
|
|
244524
244605
|
* * the `absoluteQuantity` member is undefined.
|
|
244525
244606
|
* * the `localToWorldMap` and `radiiOfGyration` are created by have undefined contents.
|
|
244526
|
-
* * Second level: after a call to inertiaProductsToPrincipalAxes, the `localToWorldMap`, `absoluteQuantity` and
|
|
244607
|
+
* * Second level: after a call to inertiaProductsToPrincipalAxes, the `localToWorldMap`, `absoluteQuantity` and
|
|
244608
|
+
* `radiiOfGyration` are filled in.
|
|
244527
244609
|
* @public
|
|
244528
244610
|
*/
|
|
244529
244611
|
class MomentData {
|
|
244530
|
-
/**
|
|
244531
|
-
*
|
|
244612
|
+
/**
|
|
244613
|
+
* Return the lower-right (3,3) entry in the sums.
|
|
244614
|
+
* * This is the quantity (i.e. length, area, or volume) summed.
|
|
244532
244615
|
*/
|
|
244533
|
-
get quantitySum() {
|
|
244534
|
-
|
|
244616
|
+
get quantitySum() {
|
|
244617
|
+
return this.sums.atIJ(3, 3);
|
|
244618
|
+
}
|
|
244619
|
+
/**
|
|
244620
|
+
* Return a scale factor to make these sums match the target orientation sign.
|
|
244535
244621
|
* * 1.0 if `this.quantitySum` has the same sign as `targetSign`.
|
|
244536
244622
|
* * -1.0 if `this.quantitySum` has the opposite sign from `targetSign`
|
|
244537
244623
|
*/
|
|
244538
244624
|
signFactor(targetSign) {
|
|
244539
244625
|
return targetSign * this.quantitySum > 0 ? 1.0 : -1.0;
|
|
244540
244626
|
}
|
|
244541
|
-
/**
|
|
244542
|
-
* If `this.needOrigin` flag is set, copy `origin` to `this.origin` and clear the flag.
|
|
244543
|
-
*
|
|
244544
|
-
*/
|
|
244627
|
+
/** If `this.needOrigin` flag is set, copy `origin` to `this.origin` and clear the flag. */
|
|
244545
244628
|
setOriginIfNeeded(origin) {
|
|
244546
244629
|
if (this.needOrigin) {
|
|
244547
244630
|
this.origin.setFromPoint3d(origin);
|
|
244548
244631
|
this.needOrigin = false;
|
|
244549
244632
|
}
|
|
244550
244633
|
}
|
|
244551
|
-
/**
|
|
244552
|
-
* If `this.needOrigin` flag is set, copy `origin` to `this.origin` and clear the flag.
|
|
244553
|
-
*
|
|
244554
|
-
*/
|
|
244634
|
+
/** If `this.needOrigin` flag is set, copy `origin` to `this.origin` and clear the flag. */
|
|
244555
244635
|
setOriginFromGrowableXYZArrayIfNeeded(points) {
|
|
244556
244636
|
if (this.needOrigin && points.length > 0) {
|
|
244557
244637
|
points.getPoint3dAtCheckedPointIndex(0, this.origin);
|
|
244558
244638
|
this.needOrigin = false;
|
|
244559
244639
|
}
|
|
244560
244640
|
}
|
|
244561
|
-
/**
|
|
244562
|
-
* If `this.needOrigin` flag is set, copy `origin` to `this.origin` and clear the flag.
|
|
244563
|
-
*
|
|
244564
|
-
*/
|
|
244641
|
+
/** If `this.needOrigin` flag is set, copy `origin` to `this.origin` and clear the flag. */
|
|
244565
244642
|
setOriginXYZIfNeeded(x, y, z) {
|
|
244566
244643
|
if (this.needOrigin) {
|
|
244567
244644
|
this.origin.set(x, y, z);
|
|
244568
244645
|
this.needOrigin = false;
|
|
244569
244646
|
}
|
|
244570
244647
|
}
|
|
244648
|
+
/** Constructor. */
|
|
244571
244649
|
constructor() {
|
|
244572
244650
|
this._point0 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create();
|
|
244573
244651
|
this._point1 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_0__.Point3d.create();
|
|
@@ -244579,12 +244657,13 @@ class MomentData {
|
|
|
244579
244657
|
this.absoluteQuantity = 0.1; // so optimizer sees its type
|
|
244580
244658
|
this.absoluteQuantity = undefined;
|
|
244581
244659
|
}
|
|
244582
|
-
/**
|
|
244583
|
-
*
|
|
244660
|
+
/**
|
|
244661
|
+
* Create moments with optional origin.
|
|
244662
|
+
* * Origin and needOrigin are quirky.
|
|
244584
244663
|
* * (undefined, true) sets up to use first incoming point as origin.
|
|
244585
|
-
* * (origin) sets up to use that durable origin, set needsOrigin flag false
|
|
244586
|
-
* * (origin, true) the "true" is meaningless
|
|
244587
|
-
* * (undefined, false) makes 000 the durable origin
|
|
244664
|
+
* * (origin) sets up to use that durable origin, set needsOrigin flag false.
|
|
244665
|
+
* * (origin, true) the "true" is meaningless.
|
|
244666
|
+
* * (undefined, false) makes 000 the durable origin.
|
|
244588
244667
|
*/
|
|
244589
244668
|
static create(origin, needOrigin = false) {
|
|
244590
244669
|
const data = new MomentData();
|
|
@@ -244596,8 +244675,8 @@ class MomentData {
|
|
|
244596
244675
|
return data;
|
|
244597
244676
|
}
|
|
244598
244677
|
/**
|
|
244599
|
-
* Return the formal tensor of integrated values `[yy+zz,xy,xz][yx,xx+zz,yz][zx,xy,xx+yy]
|
|
244600
|
-
* @param products matrix of (integrated) `[xx,xy,xz][yx,yy,yz][zx,xy,zz]
|
|
244678
|
+
* Return the formal tensor of integrated values `[yy+zz,xy,xz][yx,xx+zz,yz][zx,xy,xx+yy]`.
|
|
244679
|
+
* @param products matrix of (integrated) `[xx,xy,xz][yx,yy,yz][zx,xy,zz]`.
|
|
244601
244680
|
*/
|
|
244602
244681
|
static momentTensorFromInertiaProducts(products) {
|
|
244603
244682
|
const rr = products.sumDiagonal();
|
|
@@ -244630,7 +244709,7 @@ class MomentData {
|
|
|
244630
244709
|
}
|
|
244631
244710
|
/**
|
|
244632
244711
|
* Return the principal moment data for an array of points.
|
|
244633
|
-
* @param points array of points
|
|
244712
|
+
* @param points array of points.
|
|
244634
244713
|
*/
|
|
244635
244714
|
static pointsToPrincipalAxes(points) {
|
|
244636
244715
|
const moments = new MomentData();
|
|
@@ -244641,12 +244720,12 @@ class MomentData {
|
|
|
244641
244720
|
return this.inertiaProductsToPrincipalAxes(moments.origin, moments.sums);
|
|
244642
244721
|
}
|
|
244643
244722
|
/**
|
|
244644
|
-
* Compute principal axes from inertial products
|
|
244645
|
-
* * The radii of gyration are sorted smallest to largest
|
|
244646
|
-
* * Hence x axis is long direction
|
|
244647
|
-
* * Hence planar data generates large moment as Z
|
|
244723
|
+
* Compute principal axes from inertial products.
|
|
244724
|
+
* * The radii of gyration are sorted smallest to largest.
|
|
244725
|
+
* * Hence x axis is long direction.
|
|
244726
|
+
* * Hence planar data generates large moment as Z.
|
|
244648
244727
|
* @param origin The origin used for the inertia products.
|
|
244649
|
-
* @param inertiaProducts The inertia products
|
|
244728
|
+
* @param inertiaProducts The inertia products: sums or integrals of [xx,xy,xz,xw; yx,yy, yz,yw; zx,zy,zz,zw; wx,wy,wz,w].
|
|
244650
244729
|
*/
|
|
244651
244730
|
static inertiaProductsToPrincipalAxes(origin, inertiaProducts) {
|
|
244652
244731
|
const moments = new MomentData();
|
|
@@ -244674,18 +244753,19 @@ class MomentData {
|
|
|
244674
244753
|
return moments;
|
|
244675
244754
|
}
|
|
244676
244755
|
/**
|
|
244677
|
-
* Test for match among selected members as they exist after `inertiaProductsToPrincipalAxes
|
|
244678
|
-
* * The members considered are
|
|
244679
|
-
* * origin of local to world map (i.e. centroid)
|
|
244680
|
-
* * radius of gyration
|
|
244756
|
+
* Test for match among selected members as they exist after `inertiaProductsToPrincipalAxes`.
|
|
244757
|
+
* * The members considered are:
|
|
244758
|
+
* * origin of local to world map (i.e. centroid),
|
|
244759
|
+
* * radius of gyration,
|
|
244681
244760
|
* * axes of localToWorldMap.
|
|
244682
244761
|
* * Axis direction tests allow these quirks:
|
|
244683
244762
|
* * opposite orientation is considered matched.
|
|
244684
244763
|
* * Full xyz symmetry: If x,y,z radii are matched, axes are not tested.
|
|
244685
|
-
* * Symmetry in xy plane: If x and y radii are matched, the x and y axes area allowed to spin freely.
|
|
244764
|
+
* * Symmetry in xy plane: If x and y radii are matched, the x and y axes area allowed to spin freely. Only Z direction
|
|
244765
|
+
* is tested.
|
|
244686
244766
|
* * If either or both are undefined, returns false.
|
|
244687
|
-
* @param dataA first set of moments
|
|
244688
|
-
* @param dataB second set of moments
|
|
244767
|
+
* @param dataA first set of moments.
|
|
244768
|
+
* @param dataB second set of moments.
|
|
244689
244769
|
*/
|
|
244690
244770
|
static areEquivalentPrincipalAxes(dataA, dataB) {
|
|
244691
244771
|
if (dataA && dataB
|
|
@@ -244733,7 +244813,7 @@ class MomentData {
|
|
|
244733
244813
|
this.sums.addMomentsInPlace(p.x - this.origin.x, p.y - this.origin.y, p.z - this.origin.z, 1.0);
|
|
244734
244814
|
}
|
|
244735
244815
|
}
|
|
244736
|
-
/**
|
|
244816
|
+
/** Revise the accumulated sums to be "around the centroid". */
|
|
244737
244817
|
shiftOriginAndSumsToCentroidOfSums() {
|
|
244738
244818
|
const xyz = this.sums.columnW().realPoint();
|
|
244739
244819
|
if (xyz) {
|
|
@@ -244742,7 +244822,8 @@ class MomentData {
|
|
|
244742
244822
|
}
|
|
244743
244823
|
return false;
|
|
244744
244824
|
}
|
|
244745
|
-
/**
|
|
244825
|
+
/**
|
|
244826
|
+
* Revise the accumulated sums.
|
|
244746
244827
|
* * add ax,ay,ax to the origin coordinates.
|
|
244747
244828
|
* * apply the negative translation to the sums.
|
|
244748
244829
|
*/
|
|
@@ -244750,11 +244831,12 @@ class MomentData {
|
|
|
244750
244831
|
this.origin.addXYZInPlace(ax, ay, az);
|
|
244751
244832
|
this.sums.multiplyTranslationSandwichInPlace(-ax, -ay, -az);
|
|
244752
244833
|
}
|
|
244753
|
-
/**
|
|
244834
|
+
/** Revise the accumulated sums so they are based at a specified origin. */
|
|
244754
244835
|
shiftOriginAndSumsToNewOrigin(newOrigin) {
|
|
244755
244836
|
this.shiftOriginAndSumsByXYZ(newOrigin.x - this.origin.x, newOrigin.y - this.origin.y, newOrigin.z - this.origin.z);
|
|
244756
244837
|
}
|
|
244757
|
-
/**
|
|
244838
|
+
/**
|
|
244839
|
+
* Compute moments of a triangle from the origin to the given line.
|
|
244758
244840
|
* Accumulate them to this.sums.
|
|
244759
244841
|
* * If `pointA` is undefined, use `this.origin` as pointA.
|
|
244760
244842
|
* * If `this.needOrigin` is set, pointB is used
|
|
@@ -244786,7 +244868,7 @@ class MomentData {
|
|
|
244786
244868
|
this.sums.addScaledOuterProductInPlace(vectorC, vectorC, r1_12);
|
|
244787
244869
|
}
|
|
244788
244870
|
}
|
|
244789
|
-
/**
|
|
244871
|
+
/** Add scaled outer product of (4d, unit weight) point to this.sums. */
|
|
244790
244872
|
accumulateScaledOuterProduct(point, scaleFactor) {
|
|
244791
244873
|
this.setOriginXYZIfNeeded(point.x, point.y, 0.0);
|
|
244792
244874
|
const vectorA = MomentData._vectorA = _Point4d__WEBPACK_IMPORTED_MODULE_5__.Point4d.create(point.x - this.origin.x, point.y - this.origin.y, point.z - this.origin.z, 1.0, MomentData._vectorA);
|
|
@@ -244808,7 +244890,8 @@ class MomentData {
|
|
|
244808
244890
|
this.sums.addScaledOuterProductInPlace(vectorB, vectorA, r1_6);
|
|
244809
244891
|
this.sums.addScaledOuterProductInPlace(vectorB, vectorB, r1_3);
|
|
244810
244892
|
}
|
|
244811
|
-
/**
|
|
244893
|
+
/**
|
|
244894
|
+
* Compute moments of triangles from a base point to the given linestring.
|
|
244812
244895
|
* Accumulate them to this.sums.
|
|
244813
244896
|
* * If `pointA` is undefined, use `this.origin` as pointA.
|
|
244814
244897
|
* * If `this.needOrigin` is set, the first point of the array is captured as local origin for subsequent sums.
|
|
@@ -244825,18 +244908,18 @@ class MomentData {
|
|
|
244825
244908
|
}
|
|
244826
244909
|
}
|
|
244827
244910
|
}
|
|
244828
|
-
// cspell:word ABAT
|
|
244829
244911
|
/**
|
|
244830
244912
|
* * Assemble XX, YY, XY products into a full matrix form [xx,xy,0,0; xy,yy,0,0;0,0,0,0;0,0,0,1].
|
|
244831
|
-
* * Sandwich this between transforms with columns [vectorU, vectorV, 0000, origin]. (Column weights 0001) (only xy
|
|
244913
|
+
* * Sandwich this between transforms with columns [vectorU, vectorV, 0000, origin]. (Column weights 0001) (only xy
|
|
244914
|
+
* parts of vectors).
|
|
244832
244915
|
* * scale by detJ for the xy-only determinant of the vectors.
|
|
244833
244916
|
* @param productXX
|
|
244834
244917
|
* @param productXY
|
|
244835
244918
|
* @param productYY
|
|
244836
|
-
* @param area Area in caller's system
|
|
244837
|
-
* @param origin Caller's origin
|
|
244838
|
-
* @param vectorU Caller's U axis (not necessarily unit)
|
|
244839
|
-
* @param vectorV Caller's V axis (not necessarily unit)
|
|
244919
|
+
* @param area Area in caller's system.
|
|
244920
|
+
* @param origin Caller's origin.
|
|
244921
|
+
* @param vectorU Caller's U axis (not necessarily unit).
|
|
244922
|
+
* @param vectorV Caller's V axis (not necessarily unit).
|
|
244840
244923
|
*/
|
|
244841
244924
|
accumulateXYProductsInCentroidalFrame(productXX, productXY, productYY, area, origin, vectorU, vectorV) {
|
|
244842
244925
|
const centroidalProducts = _Matrix4d__WEBPACK_IMPORTED_MODULE_1__.Matrix4d.createRowValues(productXX, productXY, 0, 0, productXY, productYY, 0, 0, 0, 0, 0, 0, 0, 0, 0, area);
|
|
@@ -244848,27 +244931,23 @@ class MomentData {
|
|
|
244848
244931
|
}
|
|
244849
244932
|
/**
|
|
244850
244933
|
* Accumulate sums from other moments.
|
|
244851
|
-
* *
|
|
244852
|
-
* *
|
|
244853
|
-
* *
|
|
244934
|
+
* * Scale by given scaleFactor (e.g. sign to correct orientation).
|
|
244935
|
+
* * Pull the origin from `other` if `this` needs an origin.
|
|
244854
244936
|
*/
|
|
244855
244937
|
accumulateProducts(other, scale) {
|
|
244856
244938
|
this.setOriginIfNeeded(other.origin);
|
|
244857
244939
|
this.sums.addTranslationSandwichInPlace(other.sums, this.origin.x - other.origin.x, this.origin.y - other.origin.y, this.origin.z - other.origin.z, scale);
|
|
244858
244940
|
}
|
|
244859
244941
|
/**
|
|
244860
|
-
|
|
244861
|
-
|
|
244862
|
-
|
|
244863
|
-
|
|
244864
|
-
*/
|
|
244942
|
+
* Accumulate sums from Matrix4d and origin.
|
|
244943
|
+
* * Scale by given scaleFactor (e.g. sign to correct orientation).
|
|
244944
|
+
* * Trap the origin if `this` needs an origin.
|
|
244945
|
+
*/
|
|
244865
244946
|
accumulateProductsFromOrigin(origin, products, scale) {
|
|
244866
244947
|
this.setOriginIfNeeded(origin);
|
|
244867
244948
|
this.sums.addTranslationSandwichInPlace(products, this.origin.x - origin.x, this.origin.y - origin.y, this.origin.z - origin.z, scale);
|
|
244868
244949
|
}
|
|
244869
|
-
/**
|
|
244870
|
-
* Convert to a json data object with:
|
|
244871
|
-
*/
|
|
244950
|
+
/** Convert to a json data object. */
|
|
244872
244951
|
toJSON() {
|
|
244873
244952
|
return {
|
|
244874
244953
|
origin: this.origin,
|
|
@@ -275646,19 +275725,19 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
275646
275725
|
|
|
275647
275726
|
/**
|
|
275648
275727
|
* A ruled sweep (surface) is a collection of 2 or more contours.
|
|
275649
|
-
* * All contours must have identical number and type of geometry. (paths, loops, parity regions, lines, arcs, other curves)
|
|
275728
|
+
* * All contours must have identical number and type of geometry. (paths, loops, parity regions, lines, arcs, other curves).
|
|
275650
275729
|
* @public
|
|
275651
275730
|
*/
|
|
275652
275731
|
class RuledSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive {
|
|
275653
275732
|
constructor(contours, capped) {
|
|
275654
275733
|
super(capped);
|
|
275655
|
-
/** String name for schema properties */
|
|
275734
|
+
/** String name for schema properties. */
|
|
275656
275735
|
this.solidPrimitiveType = "ruledSweep";
|
|
275657
275736
|
this._contours = contours;
|
|
275658
275737
|
}
|
|
275659
275738
|
/**
|
|
275660
275739
|
* Create a ruled sweep from an array of contours.
|
|
275661
|
-
* *
|
|
275740
|
+
* * The contours are CAPTURED (not cloned).
|
|
275662
275741
|
*/
|
|
275663
275742
|
static create(contours, capped) {
|
|
275664
275743
|
const sweepContours = [];
|
|
@@ -275671,9 +275750,12 @@ class RuledSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimi
|
|
|
275671
275750
|
return new RuledSweep(sweepContours, capped);
|
|
275672
275751
|
}
|
|
275673
275752
|
/** Return a reference to the array of SweepContour. */
|
|
275674
|
-
sweepContoursRef() {
|
|
275675
|
-
|
|
275676
|
-
|
|
275753
|
+
sweepContoursRef() {
|
|
275754
|
+
return this._contours;
|
|
275755
|
+
}
|
|
275756
|
+
/**
|
|
275757
|
+
* Return clones of the sweep contours.
|
|
275758
|
+
* * See also [[cloneContours]], which returns the contours without their local coordinate system definitions.
|
|
275677
275759
|
*/
|
|
275678
275760
|
cloneSweepContours() {
|
|
275679
275761
|
const result = [];
|
|
@@ -275682,8 +275764,9 @@ class RuledSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimi
|
|
|
275682
275764
|
}
|
|
275683
275765
|
return result;
|
|
275684
275766
|
}
|
|
275685
|
-
/**
|
|
275686
|
-
*
|
|
275767
|
+
/**
|
|
275768
|
+
* Return clones of the sweep contours, each as a [[CurveCollection]].
|
|
275769
|
+
* * See also [[cloneSweepContours]], which returns the contours with their local coordinate system definitions.
|
|
275687
275770
|
*/
|
|
275688
275771
|
cloneContours() {
|
|
275689
275772
|
const result = [];
|
|
@@ -275692,7 +275775,7 @@ class RuledSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimi
|
|
|
275692
275775
|
}
|
|
275693
275776
|
return result;
|
|
275694
275777
|
}
|
|
275695
|
-
/** Return a deep clone */
|
|
275778
|
+
/** Return a deep clone. */
|
|
275696
275779
|
clone() {
|
|
275697
275780
|
return new RuledSweep(this.cloneSweepContours(), this.capped);
|
|
275698
275781
|
}
|
|
@@ -275717,19 +275800,22 @@ class RuledSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimi
|
|
|
275717
275800
|
const result = this.clone();
|
|
275718
275801
|
return result.tryTransformInPlace(transform) ? result : undefined;
|
|
275719
275802
|
}
|
|
275720
|
-
/**
|
|
275721
|
-
*
|
|
275803
|
+
/**
|
|
275804
|
+
* Return a coordinate frame (right handed unit vectors)
|
|
275805
|
+
* * origin on base contour.
|
|
275722
275806
|
* * x, y directions from base contour.
|
|
275723
|
-
* * z direction perpendicular
|
|
275807
|
+
* * z direction perpendicular.
|
|
275724
275808
|
*/
|
|
275725
275809
|
getConstructiveFrame() {
|
|
275726
275810
|
if (this._contours.length === 0)
|
|
275727
275811
|
return undefined;
|
|
275728
275812
|
return this._contours[0].localToWorld.cloneRigid();
|
|
275729
275813
|
}
|
|
275730
|
-
/** Test if `other` is an instance of a `RuledSweep
|
|
275731
|
-
isSameGeometryClass(other) {
|
|
275732
|
-
|
|
275814
|
+
/** Test if `other` is an instance of a `RuledSweep`. */
|
|
275815
|
+
isSameGeometryClass(other) {
|
|
275816
|
+
return other instanceof RuledSweep;
|
|
275817
|
+
}
|
|
275818
|
+
/** Test for near equality of two RuledSweeps. */
|
|
275733
275819
|
isAlmostEqual(other) {
|
|
275734
275820
|
if (other instanceof RuledSweep) {
|
|
275735
275821
|
if (this.capped !== other.capped)
|
|
@@ -275744,13 +275830,13 @@ class RuledSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimi
|
|
|
275744
275830
|
}
|
|
275745
275831
|
return false;
|
|
275746
275832
|
}
|
|
275747
|
-
/**
|
|
275833
|
+
/** Dispatch to strongly typed `handler.handleRuledSweep(this)`. */
|
|
275748
275834
|
dispatchToGeometryHandler(handler) {
|
|
275749
275835
|
return handler.handleRuledSweep(this);
|
|
275750
275836
|
}
|
|
275751
275837
|
/**
|
|
275752
|
-
* Return the section curves at a fraction of the sweep
|
|
275753
|
-
* @param vFraction fractional position along the sweep direction
|
|
275838
|
+
* Return the section curves at a fraction of the sweep.
|
|
275839
|
+
* @param vFraction fractional position along the sweep direction.
|
|
275754
275840
|
*/
|
|
275755
275841
|
constantVSection(vFraction) {
|
|
275756
275842
|
const numSection = this._contours.length;
|
|
@@ -275773,12 +275859,14 @@ class RuledSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimi
|
|
|
275773
275859
|
return undefined;
|
|
275774
275860
|
});
|
|
275775
275861
|
}
|
|
275776
|
-
/** Pass each contour to `extendRange
|
|
275862
|
+
/** Pass each contour to `extendRange`. */
|
|
275777
275863
|
extendRange(rangeToExtend, transform) {
|
|
275778
275864
|
for (const contour of this._contours)
|
|
275779
275865
|
contour.curves.extendRange(rangeToExtend, transform);
|
|
275780
275866
|
}
|
|
275781
|
-
/**
|
|
275867
|
+
/**
|
|
275868
|
+
* Construct a CurveCollection with the same structure as collectionA and collectionB, with primitives constructed
|
|
275869
|
+
* by the caller-supplied primitiveMutator function.
|
|
275782
275870
|
* @returns Returns undefined if there is any type mismatch between the two collections.
|
|
275783
275871
|
*/
|
|
275784
275872
|
static mutatePartners(collectionA, collectionB, primitiveMutator) {
|
|
@@ -275829,9 +275917,7 @@ class RuledSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimi
|
|
|
275829
275917
|
return undefined;
|
|
275830
275918
|
}
|
|
275831
275919
|
/**
|
|
275832
|
-
*
|
|
275833
|
-
* * cap flag
|
|
275834
|
-
* identical first and last contours.
|
|
275920
|
+
* @return true if this is a closed volume.
|
|
275835
275921
|
*/
|
|
275836
275922
|
get isClosedVolume() {
|
|
275837
275923
|
const n = this._contours.length;
|
|
@@ -275861,20 +275947,23 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
275861
275947
|
|
|
275862
275948
|
/**
|
|
275863
275949
|
* Base class for SolidPrimitive variants.
|
|
275864
|
-
*
|
|
275865
275950
|
* * The base class holds capped flag for all derived classes.
|
|
275866
275951
|
* @public
|
|
275867
275952
|
*/
|
|
275868
275953
|
class SolidPrimitive extends _curve_GeometryQuery__WEBPACK_IMPORTED_MODULE_0__.GeometryQuery {
|
|
275869
275954
|
constructor(capped) {
|
|
275870
275955
|
super();
|
|
275871
|
-
/** String name for schema properties */
|
|
275956
|
+
/** String name for schema properties. */
|
|
275872
275957
|
this.geometryCategory = "solid";
|
|
275873
275958
|
this._capped = capped;
|
|
275874
275959
|
}
|
|
275875
|
-
/** Whether this is a capped solid */
|
|
275876
|
-
get capped() {
|
|
275877
|
-
|
|
275960
|
+
/** Whether this is a capped solid. */
|
|
275961
|
+
get capped() {
|
|
275962
|
+
return this._capped;
|
|
275963
|
+
}
|
|
275964
|
+
set capped(capped) {
|
|
275965
|
+
this._capped = capped;
|
|
275966
|
+
}
|
|
275878
275967
|
}
|
|
275879
275968
|
|
|
275880
275969
|
|
|
@@ -304398,7 +304487,7 @@ class TestContext {
|
|
|
304398
304487
|
this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
|
|
304399
304488
|
const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
|
|
304400
304489
|
await core_frontend_1.NoRenderApp.startup({
|
|
304401
|
-
applicationVersion: "5.0.0-dev.
|
|
304490
|
+
applicationVersion: "5.0.0-dev.20",
|
|
304402
304491
|
applicationId: this.settings.gprid,
|
|
304403
304492
|
authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.adminUserAccessToken),
|
|
304404
304493
|
hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
|
|
@@ -332044,7 +332133,7 @@ function __rewriteRelativeImportExtension(path, preserveJsx) {
|
|
|
332044
332133
|
/***/ ((module) => {
|
|
332045
332134
|
|
|
332046
332135
|
"use strict";
|
|
332047
|
-
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"5.0.0-dev.
|
|
332136
|
+
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"5.0.0-dev.20","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 --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 --no-inline-config -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run webpackTestWorker && vitest --run","cover":"npm run webpackTestWorker && vitest --run --coverage","test:debug":"vitest --run","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:^5.0.0-dev.20","@itwin/core-bentley":"workspace:^5.0.0-dev.20","@itwin/core-common":"workspace:^5.0.0-dev.20","@itwin/core-geometry":"workspace:^5.0.0-dev.20","@itwin/core-orbitgt":"workspace:^5.0.0-dev.20","@itwin/core-quantity":"workspace:^5.0.0-dev.20"},"//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/eslint-plugin":"5.0.0-dev.1","@types/chai-as-promised":"^7","@vitest/browser":"^2.1.0","@vitest/coverage-v8":"^2.1.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","cpx2":"^3.0.0","eslint":"^9.13.0","glob":"^10.3.12","playwright":"~1.47.1","rimraf":"^3.0.2","source-map-loader":"^4.0.0","typescript":"~5.6.2","typemoq":"^2.1.0","vitest":"^2.1.0","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"1.0.6","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.2.4","@itwin/object-storage-core":"^2.2.5","@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","meshoptimizer":"~0.20.0","wms-capabilities":"0.4.0"}}');
|
|
332048
332137
|
|
|
332049
332138
|
/***/ }),
|
|
332050
332139
|
|