@itwin/ecschema-rpcinterface-tests 3.3.0-dev.34 → 3.3.0-dev.37
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 +47 -33
- package/lib/dist/bundled-tests.js.map +1 -1
- package/package.json +16 -16
|
@@ -197815,7 +197815,7 @@ SetupWalkCameraTool.iconSpec = "icon-camera-location";
|
|
|
197815
197815
|
/*! exports provided: name, version, description, main, module, typings, license, scripts, repository, keywords, author, peerDependencies, //devDependencies, devDependencies, //dependencies, dependencies, nyc, eslintConfig, default */
|
|
197816
197816
|
/***/ (function(module) {
|
|
197817
197817
|
|
|
197818
|
-
module.exports = JSON.parse("{\"name\":\"@itwin/core-frontend\",\"version\":\"3.3.0-dev.
|
|
197818
|
+
module.exports = JSON.parse("{\"name\":\"@itwin/core-frontend\",\"version\":\"3.3.0-dev.37\",\"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\",\"build:ci\":\"npm run -s build && npm run -s build:esm\",\"build:cjs\":\"tsc 1>&2 --outDir lib/cjs\",\"build:esm\":\"tsc 1>&2 --module ES2020 --outDir lib/esm\",\"clean\":\"rimraf lib .rush/temp/package-deps*.json\",\"copy:public\":\"cpx \\\"./src/public/**/*\\\" ./lib/public\",\"docs\":\"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/primitives,**/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-eslintrc -c \\\"../../tools/eslint-plugin/dist/configs/extension-exports-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\"},\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/iTwin/itwinjs-core/tree/master/core/frontend\"},\"keywords\":[\"Bentley\",\"BIM\",\"iModel\",\"digital-twin\",\"iTwin\"],\"author\":{\"name\":\"Bentley Systems, Inc.\",\"url\":\"http://www.bentley.com\"},\"peerDependencies\":{\"@itwin/appui-abstract\":\"workspace:^3.3.0-dev.37\",\"@itwin/core-bentley\":\"workspace:^3.3.0-dev.37\",\"@itwin/core-common\":\"workspace:^3.3.0-dev.37\",\"@itwin/core-geometry\":\"workspace:^3.3.0-dev.37\",\"@itwin/core-orbitgt\":\"workspace:^3.3.0-dev.37\",\"@itwin/core-quantity\":\"workspace:^3.3.0-dev.37\",\"@itwin/webgl-compatibility\":\"workspace:^3.3.0-dev.37\"},\"//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\":\"workspace:*\",\"@itwin/webgl-compatibility\":\"workspace:*\",\"@types/chai\":\"^4.1.4\",\"@types/chai-as-promised\":\"^7\",\"@types/deep-assign\":\"^0.1.0\",\"@types/lodash\":\"^4.14.0\",\"@types/mocha\":\"^8.2.2\",\"@types/node\":\"16.11.7\",\"@types/qs\":\"^6.5.0\",\"@types/semver\":\"^5.5.0\",\"@types/superagent\":\"^4.1.14\",\"@types/sinon\":\"^9.0.0\",\"chai\":\"^4.1.2\",\"chai-as-promised\":\"^7\",\"cpx2\":\"^3.0.0\",\"eslint\":\"^7.11.0\",\"glob\":\"^7.1.2\",\"mocha\":\"^10.0.0\",\"nyc\":\"^15.1.0\",\"rimraf\":\"^3.0.2\",\"sinon\":\"^9.0.2\",\"source-map-loader\":\"^1.0.0\",\"typescript\":\"~4.4.0\",\"webpack\":\"4.42.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/core-i18n\":\"workspace:*\",\"@itwin/core-telemetry\":\"workspace:*\",\"@loaders.gl/core\":\"^3.1.6\",\"@loaders.gl/draco\":\"^3.1.6\",\"deep-assign\":\"^2.0.0\",\"fuse.js\":\"^3.3.0\",\"lodash\":\"^4.17.10\",\"qs\":\"^6.5.1\",\"semver\":\"^5.5.0\",\"superagent\":\"^7.0.1\",\"wms-capabilities\":\"0.4.0\",\"xml-js\":\"~1.6.11\"},\"nyc\":{\"extends\":\"./node_modules/@itwin/build-tools/.nycrc\"},\"eslintConfig\":{\"plugins\":[\"@itwin\"],\"extends\":\"plugin:@itwin/itwinjs-recommended\",\"rules\":{\"@itwin/no-internal-barrel-imports\":[\"error\",{\"required-barrel-modules\":[\"./src/tile/internal.ts\"]}],\"@itwin/public-extension-exports\":[\"error\",{\"releaseTags\":[\"public\",\"preview\"],\"outputApiFile\":false}]},\"overrides\":[{\"files\":[\"*.test.ts\",\"*.test.tsx\",\"**/test/**/*.ts\"],\"rules\":{\"@itwin/no-internal-barrel-imports\":\"off\"}}]}}");
|
|
197819
197819
|
|
|
197820
197820
|
/***/ }),
|
|
197821
197821
|
|
|
@@ -210485,9 +210485,9 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_11__["CurvePrimitiv
|
|
|
210485
210485
|
* * `arc` is the (bounded) arc
|
|
210486
210486
|
* * `fraction10` is the tangency point's position as an interpolating fraction of the line segment from `point1` (backwards) to `point0`
|
|
210487
210487
|
* * `fraction12` is the tangency point's position as an interpolating fraction of the line segment from `point1` (forward) to `point2`
|
|
210488
|
-
* * `
|
|
210488
|
+
* * `point` is the `point1` input.
|
|
210489
210489
|
* * If unable to construct the arc:
|
|
210490
|
-
* * `point` is the `
|
|
210490
|
+
* * `point` is the `point1` input.
|
|
210491
210491
|
* * both fractions are zero
|
|
210492
210492
|
* * `arc` is undefined.
|
|
210493
210493
|
* @param point0 first point of path. (the point before the point of inflection)
|
|
@@ -256564,14 +256564,18 @@ class PolyfaceQuery {
|
|
|
256564
256564
|
if (data.pointIndex[i] === vertexIndex)
|
|
256565
256565
|
data.edgeVisible[i] = value;
|
|
256566
256566
|
}
|
|
256567
|
-
/** Load all half edges from a mesh to an IndexedEdgeMatcher
|
|
256568
|
-
|
|
256567
|
+
/** Load all half edges from a mesh to an IndexedEdgeMatcher.
|
|
256568
|
+
* @param polyface a mesh, or a visitor assumed to have numWrap === 1
|
|
256569
|
+
*/
|
|
256570
|
+
static createIndexedEdges(polyface) {
|
|
256571
|
+
if (polyface instanceof _Polyface__WEBPACK_IMPORTED_MODULE_20__["Polyface"])
|
|
256572
|
+
return this.createIndexedEdges(polyface.createVisitor(1));
|
|
256569
256573
|
const edges = new _IndexedEdgeMatcher__WEBPACK_IMPORTED_MODULE_15__["IndexedEdgeMatcher"]();
|
|
256570
|
-
|
|
256571
|
-
while (
|
|
256572
|
-
const numEdges =
|
|
256574
|
+
polyface.reset();
|
|
256575
|
+
while (polyface.moveToNextFacet()) {
|
|
256576
|
+
const numEdges = polyface.pointCount - 1;
|
|
256573
256577
|
for (let i = 0; i < numEdges; i++) {
|
|
256574
|
-
edges.addEdge(
|
|
256578
|
+
edges.addEdge(polyface.clientPointIndex(i), polyface.clientPointIndex(i + 1), polyface.currentReadIndex());
|
|
256575
256579
|
}
|
|
256576
256580
|
}
|
|
256577
256581
|
return edges;
|
|
@@ -274462,8 +274466,8 @@ class HalfEdgeGraphOps {
|
|
|
274462
274466
|
* @internal
|
|
274463
274467
|
*/
|
|
274464
274468
|
class HalfEdgeGraphMerge {
|
|
274465
|
-
// return
|
|
274466
|
-
// * Note that the usual case (when angle at
|
|
274469
|
+
// return kC <= kB such that stored angles (at extra data index 0 !) kA<=k<kC match.
|
|
274470
|
+
// * Note that the usual case (when angle at kA is not repeated) is kA+1 === kC
|
|
274467
274471
|
static getCommonThetaEndIndex(clusters, order, kA, kB) {
|
|
274468
274472
|
let kC = kA + 1;
|
|
274469
274473
|
const thetaA = clusters.getExtraData(order[kA], 0);
|
|
@@ -274626,7 +274630,7 @@ class HalfEdgeGraphMerge {
|
|
|
274626
274630
|
thetaA = thetaB;
|
|
274627
274631
|
}
|
|
274628
274632
|
else if (nodeB.isMaskSet(_Graph__WEBPACK_IMPORTED_MODULE_6__["HalfEdgeMask"].NULL_FACE)) {
|
|
274629
|
-
const j = unmatchedNullFaceNodes.findIndex((node) =>
|
|
274633
|
+
const j = unmatchedNullFaceNodes.findIndex((node) => nodeB === node);
|
|
274630
274634
|
if (j >= 0) {
|
|
274631
274635
|
unmatchedNullFaceNodes[j] = unmatchedNullFaceNodes[unmatchedNullFaceNodes.length - 1];
|
|
274632
274636
|
unmatchedNullFaceNodes.pop();
|
|
@@ -275317,10 +275321,15 @@ class Triangulator {
|
|
|
275317
275321
|
* * Return true if clearly positive
|
|
275318
275322
|
* * Return false if clearly negative or almost zero.
|
|
275319
275323
|
* @param nodeA node on the diagonal edge of candidate for edge flip.
|
|
275320
|
-
* @param if true, divide the determinant by the sum of absolute values of the cubic terms of the determinant.
|
|
275321
|
-
* @return the determinant as modified per comment (but undefined if the faces are not triangles as expected.)
|
|
275322
275324
|
*/
|
|
275323
275325
|
static computeInCircleDeterminantIsStrongPositive(nodeA) {
|
|
275326
|
+
// Assume triangle A1,A2,B2 is ccw.
|
|
275327
|
+
// Shift the triangle to the origin (by negated A coords).
|
|
275328
|
+
// The Delaunay condition is computed by projecting the origin and the shifted triangle
|
|
275329
|
+
// points up to the paraboloid z = x*x + y*y. Due to the radially symmetric convexity of
|
|
275330
|
+
// this surface and the ccw orientation of this triangle, "A is inside triangle A1,A2,B2"
|
|
275331
|
+
// is equivalent to "the volume of the parallelepiped formed by the projected points is
|
|
275332
|
+
// negative, as computed by the triple product."
|
|
275324
275333
|
const nodeA1 = nodeA.faceSuccessor;
|
|
275325
275334
|
const nodeA2 = nodeA1.faceSuccessor;
|
|
275326
275335
|
if (nodeA2.faceSuccessor !== nodeA)
|
|
@@ -275345,7 +275354,7 @@ class Triangulator {
|
|
|
275345
275354
|
const q = _Geometry__WEBPACK_IMPORTED_MODULE_1__["Geometry"].tripleProduct(wx, wy, tx, vx, vy, ty, ux, uy, tz);
|
|
275346
275355
|
if (q < 0)
|
|
275347
275356
|
return false;
|
|
275348
|
-
const denom = Math.abs(wx * vy * tz) + Math.abs(
|
|
275357
|
+
const denom = Math.abs(wx * vy * tz) + Math.abs(wy * ty * ux) + Math.abs(tx * vx * uy)
|
|
275349
275358
|
+ Math.abs(wx * ty * uy) + Math.abs(wy * vx * tz) + Math.abs(tx * vy * ux);
|
|
275350
275359
|
return q > 1.0e-12 * denom;
|
|
275351
275360
|
}
|
|
@@ -275533,7 +275542,7 @@ class Triangulator {
|
|
|
275533
275542
|
x = q.x;
|
|
275534
275543
|
if (q.hasOwnProperty("y"))
|
|
275535
275544
|
y = q.y;
|
|
275536
|
-
if (q.hasOwnProperty("
|
|
275545
|
+
if (q.hasOwnProperty("z"))
|
|
275537
275546
|
z = q.z;
|
|
275538
275547
|
}
|
|
275539
275548
|
if (!baseNode)
|
|
@@ -275646,18 +275655,18 @@ class Triangulator {
|
|
|
275646
275655
|
ear.setMaskAroundFace(_Graph__WEBPACK_IMPORTED_MODULE_8__["HalfEdgeMask"].TRIANGULATED_FACE);
|
|
275647
275656
|
}
|
|
275648
275657
|
static isInteriorTriangle(a) {
|
|
275649
|
-
if (!a.isMaskSet(_Graph__WEBPACK_IMPORTED_MODULE_8__["HalfEdgeMask"].TRIANGULATED_FACE))
|
|
275658
|
+
if (!a.isMaskSet(_Graph__WEBPACK_IMPORTED_MODULE_8__["HalfEdgeMask"].TRIANGULATED_FACE) || a.isMaskSet(_Graph__WEBPACK_IMPORTED_MODULE_8__["HalfEdgeMask"].EXTERIOR))
|
|
275650
275659
|
return false;
|
|
275651
275660
|
const b = a.faceSuccessor;
|
|
275652
|
-
if (!b.isMaskSet(_Graph__WEBPACK_IMPORTED_MODULE_8__["HalfEdgeMask"].TRIANGULATED_FACE))
|
|
275661
|
+
if (!b.isMaskSet(_Graph__WEBPACK_IMPORTED_MODULE_8__["HalfEdgeMask"].TRIANGULATED_FACE) || b.isMaskSet(_Graph__WEBPACK_IMPORTED_MODULE_8__["HalfEdgeMask"].EXTERIOR))
|
|
275653
275662
|
return false;
|
|
275654
275663
|
const c = b.faceSuccessor;
|
|
275655
|
-
if (!c.isMaskSet(_Graph__WEBPACK_IMPORTED_MODULE_8__["HalfEdgeMask"].TRIANGULATED_FACE))
|
|
275664
|
+
if (!c.isMaskSet(_Graph__WEBPACK_IMPORTED_MODULE_8__["HalfEdgeMask"].TRIANGULATED_FACE) || c.isMaskSet(_Graph__WEBPACK_IMPORTED_MODULE_8__["HalfEdgeMask"].EXTERIOR))
|
|
275656
275665
|
return false;
|
|
275657
275666
|
return c.faceSuccessor === a;
|
|
275658
275667
|
}
|
|
275659
275668
|
/**
|
|
275660
|
-
* Perform 0, 1, or more edge flips to improve aspect ratio just behind an that was just cut.
|
|
275669
|
+
* Perform 0, 1, or more edge flips to improve aspect ratio just behind an ear that was just cut.
|
|
275661
275670
|
* @param ear the triangle corner which just served as the ear node.
|
|
275662
275671
|
* @returns the node at the back corner after flipping."appropriately positioned" node for the usual advance to ear.faceSuccessor.edgeMate.faceSuccessor.
|
|
275663
275672
|
*/
|
|
@@ -275672,18 +275681,18 @@ class Triangulator {
|
|
|
275672
275681
|
// after flip, node A moves to the vertex of D, and is the effective "ear", with the cap edge C A1
|
|
275673
275682
|
// after flip, consider the A1 D (whose nodes are A1 and flipped A!!!)
|
|
275674
275683
|
//
|
|
275675
|
-
//
|
|
275676
|
-
//
|
|
275677
|
-
//
|
|
275678
|
-
//
|
|
275679
|
-
//
|
|
275680
|
-
//
|
|
275681
|
-
//
|
|
275682
|
-
//
|
|
275683
|
-
//
|
|
275684
|
-
//
|
|
275685
|
-
//
|
|
275686
|
-
//
|
|
275684
|
+
// * *
|
|
275685
|
+
// . C0| . / |
|
|
275686
|
+
// . | . C0 /B1|
|
|
275687
|
+
// . | . /v |
|
|
275688
|
+
// . ^| . / |
|
|
275689
|
+
// . A0 ----> B0| . / ^|
|
|
275690
|
+
// *=======================* --> * A1 / B0*
|
|
275691
|
+
// \ A1 <---- B1/ \ / /
|
|
275692
|
+
// \ / \ / /
|
|
275693
|
+
// \ / \ ^/ D1/
|
|
275694
|
+
// \ D1 / \A0/ /
|
|
275695
|
+
// * *
|
|
275687
275696
|
let b0 = ear;
|
|
275688
275697
|
let a0 = b0.facePredecessor;
|
|
275689
275698
|
let b1 = a0.edgeMate;
|
|
@@ -275724,8 +275733,13 @@ class Triangulator {
|
|
|
275724
275733
|
pred = ear === null || ear === void 0 ? void 0 : ear.facePredecessor;
|
|
275725
275734
|
next = ear.faceSuccessor;
|
|
275726
275735
|
next2 = next.faceSuccessor;
|
|
275727
|
-
if (next === ear || next2 === ear
|
|
275736
|
+
if (next === ear || next2 === ear)
|
|
275728
275737
|
return true;
|
|
275738
|
+
if (next2.faceSuccessor === ear) {
|
|
275739
|
+
// if triangle, mask it so that its edges can potentially be flipped by doPostCutFlips()
|
|
275740
|
+
ear.setMaskAroundFace(_Graph__WEBPACK_IMPORTED_MODULE_8__["HalfEdgeMask"].TRIANGULATED_FACE);
|
|
275741
|
+
return true;
|
|
275742
|
+
}
|
|
275729
275743
|
// earcut does not support self intersections.
|
|
275730
275744
|
// BUT .. maybe if we watch from the simplest case of next2 returning to pred it will catch some . . .
|
|
275731
275745
|
// (no need to do flips -- we know it's already a triangle)
|