@itwin/ecschema-rpcinterface-tests 4.3.0-dev.1 → 4.3.0-dev.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/dist/bundled-tests.js +936 -594
- package/lib/dist/bundled-tests.js.map +1 -1
- package/lib/dist/core_frontend_lib_esm_ApproximateTerrainHeightsProps_js.bundled-tests.js.map +1 -1
- package/lib/dist/{vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_7_node_modules_loaders_gl_draco_di-02c2bd.bundled-tests.js → vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_14_node_modules_loaders_gl_draco_d-aa4ff5.bundled-tests.js} +142 -122
- package/lib/dist/{vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_7_node_modules_loaders_gl_draco_di-02c2bd.bundled-tests.js.map → vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_14_node_modules_loaders_gl_draco_d-aa4ff5.bundled-tests.js.map} +1 -1
- package/package.json +16 -16
- package/lib/dist/_0062.bundled-tests.js +0 -14
- package/lib/dist/_0062.bundled-tests.js.map +0 -1
|
@@ -21,53 +21,53 @@
|
|
|
21
21
|
|
|
22
22
|
/***/ }),
|
|
23
23
|
|
|
24
|
-
/***/ "../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.
|
|
24
|
+
/***/ "../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.16/node_modules/@itwin/certa/lib/utils/CallbackUtils.js":
|
|
25
25
|
/*!*********************************************************************************************************************!*\
|
|
26
|
-
!*** ../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.
|
|
26
|
+
!*** ../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.16/node_modules/@itwin/certa/lib/utils/CallbackUtils.js ***!
|
|
27
27
|
\*********************************************************************************************************************/
|
|
28
28
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
29
29
|
|
|
30
30
|
"use strict";
|
|
31
|
-
|
|
32
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
33
|
-
exports.executeBackendCallback = exports.registerBackendCallback = exports.executeRegisteredCallback = exports.getCallbacksRegisteredOnBackend = void 0;
|
|
34
|
-
const isFrontend = (typeof (window) !== "undefined");
|
|
35
|
-
/** @internal */
|
|
36
|
-
function getCallbacksRegisteredOnBackend() {
|
|
37
|
-
if (isFrontend)
|
|
38
|
-
throw new Error("This should only be called on the backend!");
|
|
39
|
-
__webpack_require__.g._CertaRegisteredCallbacks = __webpack_require__.g._CertaRegisteredCallbacks || {};
|
|
40
|
-
return __webpack_require__.g._CertaRegisteredCallbacks;
|
|
41
|
-
}
|
|
42
|
-
exports.getCallbacksRegisteredOnBackend = getCallbacksRegisteredOnBackend;
|
|
43
|
-
/** @internal */
|
|
44
|
-
function executeRegisteredCallback(name, args) {
|
|
45
|
-
const registeredCallbacks = getCallbacksRegisteredOnBackend();
|
|
46
|
-
if (!(name in registeredCallbacks))
|
|
47
|
-
throw new Error(`Unknown certa backend callback "${name}"`);
|
|
48
|
-
return registeredCallbacks[name](...args);
|
|
49
|
-
}
|
|
50
|
-
exports.executeRegisteredCallback = executeRegisteredCallback;
|
|
51
|
-
function registerBackendCallback(name, cb) {
|
|
52
|
-
if (isFrontend)
|
|
53
|
-
throw new Error("This should only be called on the backend!");
|
|
54
|
-
__webpack_require__.g._CertaRegisteredCallbacks = __webpack_require__.g._CertaRegisteredCallbacks || {};
|
|
55
|
-
__webpack_require__.g._CertaRegisteredCallbacks[name] = cb;
|
|
56
|
-
}
|
|
57
|
-
exports.registerBackendCallback = registerBackendCallback;
|
|
58
|
-
async function executeBackendCallback(name, ...args) {
|
|
59
|
-
if (!isFrontend)
|
|
60
|
-
return executeRegisteredCallback(name, args);
|
|
61
|
-
return window._CertaSendToBackend(name, args);
|
|
62
|
-
}
|
|
63
|
-
exports.executeBackendCallback = executeBackendCallback;
|
|
31
|
+
|
|
32
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
33
|
+
exports.executeBackendCallback = exports.registerBackendCallback = exports.executeRegisteredCallback = exports.getCallbacksRegisteredOnBackend = void 0;
|
|
34
|
+
const isFrontend = (typeof (window) !== "undefined");
|
|
35
|
+
/** @internal */
|
|
36
|
+
function getCallbacksRegisteredOnBackend() {
|
|
37
|
+
if (isFrontend)
|
|
38
|
+
throw new Error("This should only be called on the backend!");
|
|
39
|
+
__webpack_require__.g._CertaRegisteredCallbacks = __webpack_require__.g._CertaRegisteredCallbacks || {};
|
|
40
|
+
return __webpack_require__.g._CertaRegisteredCallbacks;
|
|
41
|
+
}
|
|
42
|
+
exports.getCallbacksRegisteredOnBackend = getCallbacksRegisteredOnBackend;
|
|
43
|
+
/** @internal */
|
|
44
|
+
function executeRegisteredCallback(name, args) {
|
|
45
|
+
const registeredCallbacks = getCallbacksRegisteredOnBackend();
|
|
46
|
+
if (!(name in registeredCallbacks))
|
|
47
|
+
throw new Error(`Unknown certa backend callback "${name}"`);
|
|
48
|
+
return registeredCallbacks[name](...args);
|
|
49
|
+
}
|
|
50
|
+
exports.executeRegisteredCallback = executeRegisteredCallback;
|
|
51
|
+
function registerBackendCallback(name, cb) {
|
|
52
|
+
if (isFrontend)
|
|
53
|
+
throw new Error("This should only be called on the backend!");
|
|
54
|
+
__webpack_require__.g._CertaRegisteredCallbacks = __webpack_require__.g._CertaRegisteredCallbacks || {};
|
|
55
|
+
__webpack_require__.g._CertaRegisteredCallbacks[name] = cb;
|
|
56
|
+
}
|
|
57
|
+
exports.registerBackendCallback = registerBackendCallback;
|
|
58
|
+
async function executeBackendCallback(name, ...args) {
|
|
59
|
+
if (!isFrontend)
|
|
60
|
+
return executeRegisteredCallback(name, args);
|
|
61
|
+
return window._CertaSendToBackend(name, args);
|
|
62
|
+
}
|
|
63
|
+
exports.executeBackendCallback = executeBackendCallback;
|
|
64
64
|
|
|
65
65
|
|
|
66
66
|
/***/ }),
|
|
67
67
|
|
|
68
|
-
/***/ "../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.
|
|
68
|
+
/***/ "../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.1_ueafa4slb6ohrhyf7kbp6egmha/node_modules/@itwin/imodels-access-frontend/lib/esm/FrontendIModelsAccess.js":
|
|
69
69
|
/*!*****************************************************************************************************************************************************************************************!*\
|
|
70
|
-
!*** ../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.
|
|
70
|
+
!*** ../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.1_ueafa4slb6ohrhyf7kbp6egmha/node_modules/@itwin/imodels-access-frontend/lib/esm/FrontendIModelsAccess.js ***!
|
|
71
71
|
\*****************************************************************************************************************************************************************************************/
|
|
72
72
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
73
73
|
|
|
@@ -80,7 +80,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
80
80
|
/* harmony import */ var _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @itwin/core-common */ "../../core/common/lib/esm/core-common.js");
|
|
81
81
|
/* harmony import */ var _itwin_core_frontend__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @itwin/core-frontend */ "../../core/frontend/lib/esm/core-frontend.js");
|
|
82
82
|
/* harmony import */ var _itwin_imodels_client_management__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @itwin/imodels-client-management */ "../../common/temp/node_modules/.pnpm/@itwin+imodels-client-management@3.1.0/node_modules/@itwin/imodels-client-management/lib/esm/index.js");
|
|
83
|
-
/* harmony import */ var _interface_adapters_AccessTokenAdapter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./interface-adapters/AccessTokenAdapter */ "../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.
|
|
83
|
+
/* harmony import */ var _interface_adapters_AccessTokenAdapter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./interface-adapters/AccessTokenAdapter */ "../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.1_ueafa4slb6ohrhyf7kbp6egmha/node_modules/@itwin/imodels-access-frontend/lib/esm/interface-adapters/AccessTokenAdapter.js");
|
|
84
84
|
/*---------------------------------------------------------------------------------------------
|
|
85
85
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
86
86
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -186,9 +186,9 @@ class FrontendIModelsAccess {
|
|
|
186
186
|
|
|
187
187
|
/***/ }),
|
|
188
188
|
|
|
189
|
-
/***/ "../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.
|
|
189
|
+
/***/ "../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.1_ueafa4slb6ohrhyf7kbp6egmha/node_modules/@itwin/imodels-access-frontend/lib/esm/index.js":
|
|
190
190
|
/*!*************************************************************************************************************************************************************************!*\
|
|
191
|
-
!*** ../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.
|
|
191
|
+
!*** ../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.1_ueafa4slb6ohrhyf7kbp6egmha/node_modules/@itwin/imodels-access-frontend/lib/esm/index.js ***!
|
|
192
192
|
\*************************************************************************************************************************************************************************/
|
|
193
193
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
194
194
|
|
|
@@ -198,8 +198,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
198
198
|
/* harmony export */ AccessTokenAdapter: () => (/* reexport safe */ _interface_adapters_AccessTokenAdapter__WEBPACK_IMPORTED_MODULE_0__.AccessTokenAdapter),
|
|
199
199
|
/* harmony export */ FrontendIModelsAccess: () => (/* reexport safe */ _FrontendIModelsAccess__WEBPACK_IMPORTED_MODULE_1__.FrontendIModelsAccess)
|
|
200
200
|
/* harmony export */ });
|
|
201
|
-
/* harmony import */ var _interface_adapters_AccessTokenAdapter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interface-adapters/AccessTokenAdapter */ "../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.
|
|
202
|
-
/* harmony import */ var _FrontendIModelsAccess__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FrontendIModelsAccess */ "../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.
|
|
201
|
+
/* harmony import */ var _interface_adapters_AccessTokenAdapter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interface-adapters/AccessTokenAdapter */ "../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.1_ueafa4slb6ohrhyf7kbp6egmha/node_modules/@itwin/imodels-access-frontend/lib/esm/interface-adapters/AccessTokenAdapter.js");
|
|
202
|
+
/* harmony import */ var _FrontendIModelsAccess__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FrontendIModelsAccess */ "../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.1_ueafa4slb6ohrhyf7kbp6egmha/node_modules/@itwin/imodels-access-frontend/lib/esm/FrontendIModelsAccess.js");
|
|
203
203
|
/*---------------------------------------------------------------------------------------------
|
|
204
204
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
205
205
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -210,9 +210,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
210
210
|
|
|
211
211
|
/***/ }),
|
|
212
212
|
|
|
213
|
-
/***/ "../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.
|
|
213
|
+
/***/ "../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.1_ueafa4slb6ohrhyf7kbp6egmha/node_modules/@itwin/imodels-access-frontend/lib/esm/interface-adapters/AccessTokenAdapter.js":
|
|
214
214
|
/*!*********************************************************************************************************************************************************************************************************!*\
|
|
215
|
-
!*** ../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.
|
|
215
|
+
!*** ../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.1_ueafa4slb6ohrhyf7kbp6egmha/node_modules/@itwin/imodels-access-frontend/lib/esm/interface-adapters/AccessTokenAdapter.js ***!
|
|
216
216
|
\*********************************************************************************************************************************************************************************************************/
|
|
217
217
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
218
218
|
|
|
@@ -3195,7 +3195,7 @@ exports.getAccessTokenFromBackend = exports.getTokenCallbackName = void 0;
|
|
|
3195
3195
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3196
3196
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
3197
3197
|
*--------------------------------------------------------------------------------------------*/
|
|
3198
|
-
const CallbackUtils_1 = __webpack_require__(/*! @itwin/certa/lib/utils/CallbackUtils */ "../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.
|
|
3198
|
+
const CallbackUtils_1 = __webpack_require__(/*! @itwin/certa/lib/utils/CallbackUtils */ "../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.16/node_modules/@itwin/certa/lib/utils/CallbackUtils.js");
|
|
3199
3199
|
// Shared by both the frontend and backend side of the tests
|
|
3200
3200
|
exports.getTokenCallbackName = "getToken";
|
|
3201
3201
|
async function getAccessTokenFromBackend(user, oidcConfig) {
|
|
@@ -16289,7 +16289,7 @@ exports.getOperator = __webpack_require__(/*! ./getOperator */ "../../common/tem
|
|
|
16289
16289
|
// https://github.com/joyent/node/blob/f8c335d0caf47f16d31413f89aa28eda3878e3aa/lib/util.js
|
|
16290
16290
|
|
|
16291
16291
|
var getName = __webpack_require__(/*! get-func-name */ "../../common/temp/node_modules/.pnpm/get-func-name@2.0.2/node_modules/get-func-name/index.js");
|
|
16292
|
-
var loupe = __webpack_require__(/*! loupe */ "../../common/temp/node_modules/.pnpm/loupe@2.3.
|
|
16292
|
+
var loupe = __webpack_require__(/*! loupe */ "../../common/temp/node_modules/.pnpm/loupe@2.3.7/node_modules/loupe/loupe.js");
|
|
16293
16293
|
var config = __webpack_require__(/*! ../config */ "../../common/temp/node_modules/.pnpm/chai@4.3.10/node_modules/chai/lib/chai/config.js");
|
|
16294
16294
|
|
|
16295
16295
|
module.exports = inspect;
|
|
@@ -18305,8 +18305,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
18305
18305
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
18306
18306
|
/* harmony export */ "default": () => (/* binding */ Browser)
|
|
18307
18307
|
/* harmony export */ });
|
|
18308
|
-
/* 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.
|
|
18309
|
-
/* 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.
|
|
18308
|
+
/* 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.23.2/node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
|
|
18309
|
+
/* 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.23.2/node_modules/@babel/runtime/helpers/esm/createClass.js");
|
|
18310
18310
|
|
|
18311
18311
|
|
|
18312
18312
|
|
|
@@ -18726,9 +18726,9 @@ Browser.type = 'languageDetector';
|
|
|
18726
18726
|
|
|
18727
18727
|
/***/ }),
|
|
18728
18728
|
|
|
18729
|
-
/***/ "../../common/temp/node_modules/.pnpm/loupe@2.3.
|
|
18729
|
+
/***/ "../../common/temp/node_modules/.pnpm/loupe@2.3.7/node_modules/loupe/loupe.js":
|
|
18730
18730
|
/*!************************************************************************************!*\
|
|
18731
|
-
!*** ../../common/temp/node_modules/.pnpm/loupe@2.3.
|
|
18731
|
+
!*** ../../common/temp/node_modules/.pnpm/loupe@2.3.7/node_modules/loupe/loupe.js ***!
|
|
18732
18732
|
\************************************************************************************/
|
|
18733
18733
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
18734
18734
|
|
|
@@ -19042,6 +19042,7 @@ Browser.type = 'languageDetector';
|
|
|
19042
19042
|
|
|
19043
19043
|
var toString = Function.prototype.toString;
|
|
19044
19044
|
var functionNameMatch = /\s*function(?:\s|\s*\/\*[^(?:*\/)]+\*\/\s*)*([^\s\(\/]+)/;
|
|
19045
|
+
var maxFunctionSourceLength = 512;
|
|
19045
19046
|
function getFuncName(aFunc) {
|
|
19046
19047
|
if (typeof aFunc !== 'function') {
|
|
19047
19048
|
return null;
|
|
@@ -19049,8 +19050,15 @@ Browser.type = 'languageDetector';
|
|
|
19049
19050
|
|
|
19050
19051
|
var name = '';
|
|
19051
19052
|
if (typeof Function.prototype.name === 'undefined' && typeof aFunc.name === 'undefined') {
|
|
19053
|
+
// eslint-disable-next-line prefer-reflect
|
|
19054
|
+
var functionSource = toString.call(aFunc);
|
|
19055
|
+
// To avoid unconstrained resource consumption due to pathalogically large function names,
|
|
19056
|
+
// we limit the available return value to be less than 512 characters.
|
|
19057
|
+
if (functionSource.indexOf('(') > maxFunctionSourceLength) {
|
|
19058
|
+
return name;
|
|
19059
|
+
}
|
|
19052
19060
|
// Here we run a polyfill if Function does not support the `name` property and if aFunc.name is not defined
|
|
19053
|
-
var match =
|
|
19061
|
+
var match = functionSource.match(functionNameMatch);
|
|
19054
19062
|
if (match) {
|
|
19055
19063
|
name = match[1];
|
|
19056
19064
|
}
|
|
@@ -19410,7 +19418,7 @@ Browser.type = 'languageDetector';
|
|
|
19410
19418
|
|
|
19411
19419
|
try {
|
|
19412
19420
|
// eslint-disable-next-line global-require
|
|
19413
|
-
var nodeUtil = __webpack_require__(/*! util */ "?
|
|
19421
|
+
var nodeUtil = __webpack_require__(/*! util */ "?088e");
|
|
19414
19422
|
|
|
19415
19423
|
nodeInspect = nodeUtil.inspect ? nodeUtil.inspect.custom : false;
|
|
19416
19424
|
} catch (noNodeInspect) {
|
|
@@ -29828,6 +29836,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
29828
29836
|
/* harmony export */ DbValueFormat: () => (/* binding */ DbValueFormat),
|
|
29829
29837
|
/* harmony export */ QueryBinder: () => (/* binding */ QueryBinder),
|
|
29830
29838
|
/* harmony export */ QueryOptionsBuilder: () => (/* binding */ QueryOptionsBuilder),
|
|
29839
|
+
/* harmony export */ QueryParamType: () => (/* binding */ QueryParamType),
|
|
29831
29840
|
/* harmony export */ QueryRowFormat: () => (/* binding */ QueryRowFormat)
|
|
29832
29841
|
/* harmony export */ });
|
|
29833
29842
|
/* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
|
|
@@ -30082,11 +30091,10 @@ class QueryBinder {
|
|
|
30082
30091
|
if (typeof indexOrName === "number") {
|
|
30083
30092
|
if (indexOrName < 1)
|
|
30084
30093
|
throw new Error("expect index to be >= 1");
|
|
30094
|
+
return;
|
|
30085
30095
|
}
|
|
30086
|
-
if (
|
|
30087
|
-
|
|
30088
|
-
throw new Error("expect named parameter to meet identifier specification");
|
|
30089
|
-
}
|
|
30096
|
+
if (!/^[a-zA-Z_]+\w*$/i.test(indexOrName)) {
|
|
30097
|
+
throw new Error("expect named parameter to meet identifier specification");
|
|
30090
30098
|
}
|
|
30091
30099
|
}
|
|
30092
30100
|
/**
|
|
@@ -30317,12 +30325,12 @@ class QueryBinder {
|
|
|
30317
30325
|
else if (val instanceof Array && val.length > 0 && typeof val[0] === "string" && _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Id64.isValidId64(val[0])) {
|
|
30318
30326
|
params.bindIdSet(nameOrId, val);
|
|
30319
30327
|
}
|
|
30320
|
-
else if (typeof val === "object" && !Array.isArray(val)) {
|
|
30321
|
-
params.bindStruct(nameOrId, val);
|
|
30322
|
-
}
|
|
30323
30328
|
else if (typeof val === "undefined" || val === null) {
|
|
30324
30329
|
params.bindNull(nameOrId);
|
|
30325
30330
|
}
|
|
30331
|
+
else if (typeof val === "object" && !Array.isArray(val)) {
|
|
30332
|
+
params.bindStruct(nameOrId, val);
|
|
30333
|
+
}
|
|
30326
30334
|
else {
|
|
30327
30335
|
throw new Error("unsupported type");
|
|
30328
30336
|
}
|
|
@@ -44418,6 +44426,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
44418
44426
|
/* harmony export */ Quantization: () => (/* reexport safe */ _QPoint__WEBPACK_IMPORTED_MODULE_86__.Quantization),
|
|
44419
44427
|
/* harmony export */ QueryBinder: () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_80__.QueryBinder),
|
|
44420
44428
|
/* harmony export */ QueryOptionsBuilder: () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_80__.QueryOptionsBuilder),
|
|
44429
|
+
/* harmony export */ QueryParamType: () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_80__.QueryParamType),
|
|
44421
44430
|
/* harmony export */ QueryRowFormat: () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_80__.QueryRowFormat),
|
|
44422
44431
|
/* harmony export */ REGISTRY: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_122__.REGISTRY),
|
|
44423
44432
|
/* harmony export */ Rank: () => (/* reexport safe */ _ElementProps__WEBPACK_IMPORTED_MODULE_24__.Rank),
|
|
@@ -74063,6 +74072,34 @@ class BackgroundMapGeometry {
|
|
|
74063
74072
|
});
|
|
74064
74073
|
return Promise.all(promises);
|
|
74065
74074
|
}
|
|
74075
|
+
async cartographicToDbFromWgs84Gcs(cartographic) {
|
|
74076
|
+
let db;
|
|
74077
|
+
if (this.globeMode === _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.GlobeMode.Plane) {
|
|
74078
|
+
const fraction = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point2d.create(0, 0);
|
|
74079
|
+
db = cartographic.map((p) => {
|
|
74080
|
+
this._mercatorTilingScheme.cartographicToFraction(p.latitude, p.longitude, fraction);
|
|
74081
|
+
return this._mercatorFractionToDb.multiplyXYZ(fraction.x, fraction.y, p.height);
|
|
74082
|
+
});
|
|
74083
|
+
}
|
|
74084
|
+
else {
|
|
74085
|
+
db = cartographic.map((p) => this._ecefToDb.multiplyPoint3d(p.toEcef()));
|
|
74086
|
+
}
|
|
74087
|
+
if (this._iModel.noGcsDefined)
|
|
74088
|
+
return db;
|
|
74089
|
+
const toReprojectCoords = [];
|
|
74090
|
+
const toReprojectIdx = [];
|
|
74091
|
+
db.forEach(async (p, i) => {
|
|
74092
|
+
if (this.cartesianRange.containsPoint(p)) {
|
|
74093
|
+
toReprojectCoords.push({ x: cartographic[i].longitudeDegrees, y: cartographic[i].latitudeDegrees, z: cartographic[i].height });
|
|
74094
|
+
toReprojectIdx.push(i);
|
|
74095
|
+
}
|
|
74096
|
+
});
|
|
74097
|
+
const spatialPoints = await this._iModel.toSpatialFromGcs(toReprojectCoords, { horizontalCRS: { epsg: 4326 }, verticalCRS: { id: "ELLIPSOID" } });
|
|
74098
|
+
return db.map((p, i) => {
|
|
74099
|
+
const reprojectedIdx = toReprojectIdx.findIndex((value) => value === i);
|
|
74100
|
+
return (reprojectedIdx === -1 ? p : spatialPoints[reprojectedIdx]);
|
|
74101
|
+
});
|
|
74102
|
+
}
|
|
74066
74103
|
cartographicToDb(cartographic, result) {
|
|
74067
74104
|
if (this.globeMode === _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.GlobeMode.Plane) {
|
|
74068
74105
|
const fraction = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point2d.create(0, 0);
|
|
@@ -84755,7 +84792,7 @@ class RealityDataSourceTilesetUrlImpl {
|
|
|
84755
84792
|
return (0,_request_Request__WEBPACK_IMPORTED_MODULE_2__.request)(tileUrl, "json");
|
|
84756
84793
|
}
|
|
84757
84794
|
getTileContentType(url) {
|
|
84758
|
-
return url.endsWith("json") ? "tileset" : "tile";
|
|
84795
|
+
return new URL(url, "https://localhost/").pathname.toLowerCase().endsWith("json") ? "tileset" : "tile";
|
|
84759
84796
|
}
|
|
84760
84797
|
/**
|
|
84761
84798
|
* Gets spatial location and extents of this reality data source
|
|
@@ -95544,7 +95581,7 @@ class GltfParser {
|
|
|
95544
95581
|
if (dracoMeshes.length === 0)
|
|
95545
95582
|
return;
|
|
95546
95583
|
try {
|
|
95547
|
-
const dracoLoader = (await
|
|
95584
|
+
const dracoLoader = (await __webpack_require__.e(/*! import() */ "vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_14_node_modules_loaders_gl_draco_d-aa4ff5").then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.4.14/node_modules/@loaders.gl/draco/dist/esm/index.js"))).DracoLoader;
|
|
95548
95585
|
await Promise.all(dracoMeshes.map(async (x) => this.decodeDracoMesh(x, dracoLoader)));
|
|
95549
95586
|
}
|
|
95550
95587
|
catch (err) {
|
|
@@ -100657,6 +100694,7 @@ const UNIT_DATA = [
|
|
|
100657
100694
|
{ name: "Units.SQ_FT", phenomenon: "Units.AREA", system: "Units.USCUSTOM", conversion: { numerator: 1.0, denominator: .09290304, offset: 0.0 }, displayLabel: "ft²" },
|
|
100658
100695
|
{ name: "Units.SQ_US_SURVEY_FT", phenomenon: "Units.AREA", system: "Units.USCUSTOM", conversion: { numerator: 15499969.0, denominator: 1440000, offset: 0.0 }, displayLabel: "ft² (US Survey)" },
|
|
100659
100696
|
{ name: "Units.SQ_M", phenomenon: "Units.AREA", system: "Units.SI", conversion: { numerator: 1.0, denominator: 1.0, offset: 0.0 }, displayLabel: "m²" },
|
|
100697
|
+
{ name: "Units.SQ_KM", phenomenon: "Units.AREA", system: "Units.SI", conversion: { numerator: 1.0, denominator: 1000000.0, offset: 0.0 }, displayLabel: "km²" },
|
|
100660
100698
|
// conversion => specified unit to base unit m³
|
|
100661
100699
|
{ name: "Units.CUB_FT", phenomenon: "Units.VOLUME", system: "Units.USCUSTOM", conversion: { numerator: 1.0, denominator: 0.028316847, offset: 0.0 }, displayLabel: "ft³" },
|
|
100662
100700
|
{ name: "Units.CUB_US_SURVEY_FT", phenomenon: "Units.VOLUME", system: "Units.USSURVEY", conversion: { numerator: 1, denominator: 0.0283170164937591, offset: 0.0 }, displayLabel: "ft³" },
|
|
@@ -136885,8 +136923,8 @@ class ContextShareProvider {
|
|
|
136885
136923
|
// Not a valid URL for Context share
|
|
136886
136924
|
return false;
|
|
136887
136925
|
}
|
|
136888
|
-
// If api.bentley.com/realitydata is used, it is context share
|
|
136889
|
-
if (tilesetUrl.toLowerCase().includes("api.bentley.com/realitydata"))
|
|
136926
|
+
// If api.bentley.com/realitydata or api.bentley.com/reality-management is used, it is context share
|
|
136927
|
+
if (tilesetUrl.toLowerCase().includes("api.bentley.com/realitydata") || tilesetUrl.toLowerCase().includes("api.bentley.com/reality-management/reality-data"))
|
|
136890
136928
|
return true;
|
|
136891
136929
|
// detect if it is a RDS url
|
|
136892
136930
|
const formattedUrl1 = attUrl.pathname.replace(/~2F/g, "/").replace(/\\/g, "/");
|
|
@@ -136916,16 +136954,24 @@ class ContextShareProvider {
|
|
|
136916
136954
|
// Not a valid URL and not equal, probably $cesiumAsset
|
|
136917
136955
|
return invalidUrlInfo;
|
|
136918
136956
|
}
|
|
136919
|
-
// If api.bentley.com/realitydata is used, it is context share
|
|
136920
|
-
if (tilesetUrl.toLowerCase().includes("api.bentley.com/realitydata")) {
|
|
136957
|
+
// If api.bentley.com/realitydata or api.bentley.com/reality-management is used, it is context share
|
|
136958
|
+
if (tilesetUrl.toLowerCase().includes("api.bentley.com/realitydata") || tilesetUrl.toLowerCase().includes("api.bentley.com/reality-management/reality-data")) {
|
|
136921
136959
|
const lcTilesetUrl = tilesetUrl.toLowerCase();
|
|
136922
136960
|
// NOTICE: We assume it is a ThreeDTile BUT this could technically be a point cloud (OPC).
|
|
136923
136961
|
// This method was used in typical workflow where format was always ThreeDTile and is here for legacy support.
|
|
136924
136962
|
// We don't want to make a call to RDS to resolve format since this method must not be async (it is used in workflow that are not async)
|
|
136925
136963
|
const format = _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.RealityDataFormat.ThreeDTile;
|
|
136926
|
-
|
|
136964
|
+
let indexId = -1;
|
|
136965
|
+
let indexProjectId = -1;
|
|
136966
|
+
if (tilesetUrl.toLowerCase().includes("reality-management/reality-data")) {
|
|
136967
|
+
indexId = lcTilesetUrl.indexOf("reality-management/reality-data/") + 32; // length of "reality-management/reality-data/" = 32;
|
|
136968
|
+
indexProjectId = lcTilesetUrl.indexOf("itwinid=") + 8; // length of "itwinid=" = 8;
|
|
136969
|
+
}
|
|
136970
|
+
else if (tilesetUrl.toLowerCase().includes("realitydata")) {
|
|
136971
|
+
indexId = lcTilesetUrl.indexOf("realitydata/") + 12; // length of "realitydata/" = 12;
|
|
136972
|
+
indexProjectId = lcTilesetUrl.indexOf("projectid=") + 10; // length of "projectid=" = 10;
|
|
136973
|
+
}
|
|
136927
136974
|
const id = lcTilesetUrl.substring(indexId, _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Guid.empty.length + indexId);
|
|
136928
|
-
const indexProjectId = lcTilesetUrl.indexOf("projectid=") + 10; // lenght of "projectid=" = 10;
|
|
136929
136975
|
let projectId;
|
|
136930
136976
|
if (indexProjectId && indexProjectId > 0)
|
|
136931
136977
|
projectId = lcTilesetUrl.substring(indexProjectId, _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Guid.empty.length + indexProjectId);
|
|
@@ -138658,7 +138704,7 @@ class GltfReader {
|
|
|
138658
138704
|
if (dracoMeshes.length === 0)
|
|
138659
138705
|
return;
|
|
138660
138706
|
try {
|
|
138661
|
-
const dracoLoader = (await
|
|
138707
|
+
const dracoLoader = (await __webpack_require__.e(/*! import() */ "vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_14_node_modules_loaders_gl_draco_d-aa4ff5").then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.4.14/node_modules/@loaders.gl/draco/dist/esm/index.js"))).DracoLoader;
|
|
138662
138708
|
await Promise.all(dracoMeshes.map(async (x) => this.decodeDracoMesh(x, dracoLoader)));
|
|
138663
138709
|
}
|
|
138664
138710
|
catch (err) {
|
|
@@ -141536,7 +141582,7 @@ function readPnts(stream, dataOffset, pnts) {
|
|
|
141536
141582
|
}
|
|
141537
141583
|
async function decodeDracoPointCloud(buf) {
|
|
141538
141584
|
try {
|
|
141539
|
-
const dracoLoader = (await
|
|
141585
|
+
const dracoLoader = (await __webpack_require__.e(/*! import() */ "vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_14_node_modules_loaders_gl_draco_d-aa4ff5").then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.4.14/node_modules/@loaders.gl/draco/dist/esm/index.js"))).DracoLoader;
|
|
141540
141586
|
const mesh = await dracoLoader.parse(buf, {});
|
|
141541
141587
|
if (mesh.topology !== "point-list")
|
|
141542
141588
|
return undefined;
|
|
@@ -147134,7 +147180,8 @@ var TileGraphicType;
|
|
|
147134
147180
|
*/
|
|
147135
147181
|
class TileTreeReference /* implements RenderMemory.Consumer */ {
|
|
147136
147182
|
/** Force a new tree owner / tile tree to be created for the current tile tree reference
|
|
147137
|
-
|
|
147183
|
+
* @internal
|
|
147184
|
+
*/
|
|
147138
147185
|
resetTreeOwner() { }
|
|
147139
147186
|
/** Disclose *all* TileTrees use by this reference. This may include things like map tiles used for draping on terrain.
|
|
147140
147187
|
* Override this and call super if you have such auxiliary trees.
|
|
@@ -148260,7 +148307,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
148260
148307
|
/** @packageDocumentation
|
|
148261
148308
|
* @module Tiles
|
|
148262
148309
|
*/
|
|
148263
|
-
/**
|
|
148310
|
+
/**
|
|
148311
|
+
* Class representing an ArcGIS error code.
|
|
148312
|
+
* @internal
|
|
148313
|
+
*/
|
|
148264
148314
|
var ArcGisErrorCode;
|
|
148265
148315
|
(function (ArcGisErrorCode) {
|
|
148266
148316
|
ArcGisErrorCode[ArcGisErrorCode["InvalidCredentials"] = 401] = "InvalidCredentials";
|
|
@@ -148269,7 +148319,10 @@ var ArcGisErrorCode;
|
|
|
148269
148319
|
ArcGisErrorCode[ArcGisErrorCode["UnknownError"] = 1000] = "UnknownError";
|
|
148270
148320
|
ArcGisErrorCode[ArcGisErrorCode["NoTokenService"] = 1001] = "NoTokenService";
|
|
148271
148321
|
})(ArcGisErrorCode || (ArcGisErrorCode = {}));
|
|
148272
|
-
/**
|
|
148322
|
+
/**
|
|
148323
|
+
* Class containing utilities relating to ArcGIS services and coordinate systems.
|
|
148324
|
+
* @internal
|
|
148325
|
+
*/
|
|
148273
148326
|
class ArcGisUtilities {
|
|
148274
148327
|
static getBBoxString(range) {
|
|
148275
148328
|
if (!range)
|
|
@@ -148327,6 +148380,12 @@ class ArcGisUtilities {
|
|
|
148327
148380
|
}
|
|
148328
148381
|
return sources;
|
|
148329
148382
|
}
|
|
148383
|
+
/**
|
|
148384
|
+
* Get map layer sources from an ArcGIS query.
|
|
148385
|
+
* @param range Range for the query.
|
|
148386
|
+
* @param url URL for the query.
|
|
148387
|
+
* @returns List of map layer sources.
|
|
148388
|
+
*/
|
|
148330
148389
|
static async getSourcesFromQuery(range, url = "https://usgs.maps.arcgis.com/sharing/rest/search") {
|
|
148331
148390
|
const sources = new Array();
|
|
148332
148391
|
for (let start = 1; start > 0;) {
|
|
@@ -148346,11 +148405,11 @@ class ArcGisUtilities {
|
|
|
148346
148405
|
return sources;
|
|
148347
148406
|
}
|
|
148348
148407
|
/**
|
|
148349
|
-
* Parse the URL to check if it
|
|
148408
|
+
* Parse the URL to check if it represents a valid ArcGIS service
|
|
148350
148409
|
* @param url URL to validate.
|
|
148351
148410
|
* @param serviceType Service type to validate (i.e FeatureServer, MapServer)
|
|
148352
148411
|
* @return Validation Status.
|
|
148353
|
-
|
|
148412
|
+
*/
|
|
148354
148413
|
static validateUrl(url, serviceType) {
|
|
148355
148414
|
const urlObj = new URL(url.toLowerCase());
|
|
148356
148415
|
if (urlObj.pathname.includes("/rest/services/")) {
|
|
@@ -148373,10 +148432,10 @@ class ArcGisUtilities {
|
|
|
148373
148432
|
* @param capabilitiesFilter List of capabilities 'keyword' that needs to be advertised in the service's metadata
|
|
148374
148433
|
* in order to be valid. For example: 'Map', 'Query', etc
|
|
148375
148434
|
* @param userName Username to use for legacy token based security.
|
|
148376
|
-
* @param password
|
|
148435
|
+
* @param password Password to use for legacy token based security.
|
|
148377
148436
|
* @param ignoreCache Flag to skip cache lookup (i.e. force a new server request)
|
|
148378
148437
|
* @return Validation Status. If successful, a list of available sub-layers will also be returned.
|
|
148379
|
-
|
|
148438
|
+
*/
|
|
148380
148439
|
static async validateSource(url, formatId, capabilitiesFilter, userName, password, ignoreCache) {
|
|
148381
148440
|
const metadata = await this.getServiceJson(url, formatId, userName, password, ignoreCache);
|
|
148382
148441
|
const json = metadata?.content;
|
|
@@ -148420,9 +148479,7 @@ class ArcGisUtilities {
|
|
|
148420
148479
|
}
|
|
148421
148480
|
return { status: _internal__WEBPACK_IMPORTED_MODULE_1__.MapLayerSourceStatus.Valid, subLayers };
|
|
148422
148481
|
}
|
|
148423
|
-
/**
|
|
148424
|
-
* Validate MapService tiling metadata and checks if the tile tree is 'Google Maps' compatible.
|
|
148425
|
-
*/
|
|
148482
|
+
/** Validate MapService tiling metadata and checks if the tile tree is 'Google Maps' compatible. */
|
|
148426
148483
|
static isEpsg3857Compatible(tileInfo) {
|
|
148427
148484
|
if (tileInfo.spatialReference?.latestWkid !== 3857 || !Array.isArray(tileInfo.lods))
|
|
148428
148485
|
return false;
|
|
@@ -148430,11 +148487,17 @@ class ArcGisUtilities {
|
|
|
148430
148487
|
return zeroLod.level === 0 && Math.abs(zeroLod.resolution - 156543.03392800014) < .001;
|
|
148431
148488
|
}
|
|
148432
148489
|
/**
|
|
148433
|
-
*
|
|
148490
|
+
* Fetches an ArcGIS service metadata, and returns its JSON representation.
|
|
148434
148491
|
* If an access client has been configured for the specified formatId,
|
|
148435
148492
|
* it will be used to apply required security token.
|
|
148436
148493
|
* By default, response for each URL are cached.
|
|
148437
|
-
|
|
148494
|
+
* @param url URL of the ArcGIS service
|
|
148495
|
+
* @param formatId Format ID of the service
|
|
148496
|
+
* @param userName Username to use for legacy token based security
|
|
148497
|
+
* @param password Password to use for legacy token based security
|
|
148498
|
+
* @param ignoreCache Flag to skip cache lookup (i.e. force a new server request)
|
|
148499
|
+
* @param requireToken Flag to indicate if a token is required
|
|
148500
|
+
*/
|
|
148438
148501
|
static async getServiceJson(url, formatId, userName, password, ignoreCache, requireToken) {
|
|
148439
148502
|
if (!ignoreCache) {
|
|
148440
148503
|
const cached = ArcGisUtilities._serviceCache.get(url);
|
|
@@ -148481,8 +148544,7 @@ class ArcGisUtilities {
|
|
|
148481
148544
|
return undefined;
|
|
148482
148545
|
}
|
|
148483
148546
|
}
|
|
148484
|
-
/** Read a response from ArcGIS server and check for error code in the response.
|
|
148485
|
-
*/
|
|
148547
|
+
/** Read a response from ArcGIS server and check for error code in the response. */
|
|
148486
148548
|
static async checkForResponseErrorCode(response) {
|
|
148487
148549
|
const tmpResponse = response;
|
|
148488
148550
|
if (response.headers && tmpResponse.headers.get("content-type")?.toLowerCase().includes("json")) {
|
|
@@ -148523,8 +148585,7 @@ class ArcGisUtilities {
|
|
|
148523
148585
|
* @param latitude Latitude in degrees to use to compute scales (i.e 0 for Equator)
|
|
148524
148586
|
* @param tileSize Size of a tile in pixels (i.e 256)
|
|
148525
148587
|
* @param screenDpi Monitor resolution in dots per inch (i.e. typically 96dpi is used by Google Maps)
|
|
148526
|
-
*
|
|
148527
|
-
* @returns An array containing resolution and scale values for each requested zoom level
|
|
148588
|
+
* @returns An array containing resolution and scale values for each requested zoom level
|
|
148528
148589
|
*/
|
|
148529
148590
|
static computeZoomLevelsScales(startZoom = 0, endZoom = 20, latitude = 0, tileSize = 256, screenDpi = 96) {
|
|
148530
148591
|
// Note: There is probably a more direct way to compute this, but I prefer to go for a simple and well documented approach.
|
|
@@ -148543,12 +148604,12 @@ class ArcGisUtilities {
|
|
|
148543
148604
|
return results;
|
|
148544
148605
|
}
|
|
148545
148606
|
/**
|
|
148546
|
-
* Match the provided minScale,maxScale values to corresponding wgs84 zoom levels
|
|
148607
|
+
* Match the provided minScale, maxScale values to corresponding wgs84 zoom levels
|
|
148547
148608
|
* @param defaultMaxLod Value of the last LOD (i.e 22)
|
|
148548
148609
|
* @param tileSize Size of a tile in pixels (i.e 256)
|
|
148549
148610
|
* @param minScale Minimum scale value that needs to be matched to a LOD level
|
|
148550
148611
|
* @param maxScale Maximum scale value that needs to be matched to a LOD level
|
|
148551
|
-
|
|
148612
|
+
* @returns minLod: LOD value matching minScale, maxLod: LOD value matching maxScale
|
|
148552
148613
|
*/
|
|
148553
148614
|
static getZoomLevelsScales(defaultMaxLod, tileSize, minScale, maxScale, tolerance = 0) {
|
|
148554
148615
|
let minLod, maxLod;
|
|
@@ -149565,9 +149626,9 @@ class ArcGISMapLayerImageryProvider extends _internal__WEBPACK_IMPORTED_MODULE_2
|
|
|
149565
149626
|
return undefined;
|
|
149566
149627
|
}
|
|
149567
149628
|
}
|
|
149568
|
-
_generateChildIds(
|
|
149569
|
-
const childIds = this.getPotentialChildIds(
|
|
149570
|
-
if (
|
|
149629
|
+
_generateChildIds(quadId, resolveChildren) {
|
|
149630
|
+
const childIds = this.getPotentialChildIds(quadId);
|
|
149631
|
+
if (quadId.level < Math.max(1, this.minimumZoomLevel - 1)) {
|
|
149571
149632
|
resolveChildren(childIds);
|
|
149572
149633
|
return;
|
|
149573
149634
|
}
|
|
@@ -149736,7 +149797,7 @@ class ArcGISMapLayerImageryProvider extends _internal__WEBPACK_IMPORTED_MODULE_2
|
|
|
149736
149797
|
const tolerancePixel = options?.tolerance ?? 7;
|
|
149737
149798
|
const json = await this.getIdentifyData(quadId, carto, tolerancePixel, true, maxAllowableOffset);
|
|
149738
149799
|
if (json && Array.isArray(json.results)) {
|
|
149739
|
-
const renderer = new _internal__WEBPACK_IMPORTED_MODULE_2__.ArcGisGraphicsRenderer(hit.
|
|
149800
|
+
const renderer = new _internal__WEBPACK_IMPORTED_MODULE_2__.ArcGisGraphicsRenderer({ viewport: hit.viewport });
|
|
149740
149801
|
const layerInfo = { layerName: this._settings.name, subLayerInfos: [] };
|
|
149741
149802
|
// The 'identify' service returns us a flat/unordered list of records..
|
|
149742
149803
|
// results may represent features for the a common subLayer.
|
|
@@ -150057,12 +150118,13 @@ const loggerCategory = "MapLayerImageryProvider.ArcGisGraphicsRenderer";
|
|
|
150057
150118
|
*/
|
|
150058
150119
|
class ArcGisGraphicsRenderer extends _internal__WEBPACK_IMPORTED_MODULE_3__.ArcGisGeometryBaseRenderer {
|
|
150059
150120
|
get attributeSymbology() { return undefined; } // No symbology is applied in this renderer
|
|
150060
|
-
constructor(
|
|
150121
|
+
constructor(props) {
|
|
150061
150122
|
super();
|
|
150062
150123
|
this._scratchPointsArray = new _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_2__.GrowableXYZArray();
|
|
150063
150124
|
this._scratchPaths = [];
|
|
150064
150125
|
this._graphics = [];
|
|
150065
|
-
this.
|
|
150126
|
+
this._viewport = props.viewport;
|
|
150127
|
+
this._iModel = props.viewport.iModel;
|
|
150066
150128
|
}
|
|
150067
150129
|
moveGraphics() {
|
|
150068
150130
|
const graphics = this._graphics;
|
|
@@ -150092,20 +150154,13 @@ class ArcGisGraphicsRenderer extends _internal__WEBPACK_IMPORTED_MODULE_3__.ArcG
|
|
|
150092
150154
|
async fill() {
|
|
150093
150155
|
if (this._scratchPaths.length > 0) {
|
|
150094
150156
|
const loops = [];
|
|
150095
|
-
|
|
150096
|
-
|
|
150097
|
-
|
|
150098
|
-
}
|
|
150157
|
+
const pathPromises = [];
|
|
150158
|
+
for (const points of this._scratchPaths) {
|
|
150159
|
+
pathPromises.push(this.toSpatial(points));
|
|
150099
150160
|
}
|
|
150100
|
-
|
|
150101
|
-
|
|
150102
|
-
|
|
150103
|
-
pathPromises.push(this.toSpatialFromGcs(points));
|
|
150104
|
-
}
|
|
150105
|
-
const pathsArray = await Promise.all(pathPromises);
|
|
150106
|
-
for (const pointsArray of pathsArray) {
|
|
150107
|
-
loops.push(_itwin_core_geometry__WEBPACK_IMPORTED_MODULE_2__.Loop.create(_itwin_core_geometry__WEBPACK_IMPORTED_MODULE_2__.LineString3d.create(pointsArray)));
|
|
150108
|
-
}
|
|
150161
|
+
const pathsArray = await Promise.all(pathPromises);
|
|
150162
|
+
for (const pointsArray of pathsArray) {
|
|
150163
|
+
loops.push(_itwin_core_geometry__WEBPACK_IMPORTED_MODULE_2__.Loop.create(_itwin_core_geometry__WEBPACK_IMPORTED_MODULE_2__.LineString3d.create(pointsArray)));
|
|
150109
150164
|
}
|
|
150110
150165
|
const mergedLoops = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_2__.RegionOps.constructAllXYRegionLoops(loops);
|
|
150111
150166
|
for (const loop of mergedLoops) {
|
|
@@ -150121,20 +150176,13 @@ class ArcGisGraphicsRenderer extends _internal__WEBPACK_IMPORTED_MODULE_3__.ArcG
|
|
|
150121
150176
|
this._scratchPaths.push(this._scratchPointsArray.getArray());
|
|
150122
150177
|
this._scratchPointsArray.clear();
|
|
150123
150178
|
}
|
|
150124
|
-
|
|
150125
|
-
|
|
150126
|
-
|
|
150127
|
-
}
|
|
150179
|
+
const pathPromises = [];
|
|
150180
|
+
for (const geoPt of this._scratchPaths) {
|
|
150181
|
+
pathPromises.push(this.toSpatial(geoPt));
|
|
150128
150182
|
}
|
|
150129
|
-
|
|
150130
|
-
|
|
150131
|
-
|
|
150132
|
-
pathPromises.push(this.toSpatialFromGcs(noGcsDefined));
|
|
150133
|
-
}
|
|
150134
|
-
const reprojectedPaths = await Promise.all(pathPromises);
|
|
150135
|
-
for (const path of reprojectedPaths) {
|
|
150136
|
-
this._graphics.push({ type: "linestring", points: _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_2__.Point3dArray.clonePoint3dArray(path) });
|
|
150137
|
-
}
|
|
150183
|
+
const reprojectedPaths = await Promise.all(pathPromises);
|
|
150184
|
+
for (const path of reprojectedPaths) {
|
|
150185
|
+
this._graphics.push({ type: "linestring", points: _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_2__.Point3dArray.clonePoint3dArray(path) });
|
|
150138
150186
|
}
|
|
150139
150187
|
this._scratchPaths = [];
|
|
150140
150188
|
}
|
|
@@ -150143,33 +150191,25 @@ class ArcGisGraphicsRenderer extends _internal__WEBPACK_IMPORTED_MODULE_3__.ArcG
|
|
|
150143
150191
|
}
|
|
150144
150192
|
async finishPoints() {
|
|
150145
150193
|
if (this._scratchPointsArray.length > 0) {
|
|
150146
|
-
|
|
150147
|
-
|
|
150194
|
+
// Backend reprojection
|
|
150195
|
+
const pointsArray = this._scratchPointsArray.getArray();
|
|
150196
|
+
try {
|
|
150197
|
+
const spatialPoints = await this.toSpatial(pointsArray);
|
|
150198
|
+
this._graphics.push({ type: "pointstring", points: spatialPoints });
|
|
150148
150199
|
}
|
|
150149
|
-
|
|
150150
|
-
|
|
150151
|
-
const pointsArray = this._scratchPointsArray.getArray();
|
|
150152
|
-
try {
|
|
150153
|
-
const spatialPoints = await this.toSpatialFromGcs(pointsArray);
|
|
150154
|
-
this._graphics.push({ type: "pointstring", points: spatialPoints });
|
|
150155
|
-
}
|
|
150156
|
-
catch (error) {
|
|
150157
|
-
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logError(loggerCategory, "ArcGisFeatureGraphicsRenderer: Could not reproject points");
|
|
150158
|
-
}
|
|
150200
|
+
catch (error) {
|
|
150201
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logError(loggerCategory, "ArcGisFeatureGraphicsRenderer: Could not reproject points");
|
|
150159
150202
|
}
|
|
150160
150203
|
this._scratchPointsArray.clear();
|
|
150161
150204
|
}
|
|
150162
150205
|
}
|
|
150163
|
-
async
|
|
150164
|
-
|
|
150165
|
-
|
|
150166
|
-
|
|
150167
|
-
|
|
150168
|
-
for (const pt of geoPoints) {
|
|
150169
|
-
const carto = { longitude: _internal__WEBPACK_IMPORTED_MODULE_3__.WebMercator.getEPSG4326Lon(pt.x), latitude: _internal__WEBPACK_IMPORTED_MODULE_3__.WebMercator.getEPSG4326Lat(pt.y), height: pt.z };
|
|
150170
|
-
spatials.push(this._iModel.cartographicToSpatialFromEcef(_itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.Cartographic.fromDegrees(carto)));
|
|
150206
|
+
async toSpatial(geoPoints) {
|
|
150207
|
+
const bgMapGeom = this._viewport.displayStyle.getBackgroundMapGeometry();
|
|
150208
|
+
if (bgMapGeom) {
|
|
150209
|
+
const cartoPts = geoPoints.map((pt) => _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.Cartographic.fromDegrees({ longitude: _internal__WEBPACK_IMPORTED_MODULE_3__.WebMercator.getEPSG4326Lon(pt.x), latitude: _internal__WEBPACK_IMPORTED_MODULE_3__.WebMercator.getEPSG4326Lat(pt.y), height: pt.z }));
|
|
150210
|
+
return bgMapGeom.cartographicToDbFromWgs84Gcs(cartoPts);
|
|
150171
150211
|
}
|
|
150172
|
-
return
|
|
150212
|
+
return [];
|
|
150173
150213
|
}
|
|
150174
150214
|
}
|
|
150175
150215
|
|
|
@@ -150866,14 +150906,14 @@ class WmtsMapLayerImageryProvider extends _internal__WEBPACK_IMPORTED_MODULE_2__
|
|
|
150866
150906
|
getDisplayedTileMatrixSetAndLimits() {
|
|
150867
150907
|
return this._preferredLayerTileMatrixSet.get(this.displayedLayerName);
|
|
150868
150908
|
}
|
|
150869
|
-
_generateChildIds(
|
|
150870
|
-
const childIds = this.getPotentialChildIds(
|
|
150909
|
+
_generateChildIds(quadId, resolveChildren) {
|
|
150910
|
+
const childIds = this.getPotentialChildIds(quadId);
|
|
150871
150911
|
const matrixSetAndLimits = this.getDisplayedTileMatrixSetAndLimits();
|
|
150872
150912
|
if (!matrixSetAndLimits) {
|
|
150873
150913
|
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(false); // Must always hava a matrix set.
|
|
150874
150914
|
return;
|
|
150875
150915
|
}
|
|
150876
|
-
const limits = matrixSetAndLimits.limits?.[
|
|
150916
|
+
const limits = matrixSetAndLimits.limits?.[quadId.level + 1]?.limits;
|
|
150877
150917
|
if (!limits) {
|
|
150878
150918
|
resolveChildren(childIds);
|
|
150879
150919
|
return;
|
|
@@ -151253,17 +151293,24 @@ class ImageryMapLayerTreeSupplier {
|
|
|
151253
151293
|
}
|
|
151254
151294
|
const imageryTreeSupplier = new ImageryMapLayerTreeSupplier();
|
|
151255
151295
|
/** A reference to one of our tile trees. The specific TileTree drawn may change when the desired imagery type or target iModel changes.
|
|
151256
|
-
* @
|
|
151296
|
+
* @beta
|
|
151257
151297
|
*/
|
|
151258
151298
|
class ImageryMapLayerTreeReference extends _internal__WEBPACK_IMPORTED_MODULE_4__.MapLayerTileTreeReference {
|
|
151259
|
-
|
|
151260
|
-
|
|
151299
|
+
/**
|
|
151300
|
+
* Constructor for an ImageryMapLayerTreeReference.
|
|
151301
|
+
* @param layerSettings Map layer settings that are applied to the ImageryMapLayerTreeReference.
|
|
151302
|
+
* @param layerIndex The index of the associated map layer. Usually passed in through [[createMapLayerTreeReference]] in [[MapTileTree]]'s constructor.
|
|
151303
|
+
* @param iModel The iModel containing the ImageryMapLayerTreeReference.
|
|
151304
|
+
*/
|
|
151305
|
+
constructor(args) {
|
|
151306
|
+
super(args.layerSettings, args.layerIndex, args.iModel);
|
|
151261
151307
|
}
|
|
151262
151308
|
get castsShadows() { return false; }
|
|
151263
151309
|
/** Return the owner of the TileTree to draw. */
|
|
151264
151310
|
get treeOwner() {
|
|
151265
151311
|
return this.iModel.tiles.getTileTreeOwner({ settings: this._layerSettings }, imageryTreeSupplier);
|
|
151266
151312
|
}
|
|
151313
|
+
/* @internal */
|
|
151267
151314
|
resetTreeOwner() {
|
|
151268
151315
|
return this.iModel.tiles.resetTileTreeOwner({ settings: this._layerSettings }, imageryTreeSupplier);
|
|
151269
151316
|
}
|
|
@@ -151530,32 +151577,52 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
151530
151577
|
|
|
151531
151578
|
|
|
151532
151579
|
const loggerCategory = "ArcGISFeatureProvider";
|
|
151533
|
-
/**
|
|
151580
|
+
/**
|
|
151581
|
+
* Class representing a map-layer format.
|
|
151534
151582
|
* Each format has it's unique 'formatId' string, used to uniquely identify a format in the [[MapLayerFormatRegistry]].
|
|
151535
151583
|
* When creating an [[ImageMapLayerSettings]] object, a format needs to be specified this 'formatId'.
|
|
151536
151584
|
* The MapLayerFormat object can later be used to validate a source, or create a provider.
|
|
151537
151585
|
*
|
|
151538
|
-
* Subclasses should override formatId and [[MapLayerFormat.
|
|
151586
|
+
* Subclasses should override formatId, [[MapLayerFormat.createImageryProvider]], and [[MapLayerFormat.createMapLayerTree]].
|
|
151539
151587
|
* @public
|
|
151540
151588
|
*/
|
|
151541
151589
|
class MapLayerFormat {
|
|
151542
|
-
/** Register the current format in the [[MapLayerFormatRegistry]].
|
|
151543
|
-
*/
|
|
151590
|
+
/** Register the current format in the [[MapLayerFormatRegistry]]. */
|
|
151544
151591
|
static register() { _IModelApp__WEBPACK_IMPORTED_MODULE_1__.IModelApp.mapLayerFormatRegistry.register(this); }
|
|
151545
|
-
/**
|
|
151546
|
-
|
|
151592
|
+
/**
|
|
151593
|
+
* Allow a source of a specific format to be validated before being attached as a map-layer.
|
|
151594
|
+
* @param _url The URL of the source.
|
|
151595
|
+
* @param _userName The username to access the source if needed.
|
|
151596
|
+
* @param _password The password to access the source if needed.
|
|
151597
|
+
* @param _ignoreCache Flag to skip cache lookup (i.e. force a new server request).
|
|
151598
|
+
* @returns Validation Status. If successful, a list of available sub-layers may also be returned.
|
|
151599
|
+
*/
|
|
151547
151600
|
static async validateSource(_url, _userName, _password, _ignoreCache) { return { status: _internal__WEBPACK_IMPORTED_MODULE_2__.MapLayerSourceStatus.Valid }; }
|
|
151548
|
-
/**
|
|
151549
|
-
*
|
|
151550
|
-
|
|
151551
|
-
|
|
151552
|
-
|
|
151601
|
+
/**
|
|
151602
|
+
* Create a [[MapLayerImageryProvider]] that will be used to feed data in a map-layer tile tree.
|
|
151603
|
+
* @param _settings The map layer settings to be applied to the imagery provider.
|
|
151604
|
+
* @returns Returns the new imagery provider.
|
|
151605
|
+
* @beta
|
|
151606
|
+
*/
|
|
151607
|
+
static createImageryProvider(_settings) {
|
|
151608
|
+
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(false, "Subclasses must override this method.");
|
|
151609
|
+
return undefined;
|
|
151610
|
+
}
|
|
151611
|
+
/**
|
|
151612
|
+
* Creates a MapLayerTileTreeReference for this map layer format.
|
|
151613
|
+
* @param _layerSettings Map layer settings that are applied to the MapLayerTileTreeReference.
|
|
151614
|
+
* @param _layerIndex The index of the associated map layer.
|
|
151615
|
+
* @param _iModel The iModel containing the MapLayerTileTreeReference.
|
|
151616
|
+
* @returns Returns the new tile tree reference.
|
|
151617
|
+
* @beta
|
|
151618
|
+
*/
|
|
151553
151619
|
static createMapLayerTree(_layerSettings, _layerIndex, _iModel) {
|
|
151554
|
-
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(false);
|
|
151620
|
+
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(false, "Subclasses must override this method.");
|
|
151555
151621
|
return undefined;
|
|
151556
151622
|
}
|
|
151557
151623
|
}
|
|
151558
|
-
/**
|
|
151624
|
+
/**
|
|
151625
|
+
* A registry of MapLayerFormats identified by their unique format IDs. The registry can be accessed via [[IModelApp.mapLayerFormatRegistry]].
|
|
151559
151626
|
* @public
|
|
151560
151627
|
*/
|
|
151561
151628
|
class MapLayerFormatRegistry {
|
|
@@ -151598,7 +151665,8 @@ class MapLayerFormatRegistry {
|
|
|
151598
151665
|
}
|
|
151599
151666
|
return format.createMapLayerTree(layerSettings, layerIndex, iModel);
|
|
151600
151667
|
}
|
|
151601
|
-
/**
|
|
151668
|
+
/**
|
|
151669
|
+
* Returns a [[MapLayerImageryProvider]] based on the provided [[ImageMapLayerSettings]] object.
|
|
151602
151670
|
* @internal
|
|
151603
151671
|
*/
|
|
151604
151672
|
createImageryProvider(layerSettings) {
|
|
@@ -151643,7 +151711,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
151643
151711
|
class ImageryMapLayerFormat extends _internal__WEBPACK_IMPORTED_MODULE_0__.MapLayerFormat {
|
|
151644
151712
|
/** @internal */
|
|
151645
151713
|
static createMapLayerTree(layerSettings, layerIndex, iModel) {
|
|
151646
|
-
return new _internal__WEBPACK_IMPORTED_MODULE_0__.ImageryMapLayerTreeReference(layerSettings, layerIndex, iModel);
|
|
151714
|
+
return new _internal__WEBPACK_IMPORTED_MODULE_0__.ImageryMapLayerTreeReference({ layerSettings, layerIndex, iModel });
|
|
151647
151715
|
}
|
|
151648
151716
|
}
|
|
151649
151717
|
class WmsMapLayerFormat extends ImageryMapLayerFormat {
|
|
@@ -151875,15 +151943,23 @@ class MapLayerImageryProvider {
|
|
|
151875
151943
|
this._geographicTilingScheme = new _internal__WEBPACK_IMPORTED_MODULE_5__.GeographicTilingScheme();
|
|
151876
151944
|
/** @internal */
|
|
151877
151945
|
this._status = MapLayerImageryProviderStatus.Valid;
|
|
151878
|
-
|
|
151879
|
-
|
|
151946
|
+
/**
|
|
151947
|
+
* This value is used internally for various computations, this should not get overriden.
|
|
151948
|
+
* @internal
|
|
151949
|
+
*/
|
|
151880
151950
|
this.defaultMinimumZoomLevel = 0;
|
|
151881
|
-
/**
|
|
151951
|
+
/**
|
|
151952
|
+
* This value is used internally for various computations, this should not get overriden.
|
|
151953
|
+
* @internal
|
|
151954
|
+
*/
|
|
151882
151955
|
this.defaultMaximumZoomLevel = 22;
|
|
151883
151956
|
this._mercatorTilingScheme = new _internal__WEBPACK_IMPORTED_MODULE_5__.WebMercatorTilingScheme();
|
|
151884
151957
|
this._geographicTilingScheme = new _internal__WEBPACK_IMPORTED_MODULE_5__.GeographicTilingScheme(2, 1, true);
|
|
151885
151958
|
}
|
|
151886
|
-
/**
|
|
151959
|
+
/**
|
|
151960
|
+
* Initialize the provider by loading the first tile at its default maximum zoom level.
|
|
151961
|
+
* @beta
|
|
151962
|
+
*/
|
|
151887
151963
|
async initialize() {
|
|
151888
151964
|
this.loadTile(0, 0, this.defaultMaximumZoomLevel).then((tileData) => {
|
|
151889
151965
|
if (tileData !== undefined)
|
|
@@ -151891,20 +151967,31 @@ class MapLayerImageryProvider {
|
|
|
151891
151967
|
});
|
|
151892
151968
|
}
|
|
151893
151969
|
get tilingScheme() { return this.useGeographicTilingScheme ? this._geographicTilingScheme : this._mercatorTilingScheme; }
|
|
151894
|
-
/**
|
|
151970
|
+
/**
|
|
151971
|
+
* Add attribution logo cards for the data supplied by this provider to the [[Viewport]]'s logo div.
|
|
151972
|
+
* @param _cards Logo cards HTML element that may contain custom data attributes.
|
|
151973
|
+
* @param _viewport Viewport to add logo cards to.
|
|
151974
|
+
* @beta
|
|
151975
|
+
*/
|
|
151895
151976
|
addLogoCards(_cards, _viewport) { }
|
|
151896
151977
|
/** @internal */
|
|
151897
151978
|
get transparentBackgroundString() { return this._settings.transparentBackground ? "true" : "false"; }
|
|
151898
151979
|
/** @internal */
|
|
151899
151980
|
async _areChildrenAvailable(_tile) { return true; }
|
|
151900
151981
|
/** @internal */
|
|
151901
|
-
getPotentialChildIds(
|
|
151902
|
-
const childLevel =
|
|
151903
|
-
return
|
|
151982
|
+
getPotentialChildIds(quadId) {
|
|
151983
|
+
const childLevel = quadId.level + 1;
|
|
151984
|
+
return quadId.getChildIds(this.tilingScheme.getNumberOfXChildrenAtLevel(childLevel), this.tilingScheme.getNumberOfYChildrenAtLevel(childLevel));
|
|
151904
151985
|
}
|
|
151905
|
-
/**
|
|
151906
|
-
|
|
151907
|
-
|
|
151986
|
+
/**
|
|
151987
|
+
* Get child IDs of a quad and generate tiles based on these child IDs.
|
|
151988
|
+
* See [[ImageryTileTree._loadChildren]] for the definition of `resolveChildren` where this function is commonly called.
|
|
151989
|
+
* @param quadId quad to generate child IDs for.
|
|
151990
|
+
* @param resolveChildren Function that creates tiles from child IDs.
|
|
151991
|
+
* @beta
|
|
151992
|
+
*/
|
|
151993
|
+
_generateChildIds(quadId, resolveChildren) {
|
|
151994
|
+
resolveChildren(this.getPotentialChildIds(quadId));
|
|
151908
151995
|
}
|
|
151909
151996
|
/** @internal */
|
|
151910
151997
|
generateChildIds(tile, resolveChildren) {
|
|
@@ -151912,9 +151999,16 @@ class MapLayerImageryProvider {
|
|
|
151912
151999
|
tile.setLeaf();
|
|
151913
152000
|
return;
|
|
151914
152001
|
}
|
|
151915
|
-
this._generateChildIds(tile, resolveChildren);
|
|
152002
|
+
this._generateChildIds(tile.quadId, resolveChildren);
|
|
151916
152003
|
}
|
|
151917
|
-
/**
|
|
152004
|
+
/**
|
|
152005
|
+
* Get tooltip text for a specific quad and cartographic position.
|
|
152006
|
+
* @param strings List of strings to contain tooltip text.
|
|
152007
|
+
* @param quadId Quad ID to get tooltip for.
|
|
152008
|
+
* @param _carto Cartographic that may be used to retrieve and/or format tooltip text.
|
|
152009
|
+
* @param tree Tree associated with the quad to get the tooltip for.
|
|
152010
|
+
* @internal
|
|
152011
|
+
*/
|
|
151918
152012
|
async getToolTip(strings, quadId, _carto, tree) {
|
|
151919
152013
|
if (doDebugToolTips) {
|
|
151920
152014
|
const range = quadId.getLatLongRangeDegrees(tree.tilingScheme);
|
|
@@ -151949,7 +152043,8 @@ class MapLayerImageryProvider {
|
|
|
151949
152043
|
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(false, "Invalid tile content type");
|
|
151950
152044
|
return undefined;
|
|
151951
152045
|
}
|
|
151952
|
-
/**
|
|
152046
|
+
/**
|
|
152047
|
+
* Change the status of this provider.
|
|
151953
152048
|
* Sub-classes should override 'onStatusUpdated' instead of this method.
|
|
151954
152049
|
* @internal
|
|
151955
152050
|
*/
|
|
@@ -152032,31 +152127,49 @@ class MapLayerImageryProvider {
|
|
|
152032
152127
|
}
|
|
152033
152128
|
return true;
|
|
152034
152129
|
}
|
|
152035
|
-
/**
|
|
152036
|
-
|
|
152130
|
+
/**
|
|
152131
|
+
* Calculates the projected x cartesian coordinate in EPSG:3857 from the longitude in EPSG:4326 (WGS84)
|
|
152132
|
+
* @param longitude Longitude in EPSG:4326 (WGS84)
|
|
152133
|
+
* @internal
|
|
152134
|
+
*/
|
|
152037
152135
|
getEPSG3857X(longitude) {
|
|
152038
152136
|
return longitude * 20037508.34 / 180.0;
|
|
152039
152137
|
}
|
|
152040
|
-
/**
|
|
152041
|
-
|
|
152138
|
+
/**
|
|
152139
|
+
* Calculates the projected y cartesian coordinate in EPSG:3857 from the latitude in EPSG:4326 (WGS84)
|
|
152140
|
+
* @param latitude Latitude in EPSG:4326 (WGS84)
|
|
152141
|
+
* @internal
|
|
152142
|
+
*/
|
|
152042
152143
|
getEPSG3857Y(latitude) {
|
|
152043
152144
|
const y = Math.log(Math.tan((90.0 + latitude) * Math.PI / 360.0)) / (Math.PI / 180.0);
|
|
152044
152145
|
return y * 20037508.34 / 180.0;
|
|
152045
152146
|
}
|
|
152046
|
-
/**
|
|
152047
|
-
|
|
152147
|
+
/**
|
|
152148
|
+
* Calculates the longitude in EPSG:4326 (WGS84) from the projected x cartesian coordinate in EPSG:3857
|
|
152149
|
+
* @param x3857 Projected x cartesian coordinate in EPSG:3857
|
|
152150
|
+
* @internal
|
|
152151
|
+
*/
|
|
152048
152152
|
getEPSG4326Lon(x3857) {
|
|
152049
152153
|
return _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_2__.Angle.radiansToDegrees(x3857 / earthRadius);
|
|
152050
152154
|
}
|
|
152051
|
-
/**
|
|
152052
|
-
|
|
152155
|
+
/**
|
|
152156
|
+
* Calculates the latitude in EPSG:4326 (WGS84) from the projected y cartesian coordinate in EPSG:3857
|
|
152157
|
+
* @param y3857 Projected y cartesian coordinate in EPSG:3857
|
|
152158
|
+
* @internal
|
|
152159
|
+
*/
|
|
152053
152160
|
getEPSG4326Lat(y3857) {
|
|
152054
152161
|
const y = 2 * Math.atan(Math.exp(y3857 / earthRadius)) - (Math.PI / 2);
|
|
152055
152162
|
return _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_2__.Angle.radiansToDegrees(y);
|
|
152056
152163
|
}
|
|
152057
|
-
/**
|
|
152058
|
-
|
|
152059
|
-
|
|
152164
|
+
/**
|
|
152165
|
+
* Get the bounding box/extents of a tile in EPSG:4326 (WGS84) format.
|
|
152166
|
+
* Map tile providers like Bing and Mapbox allow the URL to be constructed directly from the zoom level and tile coordinates.
|
|
152167
|
+
* However, WMS-based servers take a bounding box instead. This method can help get that bounding box from a tile.
|
|
152168
|
+
* @param row Row of the tile
|
|
152169
|
+
* @param column Column of the tile
|
|
152170
|
+
* @param zoomLevel Desired zoom level of the tile
|
|
152171
|
+
* @internal
|
|
152172
|
+
*/
|
|
152060
152173
|
getEPSG4326Extent(row, column, zoomLevel) {
|
|
152061
152174
|
// Shift left (this.tileSize << zoomLevel) overflow when using 512 pixels tile at higher resolution,
|
|
152062
152175
|
// so use Math.pow instead (I assume the performance lost to be minimal)
|
|
@@ -152071,7 +152184,13 @@ class MapLayerImageryProvider {
|
|
|
152071
152184
|
const latitudeTop = 90.0 - 360.0 * Math.atan(Math.exp(-y1 * 2 * Math.PI)) / Math.PI;
|
|
152072
152185
|
return { longitudeLeft, longitudeRight, latitudeTop, latitudeBottom };
|
|
152073
152186
|
}
|
|
152074
|
-
/**
|
|
152187
|
+
/**
|
|
152188
|
+
* Get the bounding box/extents of a tile in EPSG:3857 format.
|
|
152189
|
+
* @param row Row of the tile
|
|
152190
|
+
* @param column Column of the tile
|
|
152191
|
+
* @param zoomLevel Desired zoom level of the tile
|
|
152192
|
+
* @internal
|
|
152193
|
+
*/
|
|
152075
152194
|
getEPSG3857Extent(row, column, zoomLevel) {
|
|
152076
152195
|
const epsg4326Extent = this.getEPSG4326Extent(row, column, zoomLevel);
|
|
152077
152196
|
const left = this.getEPSG3857X(epsg4326Extent.longitudeLeft);
|
|
@@ -152348,24 +152467,45 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
152348
152467
|
|
|
152349
152468
|
|
|
152350
152469
|
|
|
152351
|
-
/**
|
|
152470
|
+
/**
|
|
152471
|
+
* A [[TileTreeReference]] to be used specifically for [[MapTileTree]]s.
|
|
152472
|
+
* The reference refers to its MapTileTree by way of the tree's [[TileTreeOwner]].
|
|
152473
|
+
* Multiple MapLayerTileTreeReferences can refer to the same TileTree if the map layer settings are equivalent, meaning
|
|
152474
|
+
* they have identical format IDs, URLs, credentials, etc.
|
|
152475
|
+
* @beta
|
|
152476
|
+
*/
|
|
152352
152477
|
class MapLayerTileTreeReference extends _internal__WEBPACK_IMPORTED_MODULE_3__.TileTreeReference {
|
|
152478
|
+
/**
|
|
152479
|
+
* Constructor for a MapLayerTileTreeReference.
|
|
152480
|
+
* @param _layerSettings Map layer settings that are applied to the MapLayerTileTreeReference.
|
|
152481
|
+
* @param _layerIndex The index of the associated map layer.
|
|
152482
|
+
* @param iModel The iModel containing the MapLayerTileTreeReference.
|
|
152483
|
+
* @internal
|
|
152484
|
+
*/
|
|
152353
152485
|
constructor(_layerSettings, _layerIndex, iModel) {
|
|
152354
152486
|
super();
|
|
152355
152487
|
this._layerSettings = _layerSettings;
|
|
152356
152488
|
this._layerIndex = _layerIndex;
|
|
152357
152489
|
this.iModel = iModel;
|
|
152358
152490
|
}
|
|
152491
|
+
/* @internal */
|
|
152359
152492
|
get _transparency() { return this._layerSettings.transparency ? this._layerSettings.transparency : undefined; }
|
|
152493
|
+
/** Returns true if the associated map layer, including its sublayers, is opaque. */
|
|
152360
152494
|
get isOpaque() {
|
|
152361
152495
|
return this._layerSettings.visible && (!this._layerSettings.allSubLayersInvisible) && !this._layerSettings.transparentBackground && 0 === this._layerSettings.transparency;
|
|
152362
152496
|
}
|
|
152497
|
+
/* Returns the map layer name. */
|
|
152363
152498
|
get layerName() { return this._layerSettings.name; }
|
|
152499
|
+
/** Returns the imagery provider for the tile tree. */
|
|
152364
152500
|
get imageryProvider() { return undefined; }
|
|
152365
152501
|
set layerSettings(layerSettings) { this._layerSettings = layerSettings; }
|
|
152502
|
+
/** Returns the layer settings for the map layer. */
|
|
152366
152503
|
get layerSettings() { return this._layerSettings; }
|
|
152504
|
+
/** Returns the index of the map layer associated with the tile tree. */
|
|
152367
152505
|
get layerIndex() { return this._layerIndex; }
|
|
152506
|
+
/** Returns the transparency value of the map layer. */
|
|
152368
152507
|
get transparency() { return this._transparency; }
|
|
152508
|
+
/* Returns a tooltip describing the hit with the map layer name. */
|
|
152369
152509
|
async getToolTip(hit) {
|
|
152370
152510
|
const tree = this.treeOwner.tileTree;
|
|
152371
152511
|
if (undefined === tree || hit.iModel !== tree.iModel || tree.modelId !== hit.sourceId)
|
|
@@ -152377,7 +152517,14 @@ class MapLayerTileTreeReference extends _internal__WEBPACK_IMPORTED_MODULE_3__.T
|
|
|
152377
152517
|
return div;
|
|
152378
152518
|
}
|
|
152379
152519
|
}
|
|
152380
|
-
/**
|
|
152520
|
+
/**
|
|
152521
|
+
* Creates a MapLayerTileTreeReference.
|
|
152522
|
+
* @param layerSettings Model or image map layer settings that are applied to the MapLayerTileTreeReference.
|
|
152523
|
+
* @param layerIndex The index of the associated map layer.
|
|
152524
|
+
* @param iModel The iModel containing the new MapLayerTileTreeReference.
|
|
152525
|
+
* @returns Returns the new tile tree reference, either a ModelMapLayerTileTreeReference or an ImageryMapLayerTreeReference.
|
|
152526
|
+
* @internal
|
|
152527
|
+
*/
|
|
152381
152528
|
function createMapLayerTreeReference(layerSettings, layerIndex, iModel) {
|
|
152382
152529
|
if (layerSettings instanceof _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.ModelMapLayerSettings) {
|
|
152383
152530
|
return (0,_internal__WEBPACK_IMPORTED_MODULE_3__.createModelMapLayerTileTreeReference)(layerSettings, layerIndex, iModel);
|
|
@@ -170323,10 +170470,8 @@ class Geometry {
|
|
|
170323
170470
|
* Return `undefined` if `(fTarget - f0) / (f1 - f0)` exceeds `Geometry.largeFractionResult`
|
|
170324
170471
|
*/
|
|
170325
170472
|
static inverseInterpolate01(f0, f1, fTarget = 0) {
|
|
170326
|
-
|
|
170327
|
-
|
|
170328
|
-
*/
|
|
170329
|
-
return Geometry.conditionalDivideFraction(fTarget - f0, f1 - f0); // x = (fTarget-f0)/(f1-f0)
|
|
170473
|
+
// Line equation is fTarget-f0 = (f1-f0)*x so x = (fTarget-f0)/(f1-f0)
|
|
170474
|
+
return Geometry.conditionalDivideFraction(fTarget - f0, f1 - f0);
|
|
170330
170475
|
}
|
|
170331
170476
|
/**
|
|
170332
170477
|
* Return `true` if `json` is an array with at least `minEntries` entries and all entries are numbers (including
|
|
@@ -183380,11 +183525,28 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
|
|
|
183380
183525
|
curveLengthBetweenFractions(fraction0, fraction1) {
|
|
183381
183526
|
return Math.abs(fraction1 - fraction0) * this._totalLength;
|
|
183382
183527
|
}
|
|
183528
|
+
/** Flatten CurveChainWithDistanceIndex children in the input chain.
|
|
183529
|
+
* @return cloned flattened CurveChain, or reference to the input chain if no nesting
|
|
183530
|
+
*/
|
|
183531
|
+
static flattenNestedChains(chain) {
|
|
183532
|
+
if (-1 === chain.children.findIndex((child) => { return child instanceof CurveChainWithDistanceIndex; }))
|
|
183533
|
+
return chain;
|
|
183534
|
+
const flatChain = chain.clone();
|
|
183535
|
+
const flatChildren = flatChain.children.flatMap((child) => {
|
|
183536
|
+
if (child instanceof CurveChainWithDistanceIndex)
|
|
183537
|
+
return child.path.children;
|
|
183538
|
+
else
|
|
183539
|
+
return [child];
|
|
183540
|
+
});
|
|
183541
|
+
flatChain.children.splice(0, Infinity, ...flatChildren);
|
|
183542
|
+
return flatChain;
|
|
183543
|
+
}
|
|
183383
183544
|
/**
|
|
183384
183545
|
* Capture (not clone) a path into a new `CurveChainWithDistanceIndex`
|
|
183385
183546
|
* @param path primitive array to be CAPTURED (not cloned)
|
|
183386
183547
|
*/
|
|
183387
183548
|
static createCapture(path, options) {
|
|
183549
|
+
path = this.flattenNestedChains(path); // nested chains not allowed
|
|
183388
183550
|
const fragments = DistanceIndexConstructionContext.createPathFragmentIndex(path, options);
|
|
183389
183551
|
const result = new CurveChainWithDistanceIndex(path, fragments);
|
|
183390
183552
|
return result;
|
|
@@ -183720,6 +183882,36 @@ class CurveChainWithDistanceIndex extends _curve_CurvePrimitive__WEBPACK_IMPORTE
|
|
|
183720
183882
|
}
|
|
183721
183883
|
return undefined;
|
|
183722
183884
|
}
|
|
183885
|
+
/**
|
|
183886
|
+
* Given a parent chain, convert the corresponding child details in the specified pairs.
|
|
183887
|
+
* * Converted details refer to the chain's global parameterization instead of the child's.
|
|
183888
|
+
* * It is assumed that for all i >= index0, `pairs[i].detailA.curve` is a child of chainA (similarly for chainB).
|
|
183889
|
+
* @param pairs array to mutate
|
|
183890
|
+
* @param index0 convert details of pairs in the tail of the array, starting at index0
|
|
183891
|
+
* @param chainA convert each specified detailA to the global parameterization of chainA
|
|
183892
|
+
* @param chainB convert each specified detailB to the global parameterization of chainB
|
|
183893
|
+
* @param compressAdjacent whether to remove adjacent duplicate pairs after conversion
|
|
183894
|
+
* @return the converted array
|
|
183895
|
+
* @internal
|
|
183896
|
+
*/
|
|
183897
|
+
static convertChildDetailToChainDetail(pairs, index0, chainA, chainB, compressAdjacent) {
|
|
183898
|
+
for (let i = index0; i < pairs.length; ++i) {
|
|
183899
|
+
const childDetailPair = pairs[i];
|
|
183900
|
+
if (chainA) {
|
|
183901
|
+
const chainDetail = chainA.computeChainDetail(childDetailPair.detailA);
|
|
183902
|
+
if (chainDetail)
|
|
183903
|
+
childDetailPair.detailA = chainDetail;
|
|
183904
|
+
}
|
|
183905
|
+
if (chainB) {
|
|
183906
|
+
const chainDetail = chainB.computeChainDetail(childDetailPair.detailB);
|
|
183907
|
+
if (chainDetail)
|
|
183908
|
+
childDetailPair.detailB = chainDetail;
|
|
183909
|
+
}
|
|
183910
|
+
}
|
|
183911
|
+
if (compressAdjacent)
|
|
183912
|
+
pairs = _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_8__.CurveLocationDetailPair.removeAdjacentDuplicates(pairs, index0);
|
|
183913
|
+
return pairs;
|
|
183914
|
+
}
|
|
183723
183915
|
}
|
|
183724
183916
|
CurveChainWithDistanceIndex._numCalls = 0;
|
|
183725
183917
|
CurveChainWithDistanceIndex._numTested = 0;
|
|
@@ -183778,15 +183970,13 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
183778
183970
|
|
|
183779
183971
|
/**
|
|
183780
183972
|
* A `CurveCollection` is an abstract (non-instantiable) class for various sets of curves with particular structures:
|
|
183781
|
-
* -
|
|
183782
|
-
* The two instantiable forms of `CurveChain` are
|
|
183783
|
-
* -
|
|
183784
|
-
*
|
|
183785
|
-
*
|
|
183786
|
-
*
|
|
183787
|
-
* -
|
|
183788
|
-
* - `UnionRegion` -- a collection of coplanar `Loop` and/or `ParityRegion`, with "in/out" classification by union rules.
|
|
183789
|
-
* - `BagOfCurves` -- a collection of `AnyCurve` with no implied structure.
|
|
183973
|
+
* - [[CurveChain]] - a non-instantiable intermediate class for a sequence of [[CurvePrimitive]] joining head-to-tail.
|
|
183974
|
+
* The two instantiable forms of `CurveChain` are:
|
|
183975
|
+
* - [[Path]] - a chain of curves. Does not have to be closed or planar. A closed `Path` is not treated as bounding a surface.
|
|
183976
|
+
* - [[Loop]] - a closed and planar chain of curves. A `Loop` is treated as bounding a planar area.
|
|
183977
|
+
* - [[ParityRegion]] - a collection of coplanar `Loop`, with "in/out" classification by parity rules.
|
|
183978
|
+
* - [[UnionRegion]] - a collection of coplanar `Loop` and/or `ParityRegion`, with "in/out" classification by union rules.
|
|
183979
|
+
* - [[BagOfCurves]] - a collection of [[AnyCurve]] with no implied structure.
|
|
183790
183980
|
*
|
|
183791
183981
|
* @see [Curve Collections]($docs/learning/geometry/CurveCollection.md) learning article.
|
|
183792
183982
|
* @public
|
|
@@ -183796,7 +183986,6 @@ class CurveCollection extends _GeometryQuery__WEBPACK_IMPORTED_MODULE_0__.Geomet
|
|
|
183796
183986
|
super(...arguments);
|
|
183797
183987
|
/** String name for schema properties */
|
|
183798
183988
|
this.geometryCategory = "curveCollection";
|
|
183799
|
-
/* eslint-disable @typescript-eslint/naming-convention, no-empty */
|
|
183800
183989
|
/** Flag for inner loop status. Only used by `Loop`. */
|
|
183801
183990
|
this.isInner = false;
|
|
183802
183991
|
}
|
|
@@ -184173,11 +184362,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
184173
184362
|
/* harmony export */ CurveCurve: () => (/* binding */ CurveCurve)
|
|
184174
184363
|
/* harmony export */ });
|
|
184175
184364
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
184176
|
-
/* harmony import */ var
|
|
184177
|
-
/* harmony import */ var _CurvePrimitive__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
184178
|
-
/* harmony import */ var _internalContexts_CurveCurveCloseApproachXY__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./internalContexts/CurveCurveCloseApproachXY */ "../../core/geometry/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js");
|
|
184365
|
+
/* harmony import */ var _internalContexts_CurveCurveCloseApproachXY__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internalContexts/CurveCurveCloseApproachXY */ "../../core/geometry/lib/esm/curve/internalContexts/CurveCurveCloseApproachXY.js");
|
|
184179
184366
|
/* harmony import */ var _internalContexts_CurveCurveIntersectXY__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internalContexts/CurveCurveIntersectXY */ "../../core/geometry/lib/esm/curve/internalContexts/CurveCurveIntersectXY.js");
|
|
184180
|
-
/* harmony import */ var
|
|
184367
|
+
/* harmony import */ var _internalContexts_CurveCurveIntersectXYZ__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internalContexts/CurveCurveIntersectXYZ */ "../../core/geometry/lib/esm/curve/internalContexts/CurveCurveIntersectXYZ.js");
|
|
184181
184368
|
/*---------------------------------------------------------------------------------------------
|
|
184182
184369
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
184183
184370
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -184189,8 +184376,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
184189
184376
|
|
|
184190
184377
|
|
|
184191
184378
|
|
|
184192
|
-
|
|
184193
|
-
|
|
184194
184379
|
/**
|
|
184195
184380
|
* `CurveCurve` has static method for various computations that work on a pair of curves or curve collections.
|
|
184196
184381
|
* @public
|
|
@@ -184205,22 +184390,11 @@ class CurveCurve {
|
|
|
184205
184390
|
* @param tolerance optional distance tolerance for coincidence
|
|
184206
184391
|
*/
|
|
184207
184392
|
static intersectionXYPairs(curveA, extendA, curveB, extendB, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallMetricDistance) {
|
|
184208
|
-
|
|
184209
|
-
if (curveB instanceof _CurvePrimitive__WEBPACK_IMPORTED_MODULE_2__.CurvePrimitive) {
|
|
184210
|
-
curveA.dispatchToGeometryHandler(handler);
|
|
184211
|
-
}
|
|
184212
|
-
else if (curveB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_3__.CurveCollection) {
|
|
184213
|
-
const allCurves = curveB.collectCurvePrimitives();
|
|
184214
|
-
for (const child of allCurves) {
|
|
184215
|
-
handler.resetGeometry(false, child, false);
|
|
184216
|
-
curveA.dispatchToGeometryHandler(handler);
|
|
184217
|
-
}
|
|
184218
|
-
}
|
|
184219
|
-
return handler.grabPairedResults();
|
|
184393
|
+
return CurveCurve.intersectionProjectedXYPairs(undefined, curveA, extendA, curveB, extendB, tolerance);
|
|
184220
184394
|
}
|
|
184221
184395
|
/**
|
|
184222
184396
|
* Return xy intersections of 2 projected curves.
|
|
184223
|
-
* @param worldToLocal transform (possibly perspective) defining the local coordinates in which to compute xy intersections
|
|
184397
|
+
* @param worldToLocal transform (possibly perspective) defining the local coordinates in which to compute xy intersections
|
|
184224
184398
|
* @param curveA first curve
|
|
184225
184399
|
* @param extendA true to allow curveA to extend
|
|
184226
184400
|
* @param curveB second curve
|
|
@@ -184244,7 +184418,7 @@ class CurveCurve {
|
|
|
184244
184418
|
* @returns array of intersections structured as CurveLocationDetailPair[]
|
|
184245
184419
|
*/
|
|
184246
184420
|
static intersectionXYZPairs(curveA, extendA, curveB, extendB) {
|
|
184247
|
-
const handler = new
|
|
184421
|
+
const handler = new _internalContexts_CurveCurveIntersectXYZ__WEBPACK_IMPORTED_MODULE_2__.CurveCurveIntersectXYZ(extendA, curveB, extendB);
|
|
184248
184422
|
curveA.dispatchToGeometryHandler(handler);
|
|
184249
184423
|
return handler.grabPairedResults();
|
|
184250
184424
|
}
|
|
@@ -184258,7 +184432,7 @@ class CurveCurve {
|
|
|
184258
184432
|
for (let i = 0; i < primitives.length; i++) {
|
|
184259
184433
|
const curveA = primitives[i];
|
|
184260
184434
|
for (let j = i + 1; j < primitives.length; j++) {
|
|
184261
|
-
handler.resetGeometry(
|
|
184435
|
+
handler.resetGeometry(primitives[j]);
|
|
184262
184436
|
curveA.dispatchToGeometryHandler(handler);
|
|
184263
184437
|
}
|
|
184264
184438
|
}
|
|
@@ -184278,7 +184452,7 @@ class CurveCurve {
|
|
|
184278
184452
|
* Close approaches further than this xy-distance are not returned.
|
|
184279
184453
|
*/
|
|
184280
184454
|
static closeApproachProjectedXYPairs(curveA, curveB, maxDistance) {
|
|
184281
|
-
const handler = new
|
|
184455
|
+
const handler = new _internalContexts_CurveCurveCloseApproachXY__WEBPACK_IMPORTED_MODULE_3__.CurveCurveCloseApproachXY(curveB);
|
|
184282
184456
|
handler.maxDistanceToAccept = maxDistance;
|
|
184283
184457
|
curveA.dispatchToGeometryHandler(handler);
|
|
184284
184458
|
return handler.grabPairedResults();
|
|
@@ -185180,19 +185354,13 @@ class CurveLocationDetail {
|
|
|
185180
185354
|
* * No action if undefined.
|
|
185181
185355
|
*/
|
|
185182
185356
|
collapseToEnd() {
|
|
185183
|
-
if (this.fraction1 !== undefined)
|
|
185357
|
+
if (this.fraction1 !== undefined)
|
|
185184
185358
|
this.fraction = this.fraction1;
|
|
185185
|
-
|
|
185186
|
-
}
|
|
185187
|
-
if (this.point1) {
|
|
185359
|
+
if (this.point1)
|
|
185188
185360
|
this.point = this.point1;
|
|
185189
|
-
|
|
185190
|
-
}
|
|
185361
|
+
this.collapseToStart();
|
|
185191
185362
|
}
|
|
185192
|
-
/**
|
|
185193
|
-
* Make (fraction, point) the primary (and only) data.
|
|
185194
|
-
* * No action if undefined.
|
|
185195
|
-
*/
|
|
185363
|
+
/** Make (fraction, point) the primary (and only) data. */
|
|
185196
185364
|
collapseToStart() {
|
|
185197
185365
|
this.fraction1 = undefined;
|
|
185198
185366
|
this.point1 = undefined;
|
|
@@ -185412,6 +185580,10 @@ class CurveLocationDetail {
|
|
|
185412
185580
|
}
|
|
185413
185581
|
return detailB;
|
|
185414
185582
|
}
|
|
185583
|
+
/** Compare only the curve and fraction of this detail with `other`. */
|
|
185584
|
+
isSameCurveAndFraction(other) {
|
|
185585
|
+
return this.curve === other.curve && _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.isAlmostEqualNumber(this.fraction, other.fraction);
|
|
185586
|
+
}
|
|
185415
185587
|
}
|
|
185416
185588
|
/**
|
|
185417
185589
|
* Enumeration of configurations for intersections and min/max distance-between-curve
|
|
@@ -185474,6 +185646,30 @@ class CurveLocationDetailPair {
|
|
|
185474
185646
|
this.detailA = this.detailB;
|
|
185475
185647
|
this.detailB = q;
|
|
185476
185648
|
}
|
|
185649
|
+
/**
|
|
185650
|
+
* Mutate the input array by removing the second of two adjacent duplicate pairs.
|
|
185651
|
+
* * Ignores details representing coincident intervals (e.g., for which `fraction1` is defined).
|
|
185652
|
+
* * Comparison is performed by [[CurveLocationDetail.isSameCurveAndFraction]].
|
|
185653
|
+
* * No sorting is performed.
|
|
185654
|
+
* @param pairs array to de-duplicate in place
|
|
185655
|
+
* @param index0 look for duplicates in the tail of the array starting at index0
|
|
185656
|
+
* @return reference to input array
|
|
185657
|
+
* @internal
|
|
185658
|
+
*/
|
|
185659
|
+
static removeAdjacentDuplicates(pairs, index0 = 0) {
|
|
185660
|
+
return pairs.flatMap((pair, i, arr) => {
|
|
185661
|
+
if (i >= index0 && i > 0) {
|
|
185662
|
+
if (!pair.detailA.hasFraction1 && !pair.detailB.hasFraction1) {
|
|
185663
|
+
if (pair.detailA.isSameCurveAndFraction(arr[i - 1].detailA)) {
|
|
185664
|
+
if (pair.detailB.isSameCurveAndFraction(arr[i - 1].detailB)) {
|
|
185665
|
+
return []; // remove the i_th pair
|
|
185666
|
+
}
|
|
185667
|
+
}
|
|
185668
|
+
}
|
|
185669
|
+
}
|
|
185670
|
+
return [pair]; // preserve the i_th pair
|
|
185671
|
+
});
|
|
185672
|
+
}
|
|
185477
185673
|
}
|
|
185478
185674
|
/**
|
|
185479
185675
|
* Data bundle for a pair of arrays of CurveLocationDetail structures.
|
|
@@ -186524,10 +186720,8 @@ class CurveWireMomentsXYZ {
|
|
|
186524
186720
|
if (root instanceof _CurvePrimitive__WEBPACK_IMPORTED_MODULE_3__.CurvePrimitive)
|
|
186525
186721
|
root.emitStrokableParts(this);
|
|
186526
186722
|
else if (root instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_4__.CurveCollection) {
|
|
186527
|
-
|
|
186528
|
-
|
|
186529
|
-
this.visitLeaves(child);
|
|
186530
|
-
}
|
|
186723
|
+
for (const child of root.children)
|
|
186724
|
+
this.visitLeaves(child);
|
|
186531
186725
|
}
|
|
186532
186726
|
}
|
|
186533
186727
|
}
|
|
@@ -187916,10 +188110,7 @@ class LineString3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__.CurvePri
|
|
|
187916
188110
|
isInPlane(plane) {
|
|
187917
188111
|
return this._points.isCloseToPlane(plane, _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance);
|
|
187918
188112
|
}
|
|
187919
|
-
/**
|
|
187920
|
-
* Push a hit, fixing up the prior entry if needed.
|
|
187921
|
-
* Return the incremented counter.
|
|
187922
|
-
*/
|
|
188113
|
+
/** Push a hit, fixing up the prior entry if needed. */
|
|
187923
188114
|
static pushVertexHit(result, counter, cp, fraction, point) {
|
|
187924
188115
|
const detail = _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_12__.CurveLocationDetail.createCurveFractionPoint(cp, fraction, point);
|
|
187925
188116
|
result.push(detail);
|
|
@@ -191100,7 +191291,8 @@ class RegionOps {
|
|
|
191100
191291
|
return halfDistTol * (range.xLength() + range.yLength() + halfDistTol);
|
|
191101
191292
|
}
|
|
191102
191293
|
/**
|
|
191103
|
-
* Return
|
|
191294
|
+
* Return a (signed) xy area for a region.
|
|
191295
|
+
* * The area is negative if and only if the region is oriented clockwise with respect to the positive z-axis.
|
|
191104
191296
|
* @param root any Loop, ParityRegion, or UnionRegion.
|
|
191105
191297
|
*/
|
|
191106
191298
|
static computeXYArea(root) {
|
|
@@ -193739,10 +193931,6 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
193739
193931
|
this._results = [];
|
|
193740
193932
|
return result;
|
|
193741
193933
|
}
|
|
193742
|
-
/** Returns `true` if `detail` has same curve and fraction. */
|
|
193743
|
-
sameCurveAndFraction(cp, fraction, detail) {
|
|
193744
|
-
return cp === detail.curve && _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.isAlmostEqualNumber(fraction, detail.fraction);
|
|
193745
|
-
}
|
|
193746
193934
|
/**
|
|
193747
193935
|
* If distance between pointA and pointB is less than maxDistance, record CurveLocationDetailPair which is
|
|
193748
193936
|
* the approach from pointA to pointB.
|
|
@@ -193793,13 +193981,13 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
193793
193981
|
const oldDetailA = this._results[numPrevious - 1].detailA;
|
|
193794
193982
|
const oldDetailB = this._results[numPrevious - 1].detailB;
|
|
193795
193983
|
if (reversed) {
|
|
193796
|
-
if (
|
|
193797
|
-
|
|
193984
|
+
if (oldDetailB.isSameCurveAndFraction({ curve: cpA, fraction: globalFractionA }) &&
|
|
193985
|
+
oldDetailA.isSameCurveAndFraction({ curve: cpB, fraction: globalFractionB }))
|
|
193798
193986
|
return;
|
|
193799
193987
|
}
|
|
193800
193988
|
else {
|
|
193801
|
-
if (
|
|
193802
|
-
|
|
193989
|
+
if (oldDetailA.isSameCurveAndFraction({ curve: cpA, fraction: globalFractionA }) &&
|
|
193990
|
+
oldDetailB.isSameCurveAndFraction({ curve: cpB, fraction: globalFractionB }))
|
|
193803
193991
|
return;
|
|
193804
193992
|
}
|
|
193805
193993
|
}
|
|
@@ -193845,13 +194033,13 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
193845
194033
|
const oldDetailA = this._results[numPrevious - 1].detailA;
|
|
193846
194034
|
const oldDetailB = this._results[numPrevious - 1].detailB;
|
|
193847
194035
|
if (reversed) {
|
|
193848
|
-
if (
|
|
193849
|
-
|
|
194036
|
+
if (oldDetailB.isSameCurveAndFraction({ curve: cpA, fraction: globalFractionA }) &&
|
|
194037
|
+
oldDetailA.isSameCurveAndFraction({ curve: cpB, fraction: globalFractionB }))
|
|
193850
194038
|
return;
|
|
193851
194039
|
}
|
|
193852
194040
|
else {
|
|
193853
|
-
if (
|
|
193854
|
-
|
|
194041
|
+
if (oldDetailA.isSameCurveAndFraction({ curve: cpA, fraction: globalFractionA }) &&
|
|
194042
|
+
oldDetailB.isSameCurveAndFraction({ curve: cpB, fraction: globalFractionB }))
|
|
193855
194043
|
return;
|
|
193856
194044
|
}
|
|
193857
194045
|
}
|
|
@@ -194237,38 +194425,22 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
194237
194425
|
}
|
|
194238
194426
|
this._geometryB = geomB; // restore
|
|
194239
194427
|
}
|
|
194240
|
-
/**
|
|
194241
|
-
* Given a parent chain, convert the corresponding child details so that they refer to the chain's global parameterization.
|
|
194242
|
-
* * It is assumed that `this._results[i].detailA.curve` is a child of chainA, and similarly for detailB/chainB.
|
|
194243
|
-
* @param chainA convert each detailA to the global parameterization of chainA
|
|
194244
|
-
* @param chainB convert each detailB to the global parameterization of chainB
|
|
194245
|
-
*/
|
|
194246
|
-
convertChildDetailToChainDetail(chainA, chainB) {
|
|
194247
|
-
for (const childDetailPair of this._results) {
|
|
194248
|
-
if (chainA) {
|
|
194249
|
-
const chainDetail = chainA.computeChainDetail(childDetailPair.detailA);
|
|
194250
|
-
if (chainDetail)
|
|
194251
|
-
childDetailPair.detailA = chainDetail;
|
|
194252
|
-
}
|
|
194253
|
-
if (chainB) {
|
|
194254
|
-
const chainDetail = chainB.computeChainDetail(childDetailPair.detailB);
|
|
194255
|
-
if (chainDetail)
|
|
194256
|
-
childDetailPair.detailB = chainDetail;
|
|
194257
|
-
}
|
|
194258
|
-
}
|
|
194259
|
-
}
|
|
194260
194428
|
/** Low level dispatch to geomA given a CurveChainWithDistanceIndex in geometryB. */
|
|
194261
194429
|
dispatchCurveChainWithDistanceIndex(geomA, geomAHandler) {
|
|
194262
194430
|
if (!this._geometryB || !(this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_10__.CurveChainWithDistanceIndex))
|
|
194263
194431
|
return;
|
|
194432
|
+
if (geomA instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_10__.CurveChainWithDistanceIndex) {
|
|
194433
|
+
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(!!"call handleCurveChainWithDistanceIndex(geomA) instead");
|
|
194434
|
+
return;
|
|
194435
|
+
}
|
|
194436
|
+
const index0 = this._results.length;
|
|
194264
194437
|
const geomB = this._geometryB; // save
|
|
194265
194438
|
for (const child of geomB.path.children) {
|
|
194266
194439
|
this.resetGeometry(child);
|
|
194267
194440
|
geomAHandler(geomA);
|
|
194268
194441
|
}
|
|
194269
194442
|
this.resetGeometry(geomB); // restore
|
|
194270
|
-
|
|
194271
|
-
this.convertChildDetailToChainDetail(undefined, geomB);
|
|
194443
|
+
this._results = _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_10__.CurveChainWithDistanceIndex.convertChildDetailToChainDetail(this._results, index0, undefined, geomB, true);
|
|
194272
194444
|
}
|
|
194273
194445
|
/** Double dispatch handler for strongly typed segment. */
|
|
194274
194446
|
handleLineSegment3d(segmentA) {
|
|
@@ -194439,7 +194611,8 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
194439
194611
|
/** Double dispatch handler for strongly typed CurveChainWithDistanceIndex. */
|
|
194440
194612
|
handleCurveChainWithDistanceIndex(chain) {
|
|
194441
194613
|
super.handleCurveChainWithDistanceIndex(chain);
|
|
194442
|
-
|
|
194614
|
+
// if _geometryB is also a CurveChainWithDistanceIndex, it will already have been converted by dispatchCurveChainWithDistanceIndex
|
|
194615
|
+
this._results = _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_10__.CurveChainWithDistanceIndex.convertChildDetailToChainDetail(this._results, 0, chain, undefined, true);
|
|
194443
194616
|
}
|
|
194444
194617
|
/** Double dispatch handler for strongly typed homogeneous bspline curve .. */
|
|
194445
194618
|
handleBSplineCurve3dH(_curve) {
|
|
@@ -194481,27 +194654,36 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
194481
194654
|
/* harmony export */ BezierBezierIntersectionXYRRToRRD: () => (/* binding */ BezierBezierIntersectionXYRRToRRD),
|
|
194482
194655
|
/* harmony export */ CurveCurveIntersectXY: () => (/* binding */ CurveCurveIntersectXY)
|
|
194483
194656
|
/* harmony export */ });
|
|
194484
|
-
/* harmony import */ var
|
|
194485
|
-
/* harmony import */ var
|
|
194486
|
-
/* harmony import */ var
|
|
194487
|
-
/* harmony import */ var
|
|
194488
|
-
/* harmony import */ var
|
|
194489
|
-
/* harmony import */ var
|
|
194490
|
-
/* harmony import */ var
|
|
194491
|
-
/* harmony import */ var
|
|
194492
|
-
/* harmony import */ var
|
|
194493
|
-
/* harmony import */ var
|
|
194494
|
-
/* harmony import */ var
|
|
194495
|
-
/* harmony import */ var
|
|
194496
|
-
/* harmony import */ var
|
|
194497
|
-
/* harmony import */ var
|
|
194498
|
-
/* harmony import */ var
|
|
194499
|
-
/* harmony import */ var
|
|
194500
|
-
/* harmony import */ var
|
|
194657
|
+
/* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
|
|
194658
|
+
/* harmony import */ var _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../bspline/BSplineCurve */ "../../core/geometry/lib/esm/bspline/BSplineCurve.js");
|
|
194659
|
+
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
194660
|
+
/* harmony import */ var _geometry3d_CoincidentGeometryOps__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../geometry3d/CoincidentGeometryOps */ "../../core/geometry/lib/esm/geometry3d/CoincidentGeometryOps.js");
|
|
194661
|
+
/* harmony import */ var _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../geometry3d/GeometryHandler */ "../../core/geometry/lib/esm/geometry3d/GeometryHandler.js");
|
|
194662
|
+
/* harmony import */ var _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../geometry3d/GrowableFloat64Array */ "../../core/geometry/lib/esm/geometry3d/GrowableFloat64Array.js");
|
|
194663
|
+
/* harmony import */ var _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../geometry3d/Matrix3d */ "../../core/geometry/lib/esm/geometry3d/Matrix3d.js");
|
|
194664
|
+
/* harmony import */ var _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../geometry3d/Point2dVector2d */ "../../core/geometry/lib/esm/geometry3d/Point2dVector2d.js");
|
|
194665
|
+
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
194666
|
+
/* harmony import */ var _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../geometry3d/Ray3d */ "../../core/geometry/lib/esm/geometry3d/Ray3d.js");
|
|
194667
|
+
/* harmony import */ var _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../geometry4d/Point4d */ "../../core/geometry/lib/esm/geometry4d/Point4d.js");
|
|
194668
|
+
/* harmony import */ var _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../numerics/BezierPolynomials */ "../../core/geometry/lib/esm/numerics/BezierPolynomials.js");
|
|
194669
|
+
/* harmony import */ var _numerics_Newton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../numerics/Newton */ "../../core/geometry/lib/esm/numerics/Newton.js");
|
|
194670
|
+
/* harmony import */ var _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../numerics/Polynomials */ "../../core/geometry/lib/esm/numerics/Polynomials.js");
|
|
194671
|
+
/* harmony import */ var _Arc3d__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../Arc3d */ "../../core/geometry/lib/esm/curve/Arc3d.js");
|
|
194672
|
+
/* harmony import */ var _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../CurveChainWithDistanceIndex */ "../../core/geometry/lib/esm/curve/CurveChainWithDistanceIndex.js");
|
|
194673
|
+
/* harmony import */ var _CurveCollection__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../CurveCollection */ "../../core/geometry/lib/esm/curve/CurveCollection.js");
|
|
194674
|
+
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
194675
|
+
/* harmony import */ var _LineSegment3d__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
|
|
194676
|
+
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
194501
194677
|
/*---------------------------------------------------------------------------------------------
|
|
194502
194678
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
194503
194679
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
194504
194680
|
*--------------------------------------------------------------------------------------------*/
|
|
194681
|
+
/** @packageDocumentation
|
|
194682
|
+
* @module Curve
|
|
194683
|
+
*/
|
|
194684
|
+
|
|
194685
|
+
|
|
194686
|
+
|
|
194505
194687
|
|
|
194506
194688
|
|
|
194507
194689
|
|
|
@@ -194525,13 +194707,13 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
194525
194707
|
* * The inputs are assumed pre-transformed so that the target condition is to match x and y coordinates.
|
|
194526
194708
|
* @internal
|
|
194527
194709
|
*/
|
|
194528
|
-
class BezierBezierIntersectionXYRRToRRD extends
|
|
194710
|
+
class BezierBezierIntersectionXYRRToRRD extends _numerics_Newton__WEBPACK_IMPORTED_MODULE_1__.NewtonEvaluatorRRtoRRD {
|
|
194529
194711
|
constructor(curveA, curveB) {
|
|
194530
194712
|
super();
|
|
194531
194713
|
this._curveA = curveA;
|
|
194532
194714
|
this._curveB = curveB;
|
|
194533
|
-
this._rayA =
|
|
194534
|
-
this._rayB =
|
|
194715
|
+
this._rayA = _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_2__.Ray3d.createZero();
|
|
194716
|
+
this._rayB = _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_2__.Ray3d.createZero();
|
|
194535
194717
|
}
|
|
194536
194718
|
evaluate(fractionA, fractionB) {
|
|
194537
194719
|
this._curveA.fractionToPointAndDerivative(fractionA, this._rayA);
|
|
@@ -194546,7 +194728,7 @@ class BezierBezierIntersectionXYRRToRRD extends _numerics_Newton__WEBPACK_IMPORT
|
|
|
194546
194728
|
* * geometryB is saved for later reference.
|
|
194547
194729
|
* @internal
|
|
194548
194730
|
*/
|
|
194549
|
-
class CurveCurveIntersectXY extends
|
|
194731
|
+
class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODULE_3__.RecurseToCurvesGeometryHandler {
|
|
194550
194732
|
/**
|
|
194551
194733
|
* The constructor.
|
|
194552
194734
|
* @param worldToLocal optional transform (possibly perspective) to project to xy plane for intersection.
|
|
@@ -194555,7 +194737,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
194555
194737
|
* @param extendB flag for extension of geometryB.
|
|
194556
194738
|
* @param tolerance optional distance tolerance for coincidence.
|
|
194557
194739
|
*/
|
|
194558
|
-
constructor(worldToLocal, extendA, geometryB, extendB, tolerance =
|
|
194740
|
+
constructor(worldToLocal, extendA, geometryB, extendB, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.smallMetricDistance) {
|
|
194559
194741
|
super();
|
|
194560
194742
|
this._extendA = extendA;
|
|
194561
194743
|
this._geometryB = geometryB;
|
|
@@ -194567,14 +194749,12 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
194567
194749
|
if (!this._worldToLocalAffine)
|
|
194568
194750
|
this._worldToLocalPerspective = worldToLocal.clone();
|
|
194569
194751
|
}
|
|
194570
|
-
this._coincidentGeometryContext =
|
|
194752
|
+
this._coincidentGeometryContext = _geometry3d_CoincidentGeometryOps__WEBPACK_IMPORTED_MODULE_5__.CoincidentGeometryQuery.create(tolerance);
|
|
194571
194753
|
this._results = [];
|
|
194572
194754
|
}
|
|
194573
|
-
/** Reset the geometry
|
|
194574
|
-
resetGeometry(
|
|
194575
|
-
this._extendA = extendA;
|
|
194755
|
+
/** Reset the geometry, leaving all other parts unchanged (and preserving accumulated intersections). */
|
|
194756
|
+
resetGeometry(geometryB) {
|
|
194576
194757
|
this._geometryB = geometryB;
|
|
194577
|
-
this._extendB = extendB;
|
|
194578
194758
|
}
|
|
194579
194759
|
acceptFraction(extend0, fraction, extend1, fractionTol = 1.0e-12) {
|
|
194580
194760
|
if (!extend0 && fraction < -fractionTol)
|
|
@@ -194584,12 +194764,12 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
194584
194764
|
return true;
|
|
194585
194765
|
}
|
|
194586
194766
|
/** Test the fraction by strict parameter, but allow toleranced distance test at ends. */
|
|
194587
|
-
acceptFractionOnLine(extend0, fraction, extend1, pointA, pointB, tolerance =
|
|
194767
|
+
acceptFractionOnLine(extend0, fraction, extend1, pointA, pointB, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.smallMetricDistance) {
|
|
194588
194768
|
if (!extend0 && fraction < 0) {
|
|
194589
|
-
return
|
|
194769
|
+
return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.isDistanceWithinTol(fraction * pointA.distanceXY(pointB), tolerance);
|
|
194590
194770
|
}
|
|
194591
194771
|
else if (!extend1 && fraction > 1.0)
|
|
194592
|
-
return
|
|
194772
|
+
return _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.isDistanceWithinTol((fraction - 1.0) * pointA.distanceXY(pointB), tolerance);
|
|
194593
194773
|
return true;
|
|
194594
194774
|
}
|
|
194595
194775
|
/**
|
|
@@ -194602,9 +194782,6 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
194602
194782
|
this._results = [];
|
|
194603
194783
|
return result;
|
|
194604
194784
|
}
|
|
194605
|
-
sameCurveAndFraction(cp, fraction, detail) {
|
|
194606
|
-
return cp === detail.curve && _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.isAlmostEqualNumber(fraction, detail.fraction);
|
|
194607
|
-
}
|
|
194608
194785
|
/**
|
|
194609
194786
|
* Record the pre-computed intersection between two curves. Filter by extension rules. Record with fraction mapping.
|
|
194610
194787
|
* @param localFractionA intersection fraction local to the subcurve of cpA between fractionA0 and fractionA1
|
|
@@ -194625,14 +194802,14 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
194625
194802
|
intervalDetails.detailA.hasFraction1 &&
|
|
194626
194803
|
intervalDetails.detailB.hasFraction1;
|
|
194627
194804
|
if (isInterval) {
|
|
194628
|
-
globalFractionA =
|
|
194629
|
-
globalFractionB =
|
|
194630
|
-
globalFractionA1 =
|
|
194631
|
-
globalFractionB1 =
|
|
194805
|
+
globalFractionA = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.interpolate(fractionA0, intervalDetails.detailA.fraction, fractionA1);
|
|
194806
|
+
globalFractionB = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.interpolate(fractionB0, intervalDetails.detailB.fraction, fractionB1);
|
|
194807
|
+
globalFractionA1 = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.interpolate(fractionA0, intervalDetails.detailA.fraction1, fractionA1);
|
|
194808
|
+
globalFractionB1 = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.interpolate(fractionB0, intervalDetails.detailB.fraction1, fractionB1);
|
|
194632
194809
|
}
|
|
194633
194810
|
else {
|
|
194634
|
-
globalFractionA = globalFractionA1 =
|
|
194635
|
-
globalFractionB = globalFractionB1 =
|
|
194811
|
+
globalFractionA = globalFractionA1 = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.interpolate(fractionA0, localFractionA, fractionA1);
|
|
194812
|
+
globalFractionB = globalFractionB1 = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.interpolate(fractionB0, localFractionB, fractionB1);
|
|
194636
194813
|
}
|
|
194637
194814
|
// ignore duplicate of most recent pair
|
|
194638
194815
|
const numPrevious = this._results.length;
|
|
@@ -194640,31 +194817,31 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
194640
194817
|
const oldDetailA = this._results[numPrevious - 1].detailA;
|
|
194641
194818
|
const oldDetailB = this._results[numPrevious - 1].detailB;
|
|
194642
194819
|
if (reversed) {
|
|
194643
|
-
if (
|
|
194644
|
-
|
|
194820
|
+
if (oldDetailB.isSameCurveAndFraction({ curve: cpA, fraction: globalFractionA }) &&
|
|
194821
|
+
oldDetailA.isSameCurveAndFraction({ curve: cpB, fraction: globalFractionB }))
|
|
194645
194822
|
return;
|
|
194646
194823
|
}
|
|
194647
194824
|
else {
|
|
194648
|
-
if (
|
|
194649
|
-
|
|
194825
|
+
if (oldDetailA.isSameCurveAndFraction({ curve: cpA, fraction: globalFractionA }) &&
|
|
194826
|
+
oldDetailB.isSameCurveAndFraction({ curve: cpB, fraction: globalFractionB }))
|
|
194650
194827
|
return;
|
|
194651
194828
|
}
|
|
194652
194829
|
}
|
|
194653
|
-
const detailA =
|
|
194654
|
-
const detailB =
|
|
194830
|
+
const detailA = _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_6__.CurveLocationDetail.createCurveFractionPoint(cpA, globalFractionA, cpA.fractionToPoint(globalFractionA));
|
|
194831
|
+
const detailB = _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_6__.CurveLocationDetail.createCurveFractionPoint(cpB, globalFractionB, cpB.fractionToPoint(globalFractionB));
|
|
194655
194832
|
if (isInterval) {
|
|
194656
194833
|
detailA.captureFraction1Point1(globalFractionA1, cpA.fractionToPoint(globalFractionA1));
|
|
194657
194834
|
detailB.captureFraction1Point1(globalFractionB1, cpB.fractionToPoint(globalFractionB1));
|
|
194658
194835
|
}
|
|
194659
194836
|
else {
|
|
194660
|
-
detailA.setIntervalRole(
|
|
194661
|
-
detailB.setIntervalRole(
|
|
194837
|
+
detailA.setIntervalRole(_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_6__.CurveIntervalRole.isolated);
|
|
194838
|
+
detailB.setIntervalRole(_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_6__.CurveIntervalRole.isolated);
|
|
194662
194839
|
}
|
|
194663
194840
|
if (reversed) {
|
|
194664
|
-
this._results.push(new
|
|
194841
|
+
this._results.push(new _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_6__.CurveLocationDetailPair(detailB, detailA));
|
|
194665
194842
|
}
|
|
194666
194843
|
else {
|
|
194667
|
-
this._results.push(new
|
|
194844
|
+
this._results.push(new _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_6__.CurveLocationDetailPair(detailA, detailB));
|
|
194668
194845
|
}
|
|
194669
194846
|
}
|
|
194670
194847
|
/**
|
|
@@ -194688,11 +194865,13 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
194688
194865
|
// But the transverse intersector notion of coincidence is based on the determinant ratios, which are hard
|
|
194689
194866
|
// to relate to physical tolerance.
|
|
194690
194867
|
// So do the overlap first. This should do a quick exit in non-coincident case.
|
|
194691
|
-
const overlap = this._coincidentGeometryContext.coincidentSegmentRangeXY(pointA0, pointA1, pointB0, pointB1);
|
|
194692
|
-
if (overlap) {
|
|
194693
|
-
this.
|
|
194868
|
+
const overlap = this._coincidentGeometryContext.coincidentSegmentRangeXY(pointA0, pointA1, pointB0, pointB1, false);
|
|
194869
|
+
if (overlap) { // the lines are coincident
|
|
194870
|
+
if (this._coincidentGeometryContext.clampCoincidentOverlapToSegmentBounds(overlap, pointA0, pointA1, pointB0, pointB1, extendA0, extendA1, extendB0, extendB1)) {
|
|
194871
|
+
this.recordPointWithLocalFractions(overlap.detailA.fraction, cpA, fractionA0, fractionA1, overlap.detailB.fraction, cpB, fractionB0, fractionB1, reversed, overlap);
|
|
194872
|
+
}
|
|
194694
194873
|
}
|
|
194695
|
-
else if (
|
|
194874
|
+
else if (_numerics_Polynomials__WEBPACK_IMPORTED_MODULE_7__.SmallSystem.lineSegment3dXYTransverseIntersectionUnbounded(pointA0, pointA1, pointB0, pointB1, uv)) {
|
|
194696
194875
|
if (this.acceptFractionOnLine(extendA0, uv.x, extendA1, pointA0, pointA1, this._coincidentGeometryContext.tolerance) &&
|
|
194697
194876
|
this.acceptFractionOnLine(extendB0, uv.y, extendB1, pointB0, pointB1, this._coincidentGeometryContext.tolerance)) {
|
|
194698
194877
|
this.recordPointWithLocalFractions(uv.x, cpA, fractionA0, fractionA1, uv.y, cpB, fractionB0, fractionB1, reversed);
|
|
@@ -194712,7 +194891,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
194712
194891
|
this._worldToLocalPerspective.multiplyPoint3d(pointA1, 1, hA1);
|
|
194713
194892
|
this._worldToLocalPerspective.multiplyPoint3d(pointB0, 1, hB0);
|
|
194714
194893
|
this._worldToLocalPerspective.multiplyPoint3d(pointB1, 1, hB1);
|
|
194715
|
-
const fractionAB =
|
|
194894
|
+
const fractionAB = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_7__.SmallSystem.lineSegment3dHXYTransverseIntersectionUnbounded(hA0, hA1, hB0, hB1);
|
|
194716
194895
|
if (fractionAB !== undefined) {
|
|
194717
194896
|
const fractionA = fractionAB.x;
|
|
194718
194897
|
const fractionB = fractionAB.y;
|
|
@@ -194755,17 +194934,17 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
194755
194934
|
const data = arc.toTransformedPoint4d(this._worldToLocalPerspective);
|
|
194756
194935
|
const pointA0H = this._worldToLocalPerspective.multiplyPoint3d(pointA0, 1);
|
|
194757
194936
|
const pointA1H = this._worldToLocalPerspective.multiplyPoint3d(pointA1, 1);
|
|
194758
|
-
const alpha =
|
|
194759
|
-
const beta =
|
|
194760
|
-
const gamma =
|
|
194761
|
-
const cosines = new
|
|
194762
|
-
const sines = new
|
|
194763
|
-
const radians = new
|
|
194764
|
-
const numRoots =
|
|
194937
|
+
const alpha = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.tripleProductPoint4dXYW(pointA0H, pointA1H, data.center);
|
|
194938
|
+
const beta = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.tripleProductPoint4dXYW(pointA0H, pointA1H, data.vector0);
|
|
194939
|
+
const gamma = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.tripleProductPoint4dXYW(pointA0H, pointA1H, data.vector90);
|
|
194940
|
+
const cosines = new _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_8__.GrowableFloat64Array(2);
|
|
194941
|
+
const sines = new _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_8__.GrowableFloat64Array(2);
|
|
194942
|
+
const radians = new _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_8__.GrowableFloat64Array(2);
|
|
194943
|
+
const numRoots = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_7__.AnalyticRoots.appendImplicitLineUnitCircleIntersections(alpha, beta, gamma, cosines, sines, radians);
|
|
194765
194944
|
for (let i = 0; i < numRoots; i++) {
|
|
194766
194945
|
const arcPoint = data.center.plus2Scaled(data.vector0, cosines.atUncheckedIndex(i), data.vector90, sines.atUncheckedIndex(i));
|
|
194767
194946
|
const arcFraction = data.sweep.radiansToSignedPeriodicFraction(radians.atUncheckedIndex(i));
|
|
194768
|
-
const lineFraction =
|
|
194947
|
+
const lineFraction = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_7__.SmallSystem.lineSegment3dHXYClosestPointUnbounded(pointA0H, pointA1H, arcPoint);
|
|
194769
194948
|
if (lineFraction !== undefined &&
|
|
194770
194949
|
this.acceptFraction(extendA0, lineFraction, extendA1) &&
|
|
194771
194950
|
this.acceptFraction(extendB0, arcFraction, extendB1)) {
|
|
@@ -194781,19 +194960,19 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
194781
194960
|
pointA0Local = this._worldToLocalAffine.multiplyPoint3d(pointA0);
|
|
194782
194961
|
pointA1Local = this._worldToLocalAffine.multiplyPoint3d(pointA1);
|
|
194783
194962
|
}
|
|
194784
|
-
const alpha =
|
|
194785
|
-
const beta =
|
|
194786
|
-
const gamma =
|
|
194787
|
-
const cosines = new
|
|
194788
|
-
const sines = new
|
|
194789
|
-
const radians = new
|
|
194790
|
-
const numRoots =
|
|
194963
|
+
const alpha = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.tripleProductXYW(pointA0Local, 1, pointA1Local, 1, data.center, 1);
|
|
194964
|
+
const beta = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.tripleProductXYW(pointA0Local, 1, pointA1Local, 1, data.vector0, 0);
|
|
194965
|
+
const gamma = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.tripleProductXYW(pointA0Local, 1, pointA1Local, 1, data.vector90, 0);
|
|
194966
|
+
const cosines = new _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_8__.GrowableFloat64Array(2);
|
|
194967
|
+
const sines = new _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_8__.GrowableFloat64Array(2);
|
|
194968
|
+
const radians = new _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_8__.GrowableFloat64Array(2);
|
|
194969
|
+
const numRoots = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_7__.AnalyticRoots.appendImplicitLineUnitCircleIntersections(alpha, beta, gamma, cosines, sines, radians);
|
|
194791
194970
|
const lineFractionTol = 1.0e-10;
|
|
194792
194971
|
const arcFractionTol = 1.0e-7;
|
|
194793
194972
|
for (let i = 0; i < numRoots; i++) {
|
|
194794
194973
|
const arcPoint = data.center.plus2Scaled(data.vector0, cosines.atUncheckedIndex(i), data.vector90, sines.atUncheckedIndex(i));
|
|
194795
194974
|
const arcFraction = data.sweep.radiansToSignedPeriodicFraction(radians.atUncheckedIndex(i));
|
|
194796
|
-
const lineFraction =
|
|
194975
|
+
const lineFraction = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_7__.SmallSystem.lineSegment3dXYClosestPointUnbounded(pointA0Local, pointA1Local, arcPoint);
|
|
194797
194976
|
if (lineFraction !== undefined &&
|
|
194798
194977
|
this.acceptFraction(extendA0, lineFraction, extendA1, lineFractionTol) &&
|
|
194799
194978
|
this.acceptFraction(extendB0, arcFraction, extendB1, arcFractionTol)) {
|
|
@@ -194814,7 +194993,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
194814
194993
|
const localB = inverseA.multiplyMatrixMatrix(matrixB); // localB->localA transform
|
|
194815
194994
|
const ellipseRadians = [];
|
|
194816
194995
|
const circleRadians = [];
|
|
194817
|
-
|
|
194996
|
+
_numerics_Polynomials__WEBPACK_IMPORTED_MODULE_7__.TrigPolynomial.solveUnitCircleHomogeneousEllipseIntersection(localB.coffs[2], localB.coffs[5], localB.coffs[8], // center xyw
|
|
194818
194997
|
localB.coffs[0], localB.coffs[3], localB.coffs[6], // vector0 xyw
|
|
194819
194998
|
localB.coffs[1], localB.coffs[4], localB.coffs[7], // vector90 xyw
|
|
194820
194999
|
ellipseRadians, circleRadians);
|
|
@@ -194845,14 +195024,14 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
194845
195024
|
if (this._worldToLocalPerspective) {
|
|
194846
195025
|
const dataA = cpA.toTransformedPoint4d(this._worldToLocalPerspective);
|
|
194847
195026
|
const dataB = cpB.toTransformedPoint4d(this._worldToLocalPerspective);
|
|
194848
|
-
matrixA =
|
|
194849
|
-
matrixB =
|
|
195027
|
+
matrixA = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_9__.Matrix3d.createColumnsXYW(dataA.vector0, dataA.vector0.w, dataA.vector90, dataA.vector90.w, dataA.center, dataA.center.w);
|
|
195028
|
+
matrixB = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_9__.Matrix3d.createColumnsXYW(dataB.vector0, dataB.vector0.w, dataB.vector90, dataA.vector90.w, dataB.center, dataB.center.w);
|
|
194850
195029
|
}
|
|
194851
195030
|
else {
|
|
194852
195031
|
const dataA = cpA.toTransformedVectors(this._worldToLocalAffine);
|
|
194853
195032
|
const dataB = cpB.toTransformedVectors(this._worldToLocalAffine);
|
|
194854
|
-
matrixA =
|
|
194855
|
-
matrixB =
|
|
195033
|
+
matrixA = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_9__.Matrix3d.createColumnsXYW(dataA.vector0, 0, dataA.vector90, 0, dataA.center, 1);
|
|
195034
|
+
matrixB = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_9__.Matrix3d.createColumnsXYW(dataB.vector0, 0, dataB.vector90, 0, dataB.center, 1);
|
|
194856
195035
|
}
|
|
194857
195036
|
const conditionA = matrixA.conditionNumber();
|
|
194858
195037
|
const conditionB = matrixB.conditionNumber();
|
|
@@ -194882,11 +195061,11 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
194882
195061
|
let matrixA;
|
|
194883
195062
|
if (this._worldToLocalPerspective) {
|
|
194884
195063
|
const dataA = cpA.toTransformedPoint4d(this._worldToLocalPerspective);
|
|
194885
|
-
matrixA =
|
|
195064
|
+
matrixA = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_9__.Matrix3d.createColumnsXYW(dataA.vector0, dataA.vector0.w, dataA.vector90, dataA.vector90.w, dataA.center, dataA.center.w);
|
|
194886
195065
|
}
|
|
194887
195066
|
else {
|
|
194888
195067
|
const dataA = cpA.toTransformedVectors(this._worldToLocalAffine);
|
|
194889
|
-
matrixA =
|
|
195068
|
+
matrixA = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_9__.Matrix3d.createColumnsXYW(dataA.vector0, 0, dataA.vector90, 0, dataA.center, 1);
|
|
194890
195069
|
}
|
|
194891
195070
|
// The worldToLocal has moved the arc vectors into local space.
|
|
194892
195071
|
// matrixA captures the xyw parts (ignoring z)
|
|
@@ -194897,7 +195076,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
194897
195076
|
const orderF = cpB.order; // order of the beziers for simple coordinates
|
|
194898
195077
|
const orderG = 2 * orderF - 1; // order of the (single) bezier for squared coordinates.
|
|
194899
195078
|
const coffF = new Float64Array(orderF);
|
|
194900
|
-
const univariateBezierG = new
|
|
195079
|
+
const univariateBezierG = new _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_10__.UnivariateBezier(orderG);
|
|
194901
195080
|
const axx = matrixAInverse.at(0, 0);
|
|
194902
195081
|
const axy = matrixAInverse.at(0, 1);
|
|
194903
195082
|
const axz = 0.0;
|
|
@@ -194968,13 +195147,13 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
194968
195147
|
dispatchBezierBezierStrokeFirst(bezierA, bcurveA, strokeCountA, bezierB, bcurveB, _strokeCountB, univariateBezierB, // caller-allocated for univariate coefficients.
|
|
194969
195148
|
reversed) {
|
|
194970
195149
|
if (!this._xyzwA0)
|
|
194971
|
-
this._xyzwA0 =
|
|
195150
|
+
this._xyzwA0 = _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_11__.Point4d.create();
|
|
194972
195151
|
if (!this._xyzwA1)
|
|
194973
|
-
this._xyzwA1 =
|
|
195152
|
+
this._xyzwA1 = _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_11__.Point4d.create();
|
|
194974
195153
|
if (!this._xyzwPlane)
|
|
194975
|
-
this._xyzwPlane =
|
|
195154
|
+
this._xyzwPlane = _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_11__.Point4d.create();
|
|
194976
195155
|
if (!this._xyzwB)
|
|
194977
|
-
this._xyzwB =
|
|
195156
|
+
this._xyzwB = _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_11__.Point4d.create();
|
|
194978
195157
|
/*
|
|
194979
195158
|
const roots = univariateBezierG.roots(0.0, true);
|
|
194980
195159
|
if (roots) {
|
|
@@ -195000,7 +195179,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195000
195179
|
for (let i = 1; i <= strokeCountA; i++, f0 = f1, this._xyzwA0.setFrom(this._xyzwA1)) {
|
|
195001
195180
|
f1 = i * df;
|
|
195002
195181
|
bezierA.fractionToPoint4d(f1, this._xyzwA1);
|
|
195003
|
-
|
|
195182
|
+
_geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_11__.Point4d.createPlanePointPointZ(this._xyzwA0, this._xyzwA1, this._xyzwPlane);
|
|
195004
195183
|
bezierB.poleProductsXYZW(univariateBezierB.coffs, this._xyzwPlane.x, this._xyzwPlane.y, this._xyzwPlane.z, this._xyzwPlane.w);
|
|
195005
195184
|
let errors = 0;
|
|
195006
195185
|
const roots = univariateBezierB.roots(0.0, true);
|
|
@@ -195008,11 +195187,11 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195008
195187
|
for (const r of roots) {
|
|
195009
195188
|
let bezierBFraction = r;
|
|
195010
195189
|
bezierB.fractionToPoint4d(bezierBFraction, this._xyzwB);
|
|
195011
|
-
const segmentAFraction =
|
|
195012
|
-
if (segmentAFraction &&
|
|
195013
|
-
let bezierAFraction =
|
|
195190
|
+
const segmentAFraction = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_7__.SmallSystem.lineSegment3dHXYClosestPointUnbounded(this._xyzwA0, this._xyzwA1, this._xyzwB);
|
|
195191
|
+
if (segmentAFraction && _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.isIn01WithTolerance(segmentAFraction, intervalTolerance)) {
|
|
195192
|
+
let bezierAFraction = _Geometry__WEBPACK_IMPORTED_MODULE_4__.Geometry.interpolate(f0, segmentAFraction, f1);
|
|
195014
195193
|
const xyMatchingFunction = new BezierBezierIntersectionXYRRToRRD(bezierA, bezierB);
|
|
195015
|
-
const newtonSearcher = new
|
|
195194
|
+
const newtonSearcher = new _numerics_Newton__WEBPACK_IMPORTED_MODULE_1__.Newton2dUnboundedWithDerivative(xyMatchingFunction);
|
|
195016
195195
|
newtonSearcher.setUV(bezierAFraction, bezierBFraction);
|
|
195017
195196
|
if (newtonSearcher.runIterations()) {
|
|
195018
195197
|
bezierAFraction = newtonSearcher.getU();
|
|
@@ -195055,8 +195234,8 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195055
195234
|
const rangeB = this.getRanges(bezierSpanB);
|
|
195056
195235
|
const orderA = bcurveA.order;
|
|
195057
195236
|
const orderB = bcurveB.order;
|
|
195058
|
-
const univariateCoffsA = new
|
|
195059
|
-
const univariateCoffsB = new
|
|
195237
|
+
const univariateCoffsA = new _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_10__.UnivariateBezier(orderA);
|
|
195238
|
+
const univariateCoffsB = new _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_10__.UnivariateBezier(orderB);
|
|
195060
195239
|
for (let a = 0; a < numA; a++) {
|
|
195061
195240
|
for (let b = 0; b < numB; b++) {
|
|
195062
195241
|
if (rangeA[a].intersectsRangeXY(rangeB[b])) {
|
|
@@ -195080,7 +195259,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195080
195259
|
return this._worldToLocalPerspective.multiplyPoint3d(xyz, w);
|
|
195081
195260
|
if (this._worldToLocalAffine)
|
|
195082
195261
|
return this._worldToLocalAffine.multiplyXYZW(xyz.x, xyz.y, xyz.z, w);
|
|
195083
|
-
return
|
|
195262
|
+
return _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_11__.Point4d.createFromPointAndWeight(xyz, w);
|
|
195084
195263
|
}
|
|
195085
195264
|
mapNPCPlaneToWorld(npcPlane, worldPlane) {
|
|
195086
195265
|
// for NPC pointY, Y^ * H = 0 is "on" plane H. (Hat is transpose)
|
|
@@ -195104,7 +195283,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195104
195283
|
dispatchSegmentBsplineCurve(cpA, extendA0, pointA0, fractionA0, pointA1, fractionA1, extendA1, bcurve, extendB, reversed) {
|
|
195105
195284
|
const pointA0H = this.projectPoint(pointA0);
|
|
195106
195285
|
const pointA1H = this.projectPoint(pointA1);
|
|
195107
|
-
const planeCoffs =
|
|
195286
|
+
const planeCoffs = _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_11__.Point4d.createPlanePointPointZ(pointA0H, pointA1H);
|
|
195108
195287
|
this.mapNPCPlaneToWorld(planeCoffs, planeCoffs);
|
|
195109
195288
|
// NOW .. we have a plane in world space. Intersect it with the bspline:
|
|
195110
195289
|
const intersections = [];
|
|
@@ -195116,10 +195295,11 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195116
195295
|
const fractionB = detail.fraction;
|
|
195117
195296
|
const curvePoint = detail.point;
|
|
195118
195297
|
const curvePointH = this.projectPoint(curvePoint);
|
|
195119
|
-
const lineFraction =
|
|
195120
|
-
if (lineFraction !== undefined
|
|
195121
|
-
this.acceptFraction(extendB, fractionB, extendB)) {
|
|
195122
|
-
|
|
195298
|
+
const lineFraction = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_7__.SmallSystem.lineSegment3dHXYClosestPointUnbounded(pointA0H, pointA1H, curvePointH);
|
|
195299
|
+
if (lineFraction !== undefined) {
|
|
195300
|
+
if (this.acceptFraction(extendA0, lineFraction, extendA1) && this.acceptFraction(extendB, fractionB, extendB)) {
|
|
195301
|
+
this.recordPointWithLocalFractions(lineFraction, cpA, fractionA0, fractionA1, fractionB, bcurve, 0, 1, reversed);
|
|
195302
|
+
}
|
|
195123
195303
|
}
|
|
195124
195304
|
}
|
|
195125
195305
|
}
|
|
@@ -195220,72 +195400,130 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195220
195400
|
transform.multiplyPoint3d(pointB0, this._workPointB0);
|
|
195221
195401
|
transform.multiplyPoint3d(pointB1, this._workPointB1);
|
|
195222
195402
|
}
|
|
195403
|
+
/** Low level dispatch of curve collection. */
|
|
195404
|
+
dispatchCurveCollection(geomA, geomAHandler) {
|
|
195405
|
+
const geomB = this._geometryB; // save
|
|
195406
|
+
if (!geomB || !geomB.children || !(geomB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_12__.CurveCollection))
|
|
195407
|
+
return;
|
|
195408
|
+
for (const child of geomB.children) {
|
|
195409
|
+
this.resetGeometry(child);
|
|
195410
|
+
geomAHandler(geomA);
|
|
195411
|
+
}
|
|
195412
|
+
this._geometryB = geomB; // restore
|
|
195413
|
+
}
|
|
195414
|
+
/** Low level dispatch to geomA given a CurveChainWithDistanceIndex in geometryB. */
|
|
195415
|
+
dispatchCurveChainWithDistanceIndex(geomA, geomAHandler) {
|
|
195416
|
+
if (!this._geometryB || !(this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_13__.CurveChainWithDistanceIndex))
|
|
195417
|
+
return;
|
|
195418
|
+
if (geomA instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_13__.CurveChainWithDistanceIndex) {
|
|
195419
|
+
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(!!"call handleCurveChainWithDistanceIndex(geomA) instead");
|
|
195420
|
+
return;
|
|
195421
|
+
}
|
|
195422
|
+
const index0 = this._results.length;
|
|
195423
|
+
const geomB = this._geometryB; // save
|
|
195424
|
+
for (const child of geomB.path.children) {
|
|
195425
|
+
this.resetGeometry(child);
|
|
195426
|
+
geomAHandler(geomA);
|
|
195427
|
+
}
|
|
195428
|
+
this.resetGeometry(geomB); // restore
|
|
195429
|
+
this._results = _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_13__.CurveChainWithDistanceIndex.convertChildDetailToChainDetail(this._results, index0, undefined, geomB, true);
|
|
195430
|
+
}
|
|
195223
195431
|
/** Double dispatch handler for strongly typed segment. */
|
|
195224
195432
|
handleLineSegment3d(segmentA) {
|
|
195225
|
-
if (this._geometryB instanceof
|
|
195433
|
+
if (this._geometryB instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_14__.LineSegment3d) {
|
|
195226
195434
|
const segmentB = this._geometryB;
|
|
195227
195435
|
this.dispatchSegmentSegment(segmentA, this._extendA, segmentA.point0Ref, 0.0, segmentA.point1Ref, 1.0, this._extendA, segmentB, this._extendB, segmentB.point0Ref, 0.0, segmentB.point1Ref, 1.0, this._extendB, false);
|
|
195228
195436
|
}
|
|
195229
|
-
else if (this._geometryB instanceof
|
|
195437
|
+
else if (this._geometryB instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_15__.LineString3d) {
|
|
195230
195438
|
this.computeSegmentLineString(segmentA, this._extendA, this._geometryB, this._extendB, false);
|
|
195231
195439
|
}
|
|
195232
|
-
else if (this._geometryB instanceof
|
|
195440
|
+
else if (this._geometryB instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_16__.Arc3d) {
|
|
195233
195441
|
this.dispatchSegmentArc(segmentA, this._extendA, segmentA.point0Ref, 0.0, segmentA.point1Ref, 1.0, this._extendA, this._geometryB, this._extendB, this._extendB, false);
|
|
195234
195442
|
}
|
|
195235
|
-
else if (this._geometryB instanceof
|
|
195443
|
+
else if (this._geometryB instanceof _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_17__.BSplineCurve3d) {
|
|
195236
195444
|
this.dispatchSegmentBsplineCurve(segmentA, this._extendA, segmentA.point0Ref, 0.0, segmentA.point1Ref, 1.0, this._extendA, this._geometryB, this._extendB, false);
|
|
195237
195445
|
}
|
|
195446
|
+
else if (this._geometryB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_12__.CurveCollection) {
|
|
195447
|
+
this.dispatchCurveCollection(segmentA, this.handleLineSegment3d.bind(this));
|
|
195448
|
+
}
|
|
195449
|
+
else if (this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_13__.CurveChainWithDistanceIndex) {
|
|
195450
|
+
this.dispatchCurveChainWithDistanceIndex(segmentA, this.handleLineSegment3d.bind(this));
|
|
195451
|
+
}
|
|
195238
195452
|
return undefined;
|
|
195239
195453
|
}
|
|
195240
195454
|
/** Double dispatch handler for strongly typed linestring. */
|
|
195241
195455
|
handleLineString3d(lsA) {
|
|
195242
|
-
if (this._geometryB instanceof
|
|
195456
|
+
if (this._geometryB instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_15__.LineString3d) {
|
|
195243
195457
|
const lsB = this._geometryB;
|
|
195244
195458
|
this.computeLineStringLineString(lsA, lsB, false);
|
|
195245
195459
|
}
|
|
195246
|
-
else if (this._geometryB instanceof
|
|
195460
|
+
else if (this._geometryB instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_14__.LineSegment3d) {
|
|
195247
195461
|
this.computeSegmentLineString(this._geometryB, this._extendB, lsA, this._extendA, true);
|
|
195248
195462
|
}
|
|
195249
|
-
else if (this._geometryB instanceof
|
|
195463
|
+
else if (this._geometryB instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_16__.Arc3d) {
|
|
195250
195464
|
this.computeArcLineString(this._geometryB, this._extendB, lsA, this._extendA, true);
|
|
195251
195465
|
}
|
|
195252
|
-
else if (this._geometryB instanceof
|
|
195466
|
+
else if (this._geometryB instanceof _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_17__.BSplineCurve3d) {
|
|
195253
195467
|
this.dispatchLineStringBSplineCurve(lsA, this._extendA, this._geometryB, this._extendB, false);
|
|
195254
195468
|
}
|
|
195469
|
+
else if (this._geometryB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_12__.CurveCollection) {
|
|
195470
|
+
this.dispatchCurveCollection(lsA, this.handleLineString3d.bind(this));
|
|
195471
|
+
}
|
|
195472
|
+
else if (this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_13__.CurveChainWithDistanceIndex) {
|
|
195473
|
+
this.dispatchCurveChainWithDistanceIndex(lsA, this.handleLineString3d.bind(this));
|
|
195474
|
+
}
|
|
195255
195475
|
return undefined;
|
|
195256
195476
|
}
|
|
195257
195477
|
/** Double dispatch handler for strongly typed arc. */
|
|
195258
195478
|
handleArc3d(arc0) {
|
|
195259
|
-
if (this._geometryB instanceof
|
|
195479
|
+
if (this._geometryB instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_14__.LineSegment3d) {
|
|
195260
195480
|
this.dispatchSegmentArc(this._geometryB, this._extendB, this._geometryB.point0Ref, 0.0, this._geometryB.point1Ref, 1.0, this._extendB, arc0, this._extendA, this._extendA, true);
|
|
195261
195481
|
}
|
|
195262
|
-
else if (this._geometryB instanceof
|
|
195482
|
+
else if (this._geometryB instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_15__.LineString3d) {
|
|
195263
195483
|
this.computeArcLineString(arc0, this._extendA, this._geometryB, this._extendB, false);
|
|
195264
195484
|
}
|
|
195265
|
-
else if (this._geometryB instanceof
|
|
195485
|
+
else if (this._geometryB instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_16__.Arc3d) {
|
|
195266
195486
|
this.dispatchArcArc(arc0, this._extendA, this._geometryB, this._extendB, false);
|
|
195267
195487
|
}
|
|
195268
|
-
else if (this._geometryB instanceof
|
|
195488
|
+
else if (this._geometryB instanceof _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_17__.BSplineCurve3d) {
|
|
195269
195489
|
this.dispatchArcBsplineCurve3d(arc0, this._extendA, this._geometryB, this._extendB, false);
|
|
195270
195490
|
}
|
|
195491
|
+
else if (this._geometryB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_12__.CurveCollection) {
|
|
195492
|
+
this.dispatchCurveCollection(arc0, this.handleArc3d.bind(this));
|
|
195493
|
+
}
|
|
195494
|
+
else if (this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_13__.CurveChainWithDistanceIndex) {
|
|
195495
|
+
this.dispatchCurveChainWithDistanceIndex(arc0, this.handleArc3d.bind(this));
|
|
195496
|
+
}
|
|
195271
195497
|
return undefined;
|
|
195272
195498
|
}
|
|
195273
195499
|
/** Double dispatch handler for strongly typed bspline curve. */
|
|
195274
195500
|
handleBSplineCurve3d(curve) {
|
|
195275
|
-
if (this._geometryB instanceof
|
|
195501
|
+
if (this._geometryB instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_14__.LineSegment3d) {
|
|
195276
195502
|
this.dispatchSegmentBsplineCurve(this._geometryB, this._extendB, this._geometryB.point0Ref, 0.0, this._geometryB.point1Ref, 1.0, this._extendB, curve, this._extendA, true);
|
|
195277
195503
|
}
|
|
195278
|
-
else if (this._geometryB instanceof
|
|
195504
|
+
else if (this._geometryB instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_15__.LineString3d) {
|
|
195279
195505
|
this.dispatchLineStringBSplineCurve(this._geometryB, this._extendB, curve, this._extendA, true);
|
|
195280
195506
|
}
|
|
195281
|
-
else if (this._geometryB instanceof
|
|
195507
|
+
else if (this._geometryB instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_16__.Arc3d) {
|
|
195282
195508
|
this.dispatchArcBsplineCurve3d(this._geometryB, this._extendB, curve, this._extendA, true);
|
|
195283
195509
|
}
|
|
195284
|
-
else if (this._geometryB instanceof
|
|
195510
|
+
else if (this._geometryB instanceof _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_17__.BSplineCurve3dBase) {
|
|
195285
195511
|
this.dispatchBSplineCurve3dBSplineCurve3d(curve, this._geometryB, false);
|
|
195286
195512
|
}
|
|
195513
|
+
else if (this._geometryB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_12__.CurveCollection) {
|
|
195514
|
+
this.dispatchCurveCollection(curve, this.handleBSplineCurve3d.bind(this));
|
|
195515
|
+
}
|
|
195516
|
+
else if (this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_13__.CurveChainWithDistanceIndex) {
|
|
195517
|
+
this.dispatchCurveChainWithDistanceIndex(curve, this.handleBSplineCurve3d.bind(this));
|
|
195518
|
+
}
|
|
195287
195519
|
return undefined;
|
|
195288
195520
|
}
|
|
195521
|
+
/** Double dispatch handler for strongly typed CurveChainWithDistanceIndex. */
|
|
195522
|
+
handleCurveChainWithDistanceIndex(chain) {
|
|
195523
|
+
super.handleCurveChainWithDistanceIndex(chain);
|
|
195524
|
+
// if _geometryB is also a CurveChainWithDistanceIndex, it will already have been converted by dispatchCurveChainWithDistanceIndex
|
|
195525
|
+
this._results = _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_13__.CurveChainWithDistanceIndex.convertChildDetailToChainDetail(this._results, 0, chain, undefined, true);
|
|
195526
|
+
}
|
|
195289
195527
|
/** Double dispatch handler for strongly typed homogeneous bspline curve .. */
|
|
195290
195528
|
handleBSplineCurve3dH(_curve) {
|
|
195291
195529
|
/*
|
|
@@ -195304,19 +195542,19 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195304
195542
|
return undefined;
|
|
195305
195543
|
}
|
|
195306
195544
|
}
|
|
195307
|
-
CurveCurveIntersectXY._workVector2dA =
|
|
195308
|
-
CurveCurveIntersectXY._workPointA0H =
|
|
195309
|
-
CurveCurveIntersectXY._workPointA1H =
|
|
195310
|
-
CurveCurveIntersectXY._workPointB0H =
|
|
195311
|
-
CurveCurveIntersectXY._workPointB1H =
|
|
195312
|
-
CurveCurveIntersectXY._workPointAA0 =
|
|
195313
|
-
CurveCurveIntersectXY._workPointAA1 =
|
|
195314
|
-
CurveCurveIntersectXY._workPointBB0 =
|
|
195315
|
-
CurveCurveIntersectXY._workPointBB1 =
|
|
195316
|
-
CurveCurveIntersectXY._workPointA0 =
|
|
195317
|
-
CurveCurveIntersectXY._workPointA1 =
|
|
195318
|
-
CurveCurveIntersectXY._workPointB0 =
|
|
195319
|
-
CurveCurveIntersectXY._workPointB1 =
|
|
195545
|
+
CurveCurveIntersectXY._workVector2dA = _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_18__.Vector2d.create();
|
|
195546
|
+
CurveCurveIntersectXY._workPointA0H = _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_11__.Point4d.create();
|
|
195547
|
+
CurveCurveIntersectXY._workPointA1H = _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_11__.Point4d.create();
|
|
195548
|
+
CurveCurveIntersectXY._workPointB0H = _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_11__.Point4d.create();
|
|
195549
|
+
CurveCurveIntersectXY._workPointB1H = _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_11__.Point4d.create();
|
|
195550
|
+
CurveCurveIntersectXY._workPointAA0 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_19__.Point3d.create();
|
|
195551
|
+
CurveCurveIntersectXY._workPointAA1 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_19__.Point3d.create();
|
|
195552
|
+
CurveCurveIntersectXY._workPointBB0 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_19__.Point3d.create();
|
|
195553
|
+
CurveCurveIntersectXY._workPointBB1 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_19__.Point3d.create();
|
|
195554
|
+
CurveCurveIntersectXY._workPointA0 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_19__.Point3d.create();
|
|
195555
|
+
CurveCurveIntersectXY._workPointA1 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_19__.Point3d.create();
|
|
195556
|
+
CurveCurveIntersectXY._workPointB0 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_19__.Point3d.create();
|
|
195557
|
+
CurveCurveIntersectXY._workPointB1 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_19__.Point3d.create();
|
|
195320
195558
|
|
|
195321
195559
|
|
|
195322
195560
|
|
|
@@ -195333,17 +195571,20 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
195333
195571
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
195334
195572
|
/* harmony export */ CurveCurveIntersectXYZ: () => (/* binding */ CurveCurveIntersectXYZ)
|
|
195335
195573
|
/* harmony export */ });
|
|
195336
|
-
/* harmony import */ var
|
|
195337
|
-
/* harmony import */ var
|
|
195338
|
-
/* harmony import */ var
|
|
195339
|
-
/* harmony import */ var
|
|
195340
|
-
/* harmony import */ var
|
|
195341
|
-
/* harmony import */ var
|
|
195342
|
-
/* harmony import */ var
|
|
195343
|
-
/* harmony import */ var
|
|
195344
|
-
/* harmony import */ var
|
|
195345
|
-
/* harmony import */ var
|
|
195346
|
-
/* harmony import */ var
|
|
195574
|
+
/* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
|
|
195575
|
+
/* harmony import */ var _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../bspline/BSplineCurve */ "../../core/geometry/lib/esm/bspline/BSplineCurve.js");
|
|
195576
|
+
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
195577
|
+
/* harmony import */ var _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../geometry3d/GeometryHandler */ "../../core/geometry/lib/esm/geometry3d/GeometryHandler.js");
|
|
195578
|
+
/* harmony import */ var _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../geometry3d/Plane3dByOriginAndUnitNormal */ "../../core/geometry/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js");
|
|
195579
|
+
/* harmony import */ var _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../geometry3d/Point2dVector2d */ "../../core/geometry/lib/esm/geometry3d/Point2dVector2d.js");
|
|
195580
|
+
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
195581
|
+
/* harmony import */ var _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../numerics/Polynomials */ "../../core/geometry/lib/esm/numerics/Polynomials.js");
|
|
195582
|
+
/* harmony import */ var _Arc3d__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../Arc3d */ "../../core/geometry/lib/esm/curve/Arc3d.js");
|
|
195583
|
+
/* harmony import */ var _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../CurveChainWithDistanceIndex */ "../../core/geometry/lib/esm/curve/CurveChainWithDistanceIndex.js");
|
|
195584
|
+
/* harmony import */ var _CurveCollection__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../CurveCollection */ "../../core/geometry/lib/esm/curve/CurveCollection.js");
|
|
195585
|
+
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
195586
|
+
/* harmony import */ var _LineSegment3d__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
|
|
195587
|
+
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
195347
195588
|
/*---------------------------------------------------------------------------------------------
|
|
195348
195589
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
195349
195590
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -195362,6 +195603,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
195362
195603
|
|
|
195363
195604
|
|
|
195364
195605
|
|
|
195606
|
+
|
|
195607
|
+
|
|
195608
|
+
|
|
195365
195609
|
// cspell:word XYRR
|
|
195366
195610
|
/**
|
|
195367
195611
|
* Handler class for XYZ intersections between _geometryB and another geometry.
|
|
@@ -195369,7 +195613,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
195369
195613
|
* * geometryB is saved for later reference.
|
|
195370
195614
|
* @internal
|
|
195371
195615
|
*/
|
|
195372
|
-
class CurveCurveIntersectXYZ extends
|
|
195616
|
+
class CurveCurveIntersectXYZ extends _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODULE_1__.RecurseToCurvesGeometryHandler {
|
|
195373
195617
|
/**
|
|
195374
195618
|
* @param extendA flag to enable using extension of the other geometry.
|
|
195375
195619
|
* @param geometryB second curve for intersection. Saved for reference by specific handler methods.
|
|
@@ -195382,6 +195626,10 @@ class CurveCurveIntersectXYZ extends _geometry3d_GeometryHandler__WEBPACK_IMPORT
|
|
|
195382
195626
|
this._extendB = extendB;
|
|
195383
195627
|
this._results = [];
|
|
195384
195628
|
}
|
|
195629
|
+
/** Reset the geometry, leaving all other parts unchanged (and preserving accumulated intersections). */
|
|
195630
|
+
resetGeometry(geometryB) {
|
|
195631
|
+
this._geometryB = geometryB;
|
|
195632
|
+
}
|
|
195385
195633
|
/**
|
|
195386
195634
|
* Return the results structure for the intersection calculation, structured as an array of CurveLocationDetailPair.
|
|
195387
195635
|
* @param reinitialize if true, a new results structure is created for use by later calls.
|
|
@@ -195406,21 +195654,21 @@ class CurveCurveIntersectXYZ extends _geometry3d_GeometryHandler__WEBPACK_IMPORT
|
|
|
195406
195654
|
* Record with fraction mapping.
|
|
195407
195655
|
*/
|
|
195408
195656
|
recordPointWithLocalFractions(localFractionA, cpA, fractionA0, fractionA1, localFractionB, cpB, fractionB0, fractionB1, reversed) {
|
|
195409
|
-
const globalFractionA =
|
|
195410
|
-
const globalFractionB =
|
|
195411
|
-
// ignore duplicate of most recent point
|
|
195657
|
+
const globalFractionA = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.interpolate(fractionA0, localFractionA, fractionA1);
|
|
195658
|
+
const globalFractionB = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.interpolate(fractionB0, localFractionB, fractionB1);
|
|
195659
|
+
// ignore duplicate of most recent point
|
|
195412
195660
|
const numPrevious = this._results.length;
|
|
195413
195661
|
if (numPrevious > 0) {
|
|
195414
|
-
const
|
|
195415
|
-
const
|
|
195662
|
+
const oldDetailA = this._results[numPrevious - 1].detailA;
|
|
195663
|
+
const oldDetailB = this._results[numPrevious - 1].detailB;
|
|
195416
195664
|
if (reversed) {
|
|
195417
|
-
if (
|
|
195418
|
-
|
|
195665
|
+
if (oldDetailB.isSameCurveAndFraction({ curve: cpA, fraction: globalFractionA }) &&
|
|
195666
|
+
oldDetailA.isSameCurveAndFraction({ curve: cpB, fraction: globalFractionB }))
|
|
195419
195667
|
return;
|
|
195420
195668
|
}
|
|
195421
195669
|
else {
|
|
195422
|
-
if (
|
|
195423
|
-
|
|
195670
|
+
if (oldDetailA.isSameCurveAndFraction({ curve: cpA, fraction: globalFractionA }) &&
|
|
195671
|
+
oldDetailB.isSameCurveAndFraction({ curve: cpB, fraction: globalFractionB }))
|
|
195424
195672
|
return;
|
|
195425
195673
|
}
|
|
195426
195674
|
}
|
|
@@ -195428,16 +195676,16 @@ class CurveCurveIntersectXYZ extends _geometry3d_GeometryHandler__WEBPACK_IMPORT
|
|
|
195428
195676
|
const pointB = cpB.fractionToPoint(globalFractionB);
|
|
195429
195677
|
if (!pointA.isAlmostEqualMetric(pointB))
|
|
195430
195678
|
return;
|
|
195431
|
-
const detailA =
|
|
195432
|
-
detailA.setIntervalRole(
|
|
195433
|
-
const detailB =
|
|
195434
|
-
detailB.setIntervalRole(
|
|
195679
|
+
const detailA = _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetail.createCurveFractionPoint(cpA, globalFractionA, pointA);
|
|
195680
|
+
detailA.setIntervalRole(_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveIntervalRole.isolated);
|
|
195681
|
+
const detailB = _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetail.createCurveFractionPoint(cpB, globalFractionB, pointB);
|
|
195682
|
+
detailB.setIntervalRole(_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveIntervalRole.isolated);
|
|
195435
195683
|
if (reversed) {
|
|
195436
|
-
const pair = new
|
|
195684
|
+
const pair = new _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair(detailB, detailA);
|
|
195437
195685
|
this._results.push(pair);
|
|
195438
195686
|
}
|
|
195439
195687
|
else {
|
|
195440
|
-
const pair = new
|
|
195688
|
+
const pair = new _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair(detailA, detailB);
|
|
195441
195689
|
this._results.push(pair);
|
|
195442
195690
|
}
|
|
195443
195691
|
}
|
|
@@ -195448,7 +195696,7 @@ class CurveCurveIntersectXYZ extends _geometry3d_GeometryHandler__WEBPACK_IMPORT
|
|
|
195448
195696
|
*/
|
|
195449
195697
|
computeSegmentSegment3D(cpA, extendA0, pointA0, fractionA0, pointA1, fractionA1, extendA1, cpB, extendB0, pointB0, fractionB0, pointB1, fractionB1, extendB1, reversed) {
|
|
195450
195698
|
const uv = CurveCurveIntersectXYZ._workVector2dA;
|
|
195451
|
-
if (
|
|
195699
|
+
if (_numerics_Polynomials__WEBPACK_IMPORTED_MODULE_4__.SmallSystem.lineSegment3dClosestApproachUnbounded(pointA0, pointA1, pointB0, pointB1, uv) &&
|
|
195452
195700
|
this.acceptFraction(extendA0, uv.x, extendA1) && this.acceptFraction(extendB0, uv.y, extendB1)) {
|
|
195453
195701
|
this.recordPointWithLocalFractions(uv.x, cpA, fractionA0, fractionA1, uv.y, cpB, fractionB0, fractionB1, reversed);
|
|
195454
195702
|
}
|
|
@@ -195475,20 +195723,20 @@ class CurveCurveIntersectXYZ extends _geometry3d_GeometryHandler__WEBPACK_IMPORT
|
|
|
195475
195723
|
* @param vectorC second candidate for additional in-plane vector
|
|
195476
195724
|
*/
|
|
195477
195725
|
createPlaneWithPreferredPerpendicular(origin, vectorA, cosineValue, vectorB, vectorC) {
|
|
195478
|
-
cosineValue =
|
|
195726
|
+
cosineValue = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.restrictToInterval(Math.abs(cosineValue), 0.0, 1.0 - _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallFraction);
|
|
195479
195727
|
const dotAA = vectorA.magnitudeSquared();
|
|
195480
195728
|
const dotBB = vectorB.magnitudeSquared();
|
|
195481
195729
|
const dotAB = Math.abs(vectorA.dotProduct(vectorB));
|
|
195482
195730
|
const cross = vectorA.unitCrossProduct(dotAB * dotAB <= cosineValue * cosineValue * dotAA * dotBB ? vectorB : vectorC);
|
|
195483
195731
|
if (cross)
|
|
195484
|
-
return
|
|
195732
|
+
return _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_5__.Plane3dByOriginAndUnitNormal.create(origin, cross);
|
|
195485
195733
|
return undefined;
|
|
195486
195734
|
}
|
|
195487
195735
|
// Caller accesses data from a linestring or segment and passes it here.
|
|
195488
195736
|
// The line segment in question might be (a) a full line segment or (b) a fragment within a linestring.
|
|
195489
195737
|
// The fraction and extend parameters allow all combinations to be passed in.
|
|
195490
195738
|
dispatchSegmentArc(cpA, extendA0, pointA0, fractionA0, pointA1, fractionA1, extendA1, arc, extendB0, extendB1, reversed) {
|
|
195491
|
-
const lineVector =
|
|
195739
|
+
const lineVector = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_6__.Vector3d.createStartEnd(pointA0, pointA1);
|
|
195492
195740
|
const plane = this.createPlaneWithPreferredPerpendicular(pointA0, lineVector, 0.94, arc.perpendicularVector, arc.vector0);
|
|
195493
195741
|
if (plane !== undefined) {
|
|
195494
195742
|
const candidates = [];
|
|
@@ -195497,7 +195745,7 @@ class CurveCurveIntersectXYZ extends _geometry3d_GeometryHandler__WEBPACK_IMPORT
|
|
|
195497
195745
|
let linePoint;
|
|
195498
195746
|
for (const c of candidates) {
|
|
195499
195747
|
if (this.acceptFraction(extendB0, c.fraction, extendB1)) {
|
|
195500
|
-
lineFraction =
|
|
195748
|
+
lineFraction = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_4__.SmallSystem.lineSegment3dClosestPointUnbounded(pointA0, pointA1, c.point);
|
|
195501
195749
|
if (lineFraction !== undefined) {
|
|
195502
195750
|
linePoint = pointA0.interpolate(lineFraction, pointA1, linePoint);
|
|
195503
195751
|
if (linePoint.isAlmostEqualMetric(c.point)
|
|
@@ -195518,7 +195766,7 @@ class CurveCurveIntersectXYZ extends _geometry3d_GeometryHandler__WEBPACK_IMPORT
|
|
|
195518
195766
|
if (otherVectors !== undefined) {
|
|
195519
195767
|
const ellipseRadians = [];
|
|
195520
195768
|
const circleRadians = [];
|
|
195521
|
-
|
|
195769
|
+
_numerics_Polynomials__WEBPACK_IMPORTED_MODULE_4__.TrigPolynomial.solveUnitCircleHomogeneousEllipseIntersection(otherVectors.center.x, otherVectors.center.y, 1.0, otherVectors.vector0.x, otherVectors.vector0.y, 0.0, otherVectors.vector90.x, otherVectors.vector90.y, 0.0, ellipseRadians, circleRadians);
|
|
195522
195770
|
for (let i = 0; i < ellipseRadians.length; i++) {
|
|
195523
195771
|
const fractionA = cpA.sweep.radiansToSignedPeriodicFraction(circleRadians[i]);
|
|
195524
195772
|
const fractionB = cpB.sweep.radiansToSignedPeriodicFraction(ellipseRadians[i]);
|
|
@@ -195538,8 +195786,8 @@ class CurveCurveIntersectXYZ extends _geometry3d_GeometryHandler__WEBPACK_IMPORT
|
|
|
195538
195786
|
// 2) accept points that appear in both intersection sets.
|
|
195539
195787
|
// If arcs are in parallel planes -- no intersections.
|
|
195540
195788
|
// If arcs are in the same plane -- xy intersection in that plane.
|
|
195541
|
-
const planeA =
|
|
195542
|
-
const planeB =
|
|
195789
|
+
const planeA = _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_5__.Plane3dByOriginAndUnitNormal.create(cpA.center, cpA.perpendicularVector);
|
|
195790
|
+
const planeB = _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_5__.Plane3dByOriginAndUnitNormal.create(cpB.center, cpB.perpendicularVector);
|
|
195543
195791
|
if (planeA === undefined || planeB === undefined)
|
|
195544
195792
|
return;
|
|
195545
195793
|
if (planeA.getNormalRef().isParallelTo(planeB.getNormalRef())) {
|
|
@@ -195940,72 +196188,130 @@ class CurveCurveIntersectXYZ extends _geometry3d_GeometryHandler__WEBPACK_IMPORT
|
|
|
195940
196188
|
}
|
|
195941
196189
|
}
|
|
195942
196190
|
}
|
|
196191
|
+
/** Low level dispatch of curve collection. */
|
|
196192
|
+
dispatchCurveCollection(geomA, geomAHandler) {
|
|
196193
|
+
const geomB = this._geometryB; // save
|
|
196194
|
+
if (!geomB || !geomB.children || !(geomB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_7__.CurveCollection))
|
|
196195
|
+
return;
|
|
196196
|
+
for (const child of geomB.children) {
|
|
196197
|
+
this.resetGeometry(child);
|
|
196198
|
+
geomAHandler(geomA);
|
|
196199
|
+
}
|
|
196200
|
+
this._geometryB = geomB; // restore
|
|
196201
|
+
}
|
|
196202
|
+
/** Low level dispatch to geomA given a CurveChainWithDistanceIndex in geometryB. */
|
|
196203
|
+
dispatchCurveChainWithDistanceIndex(geomA, geomAHandler) {
|
|
196204
|
+
if (!this._geometryB || !(this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_8__.CurveChainWithDistanceIndex))
|
|
196205
|
+
return;
|
|
196206
|
+
if (geomA instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_8__.CurveChainWithDistanceIndex) {
|
|
196207
|
+
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(!!"call handleCurveChainWithDistanceIndex(geomA) instead");
|
|
196208
|
+
return;
|
|
196209
|
+
}
|
|
196210
|
+
const index0 = this._results.length;
|
|
196211
|
+
const geomB = this._geometryB; // save
|
|
196212
|
+
for (const child of geomB.path.children) {
|
|
196213
|
+
this.resetGeometry(child);
|
|
196214
|
+
geomAHandler(geomA);
|
|
196215
|
+
}
|
|
196216
|
+
this.resetGeometry(geomB); // restore
|
|
196217
|
+
this._results = _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_8__.CurveChainWithDistanceIndex.convertChildDetailToChainDetail(this._results, index0, undefined, geomB, true);
|
|
196218
|
+
}
|
|
195943
196219
|
/** Double dispatch handler for strongly typed segment. */
|
|
195944
196220
|
handleLineSegment3d(segmentA) {
|
|
195945
|
-
if (this._geometryB instanceof
|
|
196221
|
+
if (this._geometryB instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_9__.LineSegment3d) {
|
|
195946
196222
|
const segmentB = this._geometryB;
|
|
195947
196223
|
this.dispatchSegmentSegment(segmentA, this._extendA, segmentA.point0Ref, 0.0, segmentA.point1Ref, 1.0, this._extendA, segmentB, this._extendB, segmentB.point0Ref, 0.0, segmentB.point1Ref, 1.0, this._extendB, false);
|
|
195948
196224
|
}
|
|
195949
|
-
else if (this._geometryB instanceof
|
|
196225
|
+
else if (this._geometryB instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_10__.LineString3d) {
|
|
195950
196226
|
this.computeSegmentLineString(segmentA, this._extendA, this._geometryB, this._extendB, false);
|
|
195951
196227
|
}
|
|
195952
|
-
else if (this._geometryB instanceof
|
|
196228
|
+
else if (this._geometryB instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_11__.Arc3d) {
|
|
195953
196229
|
this.dispatchSegmentArc(segmentA, this._extendA, segmentA.point0Ref, 0.0, segmentA.point1Ref, 1.0, this._extendA, this._geometryB, this._extendB, this._extendB, false);
|
|
195954
196230
|
}
|
|
195955
|
-
else if (this._geometryB instanceof
|
|
196231
|
+
else if (this._geometryB instanceof _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_12__.BSplineCurve3d) {
|
|
195956
196232
|
this.dispatchSegmentBsplineCurve(segmentA, this._extendA, segmentA.point0Ref, 0.0, segmentA.point1Ref, 1.0, this._extendA, this._geometryB, this._extendB, false);
|
|
195957
196233
|
}
|
|
196234
|
+
else if (this._geometryB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_7__.CurveCollection) {
|
|
196235
|
+
this.dispatchCurveCollection(segmentA, this.handleLineSegment3d.bind(this));
|
|
196236
|
+
}
|
|
196237
|
+
else if (this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_8__.CurveChainWithDistanceIndex) {
|
|
196238
|
+
this.dispatchCurveChainWithDistanceIndex(segmentA, this.handleLineSegment3d.bind(this));
|
|
196239
|
+
}
|
|
195958
196240
|
return undefined;
|
|
195959
196241
|
}
|
|
195960
196242
|
/** double dispatch handler for strongly typed linestring. */
|
|
195961
196243
|
handleLineString3d(lsA) {
|
|
195962
|
-
if (this._geometryB instanceof
|
|
196244
|
+
if (this._geometryB instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_10__.LineString3d) {
|
|
195963
196245
|
const lsB = this._geometryB;
|
|
195964
196246
|
this.computeLineStringLineString(lsA, lsB, false);
|
|
195965
196247
|
}
|
|
195966
|
-
else if (this._geometryB instanceof
|
|
196248
|
+
else if (this._geometryB instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_9__.LineSegment3d) {
|
|
195967
196249
|
this.computeSegmentLineString(this._geometryB, this._extendB, lsA, this._extendA, true);
|
|
195968
196250
|
}
|
|
195969
|
-
else if (this._geometryB instanceof
|
|
196251
|
+
else if (this._geometryB instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_11__.Arc3d) {
|
|
195970
196252
|
this.computeArcLineString(this._geometryB, this._extendB, lsA, this._extendA, true);
|
|
195971
196253
|
}
|
|
195972
|
-
else if (this._geometryB instanceof
|
|
196254
|
+
else if (this._geometryB instanceof _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_12__.BSplineCurve3d) {
|
|
195973
196255
|
this.dispatchLineStringBSplineCurve(lsA, this._extendA, this._geometryB, this._extendB, false);
|
|
195974
196256
|
}
|
|
196257
|
+
else if (this._geometryB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_7__.CurveCollection) {
|
|
196258
|
+
this.dispatchCurveCollection(lsA, this.handleLineString3d.bind(this));
|
|
196259
|
+
}
|
|
196260
|
+
else if (this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_8__.CurveChainWithDistanceIndex) {
|
|
196261
|
+
this.dispatchCurveChainWithDistanceIndex(lsA, this.handleLineString3d.bind(this));
|
|
196262
|
+
}
|
|
195975
196263
|
return undefined;
|
|
195976
196264
|
}
|
|
195977
196265
|
/** Double dispatch handler for strongly typed arc. */
|
|
195978
196266
|
handleArc3d(arc0) {
|
|
195979
|
-
if (this._geometryB instanceof
|
|
196267
|
+
if (this._geometryB instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_9__.LineSegment3d) {
|
|
195980
196268
|
this.dispatchSegmentArc(this._geometryB, this._extendB, this._geometryB.point0Ref, 0.0, this._geometryB.point1Ref, 1.0, this._extendB, arc0, this._extendA, this._extendA, true);
|
|
195981
196269
|
}
|
|
195982
|
-
else if (this._geometryB instanceof
|
|
196270
|
+
else if (this._geometryB instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_10__.LineString3d) {
|
|
195983
196271
|
this.computeArcLineString(arc0, this._extendA, this._geometryB, this._extendB, false);
|
|
195984
196272
|
}
|
|
195985
|
-
else if (this._geometryB instanceof
|
|
196273
|
+
else if (this._geometryB instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_11__.Arc3d) {
|
|
195986
196274
|
this.dispatchArcArc(arc0, this._extendA, this._geometryB, this._extendB, false);
|
|
195987
196275
|
}
|
|
195988
|
-
else if (this._geometryB instanceof
|
|
196276
|
+
else if (this._geometryB instanceof _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_12__.BSplineCurve3d) {
|
|
195989
196277
|
this.dispatchArcBsplineCurve3d(arc0, this._extendA, this._geometryB, this._extendB, false);
|
|
195990
196278
|
}
|
|
196279
|
+
else if (this._geometryB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_7__.CurveCollection) {
|
|
196280
|
+
this.dispatchCurveCollection(arc0, this.handleArc3d.bind(this));
|
|
196281
|
+
}
|
|
196282
|
+
else if (this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_8__.CurveChainWithDistanceIndex) {
|
|
196283
|
+
this.dispatchCurveChainWithDistanceIndex(arc0, this.handleArc3d.bind(this));
|
|
196284
|
+
}
|
|
195991
196285
|
return undefined;
|
|
195992
196286
|
}
|
|
195993
196287
|
/** Double dispatch handler for strongly typed bspline curve. */
|
|
195994
196288
|
handleBSplineCurve3d(curve) {
|
|
195995
|
-
if (this._geometryB instanceof
|
|
196289
|
+
if (this._geometryB instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_9__.LineSegment3d) {
|
|
195996
196290
|
this.dispatchSegmentBsplineCurve(this._geometryB, this._extendB, this._geometryB.point0Ref, 0.0, this._geometryB.point1Ref, 1.0, this._extendB, curve, this._extendA, true);
|
|
195997
196291
|
}
|
|
195998
|
-
else if (this._geometryB instanceof
|
|
196292
|
+
else if (this._geometryB instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_10__.LineString3d) {
|
|
195999
196293
|
this.dispatchLineStringBSplineCurve(this._geometryB, this._extendB, curve, this._extendA, true);
|
|
196000
196294
|
}
|
|
196001
|
-
else if (this._geometryB instanceof
|
|
196295
|
+
else if (this._geometryB instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_11__.Arc3d) {
|
|
196002
196296
|
this.dispatchArcBsplineCurve3d(this._geometryB, this._extendB, curve, this._extendA, true);
|
|
196003
196297
|
}
|
|
196004
|
-
else if (this._geometryB instanceof
|
|
196298
|
+
else if (this._geometryB instanceof _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_12__.BSplineCurve3dBase) {
|
|
196005
196299
|
this.dispatchBSplineCurve3dBSplineCurve3d(curve, this._geometryB, false);
|
|
196006
196300
|
}
|
|
196301
|
+
else if (this._geometryB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_7__.CurveCollection) {
|
|
196302
|
+
this.dispatchCurveCollection(curve, this.handleBSplineCurve3d.bind(this));
|
|
196303
|
+
}
|
|
196304
|
+
else if (this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_8__.CurveChainWithDistanceIndex) {
|
|
196305
|
+
this.dispatchCurveChainWithDistanceIndex(curve, this.handleBSplineCurve3d.bind(this));
|
|
196306
|
+
}
|
|
196007
196307
|
return undefined;
|
|
196008
196308
|
}
|
|
196309
|
+
/** Double dispatch handler for strongly typed CurveChainWithDistanceIndex. */
|
|
196310
|
+
handleCurveChainWithDistanceIndex(chain) {
|
|
196311
|
+
super.handleCurveChainWithDistanceIndex(chain);
|
|
196312
|
+
// if _geometryB is also a CurveChainWithDistanceIndex, it will already have been converted by dispatchCurveChainWithDistanceIndex
|
|
196313
|
+
this._results = _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_8__.CurveChainWithDistanceIndex.convertChildDetailToChainDetail(this._results, 0, chain, undefined, true);
|
|
196314
|
+
}
|
|
196009
196315
|
/** Double dispatch handler for strongly typed homogeneous bspline curve. */
|
|
196010
196316
|
handleBSplineCurve3dH(_curve) {
|
|
196011
196317
|
/*
|
|
@@ -196024,11 +196330,11 @@ class CurveCurveIntersectXYZ extends _geometry3d_GeometryHandler__WEBPACK_IMPORT
|
|
|
196024
196330
|
return undefined;
|
|
196025
196331
|
}
|
|
196026
196332
|
}
|
|
196027
|
-
CurveCurveIntersectXYZ._workVector2dA =
|
|
196028
|
-
CurveCurveIntersectXYZ._workPointAA0 =
|
|
196029
|
-
CurveCurveIntersectXYZ._workPointAA1 =
|
|
196030
|
-
CurveCurveIntersectXYZ._workPointBB0 =
|
|
196031
|
-
CurveCurveIntersectXYZ._workPointBB1 =
|
|
196333
|
+
CurveCurveIntersectXYZ._workVector2dA = _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_13__.Vector2d.create();
|
|
196334
|
+
CurveCurveIntersectXYZ._workPointAA0 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_6__.Point3d.create();
|
|
196335
|
+
CurveCurveIntersectXYZ._workPointAA1 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_6__.Point3d.create();
|
|
196336
|
+
CurveCurveIntersectXYZ._workPointBB0 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_6__.Point3d.create();
|
|
196337
|
+
CurveCurveIntersectXYZ._workPointBB1 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_6__.Point3d.create();
|
|
196032
196338
|
|
|
196033
196339
|
|
|
196034
196340
|
|
|
@@ -196393,10 +196699,9 @@ class MultiChainCollector {
|
|
|
196393
196699
|
captureCurve(candidate) {
|
|
196394
196700
|
if (candidate instanceof _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePrimitive)
|
|
196395
196701
|
this.captureCurvePrimitive(candidate);
|
|
196396
|
-
else if (candidate instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_2__.CurveCollection
|
|
196397
|
-
for (const c of candidate.children)
|
|
196702
|
+
else if (candidate instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_2__.CurveCollection) {
|
|
196703
|
+
for (const c of candidate.children)
|
|
196398
196704
|
this.captureCurve(c);
|
|
196399
|
-
}
|
|
196400
196705
|
}
|
|
196401
196706
|
}
|
|
196402
196707
|
/** If allowed by the geometry type, move an endpoint. */
|
|
@@ -202027,9 +202332,7 @@ class CoincidentGeometryQuery {
|
|
|
202027
202332
|
detail.point = pointA.interpolate(detail.fraction, pointB, detail.point);
|
|
202028
202333
|
detail.point1 = pointA.interpolate(detail.fraction1, pointB, detail.point1);
|
|
202029
202334
|
}
|
|
202030
|
-
/** Return a curve location detail with projection of a `spacePoint` to the line segment with `pointA` and `pointB`
|
|
202031
|
-
*
|
|
202032
|
-
*/
|
|
202335
|
+
/** Return a curve location detail with projection of a `spacePoint` to the line segment with `pointA` and `pointB` */
|
|
202033
202336
|
projectPointToSegmentXY(spacePoint, pointA, pointB) {
|
|
202034
202337
|
this._vectorU = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.createStartEnd(pointA, pointB, this._vectorU);
|
|
202035
202338
|
this._vectorV = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.createStartEnd(pointA, spacePoint, this._vectorV);
|
|
@@ -202039,12 +202342,78 @@ class CoincidentGeometryQuery {
|
|
|
202039
202342
|
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetail.createCurveFractionPoint(undefined, fraction, pointA.interpolate(fraction, pointB));
|
|
202040
202343
|
}
|
|
202041
202344
|
/**
|
|
202042
|
-
*
|
|
202043
|
-
*
|
|
202345
|
+
* Given a detail pair representing the projection of each of two colinear line segments onto the other,
|
|
202346
|
+
* clamp the details (in place) to the line segments' endpoints according to the given flags.
|
|
202347
|
+
* @param overlap segment overlap as returned by [[coincidentSegmentRangeXY]], modified on return
|
|
202348
|
+
* @param pointA0 start point of segment A
|
|
202349
|
+
* @param pointA1 end point of segment A
|
|
202350
|
+
* @param pointB0 start point of segment B
|
|
202351
|
+
* @param pointB1 end point of segment B
|
|
202352
|
+
* @param extendA0 whether to extend segment A beyond its start
|
|
202353
|
+
* @param extendA1 whether to extend segment A beyond its end
|
|
202354
|
+
* @param extendB0 whether to extend segment B beyond its start
|
|
202355
|
+
* @param extendB1 whether to extend segment B beyond its end
|
|
202356
|
+
* @return reference to the input clamped in place, or undefined (leaving interval untouched) if clamping would result in empty interval.
|
|
202357
|
+
*/
|
|
202358
|
+
clampCoincidentOverlapToSegmentBounds(overlap, pointA0, pointA1, pointB0, pointB1, extendA0 = false, extendA1 = false, extendB0 = false, extendB1 = false) {
|
|
202359
|
+
const rangeA = _Segment1d__WEBPACK_IMPORTED_MODULE_4__.Segment1d.create(overlap.detailA.fraction, overlap.detailA.hasFraction1 ? overlap.detailA.fraction1 : overlap.detailA.fraction);
|
|
202360
|
+
const rangeB = _Segment1d__WEBPACK_IMPORTED_MODULE_4__.Segment1d.create(overlap.detailB.fraction, overlap.detailB.hasFraction1 ? overlap.detailB.fraction1 : overlap.detailB.fraction);
|
|
202361
|
+
const reversed = rangeA.signedDelta() < 0.0;
|
|
202362
|
+
const updateIntervalFromRangesAndInterpolatedPoints = () => {
|
|
202363
|
+
const a0 = rangeA.x0;
|
|
202364
|
+
const a1 = rangeA.x1;
|
|
202365
|
+
const b0 = rangeB.x0;
|
|
202366
|
+
const b1 = rangeB.x1;
|
|
202367
|
+
CoincidentGeometryQuery.assignDetailInterpolatedFractionsAndPoints(overlap.detailA, a0, a1, pointA0, pointA1, a0 > a1);
|
|
202368
|
+
CoincidentGeometryQuery.assignDetailInterpolatedFractionsAndPoints(overlap.detailB, b0, b1, pointB0, pointB1, b0 > b1);
|
|
202369
|
+
return overlap;
|
|
202370
|
+
};
|
|
202371
|
+
const haveIntervalA = rangeA.clampDirectedTo01(!extendA0, !extendA1, false);
|
|
202372
|
+
const haveIntervalB = rangeB.clampDirectedTo01(!extendB0, !extendB1, false);
|
|
202373
|
+
if (haveIntervalA && haveIntervalB) {
|
|
202374
|
+
if (_Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.isAlmostEqualNumber(rangeA.absoluteDelta(), rangeB.absoluteDelta(), _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.smallFraction))
|
|
202375
|
+
return updateIntervalFromRangesAndInterpolatedPoints(); // intersection of partially clamped ranges
|
|
202376
|
+
else if (rangeA.clampDirectedTo01(true, true, false) && rangeB.clampDirectedTo01(true, true, false))
|
|
202377
|
+
return updateIntervalFromRangesAndInterpolatedPoints(); // intersection of fully clamped ranges
|
|
202378
|
+
}
|
|
202379
|
+
const collapseToSingleton = (pointA, pointB, atStartA, atStartB) => {
|
|
202380
|
+
pointA.clone(overlap.detailA.point);
|
|
202381
|
+
pointB.clone(overlap.detailB.point);
|
|
202382
|
+
overlap.detailA.fraction = atStartA ? 0.0 : 1.0;
|
|
202383
|
+
overlap.detailB.fraction = atStartB ? 0.0 : 1.0;
|
|
202384
|
+
overlap.detailA.collapseToStart();
|
|
202385
|
+
overlap.detailB.collapseToStart();
|
|
202386
|
+
return overlap;
|
|
202387
|
+
};
|
|
202388
|
+
const haveSingletonA = rangeA.clampDirectedTo01(true, true, true);
|
|
202389
|
+
const haveSingletonB = rangeB.clampDirectedTo01(true, true, true);
|
|
202390
|
+
if (haveSingletonA && haveSingletonB) { // intersection is a single point
|
|
202391
|
+
const point1 = overlap.detailA.point1 ?? overlap.detailA.point;
|
|
202392
|
+
if (reversed) {
|
|
202393
|
+
if (overlap.detailA.point.isAlmostEqual(pointA0, this.tolerance))
|
|
202394
|
+
return collapseToSingleton(pointA0, pointB0, true, true);
|
|
202395
|
+
else if (point1.isAlmostEqual(pointA1, this.tolerance))
|
|
202396
|
+
return collapseToSingleton(pointA1, pointB1, false, false);
|
|
202397
|
+
}
|
|
202398
|
+
else {
|
|
202399
|
+
if (point1.isAlmostEqual(pointA0, this.tolerance))
|
|
202400
|
+
return collapseToSingleton(pointA0, pointB1, true, false);
|
|
202401
|
+
else if (overlap.detailA.point.isAlmostEqual(pointA1, this.tolerance))
|
|
202402
|
+
return collapseToSingleton(pointA1, pointB0, false, true);
|
|
202403
|
+
}
|
|
202404
|
+
}
|
|
202405
|
+
return undefined; // no intersection
|
|
202406
|
+
}
|
|
202407
|
+
/**
|
|
202408
|
+
* Compute whether two line segments have a coincident overlap in xy.
|
|
202409
|
+
* * Project `pointA0` and `pointA1` onto the line formed by `pointB0` and `pointB1` and vice versa
|
|
202410
|
+
* * If all projection distances are sufficiently small, return a detail pair recording the coincident interval, optionally clipped to segment bounds.
|
|
202044
202411
|
* @param pointA0 start point of segment A
|
|
202045
202412
|
* @param pointA1 end point of segment A
|
|
202046
202413
|
* @param pointB0 start point of segment B
|
|
202047
202414
|
* @param pointB1 end point of segment B
|
|
202415
|
+
* @param restrictToBounds whether to clip the coincident segment details to the segment bounds
|
|
202416
|
+
* @return detail pair for the coincident interval (`detailA` has fractions along segment A, and `detailB` has fractions along segment B), or undefined if no coincidence
|
|
202048
202417
|
*/
|
|
202049
202418
|
coincidentSegmentRangeXY(pointA0, pointA1, pointB0, pointB1, restrictToBounds = true) {
|
|
202050
202419
|
const detailA0OnB = this.projectPointToSegmentXY(pointA0, pointB0, pointB1);
|
|
@@ -202063,46 +202432,8 @@ class CoincidentGeometryQuery {
|
|
|
202063
202432
|
detailA0OnB.point1 = detailA1OnB.point; // capture -- detailA1OnB is not reused.
|
|
202064
202433
|
detailB0OnA.fraction1 = detailB1OnA.fraction;
|
|
202065
202434
|
detailB0OnA.point1 = detailB1OnA.point;
|
|
202066
|
-
|
|
202067
|
-
|
|
202068
|
-
const segment = _Segment1d__WEBPACK_IMPORTED_MODULE_4__.Segment1d.create(detailB0OnA.fraction, detailB0OnA.fraction1);
|
|
202069
|
-
if (segment.clampDirectedTo01()) {
|
|
202070
|
-
const f0 = segment.x0;
|
|
202071
|
-
const f1 = segment.x1;
|
|
202072
|
-
const h0 = detailB0OnA.inverseInterpolateFraction(f0);
|
|
202073
|
-
const h1 = detailB0OnA.inverseInterpolateFraction(f1);
|
|
202074
|
-
// recompute fractions and points..
|
|
202075
|
-
CoincidentGeometryQuery.assignDetailInterpolatedFractionsAndPoints(detailB0OnA, f0, f1, pointA0, pointA1, f0 > f1);
|
|
202076
|
-
CoincidentGeometryQuery.assignDetailInterpolatedFractionsAndPoints(detailA0OnB, h0, h1, pointB0, pointB1, h0 > h1);
|
|
202077
|
-
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
|
|
202078
|
-
}
|
|
202079
|
-
else {
|
|
202080
|
-
if (segment.signedDelta() < 0.0) {
|
|
202081
|
-
if (detailB0OnA.point.isAlmostEqual(pointA0, this.tolerance)) {
|
|
202082
|
-
detailB0OnA.collapseToStart();
|
|
202083
|
-
detailA0OnB.collapseToStart();
|
|
202084
|
-
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
|
|
202085
|
-
}
|
|
202086
|
-
if (detailB0OnA.point1.isAlmostEqual(pointA1, this.tolerance)) {
|
|
202087
|
-
detailB0OnA.collapseToEnd();
|
|
202088
|
-
detailA0OnB.collapseToEnd();
|
|
202089
|
-
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
|
|
202090
|
-
}
|
|
202091
|
-
}
|
|
202092
|
-
else {
|
|
202093
|
-
if (detailB0OnA.point.isAlmostEqual(pointA1, this.tolerance)) {
|
|
202094
|
-
detailB0OnA.collapseToStart();
|
|
202095
|
-
detailA0OnB.collapseToEnd();
|
|
202096
|
-
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
|
|
202097
|
-
}
|
|
202098
|
-
if (detailB0OnA.point1.isAlmostEqual(pointA0, this.tolerance)) {
|
|
202099
|
-
detailB0OnA.collapseToEnd();
|
|
202100
|
-
detailA0OnB.collapseToStart();
|
|
202101
|
-
return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
|
|
202102
|
-
}
|
|
202103
|
-
}
|
|
202104
|
-
}
|
|
202105
|
-
return undefined;
|
|
202435
|
+
const interval = _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
|
|
202436
|
+
return restrictToBounds ? this.clampCoincidentOverlapToSegmentBounds(interval, pointA0, pointA1, pointB0, pointB1) : interval;
|
|
202106
202437
|
}
|
|
202107
202438
|
/**
|
|
202108
202439
|
* Create a CurveLocationDetailPair for a coincident interval of two overlapping curves
|
|
@@ -219194,24 +219525,28 @@ class Segment1d {
|
|
|
219194
219525
|
* * On output, it is restricted to (0,1) while maintaining direction
|
|
219195
219526
|
* * If the clip leaves nothing, leave this segment alone and return false.
|
|
219196
219527
|
* * If the clip leaves something, update this segment and return true.
|
|
219528
|
+
* @param clamp0 whether to clamp the smaller number to 0. Default value is true.
|
|
219529
|
+
* @param clamp1 whether to clamp the larger number to 1. Default value is true.
|
|
219530
|
+
* @param allowSingleton whether to return true for an interval clipped to a single number (x0 === x1). Default value is false.
|
|
219531
|
+
* @return whether this interval was clipped
|
|
219197
219532
|
*/
|
|
219198
|
-
clampDirectedTo01() {
|
|
219533
|
+
clampDirectedTo01(clamp0 = true, clamp1 = true, allowSingleton = false) {
|
|
219199
219534
|
let x0 = this.x0;
|
|
219200
219535
|
let x1 = this.x1;
|
|
219201
219536
|
if (x1 > x0) {
|
|
219202
|
-
if (x0 < 0)
|
|
219537
|
+
if (x0 < 0 && clamp0)
|
|
219203
219538
|
x0 = 0;
|
|
219204
|
-
if (x1 > 1)
|
|
219539
|
+
if (x1 > 1 && clamp1)
|
|
219205
219540
|
x1 = 1;
|
|
219206
|
-
if (x0
|
|
219541
|
+
if (x0 > x1 || (x0 === x1 && !allowSingleton))
|
|
219207
219542
|
return false;
|
|
219208
219543
|
}
|
|
219209
219544
|
else {
|
|
219210
|
-
if (x0 > 1)
|
|
219545
|
+
if (x0 > 1 && clamp1)
|
|
219211
219546
|
x0 = 1;
|
|
219212
|
-
if (x1 < 0)
|
|
219547
|
+
if (x1 < 0 && clamp0)
|
|
219213
219548
|
x1 = 0;
|
|
219214
|
-
if (x0
|
|
219549
|
+
if (x0 < x1 || (x0 === x1 && !allowSingleton))
|
|
219215
219550
|
return false;
|
|
219216
219551
|
}
|
|
219217
219552
|
this.set(x0, x1);
|
|
@@ -222599,7 +222934,7 @@ class Point4d extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d {
|
|
|
222599
222934
|
return undefined;
|
|
222600
222935
|
}
|
|
222601
222936
|
/**
|
|
222602
|
-
* * Return xyz projection of spacePoint to the plane
|
|
222937
|
+
* * Return xyz projection of spacePoint to the plane (this Point4d is understood as plane coefficients, not point coordinates)
|
|
222603
222938
|
* * If the xyz part of `this` are all zero, (a clone of) `spacePoint` is returned.
|
|
222604
222939
|
*/
|
|
222605
222940
|
projectPointToPlane(spacePoint, result) {
|
|
@@ -223119,14 +223454,15 @@ class BezierCoffs {
|
|
|
223119
223454
|
for (let i = 0; i < this.coffs.length; i++)
|
|
223120
223455
|
this.coffs[i] += a;
|
|
223121
223456
|
}
|
|
223122
|
-
/** Compute parameter values where the bezier value matches
|
|
223457
|
+
/** Compute parameter values where the bezier value matches targetValue.
|
|
223123
223458
|
* * The base class finds roots only in 01. (i.e. ignores _restrictTo01)
|
|
223124
|
-
* * Order-specific implementations apply special case
|
|
223459
|
+
* * Order-specific implementations apply special case analytic logic, e.g. for degree 1,2,3,4.
|
|
223125
223460
|
*/
|
|
223126
223461
|
roots(targetValue, _restrictTo01) {
|
|
223127
223462
|
const bezier = UnivariateBezier.create(this);
|
|
223128
223463
|
bezier.addInPlace(-targetValue);
|
|
223129
|
-
|
|
223464
|
+
const roots = UnivariateBezier.deflateRoots(bezier);
|
|
223465
|
+
return this.filter01(roots, true);
|
|
223130
223466
|
}
|
|
223131
223467
|
/** Given an array of numbers, optionally remove those not in the 0..1 interval.
|
|
223132
223468
|
* @param roots candidate values
|
|
@@ -223154,7 +223490,9 @@ class BezierCoffs {
|
|
|
223154
223490
|
return undefined;
|
|
223155
223491
|
}
|
|
223156
223492
|
/** zero out all coefficients. */
|
|
223157
|
-
zero() {
|
|
223493
|
+
zero() {
|
|
223494
|
+
this.coffs.fill(0);
|
|
223495
|
+
}
|
|
223158
223496
|
/** Subdivide -- write results into caller-supplied bezier coffs (which must be of the same order) */
|
|
223159
223497
|
subdivide(u, left, right) {
|
|
223160
223498
|
const order = this.order;
|
|
@@ -223677,11 +224015,10 @@ class UnivariateBezier extends BezierCoffs {
|
|
|
223677
224015
|
// first c0*b0 = a0
|
|
223678
224016
|
// last c[orderC-1]*b1 = a[orderA-1]
|
|
223679
224017
|
/** Find roots of a bezier polynomial
|
|
223680
|
-
* * Only look for roots in 0..1
|
|
223681
224018
|
* * As roots are found, deflate the polynomial.
|
|
223682
224019
|
* * bezier coffs are changed (and order reduced) at each step.
|
|
223683
224020
|
*/
|
|
223684
|
-
static
|
|
224021
|
+
static deflateRoots(bezier) {
|
|
223685
224022
|
const roots = [];
|
|
223686
224023
|
const coffs = bezier.coffs;
|
|
223687
224024
|
let a0, a1, segmentFraction, globalStartFraction, newtonFraction;
|
|
@@ -233260,7 +233597,7 @@ class PolyfaceClip {
|
|
|
233260
233597
|
* * This method computes the portion of the input mesh that lies inside the clipper generated from sweeping the input region in the given direction.
|
|
233261
233598
|
* @param mesh input mesh, untouched
|
|
233262
233599
|
* @param region planar region to drape onto mesh
|
|
233263
|
-
* @param sweepVector optional sweep direction for region
|
|
233600
|
+
* @param sweepVector optional sweep direction for region, magnitude unused. If undefined, sweep is along the region normal.
|
|
233264
233601
|
* @param options how to stroke the region boundary
|
|
233265
233602
|
* @returns clipped facets. No other mesh data but vertices appear in output.
|
|
233266
233603
|
*/
|
|
@@ -233270,10 +233607,13 @@ class PolyfaceClip {
|
|
|
233270
233607
|
const contour = _solid_SweepContour__WEBPACK_IMPORTED_MODULE_15__.SweepContour.createForLinearSweep(region);
|
|
233271
233608
|
if (!contour)
|
|
233272
233609
|
return undefined;
|
|
233273
|
-
|
|
233610
|
+
let sweep = sweepVector;
|
|
233611
|
+
if (sweepVector && contour.localToWorld.matrix.dotColumnZ(sweepVector) < 0.0)
|
|
233612
|
+
sweep = sweepVector.scale(-1); // avoid inverted clipper
|
|
233613
|
+
const clipper = contour.sweepToUnionOfConvexClipPlaneSets(sweep, false, false, options);
|
|
233274
233614
|
if (!clipper)
|
|
233275
233615
|
return undefined;
|
|
233276
|
-
const builders = ClippedPolyfaceBuilders.create(true);
|
|
233616
|
+
const builders = ClippedPolyfaceBuilders.create(true); // we want only the facets inside the clipper
|
|
233277
233617
|
this.clipPolyfaceUnionOfConvexClipPlaneSetsToBuilders(mesh, clipper, builders, 1);
|
|
233278
233618
|
return builders.claimPolyface(0, true);
|
|
233279
233619
|
}
|
|
@@ -233481,7 +233821,7 @@ class PolyfaceData {
|
|
|
233481
233821
|
this._twoSided = twoSided;
|
|
233482
233822
|
this._expectedClosure = 0;
|
|
233483
233823
|
}
|
|
233484
|
-
/** Return a
|
|
233824
|
+
/** Return a deep clone. */
|
|
233485
233825
|
clone() {
|
|
233486
233826
|
const result = new PolyfaceData();
|
|
233487
233827
|
result.point = this.point.clone();
|
|
@@ -234124,7 +234464,7 @@ class PolyfaceQuery {
|
|
|
234124
234464
|
return result;
|
|
234125
234465
|
}
|
|
234126
234466
|
/** Return the sum of all facet areas.
|
|
234127
|
-
* @param vectorToEye compute facet
|
|
234467
|
+
* @param vectorToEye compute sum of *signed* facet areas projected to a view plane perpendicular to this vector
|
|
234128
234468
|
*/
|
|
234129
234469
|
static sumFacetAreas(source, vectorToEye) {
|
|
234130
234470
|
let s = 0;
|
|
@@ -250839,9 +251179,11 @@ class SweepContour {
|
|
|
250839
251179
|
}
|
|
250840
251180
|
/**
|
|
250841
251181
|
* Create a UnionOfConvexClipPlaneSets that clips to the swept faceted contour region.
|
|
250842
|
-
* @param sweepVector the sweep direction
|
|
251182
|
+
* @param sweepVector the sweep direction and distance:
|
|
251183
|
+
* * If undefined, the sweep direction is along the contour normal and no caps are constructed (the sweep is infinite in both directions).
|
|
251184
|
+
* * If defined, the returned clipper is inverted if and only if sweepVector is in the opposite half-space as the computed contour normal.
|
|
250843
251185
|
* @param cap0 construct a clip plane equal to the contour plane. Note that `sweepVector` must be defined.
|
|
250844
|
-
* @param cap1 construct a clip plane parallel to the contour plane at the end of `sweepVector`.
|
|
251186
|
+
* @param cap1 construct a clip plane parallel to the contour plane at the end of `sweepVector`.
|
|
250845
251187
|
* @param options how to stroke the contour
|
|
250846
251188
|
* @returns clipper defined by faceting then sweeping the contour region
|
|
250847
251189
|
*/
|
|
@@ -277599,7 +277941,7 @@ const chai_1 = __webpack_require__(/*! chai */ "../../common/temp/node_modules/.
|
|
|
277599
277941
|
const core_frontend_1 = __webpack_require__(/*! @itwin/core-frontend */ "../../core/frontend/lib/esm/core-frontend.js");
|
|
277600
277942
|
const imodels_client_management_1 = __webpack_require__(/*! @itwin/imodels-client-management */ "../../common/temp/node_modules/.pnpm/@itwin+imodels-client-management@3.1.0/node_modules/@itwin/imodels-client-management/lib/esm/index.js");
|
|
277601
277943
|
const itwins_client_1 = __webpack_require__(/*! @itwin/itwins-client */ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/itwins-client.js");
|
|
277602
|
-
const imodels_access_frontend_1 = __webpack_require__(/*! @itwin/imodels-access-frontend */ "../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.
|
|
277944
|
+
const imodels_access_frontend_1 = __webpack_require__(/*! @itwin/imodels-access-frontend */ "../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.1_ueafa4slb6ohrhyf7kbp6egmha/node_modules/@itwin/imodels-access-frontend/lib/esm/index.js");
|
|
277603
277945
|
class IModelSession {
|
|
277604
277946
|
constructor(iModelId, iTwinId, changesetId) {
|
|
277605
277947
|
this.iTwinId = iTwinId;
|
|
@@ -277691,7 +278033,7 @@ const Settings_1 = __webpack_require__(/*! ../../common/Settings */ "./lib/commo
|
|
|
277691
278033
|
const SideChannels_1 = __webpack_require__(/*! ../../common/SideChannels */ "./lib/common/SideChannels.js");
|
|
277692
278034
|
const IModelSession_1 = __webpack_require__(/*! ./IModelSession */ "./lib/frontend/setup/IModelSession.js");
|
|
277693
278035
|
const core_common_1 = __webpack_require__(/*! @itwin/core-common */ "../../core/common/lib/esm/core-common.js");
|
|
277694
|
-
const imodels_access_frontend_1 = __webpack_require__(/*! @itwin/imodels-access-frontend */ "../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.
|
|
278036
|
+
const imodels_access_frontend_1 = __webpack_require__(/*! @itwin/imodels-access-frontend */ "../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.1_ueafa4slb6ohrhyf7kbp6egmha/node_modules/@itwin/imodels-access-frontend/lib/esm/index.js");
|
|
277695
278037
|
const imodels_client_management_1 = __webpack_require__(/*! @itwin/imodels-client-management */ "../../common/temp/node_modules/.pnpm/@itwin+imodels-client-management@3.1.0/node_modules/@itwin/imodels-client-management/lib/esm/index.js");
|
|
277696
278038
|
class TestContext {
|
|
277697
278039
|
constructor(env) {
|
|
@@ -282734,7 +283076,7 @@ var WidgetState;
|
|
|
282734
283076
|
|
|
282735
283077
|
/***/ }),
|
|
282736
283078
|
|
|
282737
|
-
/***/ "?
|
|
283079
|
+
/***/ "?088e":
|
|
282738
283080
|
/*!**********************!*\
|
|
282739
283081
|
!*** util (ignored) ***!
|
|
282740
283082
|
\**********************/
|
|
@@ -284376,9 +284718,9 @@ const gBase64 = {
|
|
|
284376
284718
|
|
|
284377
284719
|
/***/ }),
|
|
284378
284720
|
|
|
284379
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284721
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js":
|
|
284380
284722
|
/*!******************************************************************************************************************************!*\
|
|
284381
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284723
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***!
|
|
284382
284724
|
\******************************************************************************************************************************/
|
|
284383
284725
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
284384
284726
|
|
|
@@ -284395,9 +284737,9 @@ function _arrayLikeToArray(arr, len) {
|
|
|
284395
284737
|
|
|
284396
284738
|
/***/ }),
|
|
284397
284739
|
|
|
284398
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284740
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js":
|
|
284399
284741
|
/*!****************************************************************************************************************************!*\
|
|
284400
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284742
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js ***!
|
|
284401
284743
|
\****************************************************************************************************************************/
|
|
284402
284744
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
284403
284745
|
|
|
@@ -284412,9 +284754,9 @@ function _arrayWithHoles(arr) {
|
|
|
284412
284754
|
|
|
284413
284755
|
/***/ }),
|
|
284414
284756
|
|
|
284415
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284757
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js":
|
|
284416
284758
|
/*!***********************************************************************************************************************************!*\
|
|
284417
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284759
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***!
|
|
284418
284760
|
\***********************************************************************************************************************************/
|
|
284419
284761
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
284420
284762
|
|
|
@@ -284432,9 +284774,9 @@ function _assertThisInitialized(self) {
|
|
|
284432
284774
|
|
|
284433
284775
|
/***/ }),
|
|
284434
284776
|
|
|
284435
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284777
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/classCallCheck.js":
|
|
284436
284778
|
/*!****************************************************************************************************************************!*\
|
|
284437
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284779
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***!
|
|
284438
284780
|
\****************************************************************************************************************************/
|
|
284439
284781
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
284440
284782
|
|
|
@@ -284451,9 +284793,9 @@ function _classCallCheck(instance, Constructor) {
|
|
|
284451
284793
|
|
|
284452
284794
|
/***/ }),
|
|
284453
284795
|
|
|
284454
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284796
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/createClass.js":
|
|
284455
284797
|
/*!*************************************************************************************************************************!*\
|
|
284456
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284798
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/createClass.js ***!
|
|
284457
284799
|
\*************************************************************************************************************************/
|
|
284458
284800
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
284459
284801
|
|
|
@@ -284462,7 +284804,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
284462
284804
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
284463
284805
|
/* harmony export */ "default": () => (/* binding */ _createClass)
|
|
284464
284806
|
/* harmony export */ });
|
|
284465
|
-
/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284807
|
+
/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js");
|
|
284466
284808
|
|
|
284467
284809
|
function _defineProperties(target, props) {
|
|
284468
284810
|
for (var i = 0; i < props.length; i++) {
|
|
@@ -284484,9 +284826,9 @@ function _createClass(Constructor, protoProps, staticProps) {
|
|
|
284484
284826
|
|
|
284485
284827
|
/***/ }),
|
|
284486
284828
|
|
|
284487
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284829
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/defineProperty.js":
|
|
284488
284830
|
/*!****************************************************************************************************************************!*\
|
|
284489
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284831
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/defineProperty.js ***!
|
|
284490
284832
|
\****************************************************************************************************************************/
|
|
284491
284833
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
284492
284834
|
|
|
@@ -284495,7 +284837,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
284495
284837
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
284496
284838
|
/* harmony export */ "default": () => (/* binding */ _defineProperty)
|
|
284497
284839
|
/* harmony export */ });
|
|
284498
|
-
/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284840
|
+
/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js");
|
|
284499
284841
|
|
|
284500
284842
|
function _defineProperty(obj, key, value) {
|
|
284501
284843
|
key = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(key);
|
|
@@ -284514,9 +284856,9 @@ function _defineProperty(obj, key, value) {
|
|
|
284514
284856
|
|
|
284515
284857
|
/***/ }),
|
|
284516
284858
|
|
|
284517
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284859
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js":
|
|
284518
284860
|
/*!****************************************************************************************************************************!*\
|
|
284519
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284861
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js ***!
|
|
284520
284862
|
\****************************************************************************************************************************/
|
|
284521
284863
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
284522
284864
|
|
|
@@ -284534,9 +284876,9 @@ function _getPrototypeOf(o) {
|
|
|
284534
284876
|
|
|
284535
284877
|
/***/ }),
|
|
284536
284878
|
|
|
284537
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284879
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/inherits.js":
|
|
284538
284880
|
/*!**********************************************************************************************************************!*\
|
|
284539
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284881
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/inherits.js ***!
|
|
284540
284882
|
\**********************************************************************************************************************/
|
|
284541
284883
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
284542
284884
|
|
|
@@ -284545,7 +284887,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
284545
284887
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
284546
284888
|
/* harmony export */ "default": () => (/* binding */ _inherits)
|
|
284547
284889
|
/* harmony export */ });
|
|
284548
|
-
/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284890
|
+
/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js");
|
|
284549
284891
|
|
|
284550
284892
|
function _inherits(subClass, superClass) {
|
|
284551
284893
|
if (typeof superClass !== "function" && superClass !== null) {
|
|
@@ -284566,9 +284908,9 @@ function _inherits(subClass, superClass) {
|
|
|
284566
284908
|
|
|
284567
284909
|
/***/ }),
|
|
284568
284910
|
|
|
284569
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284911
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/iterableToArray.js":
|
|
284570
284912
|
/*!*****************************************************************************************************************************!*\
|
|
284571
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284913
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***!
|
|
284572
284914
|
\*****************************************************************************************************************************/
|
|
284573
284915
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
284574
284916
|
|
|
@@ -284583,9 +284925,9 @@ function _iterableToArray(iter) {
|
|
|
284583
284925
|
|
|
284584
284926
|
/***/ }),
|
|
284585
284927
|
|
|
284586
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284928
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js":
|
|
284587
284929
|
/*!*****************************************************************************************************************************!*\
|
|
284588
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284930
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js ***!
|
|
284589
284931
|
\*****************************************************************************************************************************/
|
|
284590
284932
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
284591
284933
|
|
|
@@ -284600,9 +284942,9 @@ function _nonIterableRest() {
|
|
|
284600
284942
|
|
|
284601
284943
|
/***/ }),
|
|
284602
284944
|
|
|
284603
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284945
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js":
|
|
284604
284946
|
/*!***************************************************************************************************************************************!*\
|
|
284605
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284947
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js ***!
|
|
284606
284948
|
\***************************************************************************************************************************************/
|
|
284607
284949
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
284608
284950
|
|
|
@@ -284611,8 +284953,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
284611
284953
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
284612
284954
|
/* harmony export */ "default": () => (/* binding */ _possibleConstructorReturn)
|
|
284613
284955
|
/* harmony export */ });
|
|
284614
|
-
/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284615
|
-
/* harmony import */ var _assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284956
|
+
/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/typeof.js");
|
|
284957
|
+
/* harmony import */ var _assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js");
|
|
284616
284958
|
|
|
284617
284959
|
|
|
284618
284960
|
function _possibleConstructorReturn(self, call) {
|
|
@@ -284626,9 +284968,9 @@ function _possibleConstructorReturn(self, call) {
|
|
|
284626
284968
|
|
|
284627
284969
|
/***/ }),
|
|
284628
284970
|
|
|
284629
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284971
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js":
|
|
284630
284972
|
/*!****************************************************************************************************************************!*\
|
|
284631
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284973
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***!
|
|
284632
284974
|
\****************************************************************************************************************************/
|
|
284633
284975
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
284634
284976
|
|
|
@@ -284647,9 +284989,9 @@ function _setPrototypeOf(o, p) {
|
|
|
284647
284989
|
|
|
284648
284990
|
/***/ }),
|
|
284649
284991
|
|
|
284650
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284992
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/toArray.js":
|
|
284651
284993
|
/*!*********************************************************************************************************************!*\
|
|
284652
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284994
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/toArray.js ***!
|
|
284653
284995
|
\*********************************************************************************************************************/
|
|
284654
284996
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
284655
284997
|
|
|
@@ -284658,10 +285000,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
284658
285000
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
284659
285001
|
/* harmony export */ "default": () => (/* binding */ _toArray)
|
|
284660
285002
|
/* harmony export */ });
|
|
284661
|
-
/* harmony import */ var _arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284662
|
-
/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284663
|
-
/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284664
|
-
/* harmony import */ var _nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableRest.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
285003
|
+
/* harmony import */ var _arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js");
|
|
285004
|
+
/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/iterableToArray.js");
|
|
285005
|
+
/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js");
|
|
285006
|
+
/* harmony import */ var _nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableRest.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js");
|
|
284665
285007
|
|
|
284666
285008
|
|
|
284667
285009
|
|
|
@@ -284672,9 +285014,9 @@ function _toArray(arr) {
|
|
|
284672
285014
|
|
|
284673
285015
|
/***/ }),
|
|
284674
285016
|
|
|
284675
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
285017
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/toPrimitive.js":
|
|
284676
285018
|
/*!*************************************************************************************************************************!*\
|
|
284677
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
285019
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***!
|
|
284678
285020
|
\*************************************************************************************************************************/
|
|
284679
285021
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
284680
285022
|
|
|
@@ -284683,7 +285025,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
284683
285025
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
284684
285026
|
/* harmony export */ "default": () => (/* binding */ _toPrimitive)
|
|
284685
285027
|
/* harmony export */ });
|
|
284686
|
-
/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
285028
|
+
/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/typeof.js");
|
|
284687
285029
|
|
|
284688
285030
|
function _toPrimitive(input, hint) {
|
|
284689
285031
|
if ((0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(input) !== "object" || input === null) return input;
|
|
@@ -284698,9 +285040,9 @@ function _toPrimitive(input, hint) {
|
|
|
284698
285040
|
|
|
284699
285041
|
/***/ }),
|
|
284700
285042
|
|
|
284701
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
285043
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js":
|
|
284702
285044
|
/*!***************************************************************************************************************************!*\
|
|
284703
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
285045
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***!
|
|
284704
285046
|
\***************************************************************************************************************************/
|
|
284705
285047
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
284706
285048
|
|
|
@@ -284709,8 +285051,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
284709
285051
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
284710
285052
|
/* harmony export */ "default": () => (/* binding */ _toPropertyKey)
|
|
284711
285053
|
/* harmony export */ });
|
|
284712
|
-
/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
284713
|
-
/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
285054
|
+
/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/typeof.js");
|
|
285055
|
+
/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/toPrimitive.js");
|
|
284714
285056
|
|
|
284715
285057
|
|
|
284716
285058
|
function _toPropertyKey(arg) {
|
|
@@ -284720,9 +285062,9 @@ function _toPropertyKey(arg) {
|
|
|
284720
285062
|
|
|
284721
285063
|
/***/ }),
|
|
284722
285064
|
|
|
284723
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
285065
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/typeof.js":
|
|
284724
285066
|
/*!********************************************************************************************************************!*\
|
|
284725
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
285067
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/typeof.js ***!
|
|
284726
285068
|
\********************************************************************************************************************/
|
|
284727
285069
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
284728
285070
|
|
|
@@ -284731,21 +285073,21 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
284731
285073
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
284732
285074
|
/* harmony export */ "default": () => (/* binding */ _typeof)
|
|
284733
285075
|
/* harmony export */ });
|
|
284734
|
-
function _typeof(
|
|
285076
|
+
function _typeof(o) {
|
|
284735
285077
|
"@babel/helpers - typeof";
|
|
284736
285078
|
|
|
284737
|
-
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (
|
|
284738
|
-
return typeof
|
|
284739
|
-
} : function (
|
|
284740
|
-
return
|
|
284741
|
-
}, _typeof(
|
|
285079
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
285080
|
+
return typeof o;
|
|
285081
|
+
} : function (o) {
|
|
285082
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
285083
|
+
}, _typeof(o);
|
|
284742
285084
|
}
|
|
284743
285085
|
|
|
284744
285086
|
/***/ }),
|
|
284745
285087
|
|
|
284746
|
-
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
285088
|
+
/***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js":
|
|
284747
285089
|
/*!****************************************************************************************************************************************!*\
|
|
284748
|
-
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
285090
|
+
!*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***!
|
|
284749
285091
|
\****************************************************************************************************************************************/
|
|
284750
285092
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
284751
285093
|
|
|
@@ -284754,7 +285096,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
284754
285096
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
284755
285097
|
/* harmony export */ "default": () => (/* binding */ _unsupportedIterableToArray)
|
|
284756
285098
|
/* harmony export */ });
|
|
284757
|
-
/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.
|
|
285099
|
+
/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js");
|
|
284758
285100
|
|
|
284759
285101
|
function _unsupportedIterableToArray(o, minLen) {
|
|
284760
285102
|
if (!o) return;
|
|
@@ -285188,15 +285530,15 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
285188
285530
|
/* harmony export */ t: () => (/* binding */ t),
|
|
285189
285531
|
/* harmony export */ use: () => (/* binding */ use)
|
|
285190
285532
|
/* harmony export */ });
|
|
285191
|
-
/* 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.
|
|
285192
|
-
/* 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.
|
|
285193
|
-
/* 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.
|
|
285194
|
-
/* 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.
|
|
285195
|
-
/* 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.
|
|
285196
|
-
/* 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.
|
|
285197
|
-
/* 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.
|
|
285198
|
-
/* 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.
|
|
285199
|
-
/* 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.
|
|
285533
|
+
/* 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.23.2/node_modules/@babel/runtime/helpers/esm/typeof.js");
|
|
285534
|
+
/* 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.23.2/node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
|
|
285535
|
+
/* 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.23.2/node_modules/@babel/runtime/helpers/esm/createClass.js");
|
|
285536
|
+
/* 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.23.2/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js");
|
|
285537
|
+
/* 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.23.2/node_modules/@babel/runtime/helpers/esm/inherits.js");
|
|
285538
|
+
/* 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.23.2/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js");
|
|
285539
|
+
/* 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.23.2/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js");
|
|
285540
|
+
/* 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.23.2/node_modules/@babel/runtime/helpers/esm/defineProperty.js");
|
|
285541
|
+
/* 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.23.2/node_modules/@babel/runtime/helpers/esm/toArray.js");
|
|
285200
285542
|
|
|
285201
285543
|
|
|
285202
285544
|
|
|
@@ -288076,7 +288418,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
|
|
|
288076
288418
|
/***/ ((module) => {
|
|
288077
288419
|
|
|
288078
288420
|
"use strict";
|
|
288079
|
-
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.3.0-dev.
|
|
288421
|
+
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.3.0-dev.11","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:^4.3.0-dev.11","@itwin/core-bentley":"workspace:^4.3.0-dev.11","@itwin/core-common":"workspace:^4.3.0-dev.11","@itwin/core-geometry":"workspace:^4.3.0-dev.11","@itwin/core-orbitgt":"workspace:^4.3.0-dev.11","@itwin/core-quantity":"workspace:^4.3.0-dev.11"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/certa":"workspace:*","@itwin/eslint-plugin":"4.0.0-dev.44","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/node":"18.16.1","@types/sinon":"^10.0.15","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.3.10","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.44.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^15.0.4","source-map-loader":"^4.0.0","typescript":"~5.0.2","typemoq":"^2.1.0","webpack":"^5.76.0"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/cloud-agnostic-core":"^2.1.0","@itwin/object-storage-core":"^2.1.0","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"}}');
|
|
288080
288422
|
|
|
288081
288423
|
/***/ })
|
|
288082
288424
|
|