@itwin/ecschema-rpcinterface-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 +80 -80
- 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 +15 -15
|
@@ -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":""}
|
|
@@ -238356,40 +238356,22 @@ class PolyfaceQuery {
|
|
|
238356
238356
|
return true;
|
|
238357
238357
|
}
|
|
238358
238358
|
/**
|
|
238359
|
-
*
|
|
238360
|
-
* *
|
|
238361
|
-
*
|
|
238362
|
-
* * See [[dihedralAngleSummary]] for the definition of "dihedral angle".
|
|
238363
|
-
* * With `ignoreBoundaries` true, this may be a useful test when all the facets are in a single edge-connected
|
|
238364
|
-
* component, such as a pyramid with no underside.
|
|
238365
|
-
* * It is not a correct test if there are multiple, disjoint components.
|
|
238366
|
-
* * Take the above-mentioned pyramid with no underside.
|
|
238367
|
-
* * Within the same mesh, have a second pyramid placed to the side, still facing upward.
|
|
238368
|
-
* * The angles will pass the dihedral convexity test, but the composite thing surely is not convex.
|
|
238359
|
+
* Compute a number summarizing the dihedral angles in the mesh.
|
|
238360
|
+
* * A dihedral angle is the signed angle between adjacent facets' normals. This angle is positive when the cross
|
|
238361
|
+
* product `normalA x normalB` has the same direction as facetA's traversal of the facets' shared edge.
|
|
238369
238362
|
* @param source mesh.
|
|
238370
238363
|
* @param ignoreBoundaries if `true` ignore simple boundary edges, i.e., allow unclosed meshes. Default is `false`.
|
|
238371
|
-
*
|
|
238364
|
+
* See [[isConvexByDihedralAngleCount]] for comments about passing true when there are multiple
|
|
238365
|
+
* connected components.
|
|
238366
|
+
* * Return `0` if all dihedral angles are zero (and `ignoreBoundaries === true`). The mesh is planar.
|
|
238367
|
+
* * Otherwise, return `1` if all dihedral angles are non-negative. The mesh probably encloses a convex volume and
|
|
238368
|
+
* has outward normals.
|
|
238369
|
+
* * Otherwise, return `-1` if all dihedral angles are non-positive. The mesh probably encloses a convex volume and
|
|
238370
|
+
* has inward normals.
|
|
238371
|
+
* * Otherwise, return `-2`. Also return `-2` if a non-manifold condition was detected, or a facet normal could not
|
|
238372
|
+
* be computed. A non-manifold condition is a positive-length edge adjacent to more than 2 facets or (if
|
|
238373
|
+
* `ignoreBoundaries` is false) adjacent to exactly one facet.
|
|
238372
238374
|
*/
|
|
238373
|
-
static isConvexByDihedralAngleCount(source, ignoreBoundaries = false) {
|
|
238374
|
-
return this.dihedralAngleSummary(source, ignoreBoundaries) > 0;
|
|
238375
|
-
}
|
|
238376
|
-
/**
|
|
238377
|
-
* Compute a number summarizing the dihedral angles in the mesh.
|
|
238378
|
-
* * A dihedral angle is the signed angle between adjacent facets' normals. This angle is positive when the cross
|
|
238379
|
-
* product `normalA x normalB` has the same direction as facetA's traversal of the facets' shared edge.
|
|
238380
|
-
* @param source mesh.
|
|
238381
|
-
* @param ignoreBoundaries if `true` ignore simple boundary edges, i.e., allow unclosed meshes. Default is `false`.
|
|
238382
|
-
* See [[isConvexByDihedralAngleCount]] for comments about passing true when there are multiple
|
|
238383
|
-
* connected components.
|
|
238384
|
-
* * Return `0` if all dihedral angles are zero (and `ignoreBoundaries === true`). The mesh is planar.
|
|
238385
|
-
* * Otherwise, return `1` if all dihedral angles are non-negative. The mesh probably encloses a convex volume and
|
|
238386
|
-
* has outward normals.
|
|
238387
|
-
* * Otherwise, return `-1` if all dihedral angles are non-positive. The mesh probably encloses a convex volume and
|
|
238388
|
-
* has inward normals.
|
|
238389
|
-
* * Otherwise, return `-2`. Also return `-2` if a non-manifold condition was detected, or a facet normal could not
|
|
238390
|
-
* be computed. A non-manifold condition is a positive-length edge adjacent to more than 2 facets or (if
|
|
238391
|
-
* `ignoreBoundaries` is false) adjacent to exactly one facet.
|
|
238392
|
-
*/
|
|
238393
238375
|
static dihedralAngleSummary(source, ignoreBoundaries = false) {
|
|
238394
238376
|
// more info can be found at geometry/internaldocs/Polyface.md
|
|
238395
238377
|
const edges = new _IndexedEdgeMatcher__WEBPACK_IMPORTED_MODULE_10__.IndexedEdgeMatcher();
|
|
@@ -238445,9 +238427,23 @@ class PolyfaceQuery {
|
|
|
238445
238427
|
return 0;
|
|
238446
238428
|
return -2;
|
|
238447
238429
|
}
|
|
238448
|
-
/**
|
|
238449
|
-
|
|
238450
|
-
|
|
238430
|
+
/**
|
|
238431
|
+
* Test for convex volume by dihedral angle tests on all edges.
|
|
238432
|
+
* * This tests if all dihedral angles of the mesh are positive.
|
|
238433
|
+
* * In a closed solid, this is a strong test for overall mesh convexity with outward facing normals.
|
|
238434
|
+
* * See [[dihedralAngleSummary]] for the definition of "dihedral angle".
|
|
238435
|
+
* * With `ignoreBoundaries` true, this may be a useful test when all the facets are in a single edge-connected
|
|
238436
|
+
* component, such as a pyramid with no underside.
|
|
238437
|
+
* * It is not a correct test if there are multiple, disjoint components.
|
|
238438
|
+
* * Take the above-mentioned pyramid with no underside.
|
|
238439
|
+
* * Within the same mesh, have a second pyramid placed to the side, still facing upward.
|
|
238440
|
+
* * The angles will pass the dihedral convexity test, but the composite thing surely is not convex.
|
|
238441
|
+
* @param source mesh.
|
|
238442
|
+
* @param ignoreBoundaries if `true` ignore simple boundary edges, i.e., allow unclosed meshes. Default is `false`.
|
|
238443
|
+
* @returns true if all dihedral angles of the mesh are positive.
|
|
238444
|
+
*/
|
|
238445
|
+
static isConvexByDihedralAngleCount(source, ignoreBoundaries = false) {
|
|
238446
|
+
return this.dihedralAngleSummary(source, ignoreBoundaries) > 0;
|
|
238451
238447
|
}
|
|
238452
238448
|
/**
|
|
238453
238449
|
* Test edges pairing in `source` mesh.
|
|
@@ -238471,36 +238467,9 @@ class PolyfaceQuery {
|
|
|
238471
238467
|
edges.sortAndCollectClusters(undefined, allowSimpleBoundaries ? undefined : badClusters, undefined, badClusters);
|
|
238472
238468
|
return badClusters.length === 0;
|
|
238473
238469
|
}
|
|
238474
|
-
/**
|
|
238475
|
-
|
|
238476
|
-
|
|
238477
|
-
* @param source polyface or visitor.
|
|
238478
|
-
* @param includeTypical true to in include typical boundary edges with a single adjacent facet.
|
|
238479
|
-
* @param includeMismatch true to include edges with more than 2 adjacent facets.
|
|
238480
|
-
* @param includeNull true to include edges with identical start and end vertex indices.
|
|
238481
|
-
*/
|
|
238482
|
-
static boundaryEdges(source, includeTypical = true, includeMismatch = true, includeNull = true) {
|
|
238483
|
-
const result = new _curve_CurveCollection__WEBPACK_IMPORTED_MODULE_5__.BagOfCurves();
|
|
238484
|
-
const announceEdge = (pointA, pointB, _indexA, _indexB, _readIndex) => {
|
|
238485
|
-
result.tryAddChild(_curve_LineSegment3d__WEBPACK_IMPORTED_MODULE_11__.LineSegment3d.create(pointA, pointB));
|
|
238486
|
-
};
|
|
238487
|
-
PolyfaceQuery.announceBoundaryEdges(source, announceEdge, includeTypical, includeMismatch, includeNull);
|
|
238488
|
-
if (result.children.length === 0)
|
|
238489
|
-
return undefined;
|
|
238490
|
-
return result;
|
|
238491
|
-
}
|
|
238492
|
-
/**
|
|
238493
|
-
* Collect boundary edges.
|
|
238494
|
-
* * Return the edges as the simplest collection of chains of line segments.
|
|
238495
|
-
* @param source polyface or visitor.
|
|
238496
|
-
* @param includeTypical true to in include typical boundary edges with a single adjacent facet.
|
|
238497
|
-
* @param includeMismatch true to include edges with more than 2 adjacent facets.
|
|
238498
|
-
* @param includeNull true to include edges with identical start and end vertex indices.
|
|
238499
|
-
*/
|
|
238500
|
-
static collectBoundaryEdges(source, includeTypical = true, includeMismatch = true, includeNull = true) {
|
|
238501
|
-
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);
|
|
238502
|
-
PolyfaceQuery.announceBoundaryEdges(source, (ptA, ptB) => collector.captureCurve(_curve_LineSegment3d__WEBPACK_IMPORTED_MODULE_11__.LineSegment3d.create(ptA, ptB)), includeTypical, includeMismatch, includeNull);
|
|
238503
|
-
return collector.grabResult(true);
|
|
238470
|
+
/** Test if the facets in `source` occur in perfectly mated pairs, as is required for a closed manifold volume. */
|
|
238471
|
+
static isPolyfaceClosedByEdgePairing(source) {
|
|
238472
|
+
return this.isPolyfaceManifold(source, false);
|
|
238504
238473
|
}
|
|
238505
238474
|
/**
|
|
238506
238475
|
* Test if the facets in `source` occur in perfectly mated pairs, as is required for a closed manifold volume.
|
|
@@ -238551,6 +238520,37 @@ class PolyfaceQuery {
|
|
|
238551
238520
|
}
|
|
238552
238521
|
}
|
|
238553
238522
|
}
|
|
238523
|
+
/**
|
|
238524
|
+
* Construct a CurveCollection containing boundary edges.
|
|
238525
|
+
* * Each edge is a LineSegment3d.
|
|
238526
|
+
* @param source polyface or visitor.
|
|
238527
|
+
* @param includeTypical true to in include typical boundary edges with a single adjacent facet.
|
|
238528
|
+
* @param includeMismatch true to include edges with more than 2 adjacent facets.
|
|
238529
|
+
* @param includeNull true to include edges with identical start and end vertex indices.
|
|
238530
|
+
*/
|
|
238531
|
+
static boundaryEdges(source, includeTypical = true, includeMismatch = true, includeNull = true) {
|
|
238532
|
+
const result = new _curve_CurveCollection__WEBPACK_IMPORTED_MODULE_5__.BagOfCurves();
|
|
238533
|
+
const announceEdge = (pointA, pointB, _indexA, _indexB, _readIndex) => {
|
|
238534
|
+
result.tryAddChild(_curve_LineSegment3d__WEBPACK_IMPORTED_MODULE_11__.LineSegment3d.create(pointA, pointB));
|
|
238535
|
+
};
|
|
238536
|
+
PolyfaceQuery.announceBoundaryEdges(source, announceEdge, includeTypical, includeMismatch, includeNull);
|
|
238537
|
+
if (result.children.length === 0)
|
|
238538
|
+
return undefined;
|
|
238539
|
+
return result;
|
|
238540
|
+
}
|
|
238541
|
+
/**
|
|
238542
|
+
* Collect boundary edges.
|
|
238543
|
+
* * Return the edges as the simplest collection of chains of line segments.
|
|
238544
|
+
* @param source polyface or visitor.
|
|
238545
|
+
* @param includeTypical true to in include typical boundary edges with a single adjacent facet.
|
|
238546
|
+
* @param includeMismatch true to include edges with more than 2 adjacent facets.
|
|
238547
|
+
* @param includeNull true to include edges with identical start and end vertex indices.
|
|
238548
|
+
*/
|
|
238549
|
+
static collectBoundaryEdges(source, includeTypical = true, includeMismatch = true, includeNull = true) {
|
|
238550
|
+
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);
|
|
238551
|
+
PolyfaceQuery.announceBoundaryEdges(source, (ptA, ptB) => collector.captureCurve(_curve_LineSegment3d__WEBPACK_IMPORTED_MODULE_11__.LineSegment3d.create(ptA, ptB)), includeTypical, includeMismatch, includeNull);
|
|
238552
|
+
return collector.grabResult(true);
|
|
238553
|
+
}
|
|
238554
238554
|
/**
|
|
238555
238555
|
* Load all half edges from a mesh to an IndexedEdgeMatcher.
|
|
238556
238556
|
* @param polyface a mesh or a visitor assumed to have numWrap === 1.
|
|
@@ -239330,21 +239330,6 @@ class PolyfaceQuery {
|
|
|
239330
239330
|
}
|
|
239331
239331
|
return 0;
|
|
239332
239332
|
}
|
|
239333
|
-
/**
|
|
239334
|
-
* Collect facet duplicates.
|
|
239335
|
-
* @param polyface the polyface.
|
|
239336
|
-
* @param includeSingletons if true, non-duplicated facets are included in the output.
|
|
239337
|
-
* @returns an array of arrays describing facet duplication. Each array `entry` in the output contains read
|
|
239338
|
-
* indices of a cluster of facets with the same vertex indices.
|
|
239339
|
-
*/
|
|
239340
|
-
static collectDuplicateFacetIndices(polyface, includeSingletons = false) {
|
|
239341
|
-
const result = [];
|
|
239342
|
-
this.announceDuplicateFacetIndices(polyface, (clusterFacetIndices) => {
|
|
239343
|
-
if (includeSingletons || clusterFacetIndices.length > 1)
|
|
239344
|
-
result.push(clusterFacetIndices.slice());
|
|
239345
|
-
});
|
|
239346
|
-
return result;
|
|
239347
|
-
}
|
|
239348
239333
|
/**
|
|
239349
239334
|
* Announce facet duplicates.
|
|
239350
239335
|
* @returns an array of arrays describing facet duplication. Each array `entry` in the output contains read
|
|
@@ -239392,6 +239377,21 @@ class PolyfaceQuery {
|
|
|
239392
239377
|
announceCluster(clusterArray);
|
|
239393
239378
|
}
|
|
239394
239379
|
}
|
|
239380
|
+
/**
|
|
239381
|
+
* Collect facet duplicates.
|
|
239382
|
+
* @param polyface the polyface.
|
|
239383
|
+
* @param includeSingletons if true, non-duplicated facets are included in the output.
|
|
239384
|
+
* @returns an array of arrays describing facet duplication. Each array `entry` in the output contains read
|
|
239385
|
+
* indices of a cluster of facets with the same vertex indices.
|
|
239386
|
+
*/
|
|
239387
|
+
static collectDuplicateFacetIndices(polyface, includeSingletons = false) {
|
|
239388
|
+
const result = [];
|
|
239389
|
+
this.announceDuplicateFacetIndices(polyface, (clusterFacetIndices) => {
|
|
239390
|
+
if (includeSingletons || clusterFacetIndices.length > 1)
|
|
239391
|
+
result.push(clusterFacetIndices.slice());
|
|
239392
|
+
});
|
|
239393
|
+
return result;
|
|
239394
|
+
}
|
|
239395
239395
|
/**
|
|
239396
239396
|
* Return a new facet set with a subset of facets in polyface.
|
|
239397
239397
|
* @param source the polyface.
|
|
@@ -297375,7 +297375,7 @@ var loadLanguages = instance.loadLanguages;
|
|
|
297375
297375
|
/***/ ((module) => {
|
|
297376
297376
|
|
|
297377
297377
|
"use strict";
|
|
297378
|
-
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.7.0-dev.
|
|
297378
|
+
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"}}');
|
|
297379
297379
|
|
|
297380
297380
|
/***/ })
|
|
297381
297381
|
|