@itwin/rpcinterface-full-stack-tests 3.4.0-dev.22 → 3.4.0-dev.25
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.
|
@@ -196507,7 +196507,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
196507
196507
|
/* harmony export */ });
|
|
196508
196508
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
196509
196509
|
/* harmony import */ var _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../geometry3d/Plane3dByOriginAndUnitNormal */ "../../core/geometry/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js");
|
|
196510
|
-
/* harmony import */ var
|
|
196510
|
+
/* harmony import */ var _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../geometry3d/GrowableFloat64Array */ "../../core/geometry/lib/esm/geometry3d/GrowableFloat64Array.js");
|
|
196511
196511
|
/* harmony import */ var _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../geometry3d/GrowableXYZArray */ "../../core/geometry/lib/esm/geometry3d/GrowableXYZArray.js");
|
|
196512
196512
|
/* harmony import */ var _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../geometry3d/Matrix3d */ "../../core/geometry/lib/esm/geometry3d/Matrix3d.js");
|
|
196513
196513
|
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
@@ -196515,6 +196515,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
196515
196515
|
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
196516
196516
|
/* harmony import */ var _ClipPlane__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ClipPlane */ "../../core/geometry/lib/esm/clipping/ClipPlane.js");
|
|
196517
196517
|
/* harmony import */ var _ClipUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ClipUtils */ "../../core/geometry/lib/esm/clipping/ClipUtils.js");
|
|
196518
|
+
/* harmony import */ var _polyface_Polyface__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../polyface/Polyface */ "../../core/geometry/lib/esm/polyface/Polyface.js");
|
|
196519
|
+
/* harmony import */ var _polyface_PolyfaceQuery__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../polyface/PolyfaceQuery */ "../../core/geometry/lib/esm/polyface/PolyfaceQuery.js");
|
|
196518
196520
|
/*---------------------------------------------------------------------------------------------
|
|
196519
196521
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
196520
196522
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -196529,6 +196531,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
196529
196531
|
|
|
196530
196532
|
|
|
196531
196533
|
|
|
196534
|
+
|
|
196535
|
+
|
|
196532
196536
|
/**
|
|
196533
196537
|
* A ConvexClipPlaneSet is a collection of ClipPlanes, often used for bounding regions of space.
|
|
196534
196538
|
* @public
|
|
@@ -196810,7 +196814,7 @@ class ConvexClipPlaneSet {
|
|
|
196810
196814
|
return true;
|
|
196811
196815
|
}
|
|
196812
196816
|
/** Return true if `point` satisfies `point.isPointOnOrInside` for all planes */
|
|
196813
|
-
isPointOnOrInside(point, tolerance) {
|
|
196817
|
+
isPointOnOrInside(point, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.smallMetricDistance) {
|
|
196814
196818
|
const interiorTolerance = Math.abs(tolerance); // Interior tolerance should always be positive. (TFS# 246598).
|
|
196815
196819
|
for (const plane of this._planes) {
|
|
196816
196820
|
if (!plane.isPointOnOrInside(point, (plane.interior ? interiorTolerance : tolerance)))
|
|
@@ -197206,10 +197210,50 @@ class ConvexClipPlaneSet {
|
|
|
197206
197210
|
if (newInside)
|
|
197207
197211
|
insideFragments.push(newInside);
|
|
197208
197212
|
}
|
|
197213
|
+
/** Create a convex clip set from a convex mesh.
|
|
197214
|
+
* * Create a plane for each facet.
|
|
197215
|
+
* * Assemble the planes as a single clip plane set.
|
|
197216
|
+
* * If the facets are closed by edge pairing, use the sign of the computed volume to point the plane normals inward.
|
|
197217
|
+
* * If the facets are not closed, the facet orientation determines plane orientation.
|
|
197218
|
+
* * The implication of this is that if the facets are a convex volume, the returned clip plane set is convex.
|
|
197219
|
+
* @param convexMesh input mesh. For best results, the mesh should be closed and convex.
|
|
197220
|
+
* @param result optional preallocated result to reuse and return
|
|
197221
|
+
* @return clipper and volume (zero if mesh is not closed)
|
|
197222
|
+
*/
|
|
197223
|
+
static createConvexPolyface(convexMesh, result) {
|
|
197224
|
+
result = this.createEmpty(result);
|
|
197225
|
+
let vol = 0;
|
|
197226
|
+
let myMesh;
|
|
197227
|
+
let myVisitor;
|
|
197228
|
+
if (convexMesh instanceof _polyface_Polyface__WEBPACK_IMPORTED_MODULE_9__.Polyface) {
|
|
197229
|
+
myMesh = convexMesh;
|
|
197230
|
+
myVisitor = convexMesh.createVisitor(0);
|
|
197231
|
+
}
|
|
197232
|
+
else {
|
|
197233
|
+
myMesh = convexMesh.clientPolyface();
|
|
197234
|
+
myVisitor = convexMesh;
|
|
197235
|
+
}
|
|
197236
|
+
if (myMesh && myVisitor) {
|
|
197237
|
+
if (_polyface_PolyfaceQuery__WEBPACK_IMPORTED_MODULE_10__.PolyfaceQuery.isPolyfaceClosedByEdgePairing(myMesh))
|
|
197238
|
+
vol = _polyface_PolyfaceQuery__WEBPACK_IMPORTED_MODULE_10__.PolyfaceQuery.sumTetrahedralVolumes(myVisitor);
|
|
197239
|
+
const scale = vol > 0.0 ? -1.0 : 1.0; // point clipper normals inward if mesh normals point outward
|
|
197240
|
+
const normal = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.create();
|
|
197241
|
+
const plane = _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_1__.Plane3dByOriginAndUnitNormal.createXYPlane();
|
|
197242
|
+
myVisitor.reset();
|
|
197243
|
+
while (myVisitor.moveToNextFacet()) {
|
|
197244
|
+
if (undefined !== _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_6__.PolygonOps.areaNormalGo(myVisitor.point, normal)) {
|
|
197245
|
+
normal.scaleInPlace(scale);
|
|
197246
|
+
if (undefined !== _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_1__.Plane3dByOriginAndUnitNormal.create(myVisitor.point.front(), normal, plane))
|
|
197247
|
+
result.addPlaneToConvexSet(plane);
|
|
197248
|
+
}
|
|
197249
|
+
}
|
|
197250
|
+
}
|
|
197251
|
+
return { clipper: result, volume: vol };
|
|
197252
|
+
}
|
|
197209
197253
|
}
|
|
197210
197254
|
/** Value acting as "at infinity" for coordinates along a ray. */
|
|
197211
197255
|
ConvexClipPlaneSet.hugeVal = 1e37;
|
|
197212
|
-
ConvexClipPlaneSet._clipArcFractionArray = new
|
|
197256
|
+
ConvexClipPlaneSet._clipArcFractionArray = new _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_11__.GrowableFloat64Array();
|
|
197213
197257
|
|
|
197214
197258
|
|
|
197215
197259
|
/***/ }),
|
|
@@ -225148,10 +225192,12 @@ class XYZ {
|
|
|
225148
225192
|
}
|
|
225149
225193
|
return index;
|
|
225150
225194
|
}
|
|
225151
|
-
/** Return true if the
|
|
225195
|
+
/** Return true if the x,y,z components are all nearly zero to tolerance Geometry.smallMetricDistance */
|
|
225152
225196
|
get isAlmostZero() {
|
|
225153
225197
|
return _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isSmallMetricDistance(this.x) && _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isSmallMetricDistance(this.y) && _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isSmallMetricDistance(this.z);
|
|
225154
225198
|
}
|
|
225199
|
+
/** Return true if the x,y,z components are all exactly zero */
|
|
225200
|
+
get isZero() { return this.x === 0.0 && this.y === 0.0 && this.z === 0.0; }
|
|
225155
225201
|
/** Return the largest absolute value of any component */
|
|
225156
225202
|
maxAbs() { return Math.max(Math.abs(this.x), Math.abs(this.y), Math.abs(this.z)); }
|
|
225157
225203
|
/** Return the sqrt of the sum of squared x,y,z parts */
|
|
@@ -227597,12 +227643,13 @@ class PolygonOps {
|
|
|
227597
227643
|
static areaNormalGo(points, result) {
|
|
227598
227644
|
if (!result)
|
|
227599
227645
|
result = new _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d();
|
|
227646
|
+
else
|
|
227647
|
+
result.setZero();
|
|
227600
227648
|
const n = points.length;
|
|
227601
227649
|
if (n === 3) {
|
|
227602
227650
|
points.crossProductIndexIndexIndex(0, 1, 2, result);
|
|
227603
227651
|
}
|
|
227604
|
-
else if (n
|
|
227605
|
-
result.setZero();
|
|
227652
|
+
else if (n > 3) {
|
|
227606
227653
|
// This will work with or without closure edge. If closure is given, the last vector is 000.
|
|
227607
227654
|
for (let i = 2; i < n; i++) {
|
|
227608
227655
|
points.accumulateCrossProductIndexIndexIndex(0, i - 1, i, result);
|
|
@@ -227610,7 +227657,7 @@ class PolygonOps {
|
|
|
227610
227657
|
}
|
|
227611
227658
|
// ALL BRANCHES SUM FULL CROSS PRODUCTS AND EXPECT SCALE HERE
|
|
227612
227659
|
result.scaleInPlace(0.5);
|
|
227613
|
-
return result;
|
|
227660
|
+
return result.isZero ? undefined : result;
|
|
227614
227661
|
}
|
|
227615
227662
|
/** return a vector which is perpendicular to the polygon and has magnitude equal to the polygon area. */
|
|
227616
227663
|
static areaNormal(points, result) {
|
|
@@ -227750,8 +227797,10 @@ class PolygonOps {
|
|
|
227750
227797
|
* Return a unit normal to the plane of the polygon.
|
|
227751
227798
|
* @param points array of points around the polygon.
|
|
227752
227799
|
* @param result caller-allocated result vector.
|
|
227800
|
+
* @return true if and only if result has unit length
|
|
227753
227801
|
*/
|
|
227754
227802
|
static unitNormal(points, result) {
|
|
227803
|
+
result.setZero();
|
|
227755
227804
|
let n = points.length;
|
|
227756
227805
|
if (n > 1 && points.getPoint3dAtUncheckedPointIndex(0).isExactEqual(points.getPoint3dAtUncheckedPointIndex(n - 1)))
|
|
227757
227806
|
--n; // ignore closure point
|
|
@@ -287148,7 +287197,7 @@ class TestContext {
|
|
|
287148
287197
|
this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
|
|
287149
287198
|
const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${(_a = process.env.IMJS_URL_PREFIX) !== null && _a !== void 0 ? _a : ""}api.bentley.com/imodels` } });
|
|
287150
287199
|
await core_frontend_1.NoRenderApp.startup({
|
|
287151
|
-
applicationVersion: "3.4.0-dev.
|
|
287200
|
+
applicationVersion: "3.4.0-dev.25",
|
|
287152
287201
|
applicationId: this.settings.gprid,
|
|
287153
287202
|
authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.adminUserAccessToken),
|
|
287154
287203
|
hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
|
|
@@ -287215,12 +287264,6 @@ describe("Basic Scenarios", async () => {
|
|
|
287215
287264
|
const iModelId = testContext.iModelWithChangesets.iModelId;
|
|
287216
287265
|
await openIModelAndQueryPage(iTwinId, iModelId);
|
|
287217
287266
|
});
|
|
287218
|
-
// imodeljs does not allow this -- changesetid must be non-empty for routing purposes.
|
|
287219
|
-
it.skip("should successfully open a new IModel without changesets for read and Get Properties for an Element TestCase:872675", async () => {
|
|
287220
|
-
const iTwinId = testContext.iTwinId;
|
|
287221
|
-
const iModelId = testContext.iModelWithChangesets.iModelId;
|
|
287222
|
-
await openIModelAndQueryPage(iTwinId, iModelId);
|
|
287223
|
-
});
|
|
287224
287267
|
it("should open iModel and Execute Query TestCase:819343", async () => {
|
|
287225
287268
|
var e_1, _a;
|
|
287226
287269
|
const iModel = await testContext.iModelWithChangesets.getConnection();
|
|
@@ -287240,52 +287283,6 @@ describe("Basic Scenarios", async () => {
|
|
|
287240
287283
|
}
|
|
287241
287284
|
expect(rows).not.to.be.empty;
|
|
287242
287285
|
});
|
|
287243
|
-
/* This test is wrong. If two users open the same imodel using the same mode in the same backend, then they
|
|
287244
|
-
will share a single briefcase in the backend. When either user closes the imodel, then the briefcase will
|
|
287245
|
-
be closed. The backend does not maintain some kind of ref count that would keep the briefcase open
|
|
287246
|
-
for the second connection.
|
|
287247
|
-
it("should not affect other users when iModel is closed TestCase:819344 #orchestrator", async () => {
|
|
287248
|
-
const iModelId = testContext.iModelWithChangesets.iModelId;
|
|
287249
|
-
const iTwinId = testContext.iModelWithChangesets.iTwinId;
|
|
287250
|
-
const openMode = OpenMode.Readonly;
|
|
287251
|
-
|
|
287252
|
-
const originalAppAuth = TestRpcClientManager.configuration.applicationAuthorizationValue;
|
|
287253
|
-
|
|
287254
|
-
try {
|
|
287255
|
-
// Get access token of user that does not have permission to read given iModel
|
|
287256
|
-
const user1accessToken = await testContext.regularUser1.getAccessToken();
|
|
287257
|
-
const user1accessTokenString = user1accessToken.toTokenString() || "";
|
|
287258
|
-
|
|
287259
|
-
TestRpcClientManager.configuration.applicationAuthorizationValue = user1accessTokenString;
|
|
287260
|
-
const iModel1 = await IModelConnection.open(user1accessToken, iTwinId, iModelId, openMode);
|
|
287261
|
-
|
|
287262
|
-
// Open the same imodel for another user
|
|
287263
|
-
const user2accessToken = await testContext.regularUser2.getAccessToken();
|
|
287264
|
-
const user2accessTokenString = user2accessToken.toTokenString() || "";
|
|
287265
|
-
|
|
287266
|
-
TestRpcClientManager.configuration.applicationAuthorizationValue = user2accessTokenString;
|
|
287267
|
-
const iModel2 = await IModelConnection.open(user2accessToken, iTwinId, iModelId, openMode);
|
|
287268
|
-
const query = "SELECT ECInstanceId AS id FROM BisCore.Element";
|
|
287269
|
-
|
|
287270
|
-
// Act: Close the iModel for the same user
|
|
287271
|
-
{
|
|
287272
|
-
TestRpcClientManager.configuration.applicationAuthorizationValue = user1accessTokenString;
|
|
287273
|
-
const rows = await iModel1.queryPage(query);
|
|
287274
|
-
expect(rows).to.exist.and.be.not.empty;
|
|
287275
|
-
await iModel1.close(user1accessToken);
|
|
287276
|
-
}
|
|
287277
|
-
|
|
287278
|
-
// Assert: Previous session close should not affect other users
|
|
287279
|
-
{
|
|
287280
|
-
TestRpcClientManager.configuration.applicationAuthorizationValue = user2accessTokenString;
|
|
287281
|
-
const rows = await iModel2.queryPage(query);
|
|
287282
|
-
expect(rows).to.exist.and.be.not.empty;
|
|
287283
|
-
}
|
|
287284
|
-
} finally {
|
|
287285
|
-
TestRpcClientManager.configuration.applicationAuthorizationValue = originalAppAuth;
|
|
287286
|
-
}
|
|
287287
|
-
});
|
|
287288
|
-
*/
|
|
287289
287286
|
});
|
|
287290
287287
|
|
|
287291
287288
|
|
|
@@ -305612,7 +305609,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
|
|
|
305612
305609
|
/***/ ((module) => {
|
|
305613
305610
|
|
|
305614
305611
|
"use strict";
|
|
305615
|
-
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"3.4.0-dev.
|
|
305612
|
+
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"3.4.0-dev.25","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.4.0-dev.25","@itwin/core-bentley":"workspace:^3.4.0-dev.25","@itwin/core-common":"workspace:^3.4.0-dev.25","@itwin/core-geometry":"workspace:^3.4.0-dev.25","@itwin/core-orbitgt":"workspace:^3.4.0-dev.25","@itwin/core-quantity":"workspace:^3.4.0-dev.25","@itwin/webgl-compatibility":"workspace:^3.4.0-dev.25"},"//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.3.1","@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":"7.3.10","@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":"^4.0.0","typescript":"~4.4.0","webpack":"^5.64.4"},"//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":"^7.3.5","superagent":"7.1.3","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"}}]}}');
|
|
305616
305613
|
|
|
305617
305614
|
/***/ }),
|
|
305618
305615
|
|