@itwin/rpcinterface-full-stack-tests 4.7.0-dev.8 → 4.7.0-dev.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/dist/_bea9.bundled-tests.js.map +1 -1
- package/lib/dist/bundled-tests.js +81 -81
- package/lib/dist/bundled-tests.js.map +1 -1
- package/lib/dist/core_frontend_lib_esm_ApproximateTerrainHeightsProps_js.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_1_6_node_modules_loaders_gl_draco_di-0642a6.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_meshoptimizer_0_20_0_node_modules_meshoptimizer_index_m-a5ae61.bundled-tests.js.map +1 -1
- package/package.json +14 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_bea9.bundled-tests.js","mappings":";;;;;;;;AAAA","sources":["file:///ignored|D:\\vsts_a\\
|
|
1
|
+
{"version":3,"file":"_bea9.bundled-tests.js","mappings":";;;;;;;;AAAA","sources":["file:///ignored|D:\\vsts_a\\8\\s\\common\\temp\\node_modules\\.pnpm\\@loaders.gl+worker-utils@3.1.6\\node_modules\\@loaders.gl\\worker-utils\\dist\\esm\\lib\\library-utils|../node/require-utils.node"],"names":[],"sourceRoot":""}
|
|
@@ -244452,40 +244452,22 @@ class PolyfaceQuery {
|
|
|
244452
244452
|
return true;
|
|
244453
244453
|
}
|
|
244454
244454
|
/**
|
|
244455
|
-
*
|
|
244456
|
-
* *
|
|
244457
|
-
*
|
|
244458
|
-
* * See [[dihedralAngleSummary]] for the definition of "dihedral angle".
|
|
244459
|
-
* * With `ignoreBoundaries` true, this may be a useful test when all the facets are in a single edge-connected
|
|
244460
|
-
* component, such as a pyramid with no underside.
|
|
244461
|
-
* * It is not a correct test if there are multiple, disjoint components.
|
|
244462
|
-
* * Take the above-mentioned pyramid with no underside.
|
|
244463
|
-
* * Within the same mesh, have a second pyramid placed to the side, still facing upward.
|
|
244464
|
-
* * The angles will pass the dihedral convexity test, but the composite thing surely is not convex.
|
|
244455
|
+
* Compute a number summarizing the dihedral angles in the mesh.
|
|
244456
|
+
* * A dihedral angle is the signed angle between adjacent facets' normals. This angle is positive when the cross
|
|
244457
|
+
* product `normalA x normalB` has the same direction as facetA's traversal of the facets' shared edge.
|
|
244465
244458
|
* @param source mesh.
|
|
244466
244459
|
* @param ignoreBoundaries if `true` ignore simple boundary edges, i.e., allow unclosed meshes. Default is `false`.
|
|
244467
|
-
*
|
|
244460
|
+
* See [[isConvexByDihedralAngleCount]] for comments about passing true when there are multiple
|
|
244461
|
+
* connected components.
|
|
244462
|
+
* * Return `0` if all dihedral angles are zero (and `ignoreBoundaries === true`). The mesh is planar.
|
|
244463
|
+
* * Otherwise, return `1` if all dihedral angles are non-negative. The mesh probably encloses a convex volume and
|
|
244464
|
+
* has outward normals.
|
|
244465
|
+
* * Otherwise, return `-1` if all dihedral angles are non-positive. The mesh probably encloses a convex volume and
|
|
244466
|
+
* has inward normals.
|
|
244467
|
+
* * Otherwise, return `-2`. Also return `-2` if a non-manifold condition was detected, or a facet normal could not
|
|
244468
|
+
* be computed. A non-manifold condition is a positive-length edge adjacent to more than 2 facets or (if
|
|
244469
|
+
* `ignoreBoundaries` is false) adjacent to exactly one facet.
|
|
244468
244470
|
*/
|
|
244469
|
-
static isConvexByDihedralAngleCount(source, ignoreBoundaries = false) {
|
|
244470
|
-
return this.dihedralAngleSummary(source, ignoreBoundaries) > 0;
|
|
244471
|
-
}
|
|
244472
|
-
/**
|
|
244473
|
-
* Compute a number summarizing the dihedral angles in the mesh.
|
|
244474
|
-
* * A dihedral angle is the signed angle between adjacent facets' normals. This angle is positive when the cross
|
|
244475
|
-
* product `normalA x normalB` has the same direction as facetA's traversal of the facets' shared edge.
|
|
244476
|
-
* @param source mesh.
|
|
244477
|
-
* @param ignoreBoundaries if `true` ignore simple boundary edges, i.e., allow unclosed meshes. Default is `false`.
|
|
244478
|
-
* See [[isConvexByDihedralAngleCount]] for comments about passing true when there are multiple
|
|
244479
|
-
* connected components.
|
|
244480
|
-
* * Return `0` if all dihedral angles are zero (and `ignoreBoundaries === true`). The mesh is planar.
|
|
244481
|
-
* * Otherwise, return `1` if all dihedral angles are non-negative. The mesh probably encloses a convex volume and
|
|
244482
|
-
* has outward normals.
|
|
244483
|
-
* * Otherwise, return `-1` if all dihedral angles are non-positive. The mesh probably encloses a convex volume and
|
|
244484
|
-
* has inward normals.
|
|
244485
|
-
* * Otherwise, return `-2`. Also return `-2` if a non-manifold condition was detected, or a facet normal could not
|
|
244486
|
-
* be computed. A non-manifold condition is a positive-length edge adjacent to more than 2 facets or (if
|
|
244487
|
-
* `ignoreBoundaries` is false) adjacent to exactly one facet.
|
|
244488
|
-
*/
|
|
244489
244471
|
static dihedralAngleSummary(source, ignoreBoundaries = false) {
|
|
244490
244472
|
// more info can be found at geometry/internaldocs/Polyface.md
|
|
244491
244473
|
const edges = new _IndexedEdgeMatcher__WEBPACK_IMPORTED_MODULE_10__.IndexedEdgeMatcher();
|
|
@@ -244541,9 +244523,23 @@ class PolyfaceQuery {
|
|
|
244541
244523
|
return 0;
|
|
244542
244524
|
return -2;
|
|
244543
244525
|
}
|
|
244544
|
-
/**
|
|
244545
|
-
|
|
244546
|
-
|
|
244526
|
+
/**
|
|
244527
|
+
* Test for convex volume by dihedral angle tests on all edges.
|
|
244528
|
+
* * This tests if all dihedral angles of the mesh are positive.
|
|
244529
|
+
* * In a closed solid, this is a strong test for overall mesh convexity with outward facing normals.
|
|
244530
|
+
* * See [[dihedralAngleSummary]] for the definition of "dihedral angle".
|
|
244531
|
+
* * With `ignoreBoundaries` true, this may be a useful test when all the facets are in a single edge-connected
|
|
244532
|
+
* component, such as a pyramid with no underside.
|
|
244533
|
+
* * It is not a correct test if there are multiple, disjoint components.
|
|
244534
|
+
* * Take the above-mentioned pyramid with no underside.
|
|
244535
|
+
* * Within the same mesh, have a second pyramid placed to the side, still facing upward.
|
|
244536
|
+
* * The angles will pass the dihedral convexity test, but the composite thing surely is not convex.
|
|
244537
|
+
* @param source mesh.
|
|
244538
|
+
* @param ignoreBoundaries if `true` ignore simple boundary edges, i.e., allow unclosed meshes. Default is `false`.
|
|
244539
|
+
* @returns true if all dihedral angles of the mesh are positive.
|
|
244540
|
+
*/
|
|
244541
|
+
static isConvexByDihedralAngleCount(source, ignoreBoundaries = false) {
|
|
244542
|
+
return this.dihedralAngleSummary(source, ignoreBoundaries) > 0;
|
|
244547
244543
|
}
|
|
244548
244544
|
/**
|
|
244549
244545
|
* Test edges pairing in `source` mesh.
|
|
@@ -244567,36 +244563,9 @@ class PolyfaceQuery {
|
|
|
244567
244563
|
edges.sortAndCollectClusters(undefined, allowSimpleBoundaries ? undefined : badClusters, undefined, badClusters);
|
|
244568
244564
|
return badClusters.length === 0;
|
|
244569
244565
|
}
|
|
244570
|
-
/**
|
|
244571
|
-
|
|
244572
|
-
|
|
244573
|
-
* @param source polyface or visitor.
|
|
244574
|
-
* @param includeTypical true to in include typical boundary edges with a single adjacent facet.
|
|
244575
|
-
* @param includeMismatch true to include edges with more than 2 adjacent facets.
|
|
244576
|
-
* @param includeNull true to include edges with identical start and end vertex indices.
|
|
244577
|
-
*/
|
|
244578
|
-
static boundaryEdges(source, includeTypical = true, includeMismatch = true, includeNull = true) {
|
|
244579
|
-
const result = new _curve_CurveCollection__WEBPACK_IMPORTED_MODULE_5__.BagOfCurves();
|
|
244580
|
-
const announceEdge = (pointA, pointB, _indexA, _indexB, _readIndex) => {
|
|
244581
|
-
result.tryAddChild(_curve_LineSegment3d__WEBPACK_IMPORTED_MODULE_11__.LineSegment3d.create(pointA, pointB));
|
|
244582
|
-
};
|
|
244583
|
-
PolyfaceQuery.announceBoundaryEdges(source, announceEdge, includeTypical, includeMismatch, includeNull);
|
|
244584
|
-
if (result.children.length === 0)
|
|
244585
|
-
return undefined;
|
|
244586
|
-
return result;
|
|
244587
|
-
}
|
|
244588
|
-
/**
|
|
244589
|
-
* Collect boundary edges.
|
|
244590
|
-
* * Return the edges as the simplest collection of chains of line segments.
|
|
244591
|
-
* @param source polyface or visitor.
|
|
244592
|
-
* @param includeTypical true to in include typical boundary edges with a single adjacent facet.
|
|
244593
|
-
* @param includeMismatch true to include edges with more than 2 adjacent facets.
|
|
244594
|
-
* @param includeNull true to include edges with identical start and end vertex indices.
|
|
244595
|
-
*/
|
|
244596
|
-
static collectBoundaryEdges(source, includeTypical = true, includeMismatch = true, includeNull = true) {
|
|
244597
|
-
const collector = new _curve_internalContexts_MultiChainCollector__WEBPACK_IMPORTED_MODULE_12__.MultiChainCollector(_Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance, _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance);
|
|
244598
|
-
PolyfaceQuery.announceBoundaryEdges(source, (ptA, ptB) => collector.captureCurve(_curve_LineSegment3d__WEBPACK_IMPORTED_MODULE_11__.LineSegment3d.create(ptA, ptB)), includeTypical, includeMismatch, includeNull);
|
|
244599
|
-
return collector.grabResult(true);
|
|
244566
|
+
/** Test if the facets in `source` occur in perfectly mated pairs, as is required for a closed manifold volume. */
|
|
244567
|
+
static isPolyfaceClosedByEdgePairing(source) {
|
|
244568
|
+
return this.isPolyfaceManifold(source, false);
|
|
244600
244569
|
}
|
|
244601
244570
|
/**
|
|
244602
244571
|
* Test if the facets in `source` occur in perfectly mated pairs, as is required for a closed manifold volume.
|
|
@@ -244647,6 +244616,37 @@ class PolyfaceQuery {
|
|
|
244647
244616
|
}
|
|
244648
244617
|
}
|
|
244649
244618
|
}
|
|
244619
|
+
/**
|
|
244620
|
+
* Construct a CurveCollection containing boundary edges.
|
|
244621
|
+
* * Each edge is a LineSegment3d.
|
|
244622
|
+
* @param source polyface or visitor.
|
|
244623
|
+
* @param includeTypical true to in include typical boundary edges with a single adjacent facet.
|
|
244624
|
+
* @param includeMismatch true to include edges with more than 2 adjacent facets.
|
|
244625
|
+
* @param includeNull true to include edges with identical start and end vertex indices.
|
|
244626
|
+
*/
|
|
244627
|
+
static boundaryEdges(source, includeTypical = true, includeMismatch = true, includeNull = true) {
|
|
244628
|
+
const result = new _curve_CurveCollection__WEBPACK_IMPORTED_MODULE_5__.BagOfCurves();
|
|
244629
|
+
const announceEdge = (pointA, pointB, _indexA, _indexB, _readIndex) => {
|
|
244630
|
+
result.tryAddChild(_curve_LineSegment3d__WEBPACK_IMPORTED_MODULE_11__.LineSegment3d.create(pointA, pointB));
|
|
244631
|
+
};
|
|
244632
|
+
PolyfaceQuery.announceBoundaryEdges(source, announceEdge, includeTypical, includeMismatch, includeNull);
|
|
244633
|
+
if (result.children.length === 0)
|
|
244634
|
+
return undefined;
|
|
244635
|
+
return result;
|
|
244636
|
+
}
|
|
244637
|
+
/**
|
|
244638
|
+
* Collect boundary edges.
|
|
244639
|
+
* * Return the edges as the simplest collection of chains of line segments.
|
|
244640
|
+
* @param source polyface or visitor.
|
|
244641
|
+
* @param includeTypical true to in include typical boundary edges with a single adjacent facet.
|
|
244642
|
+
* @param includeMismatch true to include edges with more than 2 adjacent facets.
|
|
244643
|
+
* @param includeNull true to include edges with identical start and end vertex indices.
|
|
244644
|
+
*/
|
|
244645
|
+
static collectBoundaryEdges(source, includeTypical = true, includeMismatch = true, includeNull = true) {
|
|
244646
|
+
const collector = new _curve_internalContexts_MultiChainCollector__WEBPACK_IMPORTED_MODULE_12__.MultiChainCollector(_Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance, _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance);
|
|
244647
|
+
PolyfaceQuery.announceBoundaryEdges(source, (ptA, ptB) => collector.captureCurve(_curve_LineSegment3d__WEBPACK_IMPORTED_MODULE_11__.LineSegment3d.create(ptA, ptB)), includeTypical, includeMismatch, includeNull);
|
|
244648
|
+
return collector.grabResult(true);
|
|
244649
|
+
}
|
|
244650
244650
|
/**
|
|
244651
244651
|
* Load all half edges from a mesh to an IndexedEdgeMatcher.
|
|
244652
244652
|
* @param polyface a mesh or a visitor assumed to have numWrap === 1.
|
|
@@ -245426,21 +245426,6 @@ class PolyfaceQuery {
|
|
|
245426
245426
|
}
|
|
245427
245427
|
return 0;
|
|
245428
245428
|
}
|
|
245429
|
-
/**
|
|
245430
|
-
* Collect facet duplicates.
|
|
245431
|
-
* @param polyface the polyface.
|
|
245432
|
-
* @param includeSingletons if true, non-duplicated facets are included in the output.
|
|
245433
|
-
* @returns an array of arrays describing facet duplication. Each array `entry` in the output contains read
|
|
245434
|
-
* indices of a cluster of facets with the same vertex indices.
|
|
245435
|
-
*/
|
|
245436
|
-
static collectDuplicateFacetIndices(polyface, includeSingletons = false) {
|
|
245437
|
-
const result = [];
|
|
245438
|
-
this.announceDuplicateFacetIndices(polyface, (clusterFacetIndices) => {
|
|
245439
|
-
if (includeSingletons || clusterFacetIndices.length > 1)
|
|
245440
|
-
result.push(clusterFacetIndices.slice());
|
|
245441
|
-
});
|
|
245442
|
-
return result;
|
|
245443
|
-
}
|
|
245444
245429
|
/**
|
|
245445
245430
|
* Announce facet duplicates.
|
|
245446
245431
|
* @returns an array of arrays describing facet duplication. Each array `entry` in the output contains read
|
|
@@ -245488,6 +245473,21 @@ class PolyfaceQuery {
|
|
|
245488
245473
|
announceCluster(clusterArray);
|
|
245489
245474
|
}
|
|
245490
245475
|
}
|
|
245476
|
+
/**
|
|
245477
|
+
* Collect facet duplicates.
|
|
245478
|
+
* @param polyface the polyface.
|
|
245479
|
+
* @param includeSingletons if true, non-duplicated facets are included in the output.
|
|
245480
|
+
* @returns an array of arrays describing facet duplication. Each array `entry` in the output contains read
|
|
245481
|
+
* indices of a cluster of facets with the same vertex indices.
|
|
245482
|
+
*/
|
|
245483
|
+
static collectDuplicateFacetIndices(polyface, includeSingletons = false) {
|
|
245484
|
+
const result = [];
|
|
245485
|
+
this.announceDuplicateFacetIndices(polyface, (clusterFacetIndices) => {
|
|
245486
|
+
if (includeSingletons || clusterFacetIndices.length > 1)
|
|
245487
|
+
result.push(clusterFacetIndices.slice());
|
|
245488
|
+
});
|
|
245489
|
+
return result;
|
|
245490
|
+
}
|
|
245491
245491
|
/**
|
|
245492
245492
|
* Return a new facet set with a subset of facets in polyface.
|
|
245493
245493
|
* @param source the polyface.
|
|
@@ -290225,7 +290225,7 @@ class TestContext {
|
|
|
290225
290225
|
this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
|
|
290226
290226
|
const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
|
|
290227
290227
|
await core_frontend_1.NoRenderApp.startup({
|
|
290228
|
-
applicationVersion: "4.7.0-dev.
|
|
290228
|
+
applicationVersion: "4.7.0-dev.9",
|
|
290229
290229
|
applicationId: this.settings.gprid,
|
|
290230
290230
|
authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.adminUserAccessToken),
|
|
290231
290231
|
hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
|
|
@@ -314220,7 +314220,7 @@ function __disposeResources(env) {
|
|
|
314220
314220
|
/***/ ((module) => {
|
|
314221
314221
|
|
|
314222
314222
|
"use strict";
|
|
314223
|
-
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.7.0-dev.
|
|
314223
|
+
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.7.0-dev.9","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-inline-config -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -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.7.0-dev.9","@itwin/core-bentley":"workspace:^4.7.0-dev.9","@itwin/core-common":"workspace:^4.7.0-dev.9","@itwin/core-geometry":"workspace:^4.7.0-dev.9","@itwin/core-orbitgt":"workspace:^4.7.0-dev.9","@itwin/core-quantity":"workspace:^4.7.0-dev.9"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/certa":"workspace:*","@itwin/eslint-plugin":"^4.0.2","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^10.0.6","@types/sinon":"^17.0.2","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.3.10","chai-as-promised":"^7.1.1","cpx2":"^3.0.0","eslint":"^8.56.0","glob":"^10.3.12","mocha":"^10.2.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^17.0.1","source-map-loader":"^4.0.0","typescript":"~5.3.3","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.2.2","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","meshoptimizer":"~0.20.0","wms-capabilities":"0.4.0"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"}}');
|
|
314224
314224
|
|
|
314225
314225
|
/***/ }),
|
|
314226
314226
|
|