@itwin/rpcinterface-full-stack-tests 4.1.0-dev.70 → 4.1.0-dev.72
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/{_05e2.bundled-tests.js → _0062.bundled-tests.js} +3 -3
- package/lib/dist/_0062.bundled-tests.js.map +1 -0
- package/lib/dist/bundled-tests.js +541 -394
- package/lib/dist/bundled-tests.js.map +1 -1
- package/lib/dist/{vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_4_node_modules_loaders_gl_draco_di-6aa0d4.bundled-tests.js → vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_7_node_modules_loaders_gl_draco_di-02c2bd.bundled-tests.js} +73 -73
- package/lib/dist/{vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_4_node_modules_loaders_gl_draco_di-6aa0d4.bundled-tests.js.map → 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
- package/lib/dist/_05e2.bundled-tests.js.map +0 -1
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
|
|
22
22
|
/***/ }),
|
|
23
23
|
|
|
24
|
-
/***/ "../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.
|
|
25
|
-
|
|
26
|
-
!*** ../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.
|
|
27
|
-
|
|
24
|
+
/***/ "../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.11/node_modules/@itwin/certa/lib/utils/CallbackUtils.js":
|
|
25
|
+
/*!*********************************************************************************************************************!*\
|
|
26
|
+
!*** ../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.11/node_modules/@itwin/certa/lib/utils/CallbackUtils.js ***!
|
|
27
|
+
\*********************************************************************************************************************/
|
|
28
28
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
29
29
|
|
|
30
30
|
"use strict";
|
|
@@ -2825,7 +2825,7 @@ exports.getAccessTokenFromBackend = exports.getTokenCallbackName = void 0;
|
|
|
2825
2825
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
2826
2826
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
2827
2827
|
*--------------------------------------------------------------------------------------------*/
|
|
2828
|
-
const CallbackUtils_1 = __webpack_require__(/*! @itwin/certa/lib/utils/CallbackUtils */ "../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.
|
|
2828
|
+
const CallbackUtils_1 = __webpack_require__(/*! @itwin/certa/lib/utils/CallbackUtils */ "../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.11/node_modules/@itwin/certa/lib/utils/CallbackUtils.js");
|
|
2829
2829
|
// Shared by both the frontend and backend side of the tests
|
|
2830
2830
|
exports.getTokenCallbackName = "getToken";
|
|
2831
2831
|
async function getAccessTokenFromBackend(user, oidcConfig) {
|
|
@@ -20801,8 +20801,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
20801
20801
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
20802
20802
|
/* harmony export */ "default": () => (/* binding */ Browser)
|
|
20803
20803
|
/* harmony export */ });
|
|
20804
|
-
/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
20805
|
-
/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
20804
|
+
/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
|
|
20805
|
+
/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/createClass.js");
|
|
20806
20806
|
|
|
20807
20807
|
|
|
20808
20808
|
|
|
@@ -75744,17 +75744,25 @@ class AccuSnap {
|
|
|
75744
75744
|
}
|
|
75745
75745
|
}
|
|
75746
75746
|
}
|
|
75747
|
-
/**
|
|
75747
|
+
/** TentativeOrAccuSnap returns information about an active snap generated by either [[AccuSnap]] or [[TentativePoint]].
|
|
75748
|
+
* @public
|
|
75749
|
+
*/
|
|
75748
75750
|
class TentativeOrAccuSnap {
|
|
75751
|
+
/** @return true if AccuSnap is *hot* or TentativePoint is active and snapped to pickable geometry. */
|
|
75749
75752
|
static get isHot() { return _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.isHot || _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.tentativePoint.isSnapped; }
|
|
75753
|
+
/** Get the current snap from either AccuSnap or TentativePoint.
|
|
75754
|
+
* @param checkIsHot true to only return the snap from AccuSnap when it is *hot*.
|
|
75755
|
+
* @return The current snap from AccuSnap, TentativePoint, or undefined.
|
|
75756
|
+
*/
|
|
75750
75757
|
static getCurrentSnap(checkIsHot = true) {
|
|
75751
|
-
// Checking for a hot AccuSnap
|
|
75758
|
+
// Checking for a hot AccuSnap before checking TentativePoint is done to support extended intersections...
|
|
75752
75759
|
if (_IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.isHot)
|
|
75753
75760
|
return _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.getCurrSnapDetail();
|
|
75754
75761
|
if (_IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.tentativePoint.isSnapped)
|
|
75755
75762
|
return _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.tentativePoint.currSnap;
|
|
75756
75763
|
return (checkIsHot ? undefined : _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.getCurrSnapDetail());
|
|
75757
75764
|
}
|
|
75765
|
+
/** @return The current snap location from AccuSnap or TentativePoint */
|
|
75758
75766
|
static getCurrentPoint() {
|
|
75759
75767
|
if (_IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.isHot) {
|
|
75760
75768
|
const snap = _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.getCurrSnapDetail();
|
|
@@ -75763,6 +75771,7 @@ class TentativeOrAccuSnap {
|
|
|
75763
75771
|
}
|
|
75764
75772
|
return _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.tentativePoint.getPoint();
|
|
75765
75773
|
}
|
|
75774
|
+
/** @return The current snap Viewport from AccuSnap or TentativePoint */
|
|
75766
75775
|
static getCurrentView() {
|
|
75767
75776
|
const snap = _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.getCurrSnapDetail();
|
|
75768
75777
|
return snap ? snap.viewport : _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.tentativePoint.viewport;
|
|
@@ -97873,7 +97882,7 @@ class GltfParser {
|
|
|
97873
97882
|
if (dracoMeshes.length === 0)
|
|
97874
97883
|
return;
|
|
97875
97884
|
try {
|
|
97876
|
-
const dracoLoader = (await Promise.all(/*! import() */[__webpack_require__.e("vendors-
|
|
97885
|
+
const dracoLoader = (await Promise.all(/*! import() */[__webpack_require__.e("vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_7_node_modules_loaders_gl_draco_di-02c2bd"), __webpack_require__.e("_0062")]).then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.4.7/node_modules/@loaders.gl/draco/dist/esm/index.js"))).DracoLoader;
|
|
97877
97886
|
await Promise.all(dracoMeshes.map(async (x) => this.decodeDracoMesh(x, dracoLoader)));
|
|
97878
97887
|
}
|
|
97879
97888
|
catch (err) {
|
|
@@ -140987,7 +140996,7 @@ class GltfReader {
|
|
|
140987
140996
|
if (dracoMeshes.length === 0)
|
|
140988
140997
|
return;
|
|
140989
140998
|
try {
|
|
140990
|
-
const dracoLoader = (await Promise.all(/*! import() */[__webpack_require__.e("vendors-
|
|
140999
|
+
const dracoLoader = (await Promise.all(/*! import() */[__webpack_require__.e("vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_7_node_modules_loaders_gl_draco_di-02c2bd"), __webpack_require__.e("_0062")]).then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.4.7/node_modules/@loaders.gl/draco/dist/esm/index.js"))).DracoLoader;
|
|
140991
141000
|
await Promise.all(dracoMeshes.map(async (x) => this.decodeDracoMesh(x, dracoLoader)));
|
|
140992
141001
|
}
|
|
140993
141002
|
catch (err) {
|
|
@@ -143865,7 +143874,7 @@ function readPnts(stream, dataOffset, pnts) {
|
|
|
143865
143874
|
}
|
|
143866
143875
|
async function decodeDracoPointCloud(buf) {
|
|
143867
143876
|
try {
|
|
143868
|
-
const dracoLoader = (await Promise.all(/*! import() */[__webpack_require__.e("vendors-
|
|
143877
|
+
const dracoLoader = (await Promise.all(/*! import() */[__webpack_require__.e("vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_7_node_modules_loaders_gl_draco_di-02c2bd"), __webpack_require__.e("_0062")]).then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.4.7/node_modules/@loaders.gl/draco/dist/esm/index.js"))).DracoLoader;
|
|
143869
143878
|
const mesh = await dracoLoader.parse(buf, {});
|
|
143870
143879
|
if (mesh.topology !== "point-list")
|
|
143871
143880
|
return undefined;
|
|
@@ -178316,7 +178325,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
178316
178325
|
/**
|
|
178317
178326
|
* An AlternatingConvexClipTreeNode is a node in a tree structure in which
|
|
178318
178327
|
* <ul>
|
|
178319
|
-
* <li>Each node contains a ConvexClipPlaneSet
|
|
178328
|
+
* <li>Each node contains a ConvexClipPlaneSet.
|
|
178320
178329
|
* <li>Each node contains an array of children which are also AlternatingConvexClipTreeNode.
|
|
178321
178330
|
* <li>The rule for an in/out decision is that a point is IN the subtree under a node if
|
|
178322
178331
|
* <ul>
|
|
@@ -178362,9 +178371,7 @@ class AlternatingCCTreeNode {
|
|
|
178362
178371
|
builder.buildHullTree(result); // <-- Currently ALWAYS returns true
|
|
178363
178372
|
return result;
|
|
178364
178373
|
}
|
|
178365
|
-
/**
|
|
178366
|
-
* Build the outer convex hull will inlets as first level children
|
|
178367
|
-
*/
|
|
178374
|
+
/** Build the outer convex hull with inlets as first level children. */
|
|
178368
178375
|
static createHullAndInletsForPolygon(points, result) {
|
|
178369
178376
|
result = result ? result : new AlternatingCCTreeNode();
|
|
178370
178377
|
result.empty();
|
|
@@ -178379,14 +178386,15 @@ class AlternatingCCTreeNode {
|
|
|
178379
178386
|
}
|
|
178380
178387
|
/**
|
|
178381
178388
|
* Return an array with all the loops in the tree.
|
|
178382
|
-
* This
|
|
178389
|
+
* This loses the alternating structure of the tree, but the collection still matches well-formed polygons by
|
|
178390
|
+
* parity rules.
|
|
178383
178391
|
*/
|
|
178384
178392
|
extractLoops() {
|
|
178385
178393
|
const loops = [];
|
|
178386
178394
|
this.extractLoopsGo(loops);
|
|
178387
178395
|
return loops;
|
|
178388
178396
|
}
|
|
178389
|
-
/** Resets this AlternatingConvexClipTreeNode to a newly-created state */
|
|
178397
|
+
/** Resets this AlternatingConvexClipTreeNode to a newly-created state. */
|
|
178390
178398
|
empty() {
|
|
178391
178399
|
this.points.length = 0;
|
|
178392
178400
|
this.planes.planes.length = 0;
|
|
@@ -178413,7 +178421,7 @@ class AlternatingCCTreeNode {
|
|
|
178413
178421
|
const newNode = AlternatingCCTreeNode.createWithIndices(index0, numPoints);
|
|
178414
178422
|
this.children.push(newNode);
|
|
178415
178423
|
}
|
|
178416
|
-
/** Add a plane to the ConvexClipPlaneSet */
|
|
178424
|
+
/** Add a plane to the ConvexClipPlaneSet. */
|
|
178417
178425
|
addPlane(plane) {
|
|
178418
178426
|
this.planes.addPlaneToConvexSet(plane);
|
|
178419
178427
|
}
|
|
@@ -178428,7 +178436,8 @@ class AlternatingCCTreeNode {
|
|
|
178428
178436
|
}
|
|
178429
178437
|
return true;
|
|
178430
178438
|
}
|
|
178431
|
-
/**
|
|
178439
|
+
/**
|
|
178440
|
+
* Add an AlternatingConvexClipTreeNode as a child of this one -- i.e. a hole.
|
|
178432
178441
|
* * The child pointer is pushed directly to the tree -- not cloned.
|
|
178433
178442
|
*/
|
|
178434
178443
|
captureConvexClipPlaneSetAsVoid(child) {
|
|
@@ -178445,10 +178454,11 @@ class AlternatingCCTreeNode {
|
|
|
178445
178454
|
clipper.appendCurveCollectionClip(this, curves, insideIntervals, outsideIntervals);
|
|
178446
178455
|
}
|
|
178447
178456
|
/**
|
|
178448
|
-
*
|
|
178449
|
-
* @param
|
|
178450
|
-
*
|
|
178451
|
-
* @param outsideFragments Array to receive "outside" fragments.
|
|
178457
|
+
* @param xyz input polygon. This is not changed.
|
|
178458
|
+
* @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from
|
|
178459
|
+
* the cache. This is NOT cleared.
|
|
178460
|
+
* @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed
|
|
178461
|
+
* from the cache. This is NOT cleared.
|
|
178452
178462
|
* @param arrayCache cache for reusable GrowableXYZArray.
|
|
178453
178463
|
*/
|
|
178454
178464
|
appendPolygonClip(xyz, insideFragments, outsideFragments, arrayCache) {
|
|
@@ -178481,9 +178491,6 @@ class AlternatingCCTreeNode {
|
|
|
178481
178491
|
}
|
|
178482
178492
|
}
|
|
178483
178493
|
}
|
|
178484
|
-
/**
|
|
178485
|
-
*
|
|
178486
|
-
*/
|
|
178487
178494
|
depth() {
|
|
178488
178495
|
const myDepth = 1;
|
|
178489
178496
|
let maxChildDepth = 0;
|
|
@@ -178514,9 +178521,15 @@ class AlternatingCCTreeBuilder {
|
|
|
178514
178521
|
result._points.pop();
|
|
178515
178522
|
return result;
|
|
178516
178523
|
}
|
|
178517
|
-
get period() {
|
|
178518
|
-
|
|
178519
|
-
|
|
178524
|
+
get period() {
|
|
178525
|
+
return this._points.length;
|
|
178526
|
+
}
|
|
178527
|
+
indexAfter(i) {
|
|
178528
|
+
return (i + 1) % this._points.length;
|
|
178529
|
+
}
|
|
178530
|
+
indexBefore(i) {
|
|
178531
|
+
return (i + this._points.length - 1) % this._points.length;
|
|
178532
|
+
}
|
|
178520
178533
|
pushIndex(primaryPointIndex) {
|
|
178521
178534
|
this._stack.push(primaryPointIndex);
|
|
178522
178535
|
}
|
|
@@ -178750,8 +178763,8 @@ class AlternatingCCTreeNodeCurveClipper {
|
|
|
178750
178763
|
return false;
|
|
178751
178764
|
}
|
|
178752
178765
|
/**
|
|
178753
|
-
* Run one level of recursion. On return, the stack is one level deeper than at entry and the new top of the stack
|
|
178754
|
-
* (expensive -- must clone items of arrays during "swaps")
|
|
178766
|
+
* Run one level of recursion. On return, the stack is one level deeper than at entry and the new top of the stack
|
|
178767
|
+
* has clip for this node (expensive -- must clone items of arrays during "swaps").
|
|
178755
178768
|
*/
|
|
178756
178769
|
recurse(node) {
|
|
178757
178770
|
this.pushEmptySegmentFrame();
|
|
@@ -178841,25 +178854,26 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
178841
178854
|
|
|
178842
178855
|
|
|
178843
178856
|
|
|
178844
|
-
/**
|
|
178857
|
+
/**
|
|
178858
|
+
* A BooleanClipFactory is a factory to create objects that implement interior nodes of a tree of boolean clip operations.
|
|
178845
178859
|
* * These methods create specific clip tree types:
|
|
178846
178860
|
* * Union
|
|
178847
178861
|
* * Intersection
|
|
178848
178862
|
* * Parity
|
|
178849
178863
|
* * Difference
|
|
178850
|
-
* * Each construction has a `keepInside` flag that optionally negates the initial result of the parity, intersection,
|
|
178851
|
-
*
|
|
178852
|
-
* * if `keepInside ===
|
|
178853
|
-
*
|
|
178854
|
-
*
|
|
178864
|
+
* * Each construction has a `keepInside` flag that optionally negates the initial result of the parity, intersection,
|
|
178865
|
+
* parity, or difference:
|
|
178866
|
+
* * if `keepInside === true`, accept the "inside" of the initial result.
|
|
178867
|
+
* * if `keepInside === false`, accept the "outside" of the initial result.
|
|
178868
|
+
* * These methods create various other specialized clippers.
|
|
178855
178869
|
* @public
|
|
178856
178870
|
*/
|
|
178857
178871
|
class BooleanClipFactory {
|
|
178858
178872
|
/**
|
|
178859
|
-
* Create a boolean clipper which performs a union over its children
|
|
178860
|
-
* * if `keepInside === true`, accept the "inside" of the union result
|
|
178861
|
-
* * if `keepInside === false`, accept the "outside" of the union result
|
|
178862
|
-
* @param clippers clip objects to capture
|
|
178873
|
+
* Create a boolean clipper which performs a union over its children.
|
|
178874
|
+
* * if `keepInside === true`, accept the "inside" of the union result.
|
|
178875
|
+
* * if `keepInside === false`, accept the "outside" of the union result.
|
|
178876
|
+
* @param clippers clip objects to capture.
|
|
178863
178877
|
* @param keepInside flag to select results inside or outside the clippers.
|
|
178864
178878
|
*/
|
|
178865
178879
|
static createCaptureUnion(clippers, keepInside) {
|
|
@@ -178868,10 +178882,10 @@ class BooleanClipFactory {
|
|
|
178868
178882
|
return result;
|
|
178869
178883
|
}
|
|
178870
178884
|
/**
|
|
178871
|
-
* Create a boolean clipper which performs an intersection over its children
|
|
178872
|
-
* * if `keepInside === true`, accept the "inside" of the intersection result
|
|
178873
|
-
* * if `keepInside === false`, accept the "outside" of the intersection result
|
|
178874
|
-
* @param clippers clip objects to capture
|
|
178885
|
+
* Create a boolean clipper which performs an intersection over its children.
|
|
178886
|
+
* * if `keepInside === true`, accept the "inside" of the intersection result.
|
|
178887
|
+
* * if `keepInside === false`, accept the "outside" of the intersection result.
|
|
178888
|
+
* @param clippers clip objects to capture.
|
|
178875
178889
|
* @param keepInside flag to select results inside or outside the clippers.
|
|
178876
178890
|
*/
|
|
178877
178891
|
static createCaptureIntersection(clippers, keepInside) {
|
|
@@ -178880,10 +178894,10 @@ class BooleanClipFactory {
|
|
|
178880
178894
|
return result;
|
|
178881
178895
|
}
|
|
178882
178896
|
/**
|
|
178883
|
-
* Create a boolean clipper which performs a parity over its children
|
|
178884
|
-
* * if `keepInside === true`, accept the "inside" of the parity result
|
|
178885
|
-
* * if `keepInside === false`, accept the "outside" of the parity result
|
|
178886
|
-
* @param clippers clip objects to capture
|
|
178897
|
+
* Create a boolean clipper which performs a parity over its children.
|
|
178898
|
+
* * if `keepInside === true`, accept the "inside" of the parity result.
|
|
178899
|
+
* * if `keepInside === false`, accept the "outside" of the parity result.
|
|
178900
|
+
* @param clippers clip objects to capture.
|
|
178887
178901
|
* @param keepInside flag to select results inside or outside the clippers.
|
|
178888
178902
|
*/
|
|
178889
178903
|
static createCaptureParity(clippers, keepInside) {
|
|
@@ -178892,10 +178906,11 @@ class BooleanClipFactory {
|
|
|
178892
178906
|
return result;
|
|
178893
178907
|
}
|
|
178894
178908
|
/**
|
|
178895
|
-
* Create a boolean clipper which performs a difference operation for points "inside `primaryClipper`" and
|
|
178896
|
-
*
|
|
178897
|
-
* * if `keepInside ===
|
|
178898
|
-
*
|
|
178909
|
+
* Create a boolean clipper which performs a difference operation for points "inside `primaryClipper`" and
|
|
178910
|
+
* "outside `excludedClipper`".
|
|
178911
|
+
* * if `keepInside === true`, accept the "inside" of the difference.
|
|
178912
|
+
* * if `keepInside === false`, accept the "outside" of the difference.
|
|
178913
|
+
* @param primaryClipper any clip object whose output is treated as positive.
|
|
178899
178914
|
* @param excludeClip any clipper whose output is treated as negative.
|
|
178900
178915
|
* @param keepInside flag to select results inside or outside the initial `primary minus excludeClipper` clippers.
|
|
178901
178916
|
*/
|
|
@@ -178904,19 +178919,17 @@ class BooleanClipFactory {
|
|
|
178904
178919
|
return this.createCaptureIntersection([primaryClipper, mask], keepInside);
|
|
178905
178920
|
}
|
|
178906
178921
|
/**
|
|
178907
|
-
* Create a boolean clipper which performs the reverse of that of `primaryClipper
|
|
178908
|
-
* @param primaryClipper clip objects to capture
|
|
178922
|
+
* Create a boolean clipper which performs the reverse of that of `primaryClipper`.
|
|
178923
|
+
* @param primaryClipper clip objects to capture.
|
|
178909
178924
|
* @param keepInside flag to select results inside or outside the clippers.
|
|
178910
178925
|
*/
|
|
178911
178926
|
static createCaptureClipOutside(primaryClipper) {
|
|
178912
178927
|
return this.createCaptureUnion([primaryClipper], false);
|
|
178913
178928
|
}
|
|
178914
178929
|
/**
|
|
178915
|
-
*
|
|
178930
|
+
* Convert `source` to an array of clipper objects.
|
|
178916
178931
|
* * ANY TYPE OF Clipper is accepted.
|
|
178917
178932
|
* * REMARK: This is normally called only from the primary public method `parseToClipper`.
|
|
178918
|
-
* @param source
|
|
178919
|
-
* @param internal
|
|
178920
178933
|
*/
|
|
178921
178934
|
static parseToClipperArray(source) {
|
|
178922
178935
|
if (Array.isArray(source)) {
|
|
@@ -178940,7 +178953,7 @@ class BooleanClipFactory {
|
|
|
178940
178953
|
return undefined;
|
|
178941
178954
|
}
|
|
178942
178955
|
/**
|
|
178943
|
-
*
|
|
178956
|
+
* Look for content that represents a clipper.
|
|
178944
178957
|
* * Possible outputs are
|
|
178945
178958
|
* * `ClipPlane`
|
|
178946
178959
|
* * `ConvexClipPlaneSet`
|
|
@@ -179100,7 +179113,7 @@ class BooleanClipNode {
|
|
|
179100
179113
|
this._clippers.push(child);
|
|
179101
179114
|
}
|
|
179102
179115
|
}
|
|
179103
|
-
/**
|
|
179116
|
+
/** Toggle the "keepInside" behavior. Return the prior value. */
|
|
179104
179117
|
toggleResult() {
|
|
179105
179118
|
return this.selectResult(!this._keepInside);
|
|
179106
179119
|
}
|
|
@@ -179111,7 +179124,7 @@ class BooleanClipNode {
|
|
|
179111
179124
|
return s;
|
|
179112
179125
|
}
|
|
179113
179126
|
/**
|
|
179114
|
-
*
|
|
179127
|
+
* Conditionally (if a1 > a0 strictly) call announce (a0, a1).
|
|
179115
179128
|
* * Return 0 if not called, 1 if called.
|
|
179116
179129
|
*/
|
|
179117
179130
|
testedAnnounceNN(a0, a1, announce) {
|
|
@@ -179123,7 +179136,7 @@ class BooleanClipNode {
|
|
|
179123
179136
|
return 0;
|
|
179124
179137
|
}
|
|
179125
179138
|
/**
|
|
179126
|
-
*
|
|
179139
|
+
* Conditionally (if a1 > a0 strictly) call announce (a0, a1, cp).
|
|
179127
179140
|
* * Return 0 if not called, 1 if called.
|
|
179128
179141
|
*/
|
|
179129
179142
|
testedAnnounceNNC(a0, a1, cp, announce) {
|
|
@@ -179141,8 +179154,8 @@ class BooleanClipNode {
|
|
|
179141
179154
|
this._intervalsB = q;
|
|
179142
179155
|
}
|
|
179143
179156
|
/**
|
|
179144
|
-
*
|
|
179145
|
-
* *
|
|
179157
|
+
* Announce all "outside intervals" --not masked by intervals
|
|
179158
|
+
* * Return true if any intervals announced.
|
|
179146
179159
|
*/
|
|
179147
179160
|
announcePartsNN(keepInside, intervals, f0, f1, announce) {
|
|
179148
179161
|
let numAnnounce = 0;
|
|
@@ -179163,8 +179176,8 @@ class BooleanClipNode {
|
|
|
179163
179176
|
return numAnnounce > 0;
|
|
179164
179177
|
}
|
|
179165
179178
|
/**
|
|
179166
|
-
*
|
|
179167
|
-
* *
|
|
179179
|
+
* Announce all "outside intervals" --not masked by intervals
|
|
179180
|
+
* * Return true if any intervals announced.
|
|
179168
179181
|
*/
|
|
179169
179182
|
announcePartsNNC(keepInside, intervals, f0, f1, cp, announce) {
|
|
179170
179183
|
let numAnnounce = 0;
|
|
@@ -179189,7 +179202,7 @@ class BooleanClipNode {
|
|
|
179189
179202
|
const q = this.isPointOnOrInsideChildren(point);
|
|
179190
179203
|
return this._keepInside ? q : !q;
|
|
179191
179204
|
}
|
|
179192
|
-
/** Announce "in" portions of a line segment.
|
|
179205
|
+
/** Announce "in" portions of a line segment. See `Clipper.announceClippedSegmentIntervals` */
|
|
179193
179206
|
announceClippedSegmentIntervals(f0, f1, pointA, pointB, announce) {
|
|
179194
179207
|
this._intervalsA.length = 0;
|
|
179195
179208
|
const announceIntervalB = (a0, a1) => {
|
|
@@ -179247,7 +179260,7 @@ class BooleanClipNodeUnion extends BooleanClipNode {
|
|
|
179247
179260
|
constructor(keepInside) {
|
|
179248
179261
|
super(keepInside);
|
|
179249
179262
|
}
|
|
179250
|
-
/**
|
|
179263
|
+
/** Return true if inside any child clipper */
|
|
179251
179264
|
isPointOnOrInsideChildren(point) {
|
|
179252
179265
|
for (const clipper of this._clippers) {
|
|
179253
179266
|
if (clipper.isPointOnOrInside(point))
|
|
@@ -179271,7 +179284,7 @@ class BooleanClipNodeParity extends BooleanClipNode {
|
|
|
179271
179284
|
constructor(keepInside) {
|
|
179272
179285
|
super(keepInside);
|
|
179273
179286
|
}
|
|
179274
|
-
/**
|
|
179287
|
+
/** Return true if inside an odd number of clippers child clipper */
|
|
179275
179288
|
isPointOnOrInsideChildren(point) {
|
|
179276
179289
|
let q = false;
|
|
179277
179290
|
for (const clipper of this._clippers) {
|
|
@@ -179296,7 +179309,7 @@ class BooleanClipNodeIntersection extends BooleanClipNode {
|
|
|
179296
179309
|
constructor(keepInside) {
|
|
179297
179310
|
super(keepInside);
|
|
179298
179311
|
}
|
|
179299
|
-
/**
|
|
179312
|
+
/** Return false if outside of any child clipper */
|
|
179300
179313
|
isPointOnOrInsideChildren(point) {
|
|
179301
179314
|
for (const clipper of this._clippers) {
|
|
179302
179315
|
if (!clipper.isPointOnOrInside(point))
|
|
@@ -179356,17 +179369,18 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
179356
179369
|
|
|
179357
179370
|
|
|
179358
179371
|
|
|
179359
|
-
/**
|
|
179372
|
+
/**
|
|
179373
|
+
* A ClipPlane is a single plane represented as
|
|
179360
179374
|
* * An inward unit normal (u,v,w)
|
|
179361
179375
|
* * A signedDistance
|
|
179362
179376
|
*
|
|
179363
179377
|
* Hence
|
|
179364
|
-
* * The halfspace function evaluation for "point"
|
|
179365
|
-
* * POSITIVE values of the halfspace function are "inside"
|
|
179366
|
-
* * ZERO value of the halfspace function is "on"
|
|
179367
|
-
* * NEGATIVE value of the halfspace function is "outside"
|
|
179368
|
-
* * A representative point on the plane is (signedDistance*u, signedDistance * v, signedDistance *w)
|
|
179369
|
-
* * Given a point and inward normal
|
|
179378
|
+
* * The halfspace function evaluation for "point" (x,y,z) is `(x,y,z) DOT (u,v,w) - signedDistance`.
|
|
179379
|
+
* * POSITIVE values of the halfspace function are "inside".
|
|
179380
|
+
* * ZERO value of the halfspace function is "on".
|
|
179381
|
+
* * NEGATIVE value of the halfspace function is "outside".
|
|
179382
|
+
* * A representative point on the plane is (signedDistance * u, signedDistance * v, signedDistance * w).
|
|
179383
|
+
* * Given a point on the plane and the inward normal of the plane, `signedDistance = point DOT normal`.
|
|
179370
179384
|
* @public
|
|
179371
179385
|
*/
|
|
179372
179386
|
class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d {
|
|
@@ -179393,12 +179407,12 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179393
179407
|
&& this._interior === other._interior
|
|
179394
179408
|
&& this._invisible === other._invisible;
|
|
179395
179409
|
}
|
|
179396
|
-
/**
|
|
179410
|
+
/** Return a cloned plane */
|
|
179397
179411
|
clone() {
|
|
179398
179412
|
const result = new ClipPlane(this._inwardNormal.clone(), this._distanceFromOrigin, this._invisible, this._interior);
|
|
179399
179413
|
return result;
|
|
179400
179414
|
}
|
|
179401
|
-
/**
|
|
179415
|
+
/** Return a cloned plane with coordinate data negated. */
|
|
179402
179416
|
cloneNegated() {
|
|
179403
179417
|
const plane = new ClipPlane(this._inwardNormal.clone(), this._distanceFromOrigin, this._invisible, this._interior);
|
|
179404
179418
|
plane.negateInPlace();
|
|
@@ -179417,7 +179431,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179417
179431
|
return new ClipPlane(plane.getNormalRef().clone(), distance, invisible, interior);
|
|
179418
179432
|
}
|
|
179419
179433
|
/**
|
|
179420
|
-
*
|
|
179434
|
+
* Create a ClipPlane with direct normal and signedDistance.
|
|
179421
179435
|
* * The vector is normalized for storage.
|
|
179422
179436
|
*/
|
|
179423
179437
|
static createNormalAndDistance(normal, distance, invisible = false, interior = false, result) {
|
|
@@ -179433,10 +179447,12 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179433
179447
|
}
|
|
179434
179448
|
return undefined;
|
|
179435
179449
|
}
|
|
179436
|
-
/**
|
|
179437
|
-
*
|
|
179450
|
+
/**
|
|
179451
|
+
* Create a ClipPlane
|
|
179452
|
+
* * "normal" is the inward normal of the plane (it is internally normalized).
|
|
179438
179453
|
* * "point" is any point of the plane.
|
|
179439
|
-
* * The stored distance for the plane is the dot product of the point with the normal (i.e. treat the point's xyz as
|
|
179454
|
+
* * The stored distance for the plane is the dot product of the point with the normal (i.e. treat the point's xyz as
|
|
179455
|
+
* a vector from the origin.)
|
|
179440
179456
|
*/
|
|
179441
179457
|
static createNormalAndPoint(normal, point, invisible = false, interior = false, result) {
|
|
179442
179458
|
const normalized = normal.normalize();
|
|
@@ -179452,11 +179468,12 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179452
179468
|
}
|
|
179453
179469
|
return undefined;
|
|
179454
179470
|
}
|
|
179455
|
-
/**
|
|
179471
|
+
/**
|
|
179472
|
+
* Create a clip plane
|
|
179456
179473
|
* @param origin any point on the plane.
|
|
179457
179474
|
* @param vectorA any vector in the plane
|
|
179458
179475
|
* @param vectorB any vector in the plane
|
|
179459
|
-
*
|
|
179476
|
+
* Returns undefined if the vectors are not independent.
|
|
179460
179477
|
* * The stored inward normal is vectorB.crossProduct(vectorA).
|
|
179461
179478
|
* * That is, the vectors are considered as a right-handed pair when viewed from the outside.
|
|
179462
179479
|
*/
|
|
@@ -179464,11 +179481,12 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179464
179481
|
const normalized = vectorB.crossProduct(vectorA);
|
|
179465
179482
|
return this.createNormalAndPoint(normalized, origin, invisible, interior, result);
|
|
179466
179483
|
}
|
|
179467
|
-
/**
|
|
179468
|
-
*
|
|
179469
|
-
* *
|
|
179470
|
-
* * "point" is any point of the plane.
|
|
179471
|
-
* * The stored distance for the plane is the dot product of the point with the normal (i.e. treat the point's xyz
|
|
179484
|
+
/**
|
|
179485
|
+
* Create a ClipPlane
|
|
179486
|
+
* * "normal" (normalX, normalY, normalZ) is the inward normal of the plane.
|
|
179487
|
+
* * "point" (originX,originY,originZ) is any point of the plane.
|
|
179488
|
+
* * The stored distance for the plane is the dot product of the point with the normal (i.e. treat the point's xyz
|
|
179489
|
+
* as a vector from the origin.)
|
|
179472
179490
|
*/
|
|
179473
179491
|
static createNormalAndPointXYZXYZ(normalX, normalY, normalZ, originX, originY, originZ, invisible = false, interior = false, result) {
|
|
179474
179492
|
const q = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.hypotenuseXYZ(normalX, normalY, normalZ);
|
|
@@ -179487,7 +179505,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179487
179505
|
return undefined;
|
|
179488
179506
|
}
|
|
179489
179507
|
/**
|
|
179490
|
-
*
|
|
179508
|
+
* Return a json object of the form
|
|
179491
179509
|
* `{"normal":[u,v,w],"dist":signedDistanceValue,"interior":true,"invisible":true}`
|
|
179492
179510
|
*/
|
|
179493
179511
|
toJSON() {
|
|
@@ -179501,7 +179519,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179501
179519
|
props.invisible = true;
|
|
179502
179520
|
return props;
|
|
179503
179521
|
}
|
|
179504
|
-
/**
|
|
179522
|
+
/** Parse json object to ClipPlane instance */
|
|
179505
179523
|
static fromJSON(json, result) {
|
|
179506
179524
|
if (json && json.normal && undefined !== json.dist && Number.isFinite(json.dist))
|
|
179507
179525
|
return ClipPlane.createNormalAndDistance(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.fromJSON(json.normal), json.dist, !!json.invisible, !!json.interior);
|
|
@@ -179512,22 +179530,22 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179512
179530
|
this._invisible = invisible;
|
|
179513
179531
|
this._interior = interior;
|
|
179514
179532
|
}
|
|
179515
|
-
/**
|
|
179516
|
-
|
|
179517
|
-
|
|
179518
|
-
|
|
179519
|
-
/**
|
|
179520
|
-
|
|
179521
|
-
|
|
179522
|
-
|
|
179523
|
-
/**
|
|
179524
|
-
|
|
179525
|
-
|
|
179526
|
-
|
|
179527
|
-
/**
|
|
179528
|
-
|
|
179529
|
-
|
|
179530
|
-
|
|
179533
|
+
/** Return the stored distanceFromOrigin property. */
|
|
179534
|
+
get distance() {
|
|
179535
|
+
return this._distanceFromOrigin;
|
|
179536
|
+
}
|
|
179537
|
+
/** * Return the stored inward normal property. */
|
|
179538
|
+
get inwardNormalRef() {
|
|
179539
|
+
return this._inwardNormal;
|
|
179540
|
+
}
|
|
179541
|
+
/** Return the "interior" property bit */
|
|
179542
|
+
get interior() {
|
|
179543
|
+
return this._interior;
|
|
179544
|
+
}
|
|
179545
|
+
/** Return the "invisible" property bit. */
|
|
179546
|
+
get invisible() {
|
|
179547
|
+
return this._invisible;
|
|
179548
|
+
}
|
|
179531
179549
|
/**
|
|
179532
179550
|
* Create a plane defined by two points, an up vector, and a tilt angle relative to the up vector.
|
|
179533
179551
|
* @param point0 start point of the edge
|
|
@@ -179551,9 +179569,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179551
179569
|
}
|
|
179552
179570
|
return undefined;
|
|
179553
179571
|
}
|
|
179554
|
-
/**
|
|
179555
|
-
* Create a plane perpendicular to the edge between the xy parts of point0 and point1
|
|
179556
|
-
*/
|
|
179572
|
+
/** Create a plane perpendicular to the edge between the xy parts of point0 and point1. */
|
|
179557
179573
|
static createEdgeXY(point0, point1, result) {
|
|
179558
179574
|
const normal = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.create(point0.y - point1.y, point1.x - point0.x);
|
|
179559
179575
|
if (normal.normalizeInPlace())
|
|
@@ -179567,7 +179583,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179567
179583
|
*/
|
|
179568
179584
|
getPlane3d() {
|
|
179569
179585
|
const d = this._distanceFromOrigin;
|
|
179570
|
-
//
|
|
179586
|
+
// normal should be normalized, will not return undefined
|
|
179571
179587
|
return _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_3__.Plane3dByOriginAndUnitNormal.create(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.create(this._inwardNormal.x * d, this._inwardNormal.y * d, this._inwardNormal.z * d), this._inwardNormal);
|
|
179572
179588
|
}
|
|
179573
179589
|
/**
|
|
@@ -179581,8 +179597,9 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179581
179597
|
/**
|
|
179582
179598
|
* Set the plane from DPoint4d style plane.
|
|
179583
179599
|
* * The saved plane has its direction normalized.
|
|
179584
|
-
* * This preserves the plane itself as a zero set but make plane evaluations act as true distances (even if the
|
|
179585
|
-
*
|
|
179600
|
+
* * This preserves the plane itself as a zero set but make plane evaluations act as true distances (even if the
|
|
179601
|
+
* plane coefficients are scaled otherwise).
|
|
179602
|
+
* @param plane the DPoint4d style plane.
|
|
179586
179603
|
*/
|
|
179587
179604
|
setPlane4d(plane) {
|
|
179588
179605
|
const a = Math.sqrt(plane.x * plane.x + plane.y * plane.y + plane.z * plane.z);
|
|
@@ -179593,49 +179610,63 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179593
179610
|
this._distanceFromOrigin = -r * plane.w;
|
|
179594
179611
|
}
|
|
179595
179612
|
/**
|
|
179596
|
-
* Evaluate the altitude in weighted space, i.e. (dot product with inward normal) minus distance, with point.w
|
|
179597
|
-
*
|
|
179613
|
+
* Evaluate the altitude in weighted space, i.e. (dot product with inward normal) minus distance, with point.w
|
|
179614
|
+
* scale applied to distance.
|
|
179615
|
+
* @param point space point to test.
|
|
179598
179616
|
*/
|
|
179599
179617
|
weightedAltitude(point) {
|
|
179600
|
-
return point.x * this._inwardNormal.x
|
|
179618
|
+
return point.x * this._inwardNormal.x
|
|
179619
|
+
+ point.y * this._inwardNormal.y
|
|
179620
|
+
+ point.z * this._inwardNormal.z
|
|
179621
|
+
- point.w * this._distanceFromOrigin;
|
|
179601
179622
|
}
|
|
179602
179623
|
/**
|
|
179603
|
-
* Evaluate the distance from the plane to a point in space, i.e. (dot product with inward normal) minus distance
|
|
179604
|
-
* @param point space point to test
|
|
179624
|
+
* Evaluate the distance from the plane to a point in space, i.e. (dot product with inward normal) minus distance.
|
|
179625
|
+
* @param point space point to test.
|
|
179605
179626
|
*/
|
|
179606
179627
|
altitude(point) {
|
|
179607
|
-
return point.x * this._inwardNormal.x
|
|
179628
|
+
return point.x * this._inwardNormal.x
|
|
179629
|
+
+ point.y * this._inwardNormal.y
|
|
179630
|
+
+ point.z * this._inwardNormal.z
|
|
179631
|
+
- this._distanceFromOrigin;
|
|
179608
179632
|
}
|
|
179609
179633
|
/**
|
|
179610
|
-
* Evaluate the distance from the plane to a point in space with point given as x,y,z, i.e. (dot product with
|
|
179611
|
-
*
|
|
179634
|
+
* Evaluate the distance from the plane to a point in space with point given as x,y,z, i.e. (dot product with
|
|
179635
|
+
* inward normal) minus distance.
|
|
179636
|
+
* @param point space point to test.
|
|
179612
179637
|
*/
|
|
179613
179638
|
altitudeXYZ(x, y, z) {
|
|
179614
|
-
return x * this._inwardNormal.x
|
|
179639
|
+
return x * this._inwardNormal.x
|
|
179640
|
+
+ y * this._inwardNormal.y
|
|
179641
|
+
+ z * this._inwardNormal.z
|
|
179642
|
+
- this._distanceFromOrigin;
|
|
179615
179643
|
}
|
|
179616
|
-
/**
|
|
179617
|
-
|
|
179618
|
-
|
|
179619
|
-
|
|
179620
|
-
/**
|
|
179621
|
-
|
|
179622
|
-
|
|
179623
|
-
|
|
179624
|
-
/**
|
|
179625
|
-
|
|
179626
|
-
|
|
179627
|
-
|
|
179628
|
-
/** Return the dot product of the plane normal with the vector (NOT using the plane's distanceFromOrigin).
|
|
179629
|
-
*/
|
|
179644
|
+
/** Return the x component of the normal used to evaluate altitude. */
|
|
179645
|
+
normalX() {
|
|
179646
|
+
return this._inwardNormal.x;
|
|
179647
|
+
}
|
|
179648
|
+
/** Return the x component of the normal used to evaluate altitude. */
|
|
179649
|
+
normalY() {
|
|
179650
|
+
return this._inwardNormal.y;
|
|
179651
|
+
}
|
|
179652
|
+
/** Return the z component of the normal used to evaluate altitude. */
|
|
179653
|
+
normalZ() {
|
|
179654
|
+
return this._inwardNormal.z;
|
|
179655
|
+
}
|
|
179656
|
+
/** Return the dot product of the plane normal with the vector (NOT using the plane's distanceFromOrigin). */
|
|
179630
179657
|
velocity(vector) {
|
|
179631
179658
|
return vector.x * this._inwardNormal.x + vector.y * this._inwardNormal.y + vector.z * this._inwardNormal.z;
|
|
179632
179659
|
}
|
|
179633
|
-
/**
|
|
179660
|
+
/**
|
|
179661
|
+
* Return the dot product of the plane normal with the x,yz, vector components (NOT using the plane's
|
|
179662
|
+
* distanceFromOrigin).
|
|
179634
179663
|
*/
|
|
179635
179664
|
velocityXYZ(x, y, z) {
|
|
179636
179665
|
return x * this._inwardNormal.x + y * this._inwardNormal.y + z * this._inwardNormal.z;
|
|
179637
179666
|
}
|
|
179638
|
-
/**
|
|
179667
|
+
/**
|
|
179668
|
+
* Return the dot product of the plane normal with the point (treating the point xyz as a vector, and NOT
|
|
179669
|
+
* using the plane's distanceFromOrigin).
|
|
179639
179670
|
*/
|
|
179640
179671
|
dotProductPlaneNormalPoint(point) {
|
|
179641
179672
|
return point.x * this._inwardNormal.x + point.y * this._inwardNormal.y + point.z * this._inwardNormal.z;
|
|
@@ -179684,7 +179715,8 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179684
179715
|
const gamma = this.velocity(arcVectors.vector90);
|
|
179685
179716
|
_numerics_Polynomials__WEBPACK_IMPORTED_MODULE_5__.AnalyticRoots.appendImplicitLineUnitCircleIntersections(alpha, beta, gamma, undefined, undefined, intersectionRadians);
|
|
179686
179717
|
}
|
|
179687
|
-
/**
|
|
179718
|
+
/**
|
|
179719
|
+
* Announce fractional intervals of arc clip.
|
|
179688
179720
|
* * Each call to `announce(fraction0, fraction1, arc)` announces one interval that is inside the clip plane.
|
|
179689
179721
|
*/
|
|
179690
179722
|
announceClippedArcIntervals(arc, announce) {
|
|
@@ -179695,7 +179727,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179695
179727
|
return _ClipUtils__WEBPACK_IMPORTED_MODULE_6__.ClipUtilities.selectIntervals01(arc, breaks, this, announce);
|
|
179696
179728
|
}
|
|
179697
179729
|
/**
|
|
179698
|
-
*
|
|
179730
|
+
* Compute intersection of (unbounded) segment with the plane.
|
|
179699
179731
|
* * If the ends are on the same side of the plane, return undefined.
|
|
179700
179732
|
* * If the intersection is an endpoint or interior to the segment return the fraction.
|
|
179701
179733
|
* * If both ends are on, return undefined.
|
|
@@ -179710,7 +179742,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179710
179742
|
}
|
|
179711
179743
|
return -h0 / (h1 - h0);
|
|
179712
179744
|
}
|
|
179713
|
-
/** Apply transform to the origin.
|
|
179745
|
+
/** Apply transform to the origin. Apply inverse transpose of the matrix part to th normal vector. */
|
|
179714
179746
|
transformInPlace(transform) {
|
|
179715
179747
|
const plane = this.getPlane3d();
|
|
179716
179748
|
const matrix = transform.matrix;
|
|
@@ -179728,11 +179760,11 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179728
179760
|
this._distanceFromOrigin = this._inwardNormal.dotProduct(plane.getOriginRef());
|
|
179729
179761
|
return true;
|
|
179730
179762
|
}
|
|
179731
|
-
/** Set the invisible flag.
|
|
179763
|
+
/** Set the invisible flag. Interpretation of this is up to the use code algorithms. */
|
|
179732
179764
|
setInvisible(invisible) {
|
|
179733
179765
|
this._invisible = invisible;
|
|
179734
179766
|
}
|
|
179735
|
-
/**
|
|
179767
|
+
/** Reverse the sign of all coefficients, so outside and inside reverse */
|
|
179736
179768
|
negateInPlace() {
|
|
179737
179769
|
this._inwardNormal = this._inwardNormal.negate();
|
|
179738
179770
|
this._distanceFromOrigin = -this._distanceFromOrigin;
|
|
@@ -179760,11 +179792,12 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179760
179792
|
* @param matrix matrix to apply.
|
|
179761
179793
|
* @param invert if true, use in verse of the matrix.
|
|
179762
179794
|
* @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter)
|
|
179763
|
-
* * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect on the plane is the inverse transpose of matrixA
|
|
179764
|
-
* * Callers that will apply the same matrix to many planes should pre-invert the matrix for efficiency.
|
|
179765
|
-
* * Both params default to true to get the full effect of transforming space.
|
|
179766
179795
|
* @param matrix matrix to apply
|
|
179767
179796
|
* @return false if unable to invert
|
|
179797
|
+
* * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding
|
|
179798
|
+
* effect on the plane is the inverse transpose of matrixA
|
|
179799
|
+
* * Callers that will apply the same matrix to many planes should pre-invert the matrix for efficiency.
|
|
179800
|
+
* * Both params default to true to get the full effect of transforming space.
|
|
179768
179801
|
*/
|
|
179769
179802
|
multiplyPlaneByMatrix4d(matrix, invert = true, transpose = true) {
|
|
179770
179803
|
const plane = this.getPlane4d();
|
|
@@ -179781,7 +179814,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179781
179814
|
this.setPlane4d(plane);
|
|
179782
179815
|
return true;
|
|
179783
179816
|
}
|
|
179784
|
-
/**
|
|
179817
|
+
/** Announce the interval (if any) where a line is within the clip plane half space. */
|
|
179785
179818
|
announceClippedSegmentIntervals(f0, f1, pointA, pointB, announce) {
|
|
179786
179819
|
if (f1 < f0)
|
|
179787
179820
|
return false;
|
|
@@ -179816,7 +179849,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179816
179849
|
* Return a coordinate frame with
|
|
179817
179850
|
* * origin at closest point to global origin
|
|
179818
179851
|
* * z axis points in
|
|
179819
|
-
* x and y are "in plane"
|
|
179852
|
+
* * x and y are "in plane"
|
|
179820
179853
|
*/
|
|
179821
179854
|
getFrame() {
|
|
179822
179855
|
const d = this._distanceFromOrigin;
|
|
@@ -179852,11 +179885,12 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179852
179885
|
xyzOut.pushWrap(1);
|
|
179853
179886
|
return xyzOut;
|
|
179854
179887
|
}
|
|
179855
|
-
/** Implement appendPolygonClip, as defined in interface PolygonClipper.
|
|
179856
|
-
*
|
|
179888
|
+
/** Implement appendPolygonClip, as defined in interface PolygonClipper.
|
|
179857
179889
|
* @param xyz input polygon. This is not changed.
|
|
179858
|
-
* @param insideFragments Array to receive "inside" fragments.
|
|
179859
|
-
*
|
|
179890
|
+
* @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed
|
|
179891
|
+
* from the cache. This is NOT cleared.
|
|
179892
|
+
* @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed
|
|
179893
|
+
* from the cache. This is NOT cleared.
|
|
179860
179894
|
* @param arrayCache cache for reusable GrowableXYZArray.
|
|
179861
179895
|
*/
|
|
179862
179896
|
appendPolygonClip(xyz, insideFragments, outsideFragments, arrayCache) {
|
|
@@ -179867,9 +179901,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
|
|
|
179867
179901
|
_ClipUtils__WEBPACK_IMPORTED_MODULE_6__.ClipUtilities.captureOrDrop(newInside, 3, insideFragments, arrayCache);
|
|
179868
179902
|
_ClipUtils__WEBPACK_IMPORTED_MODULE_6__.ClipUtilities.captureOrDrop(newOutside, 3, outsideFragments, arrayCache);
|
|
179869
179903
|
}
|
|
179870
|
-
/**
|
|
179871
|
-
* Project a point in space to the plane.
|
|
179872
|
-
*/
|
|
179904
|
+
/** Project a point in space to the plane. */
|
|
179873
179905
|
projectPointToPlane(spacePoint, result) {
|
|
179874
179906
|
const d = -this.altitude(spacePoint);
|
|
179875
179907
|
return spacePoint.plusXYZ(d * this._inwardNormal.x, d * this._inwardNormal.y, d * this._inwardNormal.z, result);
|
|
@@ -179958,17 +179990,18 @@ var ClipMaskXYZRangePlanes;
|
|
|
179958
179990
|
})(ClipMaskXYZRangePlanes || (ClipMaskXYZRangePlanes = {}));
|
|
179959
179991
|
/**
|
|
179960
179992
|
* * ClipPrimitive is a base class for clipping implementations that use
|
|
179961
|
-
* * A UnionOfConvexClipPlaneSets designated "clipPlanes"
|
|
179962
|
-
* *
|
|
179963
|
-
* * When constructed directly, objects of type ClipPrimitive (directly, not through a derived class) will have just planes
|
|
179993
|
+
* * A UnionOfConvexClipPlaneSets designated "clipPlanes".
|
|
179994
|
+
* * An "invisible" flag.
|
|
179995
|
+
* * When constructed directly, objects of type ClipPrimitive (directly, not through a derived class) will have just planes.
|
|
179964
179996
|
* * Derived classes (e.g. ClipShape) carry additional data such as a swept shape.
|
|
179965
179997
|
* * ClipPrimitive can be constructed with no planes.
|
|
179966
179998
|
* * Derived class is responsible for filling the plane sets.
|
|
179967
|
-
* * At discretion of derived classes, plane construction can be done at construction time or "on demand when" queries
|
|
179999
|
+
* * At discretion of derived classes, plane construction can be done at construction time or "on demand when" queries
|
|
180000
|
+
* call `ensurePlaneSets ()`
|
|
179968
180001
|
* * ClipPrimitive can be constructed directly with planes (and no derived class).
|
|
179969
180002
|
* * That the prevailing use is via a ClipShape derived class.
|
|
179970
180003
|
* * The ClipShape has an "isMask" property
|
|
179971
|
-
* * isMask === false means the plane sets should cover the inside of its polygon
|
|
180004
|
+
* * isMask === false means the plane sets should cover the inside of its polygon.
|
|
179972
180005
|
* * isMask === true means the plane sets should cover the outside of its polygon.
|
|
179973
180006
|
* * Note that the ClipShape's `isMask` property and the ClipPrimitive's `isInvisible` property are distinct controls.
|
|
179974
180007
|
* * In normal usage, callers get "outside" clip behavior using ONLY the ClipShape isMask property.
|
|
@@ -179977,13 +180010,19 @@ var ClipMaskXYZRangePlanes;
|
|
|
179977
180010
|
* @public
|
|
179978
180011
|
*/
|
|
179979
180012
|
class ClipPrimitive {
|
|
179980
|
-
/**
|
|
179981
|
-
*
|
|
179982
|
-
*
|
|
180013
|
+
/**
|
|
180014
|
+
* Get a reference to the `UnionOfConvexClipPlaneSets`.
|
|
180015
|
+
* * It triggers construction of the sets by `this.ensurePlaneSets()`.
|
|
180016
|
+
* * Derived class typically caches the set on the first such call.
|
|
179983
180017
|
*/
|
|
179984
|
-
fetchClipPlanesRef() {
|
|
180018
|
+
fetchClipPlanesRef() {
|
|
180019
|
+
this.ensurePlaneSets();
|
|
180020
|
+
return this._clipPlanes;
|
|
180021
|
+
}
|
|
179985
180022
|
/** Ask if this primitive is a hole. */
|
|
179986
|
-
get invisible() {
|
|
180023
|
+
get invisible() {
|
|
180024
|
+
return this._invisible;
|
|
180025
|
+
}
|
|
179987
180026
|
constructor(planeSet, isInvisible = false) {
|
|
179988
180027
|
this._clipPlanes = planeSet;
|
|
179989
180028
|
this._invisible = isInvisible;
|
|
@@ -180012,26 +180051,30 @@ class ClipPrimitive {
|
|
|
180012
180051
|
}
|
|
180013
180052
|
/**
|
|
180014
180053
|
* Returns true if the planes are present.
|
|
180015
|
-
* * This can be false (for instance) if a ClipShape is holding a polygon but has not yet been asked to construct
|
|
180054
|
+
* * This can be false (for instance) if a ClipShape is holding a polygon but has not yet been asked to construct
|
|
180055
|
+
* the planes.
|
|
180016
180056
|
*/
|
|
180017
180057
|
arePlanesDefined() {
|
|
180018
180058
|
return this._clipPlanes !== undefined;
|
|
180019
180059
|
}
|
|
180020
|
-
/** Return a deep clone
|
|
180060
|
+
/** Return a deep clone. */
|
|
180021
180061
|
clone() {
|
|
180022
180062
|
const newPlanes = this._clipPlanes ? this._clipPlanes.clone() : undefined;
|
|
180023
180063
|
const result = new ClipPrimitive(newPlanes, this._invisible);
|
|
180024
180064
|
return result;
|
|
180025
180065
|
}
|
|
180026
180066
|
/**
|
|
180027
|
-
*
|
|
180067
|
+
* Trigger (if needed) computation of plane sets (if applicable) in the derived class.
|
|
180028
180068
|
* * Base class is no op.
|
|
180029
180069
|
* * In derived class, on first call create planes sets from defining data (e.g. swept shape).
|
|
180030
180070
|
* * In derived class, if planes are present leave them alone.
|
|
180031
180071
|
*/
|
|
180032
180072
|
ensurePlaneSets() { }
|
|
180033
|
-
/**
|
|
180034
|
-
*
|
|
180073
|
+
/**
|
|
180074
|
+
* Return true if the point lies inside/on this polygon (or not inside/on if this polygon is a mask). Otherwise,
|
|
180075
|
+
* return false.
|
|
180076
|
+
* * Note that a derived class may choose to (a) implement its own test using its defining data, or (b) accept
|
|
180077
|
+
* this implementation using planes that it inserted in the base class.
|
|
180035
180078
|
*/
|
|
180036
180079
|
pointInside(point, onTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistanceSquared) {
|
|
180037
180080
|
this.ensurePlaneSets();
|
|
@@ -180040,7 +180083,8 @@ class ClipPrimitive {
|
|
|
180040
180083
|
inside = this._clipPlanes.isPointOnOrInside(point, onTolerance);
|
|
180041
180084
|
return inside;
|
|
180042
180085
|
}
|
|
180043
|
-
/**
|
|
180086
|
+
/**
|
|
180087
|
+
* Method from [[Clipper]] interface.
|
|
180044
180088
|
* * Implement as dispatch to clipPlaneSets as supplied by derived class.
|
|
180045
180089
|
*/
|
|
180046
180090
|
isPointOnOrInside(point, onTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistanceSquared) {
|
|
@@ -180050,7 +180094,8 @@ class ClipPrimitive {
|
|
|
180050
180094
|
inside = this._clipPlanes.isPointOnOrInside(point, onTolerance);
|
|
180051
180095
|
return inside;
|
|
180052
180096
|
}
|
|
180053
|
-
/**
|
|
180097
|
+
/**
|
|
180098
|
+
* Method from [[Clipper]] interface.
|
|
180054
180099
|
* * Implement as dispatch to clipPlaneSets as supplied by derived class.
|
|
180055
180100
|
*/
|
|
180056
180101
|
announceClippedSegmentIntervals(f0, f1, pointA, pointB, announce) {
|
|
@@ -180060,7 +180105,8 @@ class ClipPrimitive {
|
|
|
180060
180105
|
hasInsideParts = this._clipPlanes.announceClippedSegmentIntervals(f0, f1, pointA, pointB, announce);
|
|
180061
180106
|
return hasInsideParts;
|
|
180062
180107
|
}
|
|
180063
|
-
/**
|
|
180108
|
+
/**
|
|
180109
|
+
* Method from [[Clipper]] interface.
|
|
180064
180110
|
* * Implement as dispatch to clipPlaneSets as supplied by derived class.
|
|
180065
180111
|
*/
|
|
180066
180112
|
announceClippedArcIntervals(arc, announce) {
|
|
@@ -180074,11 +180120,12 @@ class ClipPrimitive {
|
|
|
180074
180120
|
* Multiply all ClipPlanes DPoint4d by matrix.
|
|
180075
180121
|
* @param matrix matrix to apply.
|
|
180076
180122
|
* @param invert if true, use in verse of the matrix.
|
|
180077
|
-
* @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter)
|
|
180078
|
-
*
|
|
180123
|
+
* @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter).
|
|
180124
|
+
* @param matrix matrix to apply.
|
|
180125
|
+
* * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding
|
|
180126
|
+
* effect on the plane is the inverse transpose of matrixA.
|
|
180079
180127
|
* * Callers that will apply the same matrix to many planes should pre-invert the matrix for efficiency.
|
|
180080
180128
|
* * Both params default to true to get the full effect of transforming space.
|
|
180081
|
-
* @param matrix matrix to apply
|
|
180082
180129
|
*/
|
|
180083
180130
|
multiplyPlanesByMatrix4d(matrix, invert = true, transpose = true) {
|
|
180084
180131
|
if (invert) { // form inverse once here, reuse for all planes
|
|
@@ -180091,7 +180138,7 @@ class ClipPrimitive {
|
|
|
180091
180138
|
this._clipPlanes.multiplyPlanesByMatrix4d(matrix);
|
|
180092
180139
|
return true;
|
|
180093
180140
|
}
|
|
180094
|
-
/** Apply a transform to the clipper (e.g. transform all planes) */
|
|
180141
|
+
/** Apply a transform to the clipper (e.g. transform all planes). */
|
|
180095
180142
|
transformInPlace(transform) {
|
|
180096
180143
|
if (this._clipPlanes)
|
|
180097
180144
|
this._clipPlanes.transformInPlace(transform);
|
|
@@ -180102,7 +180149,8 @@ class ClipPrimitive {
|
|
|
180102
180149
|
this._invisible = invisible;
|
|
180103
180150
|
}
|
|
180104
180151
|
/**
|
|
180105
|
-
* Return true if any plane of the primary clipPlanes has (a) non-zero z component in its normal vector and
|
|
180152
|
+
* Return true if any plane of the primary clipPlanes has (a) non-zero z component in its normal vector and
|
|
180153
|
+
* (b) finite distance from origin.
|
|
180106
180154
|
*/
|
|
180107
180155
|
containsZClip() {
|
|
180108
180156
|
if (this.fetchClipPlanesRef() !== undefined)
|
|
@@ -180114,8 +180162,9 @@ class ClipPrimitive {
|
|
|
180114
180162
|
}
|
|
180115
180163
|
/**
|
|
180116
180164
|
* Quick test of whether the given points fall completely inside or outside.
|
|
180117
|
-
* @param points points to test
|
|
180118
|
-
* @param ignoreInvisibleSetting if true, do the test with the clip planes and return that, ignoring the
|
|
180165
|
+
* @param points points to test.
|
|
180166
|
+
* @param ignoreInvisibleSetting if true, do the test with the clip planes and return that, ignoring the
|
|
180167
|
+
* invisible setting.
|
|
180119
180168
|
*/
|
|
180120
180169
|
classifyPointContainment(points, ignoreInvisibleSetting) {
|
|
180121
180170
|
this.ensurePlaneSets();
|
|
@@ -180134,8 +180183,9 @@ class ClipPrimitive {
|
|
|
180134
180183
|
}
|
|
180135
180184
|
return inside;
|
|
180136
180185
|
}
|
|
180137
|
-
/**
|
|
180138
|
-
*
|
|
180186
|
+
/**
|
|
180187
|
+
* Promote json object form to class instance.
|
|
180188
|
+
* * First try to convert to a ClipShape.
|
|
180139
180189
|
* * then try as a standalone instance of the base class ClipPrimitive.
|
|
180140
180190
|
*/
|
|
180141
180191
|
static fromJSON(json) {
|
|
@@ -180191,27 +180241,49 @@ class ClipShape extends ClipPrimitive {
|
|
|
180191
180241
|
this.initSecondaryProps(isMask, zLow, zHigh, transform);
|
|
180192
180242
|
}
|
|
180193
180243
|
/** Returns true if this ClipShape is marked as invisible. */
|
|
180194
|
-
get invisible() {
|
|
180244
|
+
get invisible() {
|
|
180245
|
+
return this._invisible;
|
|
180246
|
+
}
|
|
180195
180247
|
/** Return this transformFromClip, which may be undefined. */
|
|
180196
|
-
get transformFromClip() {
|
|
180248
|
+
get transformFromClip() {
|
|
180249
|
+
return this._transformFromClip;
|
|
180250
|
+
}
|
|
180197
180251
|
/** Return this transformToClip, which may be undefined. */
|
|
180198
|
-
get transformToClip() {
|
|
180252
|
+
get transformToClip() {
|
|
180253
|
+
return this._transformToClip;
|
|
180254
|
+
}
|
|
180199
180255
|
/** Returns true if this ClipShape's transforms are currently set. */
|
|
180200
|
-
get transformValid() {
|
|
180256
|
+
get transformValid() {
|
|
180257
|
+
return this.transformFromClip !== undefined;
|
|
180258
|
+
}
|
|
180201
180259
|
/** Returns true if this ClipShape's lower z boundary is set. */
|
|
180202
|
-
get zLowValid() {
|
|
180260
|
+
get zLowValid() {
|
|
180261
|
+
return this._zLow !== undefined;
|
|
180262
|
+
}
|
|
180203
180263
|
/** Returns true if this ClipShape's upper z boundary is set. */
|
|
180204
|
-
get zHighValid() {
|
|
180264
|
+
get zHighValid() {
|
|
180265
|
+
return this._zHigh !== undefined;
|
|
180266
|
+
}
|
|
180205
180267
|
/** Return true if this ClipShape has a local to world transform */
|
|
180206
|
-
get transformIsValid() {
|
|
180268
|
+
get transformIsValid() {
|
|
180269
|
+
return this._transformFromClip !== undefined;
|
|
180270
|
+
}
|
|
180207
180271
|
/** Return this zLow, which may be undefined. */
|
|
180208
|
-
get zLow() {
|
|
180272
|
+
get zLow() {
|
|
180273
|
+
return this._zLow;
|
|
180274
|
+
}
|
|
180209
180275
|
/** Return this zHigh, which may be undefined. */
|
|
180210
|
-
get zHigh() {
|
|
180276
|
+
get zHigh() {
|
|
180277
|
+
return this._zHigh;
|
|
180278
|
+
}
|
|
180211
180279
|
/** Returns a reference to this ClipShape's polygon array. */
|
|
180212
|
-
get polygon() {
|
|
180280
|
+
get polygon() {
|
|
180281
|
+
return this._polygon;
|
|
180282
|
+
}
|
|
180213
180283
|
/** Returns true if this ClipShape is a masking set. */
|
|
180214
|
-
get isMask() {
|
|
180284
|
+
get isMask() {
|
|
180285
|
+
return this._isMask;
|
|
180286
|
+
}
|
|
180215
180287
|
/** Sets the polygon points array of this ClipShape to the array given (by reference). */
|
|
180216
180288
|
setPolygon(polygon) {
|
|
180217
180289
|
// Add closure point
|
|
@@ -180220,8 +180292,9 @@ class ClipShape extends ClipPrimitive {
|
|
|
180220
180292
|
this._polygon = polygon;
|
|
180221
180293
|
}
|
|
180222
180294
|
/**
|
|
180223
|
-
*
|
|
180224
|
-
*
|
|
180295
|
+
* If the ClipShape's associated `UnionOfConvexClipPlaneSets` is defined, do nothing.
|
|
180296
|
+
* If the ClipShape's associated `UnionOfConvexClipPlaneSets` is undefined, generate it from the `ClipShape`
|
|
180297
|
+
* and transform.
|
|
180225
180298
|
*/
|
|
180226
180299
|
ensurePlaneSets() {
|
|
180227
180300
|
if (this._clipPlanes !== undefined)
|
|
@@ -180233,7 +180306,7 @@ class ClipShape extends ClipPrimitive {
|
|
|
180233
180306
|
}
|
|
180234
180307
|
/**
|
|
180235
180308
|
* Initialize the members of the ClipShape class that may at times be undefined.
|
|
180236
|
-
* zLow and zHigh default to Number.MAX_VALUE, and the transform defaults to an identity transform
|
|
180309
|
+
* zLow and zHigh default to Number.MAX_VALUE, and the transform defaults to an identity transform.
|
|
180237
180310
|
*/
|
|
180238
180311
|
initSecondaryProps(isMask, zLow, zHigh, transform) {
|
|
180239
180312
|
this._isMask = isMask;
|
|
@@ -180248,7 +180321,7 @@ class ClipShape extends ClipPrimitive {
|
|
|
180248
180321
|
this._transformToClip = _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_5__.Transform.createIdentity();
|
|
180249
180322
|
}
|
|
180250
180323
|
}
|
|
180251
|
-
/**
|
|
180324
|
+
/** Emit json object form */
|
|
180252
180325
|
toJSON() {
|
|
180253
180326
|
const shape = {
|
|
180254
180327
|
points: this._polygon.map((pt) => pt.toJSON()),
|
|
@@ -180265,7 +180338,7 @@ class ClipShape extends ClipPrimitive {
|
|
|
180265
180338
|
shape.zhigh = this.zHigh;
|
|
180266
180339
|
return { shape };
|
|
180267
180340
|
}
|
|
180268
|
-
/**
|
|
180341
|
+
/** Parse `json` to a clip shape. */
|
|
180269
180342
|
static fromClipShapeJSON(json, result) {
|
|
180270
180343
|
const shape = json?.shape;
|
|
180271
180344
|
if (!shape)
|
|
@@ -180327,7 +180400,7 @@ class ClipShape extends ClipPrimitive {
|
|
|
180327
180400
|
blockPoints[1].x = blockPoints[2].x = high.x;
|
|
180328
180401
|
blockPoints[0].y = blockPoints[1].y = blockPoints[4].y = low.y;
|
|
180329
180402
|
blockPoints[2].y = blockPoints[3].y = high.y;
|
|
180330
|
-
return ClipShape.createShape(blockPoints, (ClipMaskXYZRangePlanes.None !== (clipMask & ClipMaskXYZRangePlanes.ZLow)) ? low.z : undefined, ClipMaskXYZRangePlanes.None !== (clipMask & ClipMaskXYZRangePlanes.ZHigh) ? high.z : undefined, transform, isMask, invisible, result);
|
|
180403
|
+
return ClipShape.createShape(blockPoints, (ClipMaskXYZRangePlanes.None !== (clipMask & ClipMaskXYZRangePlanes.ZLow)) ? low.z : undefined, (ClipMaskXYZRangePlanes.None !== (clipMask & ClipMaskXYZRangePlanes.ZHigh)) ? high.z : undefined, transform, isMask, invisible, result);
|
|
180331
180404
|
}
|
|
180332
180405
|
/** Creates a new ClipShape with undefined members and a polygon points array of zero length. */
|
|
180333
180406
|
static createEmpty(isMask = false, invisible = false, transform, result) {
|
|
@@ -180348,11 +180421,14 @@ class ClipShape extends ClipPrimitive {
|
|
|
180348
180421
|
return false;
|
|
180349
180422
|
return true;
|
|
180350
180423
|
}
|
|
180351
|
-
/** Returns a deep copy of this instance of ClipShape, storing in an optional result */
|
|
180424
|
+
/** Returns a deep copy of this instance of ClipShape, storing in an optional result. */
|
|
180352
180425
|
clone(result) {
|
|
180353
180426
|
return ClipShape.createFrom(this, result);
|
|
180354
180427
|
}
|
|
180355
|
-
/**
|
|
180428
|
+
/**
|
|
180429
|
+
* Given the current polygon data, parses clip planes that together form an object, storing the result in
|
|
180430
|
+
* the set given, either clip planes or mask planes.
|
|
180431
|
+
*/
|
|
180356
180432
|
parseClipPlanes(set) {
|
|
180357
180433
|
const points = this._polygon;
|
|
180358
180434
|
if (points.length === 3 && !this._isMask && points[0].isExactEqual(points[points.length - 1])) {
|
|
@@ -180371,7 +180447,10 @@ class ClipShape extends ClipPrimitive {
|
|
|
180371
180447
|
this.parsePolygonPlanes(set, this._polygon, this.isMask);
|
|
180372
180448
|
return true;
|
|
180373
180449
|
}
|
|
180374
|
-
/**
|
|
180450
|
+
/**
|
|
180451
|
+
* Given a start and end point, populate the given UnionOfConvexClipPlaneSets with ConvexClipPlaneSets
|
|
180452
|
+
* defining the bounded region of linear planes. Returns true if successful.
|
|
180453
|
+
*/
|
|
180375
180454
|
parseLinearPlanes(set, start, end, cameraFocalLength) {
|
|
180376
180455
|
// Handles the degenerate case of 2 distinct points (used by select by line).
|
|
180377
180456
|
const normal = start.vectorTo(end);
|
|
@@ -180403,7 +180482,10 @@ class ClipShape extends ClipPrimitive {
|
|
|
180403
180482
|
set.addConvexSet(convexSet);
|
|
180404
180483
|
return true;
|
|
180405
180484
|
}
|
|
180406
|
-
/**
|
|
180485
|
+
/**
|
|
180486
|
+
* Given a convex polygon defined as an array of points, populate the given UnionOfConvexClipPlaneSets with
|
|
180487
|
+
* ConvexClipPlaneSets defining the bounded region. Returns true if successful.
|
|
180488
|
+
*/
|
|
180407
180489
|
parseConvexPolygonPlanes(set, polygon, direction, buildExteriorClipper, cameraFocalLength) {
|
|
180408
180490
|
const samePointTolerance = 1.0e-8; // This could possibly be replaced with more widely used constants
|
|
180409
180491
|
const edges = [];
|
|
@@ -180461,7 +180543,10 @@ class ClipShape extends ClipPrimitive {
|
|
|
180461
180543
|
}
|
|
180462
180544
|
return true;
|
|
180463
180545
|
}
|
|
180464
|
-
/**
|
|
180546
|
+
/**
|
|
180547
|
+
* Given a (possibly non-convex) polygon defined as an array of points, populate the given UnionOfConvexClipPlaneSets
|
|
180548
|
+
* with multiple ConvexClipPlaneSets defining the bounded region. Returns true if successful.
|
|
180549
|
+
*/
|
|
180465
180550
|
parsePolygonPlanes(set, polygon, isMask, cameraFocalLength) {
|
|
180466
180551
|
const cleanPolygon = _geometry3d_PolylineOps__WEBPACK_IMPORTED_MODULE_9__.PolylineOps.compressDanglers(polygon, true);
|
|
180467
180552
|
const announceFace = (_graph, edge) => {
|
|
@@ -180508,17 +180593,19 @@ class ClipShape extends ClipPrimitive {
|
|
|
180508
180593
|
* Multiply all ClipPlanes DPoint4d by matrix.
|
|
180509
180594
|
* @param matrix matrix to apply.
|
|
180510
180595
|
* @param invert if true, use in verse of the matrix.
|
|
180511
|
-
* @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter)
|
|
180512
|
-
*
|
|
180596
|
+
* @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter).
|
|
180597
|
+
* @param matrix matrix to apply.
|
|
180598
|
+
* * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect
|
|
180599
|
+
* on the plane is the inverse transpose of matrixA.
|
|
180513
180600
|
* * Callers that will apply the same matrix to many planes should pre-invert the matrix for efficiency.
|
|
180514
180601
|
* * Both params default to true to get the full effect of transforming space.
|
|
180515
|
-
* @param matrix matrix to apply
|
|
180516
180602
|
*/
|
|
180517
180603
|
multiplyPlanesByMatrix4d(matrix, invert = true, transpose = true) {
|
|
180518
180604
|
this.ensurePlaneSets();
|
|
180519
180605
|
return super.multiplyPlanesByMatrix4d(matrix, invert, transpose);
|
|
180520
180606
|
}
|
|
180521
|
-
/**
|
|
180607
|
+
/**
|
|
180608
|
+
* Apply `transform` to the local to world (`transformFromClip`) transform.
|
|
180522
180609
|
* * The world to local transform (`transformToClip` is recomputed from the (changed) `transformToClip`
|
|
180523
180610
|
* * the transform is passed to the base class to be applied to clip plane form of the clipper.
|
|
180524
180611
|
*/
|
|
@@ -180533,7 +180620,8 @@ class ClipShape extends ClipPrimitive {
|
|
|
180533
180620
|
this._transformToClip = this._transformFromClip.inverse(); // could be undefined
|
|
180534
180621
|
return true;
|
|
180535
180622
|
}
|
|
180536
|
-
/**
|
|
180623
|
+
/**
|
|
180624
|
+
* Return true if
|
|
180537
180625
|
* * at least one point is defined
|
|
180538
180626
|
* * The local to world transform (transformFromClip) either
|
|
180539
180627
|
* * is undefined
|
|
@@ -180615,44 +180703,47 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
180615
180703
|
|
|
180616
180704
|
|
|
180617
180705
|
|
|
180618
|
-
/**
|
|
180706
|
+
/**
|
|
180707
|
+
* Enumerated type for describing where geometry lies with respect to clipping planes.
|
|
180619
180708
|
* @public
|
|
180620
180709
|
*/
|
|
180621
180710
|
var ClipPlaneContainment;
|
|
180622
180711
|
(function (ClipPlaneContainment) {
|
|
180623
|
-
/** All points inside */
|
|
180712
|
+
/** All points inside. */
|
|
180624
180713
|
ClipPlaneContainment[ClipPlaneContainment["StronglyInside"] = 1] = "StronglyInside";
|
|
180625
180714
|
/** Inside/outside state unknown. */
|
|
180626
180715
|
ClipPlaneContainment[ClipPlaneContainment["Ambiguous"] = 2] = "Ambiguous";
|
|
180627
|
-
/** All points outside */
|
|
180716
|
+
/** All points outside. */
|
|
180628
180717
|
ClipPlaneContainment[ClipPlaneContainment["StronglyOutside"] = 3] = "StronglyOutside";
|
|
180629
180718
|
})(ClipPlaneContainment || (ClipPlaneContainment = {}));
|
|
180630
180719
|
/**
|
|
180631
|
-
* Enumeration of ways to handle an intermediate fragment from a clipping step
|
|
180720
|
+
* Enumeration of ways to handle an intermediate fragment from a clipping step.
|
|
180632
180721
|
* @public
|
|
180633
180722
|
*/
|
|
180634
180723
|
var ClipStepAction;
|
|
180635
180724
|
(function (ClipStepAction) {
|
|
180636
|
-
/** Pass fragments directly to final accepted "in" state */
|
|
180725
|
+
/** Pass fragments directly to final accepted "in" state. */
|
|
180637
180726
|
ClipStepAction[ClipStepAction["acceptIn"] = 1] = "acceptIn";
|
|
180638
|
-
/** Pass fragments directly to final accepted "out" state */
|
|
180727
|
+
/** Pass fragments directly to final accepted "out" state. */
|
|
180639
180728
|
ClipStepAction[ClipStepAction["acceptOut"] = -1] = "acceptOut";
|
|
180640
|
-
/**
|
|
180729
|
+
/** Forward fragments to subsequent steps. */
|
|
180641
180730
|
ClipStepAction[ClipStepAction["passToNextStep"] = 0] = "passToNextStep";
|
|
180642
180731
|
})(ClipStepAction || (ClipStepAction = {}));
|
|
180643
|
-
/**
|
|
180732
|
+
/**
|
|
180733
|
+
* Enumerated type for describing what must yet be done to clip a piece of geometry.
|
|
180644
180734
|
* @public
|
|
180645
180735
|
*/
|
|
180646
180736
|
var ClipStatus;
|
|
180647
180737
|
(function (ClipStatus) {
|
|
180648
|
-
/**
|
|
180738
|
+
/** Some geometry may cross the clip boundaries */
|
|
180649
180739
|
ClipStatus[ClipStatus["ClipRequired"] = 0] = "ClipRequired";
|
|
180650
|
-
/**
|
|
180740
|
+
/** Geometry is clearly outside */
|
|
180651
180741
|
ClipStatus[ClipStatus["TrivialReject"] = 1] = "TrivialReject";
|
|
180652
|
-
/**
|
|
180742
|
+
/** Geometry is clearly inside */
|
|
180653
180743
|
ClipStatus[ClipStatus["TrivialAccept"] = 2] = "TrivialAccept";
|
|
180654
180744
|
})(ClipStatus || (ClipStatus = {}));
|
|
180655
|
-
/**
|
|
180745
|
+
/**
|
|
180746
|
+
* Class whose various static methods are functions for clipping geometry
|
|
180656
180747
|
* @public
|
|
180657
180748
|
*/
|
|
180658
180749
|
class ClipUtilities {
|
|
@@ -180690,7 +180781,7 @@ class ClipUtilities {
|
|
|
180690
180781
|
return false;
|
|
180691
180782
|
}
|
|
180692
180783
|
/**
|
|
180693
|
-
* Announce triples of (low, high, cp) for each entry in intervals
|
|
180784
|
+
* Announce triples of (low, high, cp) for each entry in intervals.
|
|
180694
180785
|
* @param intervals source array
|
|
180695
180786
|
* @param cp CurvePrimitive for announcement
|
|
180696
180787
|
* @param announce function to receive data
|
|
@@ -180703,7 +180794,8 @@ class ClipUtilities {
|
|
|
180703
180794
|
}
|
|
180704
180795
|
return intervals.length > 0;
|
|
180705
180796
|
}
|
|
180706
|
-
/**
|
|
180797
|
+
/**
|
|
180798
|
+
* Find portions of the curve that are within the clipper.
|
|
180707
180799
|
* Collect them into an array of curve primitives.
|
|
180708
180800
|
*/
|
|
180709
180801
|
static collectClippedCurves(curve, clipper) {
|
|
@@ -180741,7 +180833,8 @@ class ClipUtilities {
|
|
|
180741
180833
|
}
|
|
180742
180834
|
return output;
|
|
180743
180835
|
}
|
|
180744
|
-
/**
|
|
180836
|
+
/**
|
|
180837
|
+
* Given an array of points, test for trivial containment conditions.
|
|
180745
180838
|
* * ClipStatus.TrivialAccept if all points are in any one of the convexSet's.
|
|
180746
180839
|
* * ClipStatus.ClipRequired if (in any single convexSet) there were points on both sides of any single plane.
|
|
180747
180840
|
* * ClipStatus.TrivialReject if neither of those occurred.
|
|
@@ -180831,8 +180924,9 @@ class ClipUtilities {
|
|
|
180831
180924
|
}
|
|
180832
180925
|
}
|
|
180833
180926
|
/**
|
|
180834
|
-
* Return a (possibly empty) array of geometry (Loops !!) which are facets of the intersection of the convex set
|
|
180835
|
-
*
|
|
180927
|
+
* Return a (possibly empty) array of geometry (Loops !!) which are facets of the intersection of the convex set
|
|
180928
|
+
* intersecting a range.
|
|
180929
|
+
* * Return zero length array for (a) null range or (b) no intersections
|
|
180836
180930
|
* @param allClippers convex or union clipper
|
|
180837
180931
|
* @param range range to intersect
|
|
180838
180932
|
* @param includeConvexSetFaces if false, do not compute facets originating as convex set planes.
|
|
@@ -181002,7 +181096,8 @@ class ClipUtilities {
|
|
|
181002
181096
|
}
|
|
181003
181097
|
return false;
|
|
181004
181098
|
}
|
|
181005
|
-
/**
|
|
181099
|
+
/**
|
|
181100
|
+
* Test for intersection of two ranges in different local coordinates.
|
|
181006
181101
|
* * Useful for clash detection of elements in iModels, using their stored (tight) local ranges and placement transforms.
|
|
181007
181102
|
* @param range0 range in local coordinates of first geometry
|
|
181008
181103
|
* @param local0ToWorld placement transform for first geometry
|
|
@@ -181047,8 +181142,8 @@ class ClipUtilities {
|
|
|
181047
181142
|
* * If there are more than baseCount+1 fragments:
|
|
181048
181143
|
* * drop them all to the cache
|
|
181049
181144
|
* * push a copy of the singleton.
|
|
181050
|
-
* * The use case for this is that a multi-step clipper (e.g. UnionOfConvexClipPlaneSets) may produce many fragments,
|
|
181051
|
-
*
|
|
181145
|
+
* * The use case for this is that a multi-step clipper (e.g. UnionOfConvexClipPlaneSets) may produce many fragments,
|
|
181146
|
+
* and then be able to determine that they really are the original pre-clip polygon unchanged.
|
|
181052
181147
|
* * The baseCount+1 case is the case where the entire original singleton is still a singleton and can be left alone.
|
|
181053
181148
|
* * Calling this replacer shuffles the original back into the fragment array, and drops the fragments.
|
|
181054
181149
|
* * This determination is solely within the logic of the caller.
|
|
@@ -181081,8 +181176,7 @@ class ClipUtilities {
|
|
|
181081
181176
|
}
|
|
181082
181177
|
return _internalContexts_LineStringOffsetClipperContext__WEBPACK_IMPORTED_MODULE_12__.LineStringOffsetClipperContext.createClipBetweenOffsets(points, leftOffset, rightOffset, z0, z1);
|
|
181083
181178
|
}
|
|
181084
|
-
/**
|
|
181085
|
-
*/
|
|
181179
|
+
/** If data.length >= minLength threshold, push it to destination; if smaller drop it back to the cache. */
|
|
181086
181180
|
static captureOrDrop(data, minLength, destination, cache) {
|
|
181087
181181
|
if (data.length >= minLength)
|
|
181088
181182
|
destination.push(data);
|
|
@@ -181279,8 +181373,8 @@ class ClipUtilities {
|
|
|
181279
181373
|
const oldOutsideCount = acceptedOut ? acceptedOut.length : 0;
|
|
181280
181374
|
let shard;
|
|
181281
181375
|
// At each convex set, carryForwardA is all the fragments that have been outside all previous convex sets.
|
|
181282
|
-
// Clip each such fragment to the current set, sending the outside parts to carryForwardB, which will got to
|
|
181283
|
-
// The final surviving carryForward really is out.
|
|
181376
|
+
// Clip each such fragment to the current set, sending the outside parts to carryForwardB, which will got to
|
|
181377
|
+
// the next clipper. The final surviving carryForward really is out.
|
|
181284
181378
|
for (const c of clippers) {
|
|
181285
181379
|
if (c.appendPolygonClip) {
|
|
181286
181380
|
while (undefined !== (shard = candidates.pop())) {
|
|
@@ -181304,9 +181398,7 @@ class ClipUtilities {
|
|
|
181304
181398
|
if (acceptedIn?.length === oldInsideCount)
|
|
181305
181399
|
ClipUtilities.restoreSingletonInPlaceOfMultipleShards(acceptedOut, oldOutsideCount, xyz, arrayCache);
|
|
181306
181400
|
}
|
|
181307
|
-
/**
|
|
181308
|
-
* Pass polygon `xyz` through a sequence of PolygonClip steps with "parity" rules
|
|
181309
|
-
*/
|
|
181401
|
+
/** Pass polygon `xyz` through a sequence of PolygonClip steps with "parity" rules */
|
|
181310
181402
|
static doPolygonClipParitySequence(xyz, clippers, acceptedIn, acceptedOut, arrayCache) {
|
|
181311
181403
|
if (arrayCache === undefined)
|
|
181312
181404
|
arrayCache = new _geometry3d_ReusableObjectCache__WEBPACK_IMPORTED_MODULE_14__.GrowableXYZArrayCache();
|
|
@@ -181355,9 +181447,9 @@ class ClipUtilities {
|
|
|
181355
181447
|
moveFragments(candidatesOut, acceptedOut, arrayCache);
|
|
181356
181448
|
}
|
|
181357
181449
|
}
|
|
181358
|
-
/**
|
|
181450
|
+
/**
|
|
181451
|
+
* For each plane of clipper, construct a UnionOfConvexClipPlaneSets for an outer (infinite) convex volume that
|
|
181359
181452
|
* abuts the outer volume of the neighbor faces.
|
|
181360
|
-
*
|
|
181361
181453
|
*/
|
|
181362
181454
|
static createComplementaryClips(clipper) {
|
|
181363
181455
|
const planes = clipper.planes;
|
|
@@ -181466,18 +181558,22 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
181466
181558
|
|
|
181467
181559
|
|
|
181468
181560
|
|
|
181469
|
-
/**
|
|
181561
|
+
/**
|
|
181562
|
+
* Class holding an array structure of shapes defined by `ClipPrimitive`
|
|
181470
181563
|
* * The `ClipVector` defines an intersection of the member `ClipPrimitive` regions.
|
|
181471
|
-
* * In the most common usage, one of the `ClipPrimitive` will be an outer region, and all others are holes with marker
|
|
181564
|
+
* * In the most common usage, one of the `ClipPrimitive` will be an outer region, and all others are holes with marker
|
|
181565
|
+
* flag indicating that the outside of each hole is live.
|
|
181472
181566
|
* @public
|
|
181473
181567
|
*/
|
|
181474
181568
|
class ClipVector {
|
|
181475
181569
|
/** Returns a reference to the array of ClipShapes. */
|
|
181476
181570
|
get clips() { return this._clips; }
|
|
181477
181571
|
constructor(clips) {
|
|
181478
|
-
/**
|
|
181572
|
+
/**
|
|
181573
|
+
* Range acting as first filter.
|
|
181479
181574
|
* * This is understood as overall range limit, not as precise planes.
|
|
181480
|
-
* *
|
|
181575
|
+
* * Applying any rotation to the whole ClipVector generally expands this range, rather than exactly transforming
|
|
181576
|
+
* its planes.
|
|
181481
181577
|
*/
|
|
181482
181578
|
this.boundingRange = _geometry3d_Range__WEBPACK_IMPORTED_MODULE_1__.Range3d.createNull();
|
|
181483
181579
|
this._clips = clips ? clips : [];
|
|
@@ -181565,7 +181661,8 @@ class ClipVector {
|
|
|
181565
181661
|
pointInside(point, onTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.smallMetricDistanceSquared) {
|
|
181566
181662
|
return this.isPointOnOrInside(point, onTolerance);
|
|
181567
181663
|
}
|
|
181568
|
-
/**
|
|
181664
|
+
/**
|
|
181665
|
+
* Method from [[Clipper]] interface.
|
|
181569
181666
|
* * Implement as dispatch to clipPlaneSets as supplied by derived class.
|
|
181570
181667
|
*/
|
|
181571
181668
|
isPointOnOrInside(point, onTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.smallMetricDistanceSquared) {
|
|
@@ -181591,7 +181688,8 @@ class ClipVector {
|
|
|
181591
181688
|
}
|
|
181592
181689
|
return numChildren > 0;
|
|
181593
181690
|
}
|
|
181594
|
-
/**
|
|
181691
|
+
/**
|
|
181692
|
+
* Method from [[Clipper]] interface.
|
|
181595
181693
|
* * Implement as dispatch to clipPlaneSets as supplied by derived class.
|
|
181596
181694
|
*/
|
|
181597
181695
|
announceClippedSegmentIntervals(f0, f1, pointA, pointB, announce) {
|
|
@@ -181615,10 +181713,11 @@ class ClipVector {
|
|
|
181615
181713
|
if (this._clipNodeProxy)
|
|
181616
181714
|
this._clipNodeProxy.appendPolygonClip(xyz, insideFragments, outsideFragments, arrayCache);
|
|
181617
181715
|
}
|
|
181618
|
-
/**
|
|
181619
|
-
|
|
181620
|
-
|
|
181621
|
-
|
|
181716
|
+
/**
|
|
181717
|
+
* Transforms this ClipVector to a new coordinate-system.
|
|
181718
|
+
* Note that if the transform has rotate and scale the boundingRange member expands.
|
|
181719
|
+
* Returns true if successful.
|
|
181720
|
+
*/
|
|
181622
181721
|
transformInPlace(transform) {
|
|
181623
181722
|
for (const clip of this._clips)
|
|
181624
181723
|
if (clip.transformInPlace(transform) === false)
|
|
@@ -181630,15 +181729,13 @@ class ClipVector {
|
|
|
181630
181729
|
/**
|
|
181631
181730
|
* A simple way of packaging this ClipVector's ClipShape points into a multidimensional array, while also
|
|
181632
181731
|
* taking into account each ClipPrimitive's individual transforms.
|
|
181633
|
-
*
|
|
181634
181732
|
* ClipPrimitives OTHER THAN ClipShape are ignored.
|
|
181635
|
-
*
|
|
181636
181733
|
* Information out:
|
|
181637
|
-
* - All of the loop points are stored in the multidimensional Point3d array given (will return unchanged upon failure)
|
|
181638
|
-
* - If given a transform, will be set from the transformFromClip of the first ClipPrimitive
|
|
181639
|
-
* - The ClipMask of the final ClipPrimitive is stored in the returned array at index 0
|
|
181640
|
-
* - The last valid zLow found is stored in the returned array at index 1
|
|
181641
|
-
* - The last valid zHigh found is stored in the returned array at index 2
|
|
181734
|
+
* - All of the loop points are stored in the multidimensional Point3d array given (will return unchanged upon failure).
|
|
181735
|
+
* - If given a transform, will be set from the transformFromClip of the first ClipPrimitive.
|
|
181736
|
+
* - The ClipMask of the final ClipPrimitive is stored in the returned array at index 0.
|
|
181737
|
+
* - The last valid zLow found is stored in the returned array at index 1.
|
|
181738
|
+
* - The last valid zHigh found is stored in the returned array at index 2.
|
|
181642
181739
|
*/
|
|
181643
181740
|
extractBoundaryLoops(loopPoints, transform) {
|
|
181644
181741
|
let clipM = _ClipPrimitive__WEBPACK_IMPORTED_MODULE_2__.ClipMaskXYZRangePlanes.None;
|
|
@@ -181693,7 +181790,10 @@ class ClipVector {
|
|
|
181693
181790
|
for (const clip of this._clips)
|
|
181694
181791
|
clip.setInvisible(invisible);
|
|
181695
181792
|
}
|
|
181696
|
-
/**
|
|
181793
|
+
/**
|
|
181794
|
+
* For every clip, parse the member point array into the member clip plane object (only for clipPlanes member,
|
|
181795
|
+
* not the mask)
|
|
181796
|
+
*/
|
|
181697
181797
|
parseClipPlanes() {
|
|
181698
181798
|
for (const clip of this._clips)
|
|
181699
181799
|
clip.fetchClipPlanesRef();
|
|
@@ -181722,8 +181822,9 @@ class ClipVector {
|
|
|
181722
181822
|
return true;
|
|
181723
181823
|
}
|
|
181724
181824
|
/**
|
|
181725
|
-
* Determines whether the given points fall inside or outside this set of ClipShapes. If any set is defined
|
|
181726
|
-
* checks the mask planes only, provided that ignoreMasks is false. Otherwise, checks the
|
|
181825
|
+
* Determines whether the given points fall inside or outside this set of ClipShapes. If any set is defined
|
|
181826
|
+
* by masking planes, checks the mask planes only, provided that ignoreMasks is false. Otherwise, checks the
|
|
181827
|
+
* _clipPlanes member.
|
|
181727
181828
|
*/
|
|
181728
181829
|
classifyPointContainment(points, ignoreMasks = false) {
|
|
181729
181830
|
let currentContainment = _ClipUtils__WEBPACK_IMPORTED_MODULE_6__.ClipPlaneContainment.Ambiguous;
|
|
@@ -181747,7 +181848,8 @@ class ClipVector {
|
|
|
181747
181848
|
return this.classifyPointContainment(corners, ignoreMasks);
|
|
181748
181849
|
}
|
|
181749
181850
|
/**
|
|
181750
|
-
* For an array of points (making up a LineString), tests whether the segment between each point lies inside the
|
|
181851
|
+
* For an array of points (making up a LineString), tests whether the segment between each point lies inside the
|
|
181852
|
+
* ClipVector.
|
|
181751
181853
|
* If true, returns true immediately.
|
|
181752
181854
|
*/
|
|
181753
181855
|
isAnyLineStringPointInside(points) {
|
|
@@ -181797,7 +181899,8 @@ class ClipVector {
|
|
|
181797
181899
|
}
|
|
181798
181900
|
return true;
|
|
181799
181901
|
}
|
|
181800
|
-
/**
|
|
181902
|
+
/**
|
|
181903
|
+
* Serializes this ClipVector to a compact string representation appropriate for transmission as part of a URL.
|
|
181801
181904
|
* Chiefly used for requesting [Tile]($frontend)s with section cut facets.
|
|
181802
181905
|
* UnionOfConvexClipPlaneSets is obtained for each ClipPrimitive. The encoding is as follows:
|
|
181803
181906
|
* ClipVector:
|
|
@@ -181860,7 +181963,8 @@ class ClipVector {
|
|
|
181860
181963
|
}
|
|
181861
181964
|
ClipVector._TARGET_FRACTION_SUM = 0.99999999;
|
|
181862
181965
|
|
|
181863
|
-
/**
|
|
181966
|
+
/**
|
|
181967
|
+
* Bundles a ClipVector with its compact string representation.
|
|
181864
181968
|
* @note The string representation is computed once; the ClipVector is assumed not to be subsequently modified.
|
|
181865
181969
|
* @alpha
|
|
181866
181970
|
*/
|
|
@@ -181938,7 +182042,8 @@ class ConvexClipPlaneSet {
|
|
|
181938
182042
|
// this._parity = 1;
|
|
181939
182043
|
this._planes = planes ? planes : [];
|
|
181940
182044
|
}
|
|
181941
|
-
/**
|
|
182045
|
+
/**
|
|
182046
|
+
* Return an array containing all the planes of the convex set.
|
|
181942
182047
|
* * Note that this has no leading keyword identifying it as a ConvexClipPlaneSet.
|
|
181943
182048
|
*/
|
|
181944
182049
|
toJSON() {
|
|
@@ -181947,7 +182052,8 @@ class ConvexClipPlaneSet {
|
|
|
181947
182052
|
val.push(plane.toJSON());
|
|
181948
182053
|
return val;
|
|
181949
182054
|
}
|
|
181950
|
-
/**
|
|
182055
|
+
/**
|
|
182056
|
+
* Extract clip planes from a json array `[ clipPlane, clipPlane ]`.
|
|
181951
182057
|
* * Non-clipPlane members are ignored.
|
|
181952
182058
|
*/
|
|
181953
182059
|
static fromJSON(json, result) {
|
|
@@ -181963,7 +182069,7 @@ class ConvexClipPlaneSet {
|
|
|
181963
182069
|
return result;
|
|
181964
182070
|
}
|
|
181965
182071
|
/**
|
|
181966
|
-
* Return true if all members are almostEqual to corresponding members of other.
|
|
182072
|
+
* Return true if all members are almostEqual to corresponding members of other. This includes identical order in array.
|
|
181967
182073
|
* @param other clip plane to compare
|
|
181968
182074
|
*/
|
|
181969
182075
|
isAlmostEqual(other) {
|
|
@@ -181974,7 +182080,8 @@ class ConvexClipPlaneSet {
|
|
|
181974
182080
|
return false;
|
|
181975
182081
|
return true;
|
|
181976
182082
|
}
|
|
181977
|
-
/**
|
|
182083
|
+
/**
|
|
182084
|
+
* Create ConvexClipPlaneSet from an array of planes.
|
|
181978
182085
|
* * Each plane reference in the `planes` array is taken into the result.
|
|
181979
182086
|
* * The input array itself is NOT taken into the result.
|
|
181980
182087
|
*/
|
|
@@ -182017,7 +182124,7 @@ class ConvexClipPlaneSet {
|
|
|
182017
182124
|
result.planes.push(_ClipPlane__WEBPACK_IMPORTED_MODULE_0__.ClipPlane.createNormalAndPointXYZXYZ(0, 0, -1, 0, 0, range.high.z));
|
|
182018
182125
|
return result;
|
|
182019
182126
|
}
|
|
182020
|
-
/**
|
|
182127
|
+
/** Create an empty `ConvexClipPlaneSet` */
|
|
182021
182128
|
static createEmpty(result) {
|
|
182022
182129
|
if (result) {
|
|
182023
182130
|
result._planes.length = 0;
|
|
@@ -182025,14 +182132,15 @@ class ConvexClipPlaneSet {
|
|
|
182025
182132
|
}
|
|
182026
182133
|
return new ConvexClipPlaneSet();
|
|
182027
182134
|
}
|
|
182028
|
-
/**
|
|
182135
|
+
/** Negate all planes of the set. */
|
|
182029
182136
|
negateAllPlanes() {
|
|
182030
182137
|
for (const plane of this._planes)
|
|
182031
182138
|
plane.negateInPlace();
|
|
182032
182139
|
}
|
|
182033
|
-
/**
|
|
182140
|
+
/**
|
|
182141
|
+
* Create a convex clip plane set that clips to `x0 <= x <= x1` and `y0 <= y <= y1`.
|
|
182034
182142
|
* * Note that there is no test for the usual ordering `x0 <= x1` or `y0 <= y1`.
|
|
182035
|
-
*
|
|
182143
|
+
* * if the usual ordering is violated, the convex set is an empty set.
|
|
182036
182144
|
*/
|
|
182037
182145
|
static createXYBox(x0, y0, x1, y1, result) {
|
|
182038
182146
|
result = result ? result : new ConvexClipPlaneSet();
|
|
@@ -182046,11 +182154,13 @@ class ConvexClipPlaneSet {
|
|
|
182046
182154
|
}
|
|
182047
182155
|
return result;
|
|
182048
182156
|
}
|
|
182049
|
-
/**
|
|
182157
|
+
/**
|
|
182158
|
+
* Create a convex set containing a half space for each edge between points of a polyline.
|
|
182050
182159
|
* * Caller is responsible for assuring the polyline is convex.
|
|
182051
|
-
* @param points array of points.
|
|
182052
|
-
* @param interior array whose boolean value is used as both the `interior` and `invisible` bits of the plane for the
|
|
182053
|
-
*
|
|
182160
|
+
* @param points array of points. Only xy parts are considered.
|
|
182161
|
+
* @param interior array whose boolean value is used as both the `interior` and `invisible` bits of the plane for the
|
|
182162
|
+
* succeeding segment. If this array is not provided, both are false.
|
|
182163
|
+
* @param leftIsInside if true, the interior is "to the left" of the segments. If false, interior is "to the right".
|
|
182054
182164
|
*/
|
|
182055
182165
|
static createXYPolyLine(points, interior, leftIsInside, result) {
|
|
182056
182166
|
result = result ? result : new ConvexClipPlaneSet();
|
|
@@ -182094,7 +182204,7 @@ class ConvexClipPlaneSet {
|
|
|
182094
182204
|
return result;
|
|
182095
182205
|
}
|
|
182096
182206
|
/**
|
|
182097
|
-
* (
|
|
182207
|
+
* Set (or reset) a plane and ConvexClipPlaneSet for a convex array, such as a convex facet used for xy clip.
|
|
182098
182208
|
* * The planeOfPolygon is (re)initialized with the normal from 3 points, but not otherwise referenced.
|
|
182099
182209
|
* * The ConvexClipPlaneSet is filled with outward normals of the facet edges as viewed to xy plane.
|
|
182100
182210
|
* @param points
|
|
@@ -182138,7 +182248,7 @@ class ConvexClipPlaneSet {
|
|
|
182138
182248
|
* Test if there is any intersection with a ray defined by origin and direction.
|
|
182139
182249
|
* * Optionally record the range (null or otherwise) in caller-allocated result.
|
|
182140
182250
|
* * If the ray is unbounded inside the clip, result can contain positive or negative
|
|
182141
|
-
*
|
|
182251
|
+
* "Geometry.largeCoordinateResult" values.
|
|
182142
182252
|
* * If no result is provide, there are no object allocations.
|
|
182143
182253
|
* @param result optional Range1d to receive parameters along the ray.
|
|
182144
182254
|
*/
|
|
@@ -182183,7 +182293,8 @@ class ConvexClipPlaneSet {
|
|
|
182183
182293
|
* @param matrix matrix to apply.
|
|
182184
182294
|
* @param invert if true, use in verse of the matrix.
|
|
182185
182295
|
* @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter)
|
|
182186
|
-
* * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect
|
|
182296
|
+
* * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect
|
|
182297
|
+
* on the plane is the inverse transpose of matrixA.
|
|
182187
182298
|
* * Callers that will apply the same matrix to many planes should pre-invert the matrix for efficiency.
|
|
182188
182299
|
* * Both params default to true to get the full effect of transforming space.
|
|
182189
182300
|
* @param matrix matrix to apply
|
|
@@ -182203,7 +182314,8 @@ class ConvexClipPlaneSet {
|
|
|
182203
182314
|
/** Return true if `point` satisfies `point.isPointInside` for all planes */
|
|
182204
182315
|
isPointInside(point) {
|
|
182205
182316
|
for (const plane of this._planes) {
|
|
182206
|
-
|
|
182317
|
+
// Defaults to strict inside check. Other clipping classes may use "on or inside" check for the "on" case
|
|
182318
|
+
if (!plane.isPointInside(point))
|
|
182207
182319
|
return false;
|
|
182208
182320
|
}
|
|
182209
182321
|
return true;
|
|
@@ -182231,13 +182343,15 @@ class ConvexClipPlaneSet {
|
|
|
182231
182343
|
}
|
|
182232
182344
|
return true;
|
|
182233
182345
|
}
|
|
182234
|
-
/**
|
|
182235
|
-
*
|
|
182236
|
-
* *
|
|
182346
|
+
/**
|
|
182347
|
+
* Find the parts of the line segment (if any) that is within the convex clip volume.
|
|
182348
|
+
* * The line segment is defined by `pointA` and `pointB`.
|
|
182349
|
+
* * The input fractional interval from `fraction0` to `fraction1` (increasing) is the active part to consider.
|
|
182350
|
+
* * To clip to the usual bounded line segment, start with fractions (0,1).
|
|
182237
182351
|
* If the clip volume is unbounded, the line interval may also be unbounded.
|
|
182238
|
-
* * An unbounded line portion will have fraction coordinates positive or negative Number.MAX_VALUE
|
|
182239
|
-
* @param
|
|
182240
|
-
* @param
|
|
182352
|
+
* * An unbounded line portion will have fraction coordinates positive or negative `Number.MAX_VALUE`.
|
|
182353
|
+
* @param f0 fraction that is the initial lower fraction of the active interval (e.g., 0.0 for bounded segment).
|
|
182354
|
+
* @param f1 fraction that is the initial upper fraction of the active interval (e.g., 1.0 for bounded segment).
|
|
182241
182355
|
* @param pointA segment start (fraction 0)
|
|
182242
182356
|
* @param pointB segment end (fraction 1)
|
|
182243
182357
|
* @param announce function to be called to announce a fraction interval that is within the convex clip volume.
|
|
@@ -182252,7 +182366,7 @@ class ConvexClipPlaneSet {
|
|
|
182252
182366
|
const hB = -plane.altitude(pointB);
|
|
182253
182367
|
fraction = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.conditionalDivideFraction(-hA, (hB - hA));
|
|
182254
182368
|
if (fraction === undefined) {
|
|
182255
|
-
//
|
|
182369
|
+
// Line parallel to the plane. If positive, it is all OUT
|
|
182256
182370
|
if (hA > 0.0)
|
|
182257
182371
|
return false;
|
|
182258
182372
|
}
|
|
@@ -182281,7 +182395,8 @@ class ConvexClipPlaneSet {
|
|
|
182281
182395
|
}
|
|
182282
182396
|
return false;
|
|
182283
182397
|
}
|
|
182284
|
-
/**
|
|
182398
|
+
/**
|
|
182399
|
+
* Find fractional parts of the arc that are within this ClipPlaneSet, and announce each as
|
|
182285
182400
|
* * `announce(fraction, fraction, curve)`
|
|
182286
182401
|
*/
|
|
182287
182402
|
announceClippedArcIntervals(arc, announce) {
|
|
@@ -182293,7 +182408,8 @@ class ConvexClipPlaneSet {
|
|
|
182293
182408
|
arc.sweep.radiansArrayToPositivePeriodicFractions(breaks);
|
|
182294
182409
|
return _ClipUtils__WEBPACK_IMPORTED_MODULE_4__.ClipUtilities.selectIntervals01(arc, breaks, this, announce);
|
|
182295
182410
|
}
|
|
182296
|
-
/**
|
|
182411
|
+
/**
|
|
182412
|
+
* Find the parts of the (unbounded) line segment (if any) that is within the convex clip volume.
|
|
182297
182413
|
* @param pointA segment start (fraction 0)
|
|
182298
182414
|
* @param pointB segment end (fraction 1)
|
|
182299
182415
|
* @param announce function to be called to announce a fraction interval that is within the convex clip volume.
|
|
@@ -182323,7 +182439,8 @@ class ConvexClipPlaneSet {
|
|
|
182323
182439
|
return;
|
|
182324
182440
|
}
|
|
182325
182441
|
}
|
|
182326
|
-
/**
|
|
182442
|
+
/**
|
|
182443
|
+
* Clip a convex polygon to (a single) inside part and (possibly many) outside parts.
|
|
182327
182444
|
* @param xyz input polygon.
|
|
182328
182445
|
* @param outsideFragments an array to receive (via push, with no preliminary clear) outside fragments
|
|
182329
182446
|
* @param arrayCache cache for work arrays.
|
|
@@ -182366,14 +182483,15 @@ class ConvexClipPlaneSet {
|
|
|
182366
182483
|
arrayCache.dropToCache(insidePart);
|
|
182367
182484
|
return undefined;
|
|
182368
182485
|
}
|
|
182369
|
-
/**
|
|
182486
|
+
/**
|
|
182487
|
+
* Returns 1, 2, or 3 based on whether point array is strongly inside, ambiguous, or strongly outside respectively.
|
|
182370
182488
|
* * This has a peculiar expected use case as a very fast pre-filter for more precise clipping.
|
|
182371
182489
|
* * The expected point set is for a polygon.
|
|
182372
182490
|
* * Hence any clipping will eventually have to consider the lines between the points.
|
|
182373
182491
|
* * This method looks for the special case of a single clip plane that has all the points outside.
|
|
182374
182492
|
* * In this case the whole polygon must be outside.
|
|
182375
182493
|
* * Note that this does not detect a polygon that is outside but "crosses a corner" -- it is mixed with respect to
|
|
182376
|
-
*
|
|
182494
|
+
* multiple planes.
|
|
182377
182495
|
*/
|
|
182378
182496
|
classifyPointContainment(points, onIsOutside) {
|
|
182379
182497
|
let allInside = true;
|
|
@@ -182395,7 +182513,8 @@ class ConvexClipPlaneSet {
|
|
|
182395
182513
|
/**
|
|
182396
182514
|
* * Create a convex clip set for a polygon swept with possible tilt angle.
|
|
182397
182515
|
* * planes are constructed by ClipPlane.createEdgeAndUpVector, using successive points from the array.
|
|
182398
|
-
* * If the first and last points match, the polygon area is checked. If the area is negative, points are used in
|
|
182516
|
+
* * If the first and last points match, the polygon area is checked. If the area is negative, points are used in
|
|
182517
|
+
* reverse order.
|
|
182399
182518
|
* * If first and last points do not match, points are used in order given
|
|
182400
182519
|
* @param points polygon points. (Closure point optional)
|
|
182401
182520
|
* @param upVector primary sweep direction, as applied by ClipPlane.createEdgeAndUpVector
|
|
@@ -182443,7 +182562,7 @@ class ConvexClipPlaneSet {
|
|
|
182443
182562
|
this._planes.push(_ClipPlane__WEBPACK_IMPORTED_MODULE_0__.ClipPlane.createPlane(plane));
|
|
182444
182563
|
}
|
|
182445
182564
|
/**
|
|
182446
|
-
*
|
|
182565
|
+
* Test many points. Distribute them to arrays depending on in/out result.
|
|
182447
182566
|
* @param points points to test
|
|
182448
182567
|
* @param inOrOn points that are in or on the set
|
|
182449
182568
|
* @param out points that are out.
|
|
@@ -182463,8 +182582,10 @@ class ConvexClipPlaneSet {
|
|
|
182463
182582
|
/**
|
|
182464
182583
|
* Clip a polygon to the planes of the clip plane set.
|
|
182465
182584
|
* * For a convex input polygon, the output is another convex polygon.
|
|
182466
|
-
* * For a non-convex input, the output may have double-back edges along plane intersections.
|
|
182467
|
-
*
|
|
182585
|
+
* * For a non-convex input, the output may have double-back edges along plane intersections. This is still a
|
|
182586
|
+
* valid clip in a parity sense.
|
|
182587
|
+
* * The containingPlane parameter allows callers within ConvexClipPlane set to bypass planes known to contain
|
|
182588
|
+
* the polygon.
|
|
182468
182589
|
* @param input input polygon, usually convex.
|
|
182469
182590
|
* @param output output polygon
|
|
182470
182591
|
* @param work work array.
|
|
@@ -182509,7 +182630,7 @@ class ConvexClipPlaneSet {
|
|
|
182509
182630
|
const inwardNormal = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.createCrossProduct(sweepDirection.x, sweepDirection.y, sweepDirection.z, edgeVector.x, edgeVector.y, edgeVector.z);
|
|
182510
182631
|
const inwardNormalNormalized = inwardNormal.normalize();
|
|
182511
182632
|
let distance;
|
|
182512
|
-
if (inwardNormalNormalized) { //
|
|
182633
|
+
if (inwardNormalNormalized) { // should never fail... simply a check due to the format of the normalize function return
|
|
182513
182634
|
distance = inwardNormalNormalized.dotProduct(xyz0);
|
|
182514
182635
|
const clipToAdd = _ClipPlane__WEBPACK_IMPORTED_MODULE_0__.ClipPlane.createNormalAndDistance(inwardNormalNormalized, distance, false, false);
|
|
182515
182636
|
if (clipToAdd) {
|
|
@@ -182538,13 +182659,16 @@ class ConvexClipPlaneSet {
|
|
|
182538
182659
|
* * optionally throw out points that are not in the set.
|
|
182539
182660
|
* * optionally push the points in the caller-supplied point array.
|
|
182540
182661
|
* * optionally extend a caller supplied range.
|
|
182541
|
-
* * In the common case where the convex set is (a) a slab or (b) a view frustum, there will be 8 points and the
|
|
182542
|
-
*
|
|
182662
|
+
* * In the common case where the convex set is (a) a slab or (b) a view frustum, there will be 8 points and the
|
|
182663
|
+
* range is the range of the convex set.
|
|
182664
|
+
* * If the convex set is unbounded, the range only contains the range of the accepted (corner) points, and the
|
|
182665
|
+
* range is not a representative of the "range of all points in the set".
|
|
182543
182666
|
* @param transform (optional) transform to apply to the points.
|
|
182544
182667
|
* @param points (optional) array to which computed points are to be added.
|
|
182545
182668
|
* @param range (optional) range to be extended by the computed points
|
|
182546
182669
|
* @param transform (optional) transform to apply to the accepted points.
|
|
182547
|
-
* @param testContainment if true, test each point to see if it is within the convex set.
|
|
182670
|
+
* @param testContainment if true, test each point to see if it is within the convex set. (send false if confident
|
|
182671
|
+
* that the convex set is rectilinear set such as a slab. Send true if chiseled corners are possible).
|
|
182548
182672
|
* @returns number of points.
|
|
182549
182673
|
*/
|
|
182550
182674
|
computePlanePlanePlaneIntersections(points, rangeToExtend, transform, testContainment = true) {
|
|
@@ -182593,11 +182717,13 @@ class ConvexClipPlaneSet {
|
|
|
182593
182717
|
if (zHigh !== undefined)
|
|
182594
182718
|
this._planes.push(_ClipPlane__WEBPACK_IMPORTED_MODULE_0__.ClipPlane.createNormalAndDistance(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.create(0, 0, -1), -zHigh, invisible));
|
|
182595
182719
|
}
|
|
182596
|
-
/**
|
|
182597
|
-
*
|
|
182720
|
+
/**
|
|
182721
|
+
* Implement appendPolygonClip, as defined in interface PolygonClipper.
|
|
182598
182722
|
* @param xyz input polygon. This is not changed.
|
|
182599
|
-
* @param insideFragments Array to receive "inside" fragments.
|
|
182600
|
-
*
|
|
182723
|
+
* @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from
|
|
182724
|
+
* the cache. This is NOT cleared.
|
|
182725
|
+
* @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from
|
|
182726
|
+
* the cache. This is NOT cleared.
|
|
182601
182727
|
* @param arrayCache cache for reusable GrowableXYZArray.
|
|
182602
182728
|
*/
|
|
182603
182729
|
appendPolygonClip(xyz, insideFragments, outsideFragments, arrayCache) {
|
|
@@ -182605,7 +182731,8 @@ class ConvexClipPlaneSet {
|
|
|
182605
182731
|
if (newInside)
|
|
182606
182732
|
insideFragments.push(newInside);
|
|
182607
182733
|
}
|
|
182608
|
-
/**
|
|
182734
|
+
/**
|
|
182735
|
+
* Create a convex clip set from a convex mesh.
|
|
182609
182736
|
* * Create a plane for each facet.
|
|
182610
182737
|
* * Assemble the planes as a single clip plane set.
|
|
182611
182738
|
* * If the facets are closed by edge pairing, use the sign of the computed volume to point the plane normals inward.
|
|
@@ -182694,11 +182821,13 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
182694
182821
|
*/
|
|
182695
182822
|
class UnionOfConvexClipPlaneSets {
|
|
182696
182823
|
/** (property accessor) Return the (reference to the) array of `ConvexClipPlaneSet` */
|
|
182697
|
-
get convexSets() {
|
|
182824
|
+
get convexSets() {
|
|
182825
|
+
return this._convexSets;
|
|
182826
|
+
}
|
|
182698
182827
|
constructor() {
|
|
182699
182828
|
this._convexSets = [];
|
|
182700
182829
|
}
|
|
182701
|
-
/** Return an array with the `toJSON` form of each
|
|
182830
|
+
/** Return an array with the `toJSON` form of each `ConvexClipPlaneSet` */
|
|
182702
182831
|
toJSON() {
|
|
182703
182832
|
const val = [];
|
|
182704
182833
|
for (const convex of this._convexSets)
|
|
@@ -182724,8 +182853,9 @@ class UnionOfConvexClipPlaneSets {
|
|
|
182724
182853
|
return new UnionOfConvexClipPlaneSets();
|
|
182725
182854
|
}
|
|
182726
182855
|
/**
|
|
182727
|
-
* Return true if all member convex sets are almostEqual to corresponding members of other.
|
|
182728
|
-
*
|
|
182856
|
+
* Return true if all member convex sets are almostEqual to corresponding members of other. This includes
|
|
182857
|
+
* identical order in array.
|
|
182858
|
+
* @param other clip plane to compare.
|
|
182729
182859
|
*/
|
|
182730
182860
|
isAlmostEqual(other) {
|
|
182731
182861
|
if (this._convexSets.length !== other._convexSets.length)
|
|
@@ -182735,14 +182865,14 @@ class UnionOfConvexClipPlaneSets {
|
|
|
182735
182865
|
return false;
|
|
182736
182866
|
return true;
|
|
182737
182867
|
}
|
|
182738
|
-
/** Create a `UnionOfConvexClipPlaneSets` with given `ConvexClipPlaneSet` members */
|
|
182868
|
+
/** Create a `UnionOfConvexClipPlaneSets` with given `ConvexClipPlaneSet` members. */
|
|
182739
182869
|
static createConvexSets(convexSets, result) {
|
|
182740
182870
|
result = result ? result : new UnionOfConvexClipPlaneSets();
|
|
182741
182871
|
for (const set of convexSets)
|
|
182742
182872
|
result._convexSets.push(set);
|
|
182743
182873
|
return result;
|
|
182744
182874
|
}
|
|
182745
|
-
/**
|
|
182875
|
+
/** Return a deep copy. */
|
|
182746
182876
|
clone(result) {
|
|
182747
182877
|
result = result ? result : new UnionOfConvexClipPlaneSets();
|
|
182748
182878
|
result._convexSets.length = 0;
|
|
@@ -182750,7 +182880,8 @@ class UnionOfConvexClipPlaneSets {
|
|
|
182750
182880
|
result._convexSets.push(convexSet.clone());
|
|
182751
182881
|
return result;
|
|
182752
182882
|
}
|
|
182753
|
-
/**
|
|
182883
|
+
/**
|
|
182884
|
+
* Append `toAdd` to the array of `ConvexClipPlaneSet`.
|
|
182754
182885
|
* * undefined toAdd is ignored.
|
|
182755
182886
|
*/
|
|
182756
182887
|
addConvexSet(toAdd) {
|
|
@@ -182761,7 +182892,7 @@ class UnionOfConvexClipPlaneSets {
|
|
|
182761
182892
|
* Test if there is any intersection with a ray defined by origin and direction.
|
|
182762
182893
|
* * Optionally record the range (null or otherwise) in caller-allocated result.
|
|
182763
182894
|
* * If the ray is unbounded inside the clip, result can contain positive or negative
|
|
182764
|
-
* "Geometry.largeCoordinateResult" values
|
|
182895
|
+
* "Geometry.largeCoordinateResult" values.
|
|
182765
182896
|
* * If no result is provide, there are no object allocations.
|
|
182766
182897
|
* @param maximalRange optional Range1d to receive parameters along the ray.
|
|
182767
182898
|
*/
|
|
@@ -182782,7 +182913,10 @@ class UnionOfConvexClipPlaneSets {
|
|
|
182782
182913
|
}
|
|
182783
182914
|
return !maximalRange.isNull;
|
|
182784
182915
|
}
|
|
182785
|
-
/**
|
|
182916
|
+
/**
|
|
182917
|
+
* Return true if true is returned for any contained convex set returns true for
|
|
182918
|
+
* `convexSet.isPointInside (point, tolerance)`.
|
|
182919
|
+
*/
|
|
182786
182920
|
isPointInside(point) {
|
|
182787
182921
|
for (const convexSet of this._convexSets) {
|
|
182788
182922
|
if (convexSet.isPointInside(point)) {
|
|
@@ -182791,7 +182925,10 @@ class UnionOfConvexClipPlaneSets {
|
|
|
182791
182925
|
}
|
|
182792
182926
|
return false;
|
|
182793
182927
|
}
|
|
182794
|
-
/**
|
|
182928
|
+
/**
|
|
182929
|
+
* Return true if true is returned for any contained convex set returns true for
|
|
182930
|
+
* `convexSet.isPointOnOrInside (point, tolerance)`.
|
|
182931
|
+
*/
|
|
182795
182932
|
isPointOnOrInside(point, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
|
|
182796
182933
|
for (const convexSet of this._convexSets) {
|
|
182797
182934
|
if (convexSet.isPointOnOrInside(point, tolerance))
|
|
@@ -182799,7 +182936,10 @@ class UnionOfConvexClipPlaneSets {
|
|
|
182799
182936
|
}
|
|
182800
182937
|
return false;
|
|
182801
182938
|
}
|
|
182802
|
-
/**
|
|
182939
|
+
/**
|
|
182940
|
+
* Return true if true is returned for any contained convex set returns true for
|
|
182941
|
+
* `convexSet.isSphereOnOrInside (point, tolerance)`.
|
|
182942
|
+
*/
|
|
182803
182943
|
isSphereInside(point, radius) {
|
|
182804
182944
|
for (const convexSet of this._convexSets) {
|
|
182805
182945
|
if (convexSet.isSphereInside(point, radius))
|
|
@@ -182807,7 +182947,7 @@ class UnionOfConvexClipPlaneSets {
|
|
|
182807
182947
|
}
|
|
182808
182948
|
return false;
|
|
182809
182949
|
}
|
|
182810
|
-
/**
|
|
182950
|
+
/** Test if any part of a line segment is within the volume. */
|
|
182811
182951
|
isAnyPointInOrOnFromSegment(segment) {
|
|
182812
182952
|
for (const convexSet of this._convexSets) {
|
|
182813
182953
|
if (convexSet.announceClippedSegmentIntervals(0.0, 1.0, segment.point0Ref, segment.point1Ref))
|
|
@@ -182817,19 +182957,19 @@ class UnionOfConvexClipPlaneSets {
|
|
|
182817
182957
|
}
|
|
182818
182958
|
// Intervals must be Segment1d array, as there may be multiple intervals along segment that pass through set regions,
|
|
182819
182959
|
// and so splitting the intervals into segments aids in better organization
|
|
182820
|
-
/** Returns the fractions of the segment that pass through the set region, as 1 dimensional pieces */
|
|
182960
|
+
/** Returns the fractions of the segment that pass through the set region, as 1 dimensional pieces. */
|
|
182821
182961
|
appendIntervalsFromSegment(segment, intervals) {
|
|
182822
182962
|
for (const convexSet of this._convexSets) {
|
|
182823
182963
|
convexSet.announceClippedSegmentIntervals(0.0, 1.0, segment.point0Ref, segment.point1Ref, (fraction0, fraction1) => intervals.push(_geometry3d_Segment1d__WEBPACK_IMPORTED_MODULE_3__.Segment1d.create(fraction0, fraction1)));
|
|
182824
182964
|
}
|
|
182825
182965
|
}
|
|
182826
|
-
/**
|
|
182966
|
+
/** Apply `transform` to all the ConvexClipPlaneSet's. */
|
|
182827
182967
|
transformInPlace(transform) {
|
|
182828
182968
|
for (const convexSet of this._convexSets) {
|
|
182829
182969
|
convexSet.transformInPlace(transform);
|
|
182830
182970
|
}
|
|
182831
182971
|
}
|
|
182832
|
-
/** Returns 1, 2, or 3 based on whether point is strongly inside, ambiguous, or strongly outside respectively */
|
|
182972
|
+
/** Returns 1, 2, or 3 based on whether point is strongly inside, ambiguous, or strongly outside respectively. */
|
|
182833
182973
|
classifyPointContainment(points, onIsOutside) {
|
|
182834
182974
|
for (const convexSet of this._convexSets) {
|
|
182835
182975
|
const thisStatus = convexSet.classifyPointContainment(points, onIsOutside);
|
|
@@ -182838,7 +182978,10 @@ class UnionOfConvexClipPlaneSets {
|
|
|
182838
182978
|
}
|
|
182839
182979
|
return _ClipUtils__WEBPACK_IMPORTED_MODULE_4__.ClipPlaneContainment.StronglyOutside;
|
|
182840
182980
|
}
|
|
182841
|
-
/**
|
|
182981
|
+
/**
|
|
182982
|
+
* Clip a polygon using this ClipPlaneSet, returning new polygon boundaries. Note that each polygon may lie
|
|
182983
|
+
* next to the previous, or be disconnected.
|
|
182984
|
+
*/
|
|
182842
182985
|
polygonClip(input, output) {
|
|
182843
182986
|
output.length = 0;
|
|
182844
182987
|
if (Array.isArray(input))
|
|
@@ -182852,13 +182995,13 @@ class UnionOfConvexClipPlaneSets {
|
|
|
182852
182995
|
}
|
|
182853
182996
|
}
|
|
182854
182997
|
/**
|
|
182855
|
-
*
|
|
182856
|
-
* * all clipPlaneSets are inspected
|
|
182998
|
+
* Announce clipSegment() for each convexSet in this ClipPlaneSet.
|
|
182999
|
+
* * all clipPlaneSets are inspected.
|
|
182857
183000
|
* * announced intervals are for each individual clipPlaneSet -- adjacent intervals are not consolidated.
|
|
182858
183001
|
* @param f0 active interval start.
|
|
182859
|
-
* @param f1 active interval end
|
|
182860
|
-
* @param pointA line segment start
|
|
182861
|
-
* @param pointB line segment end
|
|
183002
|
+
* @param f1 active interval end.
|
|
183003
|
+
* @param pointA line segment start.
|
|
183004
|
+
* @param pointB line segment end.
|
|
182862
183005
|
* @param announce function to announce interval.
|
|
182863
183006
|
* @returns Return true if any announcements are made.
|
|
182864
183007
|
*/
|
|
@@ -182870,7 +183013,8 @@ class UnionOfConvexClipPlaneSets {
|
|
|
182870
183013
|
}
|
|
182871
183014
|
return numAnnounce > 0;
|
|
182872
183015
|
}
|
|
182873
|
-
/**
|
|
183016
|
+
/**
|
|
183017
|
+
* Find parts of an arc that are inside any member clipper.
|
|
182874
183018
|
* Announce each with `announce(startFraction, endFraction, this)`
|
|
182875
183019
|
*/
|
|
182876
183020
|
announceClippedArcIntervals(arc, announce) {
|
|
@@ -182886,12 +183030,12 @@ class UnionOfConvexClipPlaneSets {
|
|
|
182886
183030
|
}
|
|
182887
183031
|
/**
|
|
182888
183032
|
* Collect the output from computePlanePlanePlaneIntersections in all the contained convex sets.
|
|
182889
|
-
*
|
|
182890
183033
|
* @param transform (optional) transform to apply to the points.
|
|
182891
183034
|
* @param points (optional) array to which computed points are to be added.
|
|
182892
|
-
* @param range (optional) range to be extended by the computed points
|
|
183035
|
+
* @param range (optional) range to be extended by the computed points.
|
|
182893
183036
|
* @param transform (optional) transform to apply to the accepted points.
|
|
182894
|
-
* @param testContainment if true, test each point to see if it is within the convex set
|
|
183037
|
+
* @param testContainment if true, test each point to see if it is within the convex set (send false if confident
|
|
183038
|
+
* that the convex set is rectilinear set such as a slab. Send true if chiseled corners are possible).
|
|
182895
183039
|
* @returns number of points.
|
|
182896
183040
|
*/
|
|
182897
183041
|
computePlanePlanePlaneIntersectionsInAllConvexSets(points, rangeToExtend, transform, testContainment = true) {
|
|
@@ -182905,8 +183049,9 @@ class UnionOfConvexClipPlaneSets {
|
|
|
182905
183049
|
* Multiply all ClipPlanes DPoint4d by matrix.
|
|
182906
183050
|
* @param matrix matrix to apply.
|
|
182907
183051
|
* @param invert if true, use in verse of the matrix.
|
|
182908
|
-
* @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter)
|
|
182909
|
-
* * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect
|
|
183052
|
+
* @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter).
|
|
183053
|
+
* * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect
|
|
183054
|
+
* on the plane is the inverse transpose of matrixA.
|
|
182910
183055
|
* * Callers that will apply the same matrix to many planes should pre-invert the matrix for efficiency.
|
|
182911
183056
|
* * Both params default to true to get the full effect of transforming space.
|
|
182912
183057
|
* @param matrix matrix to apply
|
|
@@ -182943,7 +183088,7 @@ class UnionOfConvexClipPlaneSets {
|
|
|
182943
183088
|
this._convexSets.push(convexSet);
|
|
182944
183089
|
}
|
|
182945
183090
|
}
|
|
182946
|
-
/**
|
|
183091
|
+
/** Move convex sets from source.*/
|
|
182947
183092
|
takeConvexSets(source) {
|
|
182948
183093
|
let convexSet;
|
|
182949
183094
|
while ((undefined !== (convexSet = source._convexSets.pop()))) {
|
|
@@ -182953,8 +183098,10 @@ class UnionOfConvexClipPlaneSets {
|
|
|
182953
183098
|
/**
|
|
182954
183099
|
*
|
|
182955
183100
|
* @param xyz input polygon. This is not changed.
|
|
182956
|
-
* @param insideFragments Array to receive "inside" fragments.
|
|
182957
|
-
*
|
|
183101
|
+
* @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from
|
|
183102
|
+
* the cache. This is NOT cleared.
|
|
183103
|
+
* @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from
|
|
183104
|
+
* the cache. This is NOT cleared.
|
|
182958
183105
|
* @param arrayCache cache for reusable GrowableXYZArray.
|
|
182959
183106
|
*/
|
|
182960
183107
|
appendPolygonClip(xyz, insideFragments, outsideFragments, arrayCache) {
|
|
@@ -183152,8 +183299,8 @@ class LineStringOffsetClipperContext {
|
|
|
183152
183299
|
* @param points
|
|
183153
183300
|
* @param positiveOffsetLeft offset to left. 0 is clip on the path.
|
|
183154
183301
|
* @param positiveOffsetRight offset to the right. 0 is clip on the path.
|
|
183155
|
-
* @param z0 z for lower clipping plane.
|
|
183156
|
-
* @param z1 z for upper clipping plane.
|
|
183302
|
+
* @param z0 z for lower clipping plane. If undefined, unbounded in positive z
|
|
183303
|
+
* @param z1 z for upper clipping plane. If undefined, unbounded in negative z.
|
|
183157
183304
|
*/
|
|
183158
183305
|
static createClipBetweenOffsets(points, positiveOffsetLeft, positiveOffsetRight, z0, z1) {
|
|
183159
183306
|
const context = new LineStringOffsetClipperContext(positiveOffsetLeft, positiveOffsetRight);
|
|
@@ -278983,7 +279130,7 @@ class TestContext {
|
|
|
278983
279130
|
this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
|
|
278984
279131
|
const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
|
|
278985
279132
|
await core_frontend_1.NoRenderApp.startup({
|
|
278986
|
-
applicationVersion: "4.1.0-dev.
|
|
279133
|
+
applicationVersion: "4.1.0-dev.72",
|
|
278987
279134
|
applicationId: this.settings.gprid,
|
|
278988
279135
|
authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.adminUserAccessToken),
|
|
278989
279136
|
hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
|
|
@@ -294655,9 +294802,9 @@ const gBase64 = {
|
|
|
294655
294802
|
|
|
294656
294803
|
/***/ }),
|
|
294657
294804
|
|
|
294658
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294805
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js":
|
|
294659
294806
|
/*!******************************************************************************************************************************!*\
|
|
294660
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294807
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***!
|
|
294661
294808
|
\******************************************************************************************************************************/
|
|
294662
294809
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
294663
294810
|
|
|
@@ -294674,9 +294821,9 @@ function _arrayLikeToArray(arr, len) {
|
|
|
294674
294821
|
|
|
294675
294822
|
/***/ }),
|
|
294676
294823
|
|
|
294677
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294824
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js":
|
|
294678
294825
|
/*!****************************************************************************************************************************!*\
|
|
294679
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294826
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js ***!
|
|
294680
294827
|
\****************************************************************************************************************************/
|
|
294681
294828
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
294682
294829
|
|
|
@@ -294691,9 +294838,9 @@ function _arrayWithHoles(arr) {
|
|
|
294691
294838
|
|
|
294692
294839
|
/***/ }),
|
|
294693
294840
|
|
|
294694
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294841
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js":
|
|
294695
294842
|
/*!***********************************************************************************************************************************!*\
|
|
294696
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294843
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***!
|
|
294697
294844
|
\***********************************************************************************************************************************/
|
|
294698
294845
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
294699
294846
|
|
|
@@ -294711,9 +294858,9 @@ function _assertThisInitialized(self) {
|
|
|
294711
294858
|
|
|
294712
294859
|
/***/ }),
|
|
294713
294860
|
|
|
294714
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294861
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/classCallCheck.js":
|
|
294715
294862
|
/*!****************************************************************************************************************************!*\
|
|
294716
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294863
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***!
|
|
294717
294864
|
\****************************************************************************************************************************/
|
|
294718
294865
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
294719
294866
|
|
|
@@ -294730,9 +294877,9 @@ function _classCallCheck(instance, Constructor) {
|
|
|
294730
294877
|
|
|
294731
294878
|
/***/ }),
|
|
294732
294879
|
|
|
294733
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294880
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/createClass.js":
|
|
294734
294881
|
/*!*************************************************************************************************************************!*\
|
|
294735
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294882
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/createClass.js ***!
|
|
294736
294883
|
\*************************************************************************************************************************/
|
|
294737
294884
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
294738
294885
|
|
|
@@ -294741,7 +294888,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
294741
294888
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
294742
294889
|
/* harmony export */ "default": () => (/* binding */ _createClass)
|
|
294743
294890
|
/* harmony export */ });
|
|
294744
|
-
/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294891
|
+
/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js");
|
|
294745
294892
|
|
|
294746
294893
|
function _defineProperties(target, props) {
|
|
294747
294894
|
for (var i = 0; i < props.length; i++) {
|
|
@@ -294763,9 +294910,9 @@ function _createClass(Constructor, protoProps, staticProps) {
|
|
|
294763
294910
|
|
|
294764
294911
|
/***/ }),
|
|
294765
294912
|
|
|
294766
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294913
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/defineProperty.js":
|
|
294767
294914
|
/*!****************************************************************************************************************************!*\
|
|
294768
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294915
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/defineProperty.js ***!
|
|
294769
294916
|
\****************************************************************************************************************************/
|
|
294770
294917
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
294771
294918
|
|
|
@@ -294774,7 +294921,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
294774
294921
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
294775
294922
|
/* harmony export */ "default": () => (/* binding */ _defineProperty)
|
|
294776
294923
|
/* harmony export */ });
|
|
294777
|
-
/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294924
|
+
/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js");
|
|
294778
294925
|
|
|
294779
294926
|
function _defineProperty(obj, key, value) {
|
|
294780
294927
|
key = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(key);
|
|
@@ -294793,9 +294940,9 @@ function _defineProperty(obj, key, value) {
|
|
|
294793
294940
|
|
|
294794
294941
|
/***/ }),
|
|
294795
294942
|
|
|
294796
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294943
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js":
|
|
294797
294944
|
/*!****************************************************************************************************************************!*\
|
|
294798
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294945
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js ***!
|
|
294799
294946
|
\****************************************************************************************************************************/
|
|
294800
294947
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
294801
294948
|
|
|
@@ -294813,9 +294960,9 @@ function _getPrototypeOf(o) {
|
|
|
294813
294960
|
|
|
294814
294961
|
/***/ }),
|
|
294815
294962
|
|
|
294816
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294963
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/inherits.js":
|
|
294817
294964
|
/*!**********************************************************************************************************************!*\
|
|
294818
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294965
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/inherits.js ***!
|
|
294819
294966
|
\**********************************************************************************************************************/
|
|
294820
294967
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
294821
294968
|
|
|
@@ -294824,7 +294971,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
294824
294971
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
294825
294972
|
/* harmony export */ "default": () => (/* binding */ _inherits)
|
|
294826
294973
|
/* harmony export */ });
|
|
294827
|
-
/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294974
|
+
/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js");
|
|
294828
294975
|
|
|
294829
294976
|
function _inherits(subClass, superClass) {
|
|
294830
294977
|
if (typeof superClass !== "function" && superClass !== null) {
|
|
@@ -294845,9 +294992,9 @@ function _inherits(subClass, superClass) {
|
|
|
294845
294992
|
|
|
294846
294993
|
/***/ }),
|
|
294847
294994
|
|
|
294848
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294995
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/iterableToArray.js":
|
|
294849
294996
|
/*!*****************************************************************************************************************************!*\
|
|
294850
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294997
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***!
|
|
294851
294998
|
\*****************************************************************************************************************************/
|
|
294852
294999
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
294853
295000
|
|
|
@@ -294862,9 +295009,9 @@ function _iterableToArray(iter) {
|
|
|
294862
295009
|
|
|
294863
295010
|
/***/ }),
|
|
294864
295011
|
|
|
294865
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295012
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js":
|
|
294866
295013
|
/*!*****************************************************************************************************************************!*\
|
|
294867
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295014
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js ***!
|
|
294868
295015
|
\*****************************************************************************************************************************/
|
|
294869
295016
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
294870
295017
|
|
|
@@ -294879,9 +295026,9 @@ function _nonIterableRest() {
|
|
|
294879
295026
|
|
|
294880
295027
|
/***/ }),
|
|
294881
295028
|
|
|
294882
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295029
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js":
|
|
294883
295030
|
/*!***************************************************************************************************************************************!*\
|
|
294884
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295031
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js ***!
|
|
294885
295032
|
\***************************************************************************************************************************************/
|
|
294886
295033
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
294887
295034
|
|
|
@@ -294890,8 +295037,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
294890
295037
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
294891
295038
|
/* harmony export */ "default": () => (/* binding */ _possibleConstructorReturn)
|
|
294892
295039
|
/* harmony export */ });
|
|
294893
|
-
/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294894
|
-
/* harmony import */ var _assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295040
|
+
/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/typeof.js");
|
|
295041
|
+
/* harmony import */ var _assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js");
|
|
294895
295042
|
|
|
294896
295043
|
|
|
294897
295044
|
function _possibleConstructorReturn(self, call) {
|
|
@@ -294905,9 +295052,9 @@ function _possibleConstructorReturn(self, call) {
|
|
|
294905
295052
|
|
|
294906
295053
|
/***/ }),
|
|
294907
295054
|
|
|
294908
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295055
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js":
|
|
294909
295056
|
/*!****************************************************************************************************************************!*\
|
|
294910
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295057
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***!
|
|
294911
295058
|
\****************************************************************************************************************************/
|
|
294912
295059
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
294913
295060
|
|
|
@@ -294926,9 +295073,9 @@ function _setPrototypeOf(o, p) {
|
|
|
294926
295073
|
|
|
294927
295074
|
/***/ }),
|
|
294928
295075
|
|
|
294929
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295076
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toArray.js":
|
|
294930
295077
|
/*!*********************************************************************************************************************!*\
|
|
294931
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295078
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toArray.js ***!
|
|
294932
295079
|
\*********************************************************************************************************************/
|
|
294933
295080
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
294934
295081
|
|
|
@@ -294937,10 +295084,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
294937
295084
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
294938
295085
|
/* harmony export */ "default": () => (/* binding */ _toArray)
|
|
294939
295086
|
/* harmony export */ });
|
|
294940
|
-
/* harmony import */ var _arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294941
|
-
/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294942
|
-
/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294943
|
-
/* harmony import */ var _nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableRest.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295087
|
+
/* harmony import */ var _arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js");
|
|
295088
|
+
/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/iterableToArray.js");
|
|
295089
|
+
/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js");
|
|
295090
|
+
/* harmony import */ var _nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableRest.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js");
|
|
294944
295091
|
|
|
294945
295092
|
|
|
294946
295093
|
|
|
@@ -294951,9 +295098,9 @@ function _toArray(arr) {
|
|
|
294951
295098
|
|
|
294952
295099
|
/***/ }),
|
|
294953
295100
|
|
|
294954
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295101
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPrimitive.js":
|
|
294955
295102
|
/*!*************************************************************************************************************************!*\
|
|
294956
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295103
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***!
|
|
294957
295104
|
\*************************************************************************************************************************/
|
|
294958
295105
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
294959
295106
|
|
|
@@ -294962,7 +295109,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
294962
295109
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
294963
295110
|
/* harmony export */ "default": () => (/* binding */ _toPrimitive)
|
|
294964
295111
|
/* harmony export */ });
|
|
294965
|
-
/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295112
|
+
/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/typeof.js");
|
|
294966
295113
|
|
|
294967
295114
|
function _toPrimitive(input, hint) {
|
|
294968
295115
|
if ((0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(input) !== "object" || input === null) return input;
|
|
@@ -294977,9 +295124,9 @@ function _toPrimitive(input, hint) {
|
|
|
294977
295124
|
|
|
294978
295125
|
/***/ }),
|
|
294979
295126
|
|
|
294980
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295127
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js":
|
|
294981
295128
|
/*!***************************************************************************************************************************!*\
|
|
294982
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295129
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***!
|
|
294983
295130
|
\***************************************************************************************************************************/
|
|
294984
295131
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
294985
295132
|
|
|
@@ -294988,8 +295135,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
294988
295135
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
294989
295136
|
/* harmony export */ "default": () => (/* binding */ _toPropertyKey)
|
|
294990
295137
|
/* harmony export */ });
|
|
294991
|
-
/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
294992
|
-
/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295138
|
+
/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/typeof.js");
|
|
295139
|
+
/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPrimitive.js");
|
|
294993
295140
|
|
|
294994
295141
|
|
|
294995
295142
|
function _toPropertyKey(arg) {
|
|
@@ -294999,9 +295146,9 @@ function _toPropertyKey(arg) {
|
|
|
294999
295146
|
|
|
295000
295147
|
/***/ }),
|
|
295001
295148
|
|
|
295002
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295149
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/typeof.js":
|
|
295003
295150
|
/*!********************************************************************************************************************!*\
|
|
295004
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295151
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/typeof.js ***!
|
|
295005
295152
|
\********************************************************************************************************************/
|
|
295006
295153
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
295007
295154
|
|
|
@@ -295022,9 +295169,9 @@ function _typeof(obj) {
|
|
|
295022
295169
|
|
|
295023
295170
|
/***/ }),
|
|
295024
295171
|
|
|
295025
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295172
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js":
|
|
295026
295173
|
/*!****************************************************************************************************************************************!*\
|
|
295027
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295174
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***!
|
|
295028
295175
|
\****************************************************************************************************************************************/
|
|
295029
295176
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
295030
295177
|
|
|
@@ -295033,7 +295180,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
295033
295180
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
295034
295181
|
/* harmony export */ "default": () => (/* binding */ _unsupportedIterableToArray)
|
|
295035
295182
|
/* harmony export */ });
|
|
295036
|
-
/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295183
|
+
/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js");
|
|
295037
295184
|
|
|
295038
295185
|
function _unsupportedIterableToArray(o, minLen) {
|
|
295039
295186
|
if (!o) return;
|
|
@@ -295467,15 +295614,15 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
295467
295614
|
/* harmony export */ t: () => (/* binding */ t),
|
|
295468
295615
|
/* harmony export */ use: () => (/* binding */ use)
|
|
295469
295616
|
/* harmony export */ });
|
|
295470
|
-
/* harmony import */ var _babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/typeof */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295471
|
-
/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295472
|
-
/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295473
|
-
/* harmony import */ var _babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/assertThisInitialized */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295474
|
-
/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inherits */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295475
|
-
/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/esm/possibleConstructorReturn */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295476
|
-
/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/esm/getPrototypeOf */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295477
|
-
/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295478
|
-
/* harmony import */ var _babel_runtime_helpers_esm_toArray__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toArray */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.
|
|
295617
|
+
/* harmony import */ var _babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/typeof */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/typeof.js");
|
|
295618
|
+
/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
|
|
295619
|
+
/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/createClass.js");
|
|
295620
|
+
/* harmony import */ var _babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/assertThisInitialized */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js");
|
|
295621
|
+
/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inherits */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/inherits.js");
|
|
295622
|
+
/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/esm/possibleConstructorReturn */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js");
|
|
295623
|
+
/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/esm/getPrototypeOf */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js");
|
|
295624
|
+
/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/defineProperty.js");
|
|
295625
|
+
/* harmony import */ var _babel_runtime_helpers_esm_toArray__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toArray */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toArray.js");
|
|
295479
295626
|
|
|
295480
295627
|
|
|
295481
295628
|
|
|
@@ -298355,7 +298502,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
|
|
|
298355
298502
|
/***/ ((module) => {
|
|
298356
298503
|
|
|
298357
298504
|
"use strict";
|
|
298358
|
-
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.1.0-dev.
|
|
298505
|
+
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.1.0-dev.72","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.1.0-dev.72","@itwin/core-bentley":"workspace:^4.1.0-dev.72","@itwin/core-common":"workspace:^4.1.0-dev.72","@itwin/core-geometry":"workspace:^4.1.0-dev.72","@itwin/core-orbitgt":"workspace:^4.1.0-dev.72","@itwin/core-quantity":"workspace:^4.1.0-dev.72"},"//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.0.0","@itwin/object-storage-core":"^2.0.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"}}');
|
|
298359
298506
|
|
|
298360
298507
|
/***/ }),
|
|
298361
298508
|
|