@itwin/rpcinterface-full-stack-tests 4.2.0-dev.7 → 4.2.0-dev.9
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/_0062.bundled-tests.js.map +1 -1
- package/lib/dist/bundled-tests.js +256 -128
- 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_4_7_node_modules_loaders_gl_draco_di-02c2bd.bundled-tests.js.map +1 -1
- package/package.json +13 -13
|
@@ -77045,6 +77045,7 @@ class ModelChangeMonitor {
|
|
|
77045
77045
|
this.processBuffered();
|
|
77046
77046
|
};
|
|
77047
77047
|
this._removals.push(briefcase.txns.onCommitted.addListener(maybeProcess));
|
|
77048
|
+
this._removals.push(briefcase.txns.onReplayedExternalTxns.addListener(maybeProcess));
|
|
77048
77049
|
this._removals.push(briefcase.txns.onAfterUndoRedo.addListener(maybeProcess));
|
|
77049
77050
|
this._removals.push(briefcase.txns.onChangesPulled.addListener(maybeProcess));
|
|
77050
77051
|
}
|
|
@@ -77376,6 +77377,14 @@ class BriefcaseTxns extends BriefcaseNotificationHandler {
|
|
|
77376
77377
|
* @see [[onCommit]] for the event raised before the operation.
|
|
77377
77378
|
*/
|
|
77378
77379
|
this.onCommitted = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
77380
|
+
/** Event raised for a read-only briefcase that was opened with the `watchForChanges` flag enabled when changes made by another connection are applied to the briefcase.
|
|
77381
|
+
* @see [[onReplayedExternalTxns]] for the event raised after all such changes have been applied.
|
|
77382
|
+
*/
|
|
77383
|
+
this.onReplayExternalTxns = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
77384
|
+
/** Event raised for a read-only briefcase that was opened with the `watchForChanges` flag enabled when changes made by another connection are applied to the briefcase.
|
|
77385
|
+
* @see [[onReplayExternalTxns]] for the event raised before the changes are applied.
|
|
77386
|
+
*/
|
|
77387
|
+
this.onReplayedExternalTxns = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
77379
77388
|
/** Event raised after a changeset has been applied to the briefcase.
|
|
77380
77389
|
* Changesets may be applied as a result of [[BriefcaseConnection.pullChanges]], or by undo/redo operations.
|
|
77381
77390
|
*/
|
|
@@ -77511,6 +77520,14 @@ class BriefcaseTxns extends BriefcaseNotificationHandler {
|
|
|
77511
77520
|
this.onCommitted.raiseEvent(hasPendingTxns, time);
|
|
77512
77521
|
}
|
|
77513
77522
|
/** @internal */
|
|
77523
|
+
notifyReplayExternalTxns() {
|
|
77524
|
+
this.onReplayExternalTxns.raiseEvent();
|
|
77525
|
+
}
|
|
77526
|
+
/** @internal */
|
|
77527
|
+
notifyReplayedExternalTxns() {
|
|
77528
|
+
this.onReplayedExternalTxns.raiseEvent();
|
|
77529
|
+
}
|
|
77530
|
+
/** @internal */
|
|
77514
77531
|
notifyChangesApplied() {
|
|
77515
77532
|
this.onChangesApplied.raiseEvent();
|
|
77516
77533
|
}
|
|
@@ -179532,6 +179549,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
179532
179549
|
/* harmony import */ var _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../geometry3d/GrowableFloat64Array */ "../../core/geometry/lib/esm/geometry3d/GrowableFloat64Array.js");
|
|
179533
179550
|
/* harmony import */ var _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../geometry3d/GrowableXYZArray */ "../../core/geometry/lib/esm/geometry3d/GrowableXYZArray.js");
|
|
179534
179551
|
/* harmony import */ var _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../geometry3d/Matrix3d */ "../../core/geometry/lib/esm/geometry3d/Matrix3d.js");
|
|
179552
|
+
/* harmony import */ var _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../geometry3d/Plane3d */ "../../core/geometry/lib/esm/geometry3d/Plane3d.js");
|
|
179535
179553
|
/* harmony import */ var _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../geometry3d/Plane3dByOriginAndUnitNormal */ "../../core/geometry/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js");
|
|
179536
179554
|
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
179537
179555
|
/* harmony import */ var _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../geometry3d/PolygonOps */ "../../core/geometry/lib/esm/geometry3d/PolygonOps.js");
|
|
@@ -179540,7 +179558,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
179540
179558
|
/* harmony import */ var _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../geometry4d/Point4d */ "../../core/geometry/lib/esm/geometry4d/Point4d.js");
|
|
179541
179559
|
/* harmony import */ var _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../numerics/Polynomials */ "../../core/geometry/lib/esm/numerics/Polynomials.js");
|
|
179542
179560
|
/* harmony import */ var _ClipUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ClipUtils */ "../../core/geometry/lib/esm/clipping/ClipUtils.js");
|
|
179543
|
-
/* harmony import */ var _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../geometry3d/Plane3d */ "../../core/geometry/lib/esm/geometry3d/Plane3d.js");
|
|
179544
179561
|
/*---------------------------------------------------------------------------------------------
|
|
179545
179562
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
179546
179563
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -179562,6 +179579,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
179562
179579
|
* A ClipPlane is a single plane represented as
|
|
179563
179580
|
* * An inward unit normal (u,v,w)
|
|
179564
179581
|
* * A signedDistance
|
|
179582
|
+
* More details can be found at docs/learning/geometry/Clipping.md
|
|
179565
179583
|
*
|
|
179566
179584
|
* Hence
|
|
179567
179585
|
* * The halfspace function evaluation for "point" (x,y,z) is `(x,y,z) DOT (u,v,w) - signedDistance`.
|
|
@@ -180074,8 +180092,9 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
180074
180092
|
xyzOut.pushWrap(1);
|
|
180075
180093
|
return xyzOut;
|
|
180076
180094
|
}
|
|
180077
|
-
/**
|
|
180078
|
-
*
|
|
180095
|
+
/**
|
|
180096
|
+
* Implement appendPolygonClip, as defined in interface PolygonClipper.
|
|
180097
|
+
* @param xyz convex polygon. This is not changed.
|
|
180079
180098
|
* @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed
|
|
180080
180099
|
* from the cache. This is NOT cleared.
|
|
180081
180100
|
* @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed
|
|
@@ -180853,22 +180872,28 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
180853
180872
|
/* harmony export */ ClipStepAction: () => (/* binding */ ClipStepAction),
|
|
180854
180873
|
/* harmony export */ ClipUtilities: () => (/* binding */ ClipUtilities)
|
|
180855
180874
|
/* harmony export */ });
|
|
180856
|
-
/* harmony import */ var
|
|
180857
|
-
/* harmony import */ var
|
|
180858
|
-
/* harmony import */ var
|
|
180875
|
+
/* harmony import */ var _curve_CurveCollection__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../curve/CurveCollection */ "../../core/geometry/lib/esm/curve/CurveCollection.js");
|
|
180876
|
+
/* harmony import */ var _curve_CurveFactory__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../curve/CurveFactory */ "../../core/geometry/lib/esm/curve/CurveFactory.js");
|
|
180877
|
+
/* harmony import */ var _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../curve/CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
180878
|
+
/* harmony import */ var _curve_LineString3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../curve/LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
180879
|
+
/* harmony import */ var _curve_Loop__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../curve/Loop */ "../../core/geometry/lib/esm/curve/Loop.js");
|
|
180880
|
+
/* harmony import */ var _curve_Path__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../curve/Path */ "../../core/geometry/lib/esm/curve/Path.js");
|
|
180881
|
+
/* harmony import */ var _curve_RegionOps__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../curve/RegionOps */ "../../core/geometry/lib/esm/curve/RegionOps.js");
|
|
180882
|
+
/* harmony import */ var _curve_UnionRegion__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../curve/UnionRegion */ "../../core/geometry/lib/esm/curve/UnionRegion.js");
|
|
180859
180883
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
180860
|
-
/* harmony import */ var
|
|
180861
|
-
/* harmony import */ var
|
|
180862
|
-
/* harmony import */ var
|
|
180863
|
-
/* harmony import */ var
|
|
180864
|
-
/* harmony import */ var
|
|
180865
|
-
/* harmony import */ var
|
|
180866
|
-
/* harmony import */ var
|
|
180867
|
-
/* harmony import */ var
|
|
180868
|
-
/* harmony import */ var
|
|
180869
|
-
/* harmony import */ var
|
|
180870
|
-
/* harmony import */ var
|
|
180871
|
-
/* harmony import */ var
|
|
180884
|
+
/* harmony import */ var _geometry3d_FrameBuilder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../geometry3d/FrameBuilder */ "../../core/geometry/lib/esm/geometry3d/FrameBuilder.js");
|
|
180885
|
+
/* harmony import */ var _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../geometry3d/GrowableXYZArray */ "../../core/geometry/lib/esm/geometry3d/GrowableXYZArray.js");
|
|
180886
|
+
/* harmony import */ var _geometry3d_Point3dArrayCarrier__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../geometry3d/Point3dArrayCarrier */ "../../core/geometry/lib/esm/geometry3d/Point3dArrayCarrier.js");
|
|
180887
|
+
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
180888
|
+
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
180889
|
+
/* harmony import */ var _geometry3d_ReusableObjectCache__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../geometry3d/ReusableObjectCache */ "../../core/geometry/lib/esm/geometry3d/ReusableObjectCache.js");
|
|
180890
|
+
/* harmony import */ var _polyface_PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../polyface/PolyfaceBuilder */ "../../core/geometry/lib/esm/polyface/PolyfaceBuilder.js");
|
|
180891
|
+
/* harmony import */ var _ClipPlane__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./ClipPlane */ "../../core/geometry/lib/esm/clipping/ClipPlane.js");
|
|
180892
|
+
/* harmony import */ var _ClipPrimitive__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./ClipPrimitive */ "../../core/geometry/lib/esm/clipping/ClipPrimitive.js");
|
|
180893
|
+
/* harmony import */ var _ClipVector__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./ClipVector */ "../../core/geometry/lib/esm/clipping/ClipVector.js");
|
|
180894
|
+
/* harmony import */ var _ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ConvexClipPlaneSet */ "../../core/geometry/lib/esm/clipping/ConvexClipPlaneSet.js");
|
|
180895
|
+
/* harmony import */ var _internalContexts_LineStringOffsetClipperContext__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./internalContexts/LineStringOffsetClipperContext */ "../../core/geometry/lib/esm/clipping/internalContexts/LineStringOffsetClipperContext.js");
|
|
180896
|
+
/* harmony import */ var _UnionOfConvexClipPlaneSets__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./UnionOfConvexClipPlaneSets */ "../../core/geometry/lib/esm/clipping/UnionOfConvexClipPlaneSets.js");
|
|
180872
180897
|
/*---------------------------------------------------------------------------------------------
|
|
180873
180898
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
180874
180899
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -180890,6 +180915,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
180890
180915
|
|
|
180891
180916
|
|
|
180892
180917
|
|
|
180918
|
+
|
|
180919
|
+
|
|
180920
|
+
|
|
180921
|
+
|
|
180922
|
+
|
|
180923
|
+
|
|
180893
180924
|
|
|
180894
180925
|
|
|
180895
180926
|
/**
|
|
@@ -180937,7 +180968,7 @@ var ClipStatus;
|
|
|
180937
180968
|
*/
|
|
180938
180969
|
class ClipUtilities {
|
|
180939
180970
|
/**
|
|
180940
|
-
*
|
|
180971
|
+
* Augment the unsortedFractionsArray with 0 and 1
|
|
180941
180972
|
* * sort
|
|
180942
180973
|
* * test the midpoint of each interval with `clipper.isPointOnOrInside`
|
|
180943
180974
|
* * pass accepted intervals to `announce(f0,f1,curve)`
|
|
@@ -180984,7 +181015,7 @@ class ClipUtilities {
|
|
|
180984
181015
|
return intervals.length > 0;
|
|
180985
181016
|
}
|
|
180986
181017
|
/**
|
|
180987
|
-
* Find portions of the curve that are within the clipper.
|
|
181018
|
+
* Find portions of the curve primitive that are within the clipper.
|
|
180988
181019
|
* Collect them into an array of curve primitives.
|
|
180989
181020
|
*/
|
|
180990
181021
|
static collectClippedCurves(curve, clipper) {
|
|
@@ -180998,6 +181029,75 @@ class ClipUtilities {
|
|
|
180998
181029
|
});
|
|
180999
181030
|
return result;
|
|
181000
181031
|
}
|
|
181032
|
+
/**
|
|
181033
|
+
* Find portions of the planar region that are within the clipper.
|
|
181034
|
+
* Collect them into a single region to return.
|
|
181035
|
+
*/
|
|
181036
|
+
static clipAnyRegion(region, clipper) {
|
|
181037
|
+
let result;
|
|
181038
|
+
// Create "local region" which is the result of rotating region to make
|
|
181039
|
+
// it parallel to the xy-plane and then translating it to the xy-plane.
|
|
181040
|
+
const localToWorld = _geometry3d_FrameBuilder__WEBPACK_IMPORTED_MODULE_1__.FrameBuilder.createRightHandedFrame(undefined, region);
|
|
181041
|
+
if (!localToWorld)
|
|
181042
|
+
return result;
|
|
181043
|
+
const worldToLocal = localToWorld?.inverse();
|
|
181044
|
+
if (!worldToLocal)
|
|
181045
|
+
return result;
|
|
181046
|
+
const localRegion = region.cloneTransformed(worldToLocal);
|
|
181047
|
+
if (!localRegion)
|
|
181048
|
+
return result;
|
|
181049
|
+
// We can only clip convex polygons with our clipper machinery, but the input region doesn't have to be
|
|
181050
|
+
// convex or even a polygon. We get around this limitation by using a Boolean operation, which admits
|
|
181051
|
+
// *any* planar regions, albeit in local coordinates. First, we clip a rectangle that covers the input region
|
|
181052
|
+
// (in world coordinates), then we intersect the resulting fragments with the input region in local coordinates.
|
|
181053
|
+
// Finally, we assemble the results into a UnionRegion back in world coordinates.
|
|
181054
|
+
const localRegionRange = ClipUtilities._workRange = localRegion.range();
|
|
181055
|
+
const xLength = localRegionRange.xLength();
|
|
181056
|
+
const yLength = localRegionRange.yLength();
|
|
181057
|
+
const rectangle = _curve_LineString3d__WEBPACK_IMPORTED_MODULE_2__.LineString3d.createRectangleXY(localRegionRange.low, xLength, yLength, true);
|
|
181058
|
+
rectangle.tryTransformInPlace(localToWorld);
|
|
181059
|
+
// Clip the rectangle to produce fragment(s) which we can Boolean intersect with the input region.
|
|
181060
|
+
const insideFragments = [];
|
|
181061
|
+
const outsideFragments = [];
|
|
181062
|
+
const cache = new _geometry3d_ReusableObjectCache__WEBPACK_IMPORTED_MODULE_3__.GrowableXYZArrayCache();
|
|
181063
|
+
clipper.appendPolygonClip?.(rectangle.packedPoints, insideFragments, outsideFragments, cache);
|
|
181064
|
+
if (insideFragments.length === 0)
|
|
181065
|
+
return result;
|
|
181066
|
+
// Create the "clipped region".
|
|
181067
|
+
for (const fragment of insideFragments) {
|
|
181068
|
+
const loop = _curve_Loop__WEBPACK_IMPORTED_MODULE_4__.Loop.createPolygon(fragment);
|
|
181069
|
+
loop.tryTransformInPlace(worldToLocal);
|
|
181070
|
+
const clippedLocalRegion = _curve_RegionOps__WEBPACK_IMPORTED_MODULE_5__.RegionOps.regionBooleanXY(localRegion, loop, _curve_RegionOps__WEBPACK_IMPORTED_MODULE_5__.RegionBinaryOpType.Intersection);
|
|
181071
|
+
if (clippedLocalRegion) {
|
|
181072
|
+
clippedLocalRegion.tryTransformInPlace(localToWorld);
|
|
181073
|
+
if (!result)
|
|
181074
|
+
result = (clippedLocalRegion instanceof _curve_UnionRegion__WEBPACK_IMPORTED_MODULE_6__.UnionRegion) ? clippedLocalRegion : _curve_UnionRegion__WEBPACK_IMPORTED_MODULE_6__.UnionRegion.create(clippedLocalRegion);
|
|
181075
|
+
else if (!result.tryAddChild(clippedLocalRegion))
|
|
181076
|
+
result.children.push(...clippedLocalRegion.children);
|
|
181077
|
+
}
|
|
181078
|
+
}
|
|
181079
|
+
return result;
|
|
181080
|
+
}
|
|
181081
|
+
/**
|
|
181082
|
+
* Find portions of any curve that are within the clipper.
|
|
181083
|
+
* Collect them into an array of any curves.
|
|
181084
|
+
*/
|
|
181085
|
+
static clipAnyCurve(curve, clipper) {
|
|
181086
|
+
if (curve instanceof _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_7__.CurvePrimitive)
|
|
181087
|
+
return ClipUtilities.collectClippedCurves(curve, clipper);
|
|
181088
|
+
if (curve.isAnyRegionType) {
|
|
181089
|
+
const ret = ClipUtilities.clipAnyRegion(curve, clipper);
|
|
181090
|
+
return ret ? [ret] : [];
|
|
181091
|
+
}
|
|
181092
|
+
const result = [];
|
|
181093
|
+
if (curve instanceof _curve_Path__WEBPACK_IMPORTED_MODULE_8__.Path || curve instanceof _curve_CurveCollection__WEBPACK_IMPORTED_MODULE_9__.BagOfCurves) {
|
|
181094
|
+
for (const child of curve.children) {
|
|
181095
|
+
const partialClip = ClipUtilities.clipAnyCurve(child, clipper);
|
|
181096
|
+
result.push(...partialClip);
|
|
181097
|
+
}
|
|
181098
|
+
}
|
|
181099
|
+
return result;
|
|
181100
|
+
}
|
|
181001
181101
|
/**
|
|
181002
181102
|
* Clip a polygon down to regions defined by each shape of a ClipShape.
|
|
181003
181103
|
* @return An multidimensional array of points, where each array is the boundary of part of the remaining polygon.
|
|
@@ -181036,8 +181136,8 @@ class ClipUtilities {
|
|
|
181036
181136
|
for (const plane of convexSet.planes) {
|
|
181037
181137
|
let numInside = 0, numOutside = 0;
|
|
181038
181138
|
const planeDistance = plane.distance - tolerance;
|
|
181039
|
-
const currPt =
|
|
181040
|
-
const currVec =
|
|
181139
|
+
const currPt = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_10__.Point3d.create();
|
|
181140
|
+
const currVec = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_10__.Vector3d.create();
|
|
181041
181141
|
for (let i = 0; i < points.length; i++) {
|
|
181042
181142
|
points.getPoint3dAtUncheckedPointIndex(i, currPt);
|
|
181043
181143
|
currVec.setFrom(currPt);
|
|
@@ -181065,15 +181165,15 @@ class ClipUtilities {
|
|
|
181065
181165
|
* @param ignoreInvisiblePlanes if true, do NOT compute a facet for convex set faces marked invisible.
|
|
181066
181166
|
*/
|
|
181067
181167
|
static announceLoopsOfConvexClipPlaneSetIntersectRange(convexSet, range, loopFunction, includeConvexSetFaces = true, includeRangeFaces = true, ignoreInvisiblePlanes = false) {
|
|
181068
|
-
const work = new
|
|
181168
|
+
const work = new _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_11__.GrowableXYZArray();
|
|
181069
181169
|
if (includeConvexSetFaces) {
|
|
181070
181170
|
// Clip convexSet planes to the range and to the rest of the convexSet . .
|
|
181071
|
-
if (convexSet instanceof
|
|
181171
|
+
if (convexSet instanceof _ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_12__.ConvexClipPlaneSet) {
|
|
181072
181172
|
for (const plane of convexSet.planes) {
|
|
181073
181173
|
if (ignoreInvisiblePlanes && plane.invisible)
|
|
181074
181174
|
continue;
|
|
181075
181175
|
const pointsClippedToRange = plane.intersectRange(range, true);
|
|
181076
|
-
const finalPoints = new
|
|
181176
|
+
const finalPoints = new _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_11__.GrowableXYZArray();
|
|
181077
181177
|
if (pointsClippedToRange) {
|
|
181078
181178
|
convexSet.polygonClip(pointsClippedToRange, finalPoints, work, plane);
|
|
181079
181179
|
if (finalPoints.length > 0)
|
|
@@ -181096,10 +181196,10 @@ class ClipUtilities {
|
|
|
181096
181196
|
// clip range faces to the convex set . . .
|
|
181097
181197
|
const corners = range.corners();
|
|
181098
181198
|
for (let i = 0; i < 6; i++) {
|
|
181099
|
-
const indices =
|
|
181100
|
-
const finalPoints = new
|
|
181101
|
-
const lineString =
|
|
181102
|
-
if (convexSet instanceof
|
|
181199
|
+
const indices = _geometry3d_Range__WEBPACK_IMPORTED_MODULE_13__.Range3d.faceCornerIndices(i);
|
|
181200
|
+
const finalPoints = new _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_11__.GrowableXYZArray();
|
|
181201
|
+
const lineString = _curve_LineString3d__WEBPACK_IMPORTED_MODULE_2__.LineString3d.createIndexedPoints(corners, indices);
|
|
181202
|
+
if (convexSet instanceof _ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_12__.ConvexClipPlaneSet) {
|
|
181103
181203
|
convexSet.polygonClip(lineString.packedPoints, finalPoints, work);
|
|
181104
181204
|
if (finalPoints.length > 0)
|
|
181105
181205
|
loopFunction(finalPoints);
|
|
@@ -181124,18 +181224,18 @@ class ClipUtilities {
|
|
|
181124
181224
|
*/
|
|
181125
181225
|
static loopsOfConvexClipPlaneIntersectionWithRange(allClippers, range, includeConvexSetFaces = true, includeRangeFaces = true, ignoreInvisiblePlanes = false) {
|
|
181126
181226
|
const result = [];
|
|
181127
|
-
if (allClippers instanceof
|
|
181227
|
+
if (allClippers instanceof _UnionOfConvexClipPlaneSets__WEBPACK_IMPORTED_MODULE_14__.UnionOfConvexClipPlaneSets) {
|
|
181128
181228
|
for (const clipper of allClippers.convexSets) {
|
|
181129
181229
|
this.announceLoopsOfConvexClipPlaneSetIntersectRange(clipper, range, (points) => {
|
|
181130
181230
|
if (points.length > 0)
|
|
181131
|
-
result.push(
|
|
181231
|
+
result.push(_curve_Loop__WEBPACK_IMPORTED_MODULE_4__.Loop.createPolygon(points));
|
|
181132
181232
|
}, includeConvexSetFaces, includeRangeFaces, ignoreInvisiblePlanes);
|
|
181133
181233
|
}
|
|
181134
181234
|
}
|
|
181135
|
-
else if (allClippers instanceof
|
|
181235
|
+
else if (allClippers instanceof _ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_12__.ConvexClipPlaneSet || allClippers instanceof _ClipPlane__WEBPACK_IMPORTED_MODULE_15__.ClipPlane) {
|
|
181136
181236
|
this.announceLoopsOfConvexClipPlaneSetIntersectRange(allClippers, range, (points) => {
|
|
181137
181237
|
if (points.length > 0)
|
|
181138
|
-
result.push(
|
|
181238
|
+
result.push(_curve_Loop__WEBPACK_IMPORTED_MODULE_4__.Loop.createPolygon(points));
|
|
181139
181239
|
}, includeConvexSetFaces, includeRangeFaces, ignoreInvisiblePlanes);
|
|
181140
181240
|
}
|
|
181141
181241
|
return result;
|
|
@@ -181147,7 +181247,7 @@ class ClipUtilities {
|
|
|
181147
181247
|
* @param range range to intersect
|
|
181148
181248
|
*/
|
|
181149
181249
|
static rangeOfConvexClipPlaneSetIntersectionWithRange(convexSet, range) {
|
|
181150
|
-
const result =
|
|
181250
|
+
const result = _geometry3d_Range__WEBPACK_IMPORTED_MODULE_13__.Range3d.createNull();
|
|
181151
181251
|
this.announceLoopsOfConvexClipPlaneSetIntersectRange(convexSet, range, (points) => {
|
|
181152
181252
|
if (points.length > 0)
|
|
181153
181253
|
result.extendArray(points);
|
|
@@ -181170,22 +181270,22 @@ class ClipUtilities {
|
|
|
181170
181270
|
static rangeOfClipperIntersectionWithRange(clipper, range, observeInvisibleFlag = true) {
|
|
181171
181271
|
if (clipper === undefined)
|
|
181172
181272
|
return range.clone();
|
|
181173
|
-
if (clipper instanceof
|
|
181273
|
+
if (clipper instanceof _ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_12__.ConvexClipPlaneSet)
|
|
181174
181274
|
return this.rangeOfConvexClipPlaneSetIntersectionWithRange(clipper, range);
|
|
181175
|
-
if (clipper instanceof
|
|
181176
|
-
const rangeUnion =
|
|
181275
|
+
if (clipper instanceof _UnionOfConvexClipPlaneSets__WEBPACK_IMPORTED_MODULE_14__.UnionOfConvexClipPlaneSets) {
|
|
181276
|
+
const rangeUnion = _geometry3d_Range__WEBPACK_IMPORTED_MODULE_13__.Range3d.createNull();
|
|
181177
181277
|
for (const c of clipper.convexSets) {
|
|
181178
181278
|
const rangeC = this.rangeOfConvexClipPlaneSetIntersectionWithRange(c, range);
|
|
181179
181279
|
rangeUnion.extendRange(rangeC);
|
|
181180
181280
|
}
|
|
181181
181281
|
return rangeUnion;
|
|
181182
181282
|
}
|
|
181183
|
-
if (clipper instanceof
|
|
181283
|
+
if (clipper instanceof _ClipPrimitive__WEBPACK_IMPORTED_MODULE_16__.ClipPrimitive) {
|
|
181184
181284
|
if (observeInvisibleFlag && clipper.invisible)
|
|
181185
181285
|
return range.clone();
|
|
181186
181286
|
return this.rangeOfClipperIntersectionWithRange(clipper.fetchClipPlanesRef(), range);
|
|
181187
181287
|
}
|
|
181188
|
-
if (clipper instanceof
|
|
181288
|
+
if (clipper instanceof _ClipVector__WEBPACK_IMPORTED_MODULE_17__.ClipVector) {
|
|
181189
181289
|
const rangeIntersection = range.clone();
|
|
181190
181290
|
for (const c of clipper.clips) {
|
|
181191
181291
|
if (observeInvisibleFlag && c.invisible) {
|
|
@@ -181217,21 +181317,21 @@ class ClipUtilities {
|
|
|
181217
181317
|
static doesClipperIntersectRange(clipper, range, observeInvisibleFlag = true) {
|
|
181218
181318
|
if (clipper === undefined)
|
|
181219
181319
|
return true;
|
|
181220
|
-
if (clipper instanceof
|
|
181320
|
+
if (clipper instanceof _ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_12__.ConvexClipPlaneSet)
|
|
181221
181321
|
return this.doesConvexClipPlaneSetIntersectRange(clipper, range);
|
|
181222
|
-
if (clipper instanceof
|
|
181322
|
+
if (clipper instanceof _UnionOfConvexClipPlaneSets__WEBPACK_IMPORTED_MODULE_14__.UnionOfConvexClipPlaneSets) {
|
|
181223
181323
|
for (const c of clipper.convexSets) {
|
|
181224
181324
|
if (this.doesConvexClipPlaneSetIntersectRange(c, range))
|
|
181225
181325
|
return true;
|
|
181226
181326
|
}
|
|
181227
181327
|
return false;
|
|
181228
181328
|
}
|
|
181229
|
-
if (clipper instanceof
|
|
181329
|
+
if (clipper instanceof _ClipPrimitive__WEBPACK_IMPORTED_MODULE_16__.ClipPrimitive) {
|
|
181230
181330
|
if (observeInvisibleFlag && clipper.invisible) // um is there an easy way to detect range-completely-inside?
|
|
181231
181331
|
return true;
|
|
181232
181332
|
return this.doesClipperIntersectRange(clipper.fetchClipPlanesRef(), range);
|
|
181233
181333
|
}
|
|
181234
|
-
if (clipper instanceof
|
|
181334
|
+
if (clipper instanceof _ClipVector__WEBPACK_IMPORTED_MODULE_17__.ClipVector) {
|
|
181235
181335
|
const rangeIntersection = range.clone();
|
|
181236
181336
|
for (const c of clipper.clips) {
|
|
181237
181337
|
if (observeInvisibleFlag && c.invisible) {
|
|
@@ -181256,7 +181356,7 @@ class ClipUtilities {
|
|
|
181256
181356
|
* @param ignoreInvisiblePlanes if true, do NOT compute a facet for convex set faces marked invisible.
|
|
181257
181357
|
*/
|
|
181258
181358
|
static doesConvexClipPlaneSetIntersectRange(convexSet, range, includeConvexSetFaces = true, includeRangeFaces = true, ignoreInvisiblePlanes = false) {
|
|
181259
|
-
const work = new
|
|
181359
|
+
const work = new _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_11__.GrowableXYZArray();
|
|
181260
181360
|
if (includeConvexSetFaces) {
|
|
181261
181361
|
// Clip convexSet planes to the range and to the rest of the convexSet . .
|
|
181262
181362
|
for (const plane of convexSet.planes) {
|
|
@@ -181264,7 +181364,7 @@ class ClipUtilities {
|
|
|
181264
181364
|
continue;
|
|
181265
181365
|
const pointsClippedToRange = plane.intersectRange(range, true);
|
|
181266
181366
|
if (pointsClippedToRange) {
|
|
181267
|
-
const finalPoints = new
|
|
181367
|
+
const finalPoints = new _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_11__.GrowableXYZArray();
|
|
181268
181368
|
convexSet.polygonClip(pointsClippedToRange, finalPoints, work, plane);
|
|
181269
181369
|
if (finalPoints.length > 0)
|
|
181270
181370
|
return true;
|
|
@@ -181275,9 +181375,9 @@ class ClipUtilities {
|
|
|
181275
181375
|
// clip range faces to the convex set . . .
|
|
181276
181376
|
const corners = range.corners();
|
|
181277
181377
|
for (let i = 0; i < 6; i++) {
|
|
181278
|
-
const indices =
|
|
181279
|
-
const finalPoints = new
|
|
181280
|
-
const lineString =
|
|
181378
|
+
const indices = _geometry3d_Range__WEBPACK_IMPORTED_MODULE_13__.Range3d.faceCornerIndices(i);
|
|
181379
|
+
const finalPoints = new _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_11__.GrowableXYZArray();
|
|
181380
|
+
const lineString = _curve_LineString3d__WEBPACK_IMPORTED_MODULE_2__.LineString3d.createIndexedPoints(corners, indices);
|
|
181281
181381
|
convexSet.polygonClip(lineString.packedPoints, finalPoints, work);
|
|
181282
181382
|
if (finalPoints.length > 0)
|
|
181283
181383
|
return true;
|
|
@@ -181306,10 +181406,10 @@ class ClipUtilities {
|
|
|
181306
181406
|
}
|
|
181307
181407
|
// convert range0 into a clipper in local1 coordinates, then intersect with range1
|
|
181308
181408
|
const local0ToLocal1 = worldToLocal1.multiplyTransformTransform(local0ToWorld, worldToLocal1);
|
|
181309
|
-
const builder =
|
|
181409
|
+
const builder = _polyface_PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_18__.PolyfaceBuilder.create();
|
|
181310
181410
|
builder.addTransformedRangeMesh(local0ToLocal1, range0);
|
|
181311
181411
|
const mesh0 = builder.claimPolyface();
|
|
181312
|
-
const clipper = ClipUtilities._workClipper =
|
|
181412
|
+
const clipper = ClipUtilities._workClipper = _ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_12__.ConvexClipPlaneSet.createConvexPolyface(mesh0, ClipUtilities._workClipper).clipper;
|
|
181313
181413
|
return ClipUtilities.doesClipperIntersectRange(clipper, myRange1);
|
|
181314
181414
|
}
|
|
181315
181415
|
/**
|
|
@@ -181361,9 +181461,9 @@ class ClipUtilities {
|
|
|
181361
181461
|
*/
|
|
181362
181462
|
static createXYOffsetClipFromLineString(points, leftOffset, rightOffset, z0, z1) {
|
|
181363
181463
|
if (Array.isArray(points)) {
|
|
181364
|
-
return
|
|
181464
|
+
return _internalContexts_LineStringOffsetClipperContext__WEBPACK_IMPORTED_MODULE_19__.LineStringOffsetClipperContext.createClipBetweenOffsets(new _geometry3d_Point3dArrayCarrier__WEBPACK_IMPORTED_MODULE_20__.Point3dArrayCarrier(points), leftOffset, rightOffset, z0, z1);
|
|
181365
181465
|
}
|
|
181366
|
-
return
|
|
181466
|
+
return _internalContexts_LineStringOffsetClipperContext__WEBPACK_IMPORTED_MODULE_19__.LineStringOffsetClipperContext.createClipBetweenOffsets(points, leftOffset, rightOffset, z0, z1);
|
|
181367
181467
|
}
|
|
181368
181468
|
/** If data.length >= minLength threshold, push it to destination; if smaller drop it back to the cache. */
|
|
181369
181469
|
static captureOrDrop(data, minLength, destination, cache) {
|
|
@@ -181553,7 +181653,7 @@ class ClipUtilities {
|
|
|
181553
181653
|
*/
|
|
181554
181654
|
static doPolygonClipSequence(xyz, clippers, acceptedIn, acceptedOut, finalCandidates, inAction, outAction, finalFragmentAction, arrayCache) {
|
|
181555
181655
|
if (arrayCache === undefined)
|
|
181556
|
-
arrayCache = new
|
|
181656
|
+
arrayCache = new _geometry3d_ReusableObjectCache__WEBPACK_IMPORTED_MODULE_3__.GrowableXYZArrayCache();
|
|
181557
181657
|
let candidates = [arrayCache.grabAndFill(xyz)];
|
|
181558
181658
|
let nextCandidates = [];
|
|
181559
181659
|
const intermediateIn = [];
|
|
@@ -181590,7 +181690,7 @@ class ClipUtilities {
|
|
|
181590
181690
|
/** Pass polygon `xyz` through a sequence of PolygonClip steps with "parity" rules */
|
|
181591
181691
|
static doPolygonClipParitySequence(xyz, clippers, acceptedIn, acceptedOut, arrayCache) {
|
|
181592
181692
|
if (arrayCache === undefined)
|
|
181593
|
-
arrayCache = new
|
|
181693
|
+
arrayCache = new _geometry3d_ReusableObjectCache__WEBPACK_IMPORTED_MODULE_3__.GrowableXYZArrayCache();
|
|
181594
181694
|
let candidatesOut = [arrayCache.grabAndFill(xyz)];
|
|
181595
181695
|
let candidatesIn = [];
|
|
181596
181696
|
let nextCandidatesIn = [];
|
|
@@ -181642,22 +181742,22 @@ class ClipUtilities {
|
|
|
181642
181742
|
*/
|
|
181643
181743
|
static createComplementaryClips(clipper) {
|
|
181644
181744
|
const planes = clipper.planes;
|
|
181645
|
-
const interval =
|
|
181745
|
+
const interval = _geometry3d_Range__WEBPACK_IMPORTED_MODULE_13__.Range1d.createNull();
|
|
181646
181746
|
const n = planes.length;
|
|
181647
181747
|
const newClippers = [];
|
|
181648
181748
|
for (const p of planes) {
|
|
181649
|
-
const outerSet =
|
|
181749
|
+
const outerSet = _ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_12__.ConvexClipPlaneSet.createEmpty();
|
|
181650
181750
|
outerSet.addPlaneToConvexSet(p.cloneNegated());
|
|
181651
181751
|
newClippers.push(outerSet);
|
|
181652
181752
|
}
|
|
181653
181753
|
for (let i = 0; i < n; i++) {
|
|
181654
181754
|
for (let j = i + 1; j < n; j++) {
|
|
181655
|
-
const ray =
|
|
181755
|
+
const ray = _curve_CurveFactory__WEBPACK_IMPORTED_MODULE_21__.CurveFactory.planePlaneIntersectionRay(planes[i], planes[j]);
|
|
181656
181756
|
if (ray) {
|
|
181657
181757
|
if (clipper.hasIntersectionWithRay(ray, interval)) {
|
|
181658
181758
|
// the normal-to-normal vector is bisector (or close to bisector?)
|
|
181659
181759
|
const newNormal = planes[j].inwardNormalRef.minus(planes[i].inwardNormalRef);
|
|
181660
|
-
const plane1 =
|
|
181760
|
+
const plane1 = _ClipPlane__WEBPACK_IMPORTED_MODULE_15__.ClipPlane.createNormalAndPoint(newNormal, ray.origin);
|
|
181661
181761
|
if (plane1) {
|
|
181662
181762
|
const plane2 = plane1.cloneNegated();
|
|
181663
181763
|
newClippers[i].addPlaneToConvexSet(plane1);
|
|
@@ -181667,10 +181767,10 @@ class ClipUtilities {
|
|
|
181667
181767
|
}
|
|
181668
181768
|
}
|
|
181669
181769
|
}
|
|
181670
|
-
return
|
|
181770
|
+
return _UnionOfConvexClipPlaneSets__WEBPACK_IMPORTED_MODULE_14__.UnionOfConvexClipPlaneSets.createConvexSets(newClippers);
|
|
181671
181771
|
}
|
|
181672
181772
|
}
|
|
181673
|
-
ClipUtilities._selectIntervals01TestPoint =
|
|
181773
|
+
ClipUtilities._selectIntervals01TestPoint = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_10__.Point3d.create();
|
|
181674
181774
|
|
|
181675
181775
|
function moveFragments(fragments, destination, arrayCache) {
|
|
181676
181776
|
if (destination === undefined)
|
|
@@ -182330,6 +182430,7 @@ class ConvexClipPlaneSet {
|
|
|
182330
182430
|
* Create a convex clip plane set that clips to `x0 <= x <= x1` and `y0 <= y <= y1`.
|
|
182331
182431
|
* * Note that there is no test for the usual ordering `x0 <= x1` or `y0 <= y1`.
|
|
182332
182432
|
* * if the usual ordering is violated, the convex set is an empty set.
|
|
182433
|
+
* * More details can be found at docs/learning/geometry/Clipping.md
|
|
182333
182434
|
*/
|
|
182334
182435
|
static createXYBox(x0, y0, x1, y1, result) {
|
|
182335
182436
|
result = result ? result : new ConvexClipPlaneSet();
|
|
@@ -182775,7 +182876,7 @@ class ConvexClipPlaneSet {
|
|
|
182775
182876
|
* valid clip in a parity sense.
|
|
182776
182877
|
* * The containingPlane parameter allows callers within ConvexClipPlane set to bypass planes known to contain
|
|
182777
182878
|
* the polygon.
|
|
182778
|
-
* @param input
|
|
182879
|
+
* @param input polygon, usually convex.
|
|
182779
182880
|
* @param output output polygon
|
|
182780
182881
|
* @param work work array.
|
|
182781
182882
|
* @param containingPlane if this plane is found in the convex set, it is NOT applied.
|
|
@@ -182908,7 +183009,7 @@ class ConvexClipPlaneSet {
|
|
|
182908
183009
|
}
|
|
182909
183010
|
/**
|
|
182910
183011
|
* Implement appendPolygonClip, as defined in interface PolygonClipper.
|
|
182911
|
-
* @param xyz
|
|
183012
|
+
* @param xyz convex polygon. This is not changed.
|
|
182912
183013
|
* @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from
|
|
182913
183014
|
* the cache. This is NOT cleared.
|
|
182914
183015
|
* @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from
|
|
@@ -183285,8 +183386,8 @@ class UnionOfConvexClipPlaneSets {
|
|
|
183285
183386
|
}
|
|
183286
183387
|
}
|
|
183287
183388
|
/**
|
|
183288
|
-
*
|
|
183289
|
-
* @param xyz
|
|
183389
|
+
* Implement appendPolygonClip, as defined in interface PolygonClipper.
|
|
183390
|
+
* @param xyz convex polygon. This is not changed.
|
|
183290
183391
|
* @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from
|
|
183291
183392
|
* the cache. This is NOT cleared.
|
|
183292
183393
|
* @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from
|
|
@@ -185318,7 +185419,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
185318
185419
|
|
|
185319
185420
|
|
|
185320
185421
|
|
|
185321
|
-
/**
|
|
185422
|
+
/**
|
|
185423
|
+
* A Coordinate is a Point3d with supporting methods from the GeometryQuery abstraction.
|
|
185322
185424
|
* @public
|
|
185323
185425
|
*/
|
|
185324
185426
|
class CoordinateXYZ extends _GeometryQuery__WEBPACK_IMPORTED_MODULE_0__.GeometryQuery {
|
|
@@ -185341,9 +185443,9 @@ class CoordinateXYZ extends _GeometryQuery__WEBPACK_IMPORTED_MODULE_0__.Geometry
|
|
|
185341
185443
|
static createXYZ(x = 0, y = 0, z = 0) {
|
|
185342
185444
|
return new CoordinateXYZ(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create(x, y, z));
|
|
185343
185445
|
}
|
|
185344
|
-
/**
|
|
185446
|
+
/** Return the range of the point */
|
|
185345
185447
|
range() { return _geometry3d_Range__WEBPACK_IMPORTED_MODULE_2__.Range3d.create(this._xyz); }
|
|
185346
|
-
/**
|
|
185448
|
+
/** Extend `rangeToExtend` to include this point (optionally transformed) */
|
|
185347
185449
|
extendRange(rangeToExtend, transform) {
|
|
185348
185450
|
if (transform)
|
|
185349
185451
|
rangeToExtend.extendTransformedXYZ(transform, this._xyz.x, this._xyz.y, this._xyz.z);
|
|
@@ -185355,31 +185457,30 @@ class CoordinateXYZ extends _GeometryQuery__WEBPACK_IMPORTED_MODULE_0__.Geometry
|
|
|
185355
185457
|
transform.multiplyPoint3d(this._xyz, this._xyz);
|
|
185356
185458
|
return true;
|
|
185357
185459
|
}
|
|
185358
|
-
/**
|
|
185359
|
-
*/
|
|
185460
|
+
/** Return a transformed clone */
|
|
185360
185461
|
cloneTransformed(transform) {
|
|
185361
185462
|
const result = new CoordinateXYZ(this._xyz.clone());
|
|
185362
185463
|
result.tryTransformInPlace(transform);
|
|
185363
185464
|
return result;
|
|
185364
185465
|
}
|
|
185365
|
-
/**
|
|
185466
|
+
/** Return a clone */
|
|
185366
185467
|
clone() {
|
|
185367
185468
|
return new CoordinateXYZ(this._xyz.clone());
|
|
185368
185469
|
}
|
|
185369
|
-
/**
|
|
185370
|
-
*
|
|
185371
|
-
* *
|
|
185470
|
+
/**
|
|
185471
|
+
* Return GeometryQuery children for recursive queries.
|
|
185472
|
+
* * Leaf classes do not need to implement.
|
|
185372
185473
|
*/
|
|
185373
|
-
/**
|
|
185474
|
+
/** Test if (other instanceof Coordinate). */
|
|
185374
185475
|
isSameGeometryClass(other) {
|
|
185375
185476
|
return other instanceof CoordinateXYZ;
|
|
185376
185477
|
}
|
|
185377
|
-
/**
|
|
185378
|
-
*
|
|
185478
|
+
/**
|
|
185479
|
+
* Test for exact structure and nearly identical geometry.
|
|
185379
185480
|
* * Leaf classes must implement !!!
|
|
185380
|
-
* *
|
|
185381
|
-
* *
|
|
185382
|
-
* *
|
|
185481
|
+
* * Base class implementation recurses through children.
|
|
185482
|
+
* * Base implementation is complete for classes with children and no properties.
|
|
185483
|
+
* * Classes with both children and properties must implement for properties, call super for children.
|
|
185383
185484
|
*/
|
|
185384
185485
|
isAlmostEqual(other) {
|
|
185385
185486
|
return (other instanceof CoordinateXYZ) && this._xyz.isAlmostEqual(other._xyz);
|
|
@@ -186447,7 +186548,7 @@ class CurveChain extends CurveCollection {
|
|
|
186447
186548
|
/**
|
|
186448
186549
|
* Return the index where target is found in the array of children.
|
|
186449
186550
|
* @param alsoSearchProxies whether to also check proxy curves of the children
|
|
186450
|
-
|
|
186551
|
+
*/
|
|
186451
186552
|
childIndex(target, alsoSearchProxies) {
|
|
186452
186553
|
for (let i = 0; i < this._curves.length; i++) {
|
|
186453
186554
|
if (this._curves[i] === target)
|
|
@@ -186789,7 +186890,7 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
186789
186890
|
resetGeometry(geometryB) {
|
|
186790
186891
|
this.setGeometryB(geometryB);
|
|
186791
186892
|
}
|
|
186792
|
-
/**
|
|
186893
|
+
/** returns true if `fraction` is in [0,1] within tolerance */
|
|
186793
186894
|
acceptFraction(fraction, fractionTol = 1.0e-12) {
|
|
186794
186895
|
if (fraction < -fractionTol)
|
|
186795
186896
|
return false;
|
|
@@ -186831,8 +186932,9 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
186831
186932
|
cpB, fractionB0, fractionB1, reversed, intervalDetails) {
|
|
186832
186933
|
let globalFractionA, globalFractionB;
|
|
186833
186934
|
let globalFractionA1, globalFractionB1;
|
|
186834
|
-
const isInterval =
|
|
186835
|
-
intervalDetails.detailA.hasFraction1 &&
|
|
186935
|
+
const isInterval = intervalDetails !== undefined &&
|
|
186936
|
+
intervalDetails.detailA.hasFraction1 &&
|
|
186937
|
+
intervalDetails.detailB.hasFraction1;
|
|
186836
186938
|
if (isInterval) {
|
|
186837
186939
|
globalFractionA = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.interpolate(fractionA0, intervalDetails.detailA.fraction, fractionA1);
|
|
186838
186940
|
globalFractionB = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.interpolate(fractionB0, intervalDetails.detailB.fraction, fractionB1);
|
|
@@ -186966,8 +187068,8 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
186966
187068
|
* @param a1 end point of line a
|
|
186967
187069
|
* @param b0 start point of line b
|
|
186968
187070
|
* @param b1 end point of line b
|
|
186969
|
-
* @param result point to receive fractional coordinates of intersection. result.x is fraction on line a.
|
|
186970
|
-
*
|
|
187071
|
+
* @param result point to receive fractional coordinates of intersection. result.x is fraction on line a. result.y
|
|
187072
|
+
* is fraction on line b.
|
|
186971
187073
|
*/
|
|
186972
187074
|
static segmentSegmentBoundedApproach(a0, a1, b0, b1, minDistanceSquared) {
|
|
186973
187075
|
const ux = a1.x - a0.x;
|
|
@@ -187005,6 +187107,17 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
187005
187107
|
closestApproach = this.updatePointToSegmentDistance(1, a1, b0, b1, -_Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.dotProductXYXY(vx, vy, e10x, e10y) / vv, minDistanceSquared, closestApproach);
|
|
187006
187108
|
return closestApproach;
|
|
187007
187109
|
}
|
|
187110
|
+
/**
|
|
187111
|
+
* Return fractions of close approach within minDistance between two line segments( a0,a1) and (b0, b1)
|
|
187112
|
+
* * minDistance is assumed positive
|
|
187113
|
+
* Return the fractional (not xy) coordinates in result.x, result.y
|
|
187114
|
+
* @param a0 start point of line a
|
|
187115
|
+
* @param a1 end point of line a
|
|
187116
|
+
* @param b0 start point of line b
|
|
187117
|
+
* @param b1 end point of line b
|
|
187118
|
+
* @param result point to receive fractional coordinates of intersection. result.x is fraction on line a. result.y
|
|
187119
|
+
* is fraction on line b.
|
|
187120
|
+
*/
|
|
187008
187121
|
testAndRecordFractionalPairApproach(cpA, fA0, fA1, testProjectionOnA, cpB, fB0, fB1, testProjectionOnB, reversed) {
|
|
187009
187122
|
const pointA0 = cpA.fractionToPoint(fA0);
|
|
187010
187123
|
const pointA1 = cpA.fractionToPoint(fA1);
|
|
@@ -187593,7 +187706,8 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
187593
187706
|
let globalFractionA, globalFractionB;
|
|
187594
187707
|
let globalFractionA1, globalFractionB1;
|
|
187595
187708
|
const isInterval = intervalDetails !== undefined &&
|
|
187596
|
-
intervalDetails.detailA.hasFraction1 &&
|
|
187709
|
+
intervalDetails.detailA.hasFraction1 &&
|
|
187710
|
+
intervalDetails.detailB.hasFraction1;
|
|
187597
187711
|
if (isInterval) {
|
|
187598
187712
|
globalFractionA = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.interpolate(fractionA0, intervalDetails.detailA.fraction, fractionA1);
|
|
187599
187713
|
globalFractionB = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.interpolate(fractionB0, intervalDetails.detailB.fraction, fractionB1);
|
|
@@ -187667,8 +187781,8 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
187667
187781
|
this.recordPointWithLocalFractions(overlap.detailA.fraction, cpA, fractionA0, fractionA1, overlap.detailB.fraction, cpB, fractionB0, fractionB1, reversed, overlap);
|
|
187668
187782
|
}
|
|
187669
187783
|
else if (_numerics_Polynomials__WEBPACK_IMPORTED_MODULE_6__.SmallSystem.lineSegment3dXYTransverseIntersectionUnbounded(pointA0, pointA1, pointB0, pointB1, uv)) {
|
|
187670
|
-
if (this.acceptFractionOnLine(extendA0, uv.x, extendA1, pointA0, pointA1, this._coincidentGeometryContext.tolerance)
|
|
187671
|
-
|
|
187784
|
+
if (this.acceptFractionOnLine(extendA0, uv.x, extendA1, pointA0, pointA1, this._coincidentGeometryContext.tolerance) &&
|
|
187785
|
+
this.acceptFractionOnLine(extendB0, uv.y, extendB1, pointB0, pointB1, this._coincidentGeometryContext.tolerance)) {
|
|
187672
187786
|
this.recordPointWithLocalFractions(uv.x, cpA, fractionA0, fractionA1, uv.y, cpB, fractionB0, fractionB1, reversed);
|
|
187673
187787
|
}
|
|
187674
187788
|
}
|
|
@@ -187711,8 +187825,8 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
187711
187825
|
}
|
|
187712
187826
|
}
|
|
187713
187827
|
// Caller accesses data from a linestring or segment and passes it here.
|
|
187714
|
-
// (The line segment in question might be (a) a full line segment or (b) a fragment within a linestring.
|
|
187715
|
-
// allow all combinations to be passed in)
|
|
187828
|
+
// (The line segment in question might be (a) a full line segment or (b) a fragment within a linestring.
|
|
187829
|
+
// The fraction and extend parameters allow all combinations to be passed in)
|
|
187716
187830
|
dispatchSegmentArc(cpA, extendA0, pointA0, fractionA0, pointA1, fractionA1, extendA1, arc, extendB0, extendB1, reversed) {
|
|
187717
187831
|
// Arc: X = C + cU + sV
|
|
187718
187832
|
// Line: contains points A0,A1
|
|
@@ -187737,7 +187851,8 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
187737
187851
|
const arcPoint = data.center.plus2Scaled(data.vector0, cosines.atUncheckedIndex(i), data.vector90, sines.atUncheckedIndex(i));
|
|
187738
187852
|
const arcFraction = data.sweep.radiansToSignedPeriodicFraction(radians.atUncheckedIndex(i));
|
|
187739
187853
|
const lineFraction = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_6__.SmallSystem.lineSegment3dHXYClosestPointUnbounded(pointA0H, pointA1H, arcPoint);
|
|
187740
|
-
if (lineFraction !== undefined &&
|
|
187854
|
+
if (lineFraction !== undefined &&
|
|
187855
|
+
this.acceptFraction(extendA0, lineFraction, extendA1) &&
|
|
187741
187856
|
this.acceptFraction(extendB0, arcFraction, extendB1)) {
|
|
187742
187857
|
this.recordPointWithLocalFractions(lineFraction, cpA, fractionA0, fractionA1, arcFraction, arc, 0, 1, reversed);
|
|
187743
187858
|
}
|
|
@@ -187764,8 +187879,9 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
187764
187879
|
const arcPoint = data.center.plus2Scaled(data.vector0, cosines.atUncheckedIndex(i), data.vector90, sines.atUncheckedIndex(i));
|
|
187765
187880
|
const arcFraction = data.sweep.radiansToSignedPeriodicFraction(radians.atUncheckedIndex(i));
|
|
187766
187881
|
const lineFraction = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_6__.SmallSystem.lineSegment3dXYClosestPointUnbounded(pointA0Local, pointA1Local, arcPoint);
|
|
187767
|
-
if (lineFraction !== undefined &&
|
|
187768
|
-
|
|
187882
|
+
if (lineFraction !== undefined &&
|
|
187883
|
+
this.acceptFraction(extendA0, lineFraction, extendA1, lineFractionTol) &&
|
|
187884
|
+
this.acceptFraction(extendB0, arcFraction, extendB1, arcFractionTol)) {
|
|
187769
187885
|
this.recordPointWithLocalFractions(lineFraction, cpA, fractionA0, fractionA1, arcFraction, arc, 0, 1, reversed);
|
|
187770
187886
|
}
|
|
187771
187887
|
}
|
|
@@ -188090,8 +188206,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
188090
188206
|
const curvePoint = detail.point;
|
|
188091
188207
|
const curvePointH = this.projectPoint(curvePoint);
|
|
188092
188208
|
const lineFraction = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_6__.SmallSystem.lineSegment3dHXYClosestPointUnbounded(pointA0H, pointA1H, curvePointH);
|
|
188093
|
-
if (lineFraction !== undefined &&
|
|
188094
|
-
this.acceptFraction(extendA0, lineFraction, extendA1) &&
|
|
188209
|
+
if (lineFraction !== undefined && this.acceptFraction(extendA0, lineFraction, extendA1) &&
|
|
188095
188210
|
this.acceptFraction(extendB, fractionB, extendB)) {
|
|
188096
188211
|
this.recordPointWithLocalFractions(lineFraction, cpA, fractionA0, fractionA1, fractionB, bcurve, 0, 1, reversed);
|
|
188097
188212
|
}
|
|
@@ -193694,7 +193809,7 @@ class Path extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
|
|
|
193694
193809
|
curve.emitStrokes(strokes, options);
|
|
193695
193810
|
return Path.create(strokes);
|
|
193696
193811
|
}
|
|
193697
|
-
/** Return the boundary type (1) of a corresponding
|
|
193812
|
+
/** Return the boundary type (1) of a corresponding MicroStation CurveVector */
|
|
193698
193813
|
dgnBoundaryType() {
|
|
193699
193814
|
return 1;
|
|
193700
193815
|
}
|
|
@@ -197388,7 +197503,7 @@ class UnionRegion extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveCol
|
|
|
197388
197503
|
* * Returns false if the `AnyCurve` child is not a region type.
|
|
197389
197504
|
*/
|
|
197390
197505
|
tryAddChild(child) {
|
|
197391
|
-
if (child && child instanceof _ParityRegion__WEBPACK_IMPORTED_MODULE_1__.ParityRegion || child instanceof _Loop__WEBPACK_IMPORTED_MODULE_2__.Loop) {
|
|
197506
|
+
if (child && (child instanceof _ParityRegion__WEBPACK_IMPORTED_MODULE_1__.ParityRegion || child instanceof _Loop__WEBPACK_IMPORTED_MODULE_2__.Loop)) {
|
|
197392
197507
|
this._children.push(child);
|
|
197393
197508
|
return true;
|
|
197394
197509
|
}
|
|
@@ -205420,7 +205535,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
205420
205535
|
|
|
205421
205536
|
|
|
205422
205537
|
|
|
205423
|
-
/* eslint-disable @typescript-eslint/naming-convention, no-empty */
|
|
205424
205538
|
|
|
205425
205539
|
|
|
205426
205540
|
|
|
@@ -205428,6 +205542,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
205428
205542
|
|
|
205429
205543
|
|
|
205430
205544
|
|
|
205545
|
+
/* eslint-disable @typescript-eslint/naming-convention, no-empty */
|
|
205431
205546
|
/**
|
|
205432
205547
|
* Helper class to accumulate points and vectors until there is enough data to define a coordinate system.
|
|
205433
205548
|
*
|
|
@@ -205435,10 +205550,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
205435
205550
|
* * create the FrameBuilder and make calls to announcePoint and announceVector.
|
|
205436
205551
|
* * the frame will be fully determined by an origin and two vectors.
|
|
205437
205552
|
* * the first call to announcePoint will set the origin.
|
|
205438
|
-
* *
|
|
205439
|
-
* *
|
|
205553
|
+
* * additional calls to announcePoint will produce announceVector call with the vector from the origin.
|
|
205554
|
+
* * after each announcement, call getValidatedFrame(false)
|
|
205440
205555
|
* * getValidatedFrame will succeed when it has two independent vectors.
|
|
205441
|
-
* *
|
|
205556
|
+
* * To build a left handed frame,
|
|
205442
205557
|
* * an origin and 3 independent vectors are required.
|
|
205443
205558
|
* * announce as above, but query with getValidatedFrame (true).
|
|
205444
205559
|
* * this will use the third vector to select right or left handed frame.
|
|
@@ -205453,11 +205568,18 @@ class FrameBuilder {
|
|
|
205453
205568
|
}
|
|
205454
205569
|
return false;
|
|
205455
205570
|
}
|
|
205456
|
-
/**
|
|
205457
|
-
clear() {
|
|
205458
|
-
|
|
205459
|
-
|
|
205460
|
-
|
|
205571
|
+
/** Clear all accumulated point and vector data */
|
|
205572
|
+
clear() {
|
|
205573
|
+
this._origin = undefined;
|
|
205574
|
+
this._vector0 = undefined;
|
|
205575
|
+
this._vector1 = undefined;
|
|
205576
|
+
this._vector2 = undefined;
|
|
205577
|
+
}
|
|
205578
|
+
constructor() {
|
|
205579
|
+
this.clear();
|
|
205580
|
+
}
|
|
205581
|
+
/**
|
|
205582
|
+
* Try to assemble the data into a non-singular transform.
|
|
205461
205583
|
* * If allowLeftHanded is false, vector0 and vector1 determine a right handed coordinate system.
|
|
205462
205584
|
* * if allowLeftHanded is true, the z vector of the right handed system can be flipped to agree with vector2 direction.
|
|
205463
205585
|
*/
|
|
@@ -205492,8 +205614,11 @@ class FrameBuilder {
|
|
|
205492
205614
|
}
|
|
205493
205615
|
}
|
|
205494
205616
|
/** Ask if there is a defined origin for the evolving frame */
|
|
205495
|
-
get hasOrigin() {
|
|
205496
|
-
|
|
205617
|
+
get hasOrigin() {
|
|
205618
|
+
return this._origin !== undefined;
|
|
205619
|
+
}
|
|
205620
|
+
/**
|
|
205621
|
+
* Return the number of vectors saved. Because the save process checks numerics, this should be the rank of the system.
|
|
205497
205622
|
*/
|
|
205498
205623
|
savedVectorCount() {
|
|
205499
205624
|
if (!this._vector0)
|
|
@@ -205504,7 +205629,9 @@ class FrameBuilder {
|
|
|
205504
205629
|
return 2;
|
|
205505
205630
|
return 3;
|
|
205506
205631
|
}
|
|
205507
|
-
/**
|
|
205632
|
+
/**
|
|
205633
|
+
* Announce a new point. If this point is different from the origin, also compute and announce the vector from the origin.
|
|
205634
|
+
*/
|
|
205508
205635
|
announcePoint(point) {
|
|
205509
205636
|
if (!this._origin) {
|
|
205510
205637
|
this._origin = point.clone();
|
|
@@ -205515,7 +205642,7 @@ class FrameBuilder {
|
|
|
205515
205642
|
return this.savedVectorCount();
|
|
205516
205643
|
return this.announceVector(this._origin.vectorTo(point));
|
|
205517
205644
|
}
|
|
205518
|
-
/**
|
|
205645
|
+
/** Announce a new vector. */
|
|
205519
205646
|
announceVector(vector) {
|
|
205520
205647
|
if (vector.isAlmostZero)
|
|
205521
205648
|
return this.savedVectorCount();
|
|
@@ -205542,8 +205669,9 @@ class FrameBuilder {
|
|
|
205542
205669
|
// fall through if prior vectors are all there -- no need for the new one.
|
|
205543
205670
|
return 3;
|
|
205544
205671
|
}
|
|
205545
|
-
/**
|
|
205546
|
-
*
|
|
205672
|
+
/**
|
|
205673
|
+
* Inspect the content of the data. Announce points and vectors. Return when savedVectorCount becomes sufficient
|
|
205674
|
+
* for a coordinate system.
|
|
205547
205675
|
*/
|
|
205548
205676
|
announce(data) {
|
|
205549
205677
|
if (this.savedVectorCount() > 1)
|
|
@@ -205624,11 +205752,11 @@ class FrameBuilder {
|
|
|
205624
205752
|
}
|
|
205625
205753
|
}
|
|
205626
205754
|
}
|
|
205627
|
-
/**
|
|
205628
|
-
*
|
|
205629
|
-
* *
|
|
205630
|
-
* *
|
|
205631
|
-
* *
|
|
205755
|
+
/**
|
|
205756
|
+
* Create a localToWorld frame for the given data.
|
|
205757
|
+
* * origin is at first point.
|
|
205758
|
+
* * x axis in direction of first nonzero vector present or implied by the input.
|
|
205759
|
+
* * y axis is perpendicular to x and contains (in positive side) the next vector present or implied by the input.
|
|
205632
205760
|
*/
|
|
205633
205761
|
static createRightHandedFrame(defaultUpVector, ...params) {
|
|
205634
205762
|
const builder = new FrameBuilder();
|
|
@@ -205663,10 +205791,11 @@ class FrameBuilder {
|
|
|
205663
205791
|
}
|
|
205664
205792
|
return undefined;
|
|
205665
205793
|
}
|
|
205666
|
-
/**
|
|
205794
|
+
/**
|
|
205795
|
+
* Create a transform containing points or vectors in the given data.
|
|
205667
205796
|
* * The xy columns of the transform contain the first points or vectors of the data.
|
|
205668
205797
|
* * The z column is perpendicular to that xy plane.
|
|
205669
|
-
* * The calculation favors the first points found.
|
|
205798
|
+
* * The calculation favors the first points found. It does not try to get a "best" plane.
|
|
205670
205799
|
*/
|
|
205671
205800
|
static createRightHandedLocalToWorld(...params) {
|
|
205672
205801
|
const builder = new FrameBuilder();
|
|
@@ -205679,10 +205808,9 @@ class FrameBuilder {
|
|
|
205679
205808
|
return undefined;
|
|
205680
205809
|
}
|
|
205681
205810
|
/**
|
|
205682
|
-
*
|
|
205683
|
-
*
|
|
205684
|
-
*
|
|
205685
|
-
* point most distant from that line.
|
|
205811
|
+
* Try to create a frame whose xy plane is through points.
|
|
205812
|
+
* * If 3 or more distinct points are present, the x axis is from the first point to the most distant, and y
|
|
205813
|
+
* direction is toward the point most distant from that line.
|
|
205686
205814
|
* @param points array of points
|
|
205687
205815
|
*/
|
|
205688
205816
|
static createFrameToDistantPoints(points) {
|
|
@@ -205699,10 +205827,10 @@ class FrameBuilder {
|
|
|
205699
205827
|
return undefined;
|
|
205700
205828
|
}
|
|
205701
205829
|
/**
|
|
205702
|
-
*
|
|
205830
|
+
* Try to create a frame whose xy plane is through points, with the points appearing CCW in the local frame.
|
|
205703
205831
|
*
|
|
205704
|
-
* *
|
|
205705
|
-
* point most distant from that line.
|
|
205832
|
+
* * If 3 or more distinct points are present, the x axis is from the first point to the most distant, and y
|
|
205833
|
+
* direction is toward the point most distant from that line.
|
|
205706
205834
|
* @param points array of points
|
|
205707
205835
|
*/
|
|
205708
205836
|
static createFrameWithCCWPolygon(points) {
|
|
@@ -279629,7 +279757,7 @@ class TestContext {
|
|
|
279629
279757
|
this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
|
|
279630
279758
|
const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
|
|
279631
279759
|
await core_frontend_1.NoRenderApp.startup({
|
|
279632
|
-
applicationVersion: "4.2.0-dev.
|
|
279760
|
+
applicationVersion: "4.2.0-dev.9",
|
|
279633
279761
|
applicationId: this.settings.gprid,
|
|
279634
279762
|
authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.adminUserAccessToken),
|
|
279635
279763
|
hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
|
|
@@ -299063,7 +299191,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
|
|
|
299063
299191
|
/***/ ((module) => {
|
|
299064
299192
|
|
|
299065
299193
|
"use strict";
|
|
299066
|
-
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.2.0-dev.
|
|
299194
|
+
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.2.0-dev.9","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:^4.2.0-dev.9","@itwin/core-bentley":"workspace:^4.2.0-dev.9","@itwin/core-common":"workspace:^4.2.0-dev.9","@itwin/core-geometry":"workspace:^4.2.0-dev.9","@itwin/core-orbitgt":"workspace:^4.2.0-dev.9","@itwin/core-quantity":"workspace:^4.2.0-dev.9"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/certa":"workspace:*","@itwin/eslint-plugin":"4.0.0-dev.44","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/node":"18.16.1","@types/sinon":"^10.0.15","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.44.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^15.0.4","source-map-loader":"^4.0.0","typescript":"~5.0.2","webpack":"^5.76.0"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/cloud-agnostic-core":"^2.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"}}');
|
|
299067
299195
|
|
|
299068
299196
|
/***/ }),
|
|
299069
299197
|
|