@itwin/ecschema-rpcinterface-tests 4.0.0-dev.51 → 4.0.0-dev.52
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/_d48c.bundled-tests.js.map +1 -1
- package/lib/dist/bundled-tests.js +290 -169
- 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/object-storage.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_itwin_object-storage-azure_1_5_0_node_modules_itwin_obj-e3e81d.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_3_1_node_modules_loaders_gl_draco_di-d3af41.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_reflect-metadata_0_1_13_node_modules_reflect-metadata_R-610cb3.bundled-tests.js.map +1 -1
- package/package.json +15 -15
|
@@ -37306,7 +37306,9 @@ class ColorDef {
|
|
|
37306
37306
|
static create(val) {
|
|
37307
37307
|
return this.fromTbgr(this.computeTbgr(val));
|
|
37308
37308
|
}
|
|
37309
|
-
/**
|
|
37309
|
+
/** Compute the 0xTTBBGGRR value corresponding to the specified representation of a color.
|
|
37310
|
+
* @see [[fromString]] for a description of valid string representations.
|
|
37311
|
+
*/
|
|
37310
37312
|
static computeTbgr(val) {
|
|
37311
37313
|
switch (typeof val) {
|
|
37312
37314
|
case "number":
|
|
@@ -39439,7 +39441,7 @@ class DisplayStyleSettings {
|
|
|
39439
39441
|
else
|
|
39440
39442
|
this._json.clipStyle = style.toJSON();
|
|
39441
39443
|
}
|
|
39442
|
-
/**
|
|
39444
|
+
/** Convert these settings to their JSON representation. */
|
|
39443
39445
|
toJSON() {
|
|
39444
39446
|
return this._json;
|
|
39445
39447
|
}
|
|
@@ -39618,11 +39620,11 @@ class DisplayStyle3dSettings extends DisplayStyleSettings {
|
|
|
39618
39620
|
}
|
|
39619
39621
|
}
|
|
39620
39622
|
}
|
|
39621
|
-
/**
|
|
39623
|
+
/** Convert these settings to their JSON representation. */
|
|
39622
39624
|
toJSON() {
|
|
39623
39625
|
return this._json3d;
|
|
39624
39626
|
}
|
|
39625
|
-
/**
|
|
39627
|
+
/** See [[DisplayStyleSettings.toOverrides]]. */
|
|
39626
39628
|
toOverrides(options) {
|
|
39627
39629
|
const props = super.toOverrides(options);
|
|
39628
39630
|
if (options?.includeAll)
|
|
@@ -41257,9 +41259,14 @@ class FeatureOverrides {
|
|
|
41257
41259
|
get defaultOverrides() { return this._defaultOverrides; }
|
|
41258
41260
|
/** Whether or not line weights are applied. If false, all lines are drawn with a weight of 1. */
|
|
41259
41261
|
get lineWeights() { return this._lineWeights; }
|
|
41260
|
-
/**
|
|
41262
|
+
/** A set of elements that are always invisible.
|
|
41263
|
+
* @note If an element is present in both `alwaysDrawn` and [[neverDrawn]], it will not be displayed - `neverDrawn` takes precedence.
|
|
41264
|
+
*/
|
|
41261
41265
|
get neverDrawn() { return this._neverDrawn; }
|
|
41262
|
-
/**
|
|
41266
|
+
/** A set of elements that are unconditionally displayed.
|
|
41267
|
+
* @see [[isAlwaysDrawnExclusive]] to specify that *only* elements in this set will be displayed.
|
|
41268
|
+
* @note If an element is present in both `alwaysDrawn` and [[neverDrawn]], it will not be displayed - `neverDrawn` takes precedence.
|
|
41269
|
+
*/
|
|
41263
41270
|
get alwaysDrawn() { return this._alwaysDrawn; }
|
|
41264
41271
|
/** @internal */
|
|
41265
41272
|
isNeverDrawn(elemIdLo, elemIdHi, animationNodeId) {
|
|
@@ -83622,7 +83629,7 @@ class DisplayStyleState extends _EntityState__WEBPACK_IMPORTED_MODULE_6__.Elemen
|
|
|
83622
83629
|
* @see [[overrideSubCategory]]
|
|
83623
83630
|
*/
|
|
83624
83631
|
getSubCategoryOverride(id) { return this.settings.getSubCategoryOverride(id); }
|
|
83625
|
-
/**
|
|
83632
|
+
/** Returns true if solar shadow display is enabled by this display style. */
|
|
83626
83633
|
get wantShadows() {
|
|
83627
83634
|
return this.is3d() && this.viewFlags.shadows && false !== _IModelApp__WEBPACK_IMPORTED_MODULE_7__.IModelApp.renderSystem.options.displaySolarShadows;
|
|
83628
83635
|
}
|
|
@@ -84070,6 +84077,7 @@ class DrawingViewState extends _ViewState__WEBPACK_IMPORTED_MODULE_14__.ViewStat
|
|
|
84070
84077
|
CAST(json_extract(jsonProperties, '$.displaySpatialView') as BOOLEAN) as displaySpatialView
|
|
84071
84078
|
FROM bis.SectionDrawing
|
|
84072
84079
|
WHERE ECInstanceId=${this.baseModelId}`;
|
|
84080
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
84073
84081
|
for await (const row of this.iModel.query(ecsql, undefined, { rowFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.QueryRowFormat.UseJsPropertyNames })) {
|
|
84074
84082
|
spatialView = _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Id64.fromJSON(row.spatialView?.id);
|
|
84075
84083
|
displaySpatialView = !!row.displaySpatialView;
|
|
@@ -84121,14 +84129,14 @@ class DrawingViewState extends _ViewState__WEBPACK_IMPORTED_MODULE_14__.ViewStat
|
|
|
84121
84129
|
}
|
|
84122
84130
|
/** @internal */
|
|
84123
84131
|
isDrawingView() { return true; }
|
|
84124
|
-
/**
|
|
84132
|
+
/** See [[ViewState.getOrigin]]. */
|
|
84125
84133
|
getOrigin() {
|
|
84126
84134
|
const origin = super.getOrigin();
|
|
84127
84135
|
if (this._attachment)
|
|
84128
84136
|
origin.z = -this._attachment.zDepth;
|
|
84129
84137
|
return origin;
|
|
84130
84138
|
}
|
|
84131
|
-
/**
|
|
84139
|
+
/** See [[ViewState.getExtents]]. */
|
|
84132
84140
|
getExtents() {
|
|
84133
84141
|
const extents = super.getExtents();
|
|
84134
84142
|
if (this._attachment)
|
|
@@ -87934,7 +87942,7 @@ class IModelConnection extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.I
|
|
|
87934
87942
|
/** Allow to execute query and read results along with meta data. The result are streamed.
|
|
87935
87943
|
* @param params The values to bind to the parameters (if the ECSQL has any).
|
|
87936
87944
|
* @param config Allow to specify certain flags which control how query is executed.
|
|
87937
|
-
* @returns Returns
|
|
87945
|
+
* @returns Returns an [ECSqlReader]($common) which helps iterate over the result set and also give access to metadata.
|
|
87938
87946
|
* @beta
|
|
87939
87947
|
* */
|
|
87940
87948
|
createQueryReader(ecsql, params, config) {
|
|
@@ -87968,6 +87976,7 @@ class IModelConnection extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.I
|
|
|
87968
87976
|
* @returns Returns the query result as an *AsyncIterableIterator<any>* which lazy load result as needed. The row format is determined by *rowFormat* parameter.
|
|
87969
87977
|
* See [ECSQL row format]($docs/learning/ECSQLRowFormat) for details about the format of the returned rows.
|
|
87970
87978
|
* @throws [IModelError]($common) If there was any error while submitting, preparing or stepping into query
|
|
87979
|
+
* @deprecated in 3.7. Use [[createQueryReader]] instead; it accepts the same parameters.
|
|
87971
87980
|
*/
|
|
87972
87981
|
async *query(ecsql, params, options) {
|
|
87973
87982
|
const builder = new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.QueryOptionsBuilder(options);
|
|
@@ -87986,8 +87995,10 @@ class IModelConnection extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.I
|
|
|
87986
87995
|
* See "[iTwin.js Types used in ECSQL Parameter Bindings]($docs/learning/ECSQLParameterTypes)" for details.
|
|
87987
87996
|
* @returns Return row count.
|
|
87988
87997
|
* @throws [IModelError]($common) If the statement is invalid
|
|
87998
|
+
* @deprecated in 3.7. Count the number of results using `count(*)` where the original query is a subquery instead. E.g., `SELECT count(*) FROM (<query-whose-rows-to-count>)`.
|
|
87989
87999
|
*/
|
|
87990
88000
|
async queryRowCount(ecsql, params) {
|
|
88001
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
87991
88002
|
for await (const row of this.query(`select count(*) from (${ecsql})`, params)) {
|
|
87992
88003
|
return row[0];
|
|
87993
88004
|
}
|
|
@@ -88009,8 +88020,10 @@ class IModelConnection extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.I
|
|
|
88009
88020
|
* @returns Returns the query result as an *AsyncIterableIterator<any>* which lazy load result as needed. The row format is determined by *rowFormat* parameter.
|
|
88010
88021
|
* See [ECSQL row format]($docs/learning/ECSQLRowFormat) for details about the format of the returned rows.
|
|
88011
88022
|
* @throws [IModelError]($common) If there was any error while submitting, preparing or stepping into query
|
|
88023
|
+
* @deprecated in 3.7. Use [[createQueryReader]] instead. Pass in the restart token as part of the `config` argument; e.g., `{ restartToken: myToken }` or `new QueryOptionsBuilder().setRestartToken(myToken).getOptions()`.
|
|
88012
88024
|
*/
|
|
88013
88025
|
async *restartQuery(token, ecsql, params, options) {
|
|
88026
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
88014
88027
|
for await (const row of this.query(ecsql, params, new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.QueryOptionsBuilder(options).setRestartToken(token).getOptions())) {
|
|
88015
88028
|
yield row;
|
|
88016
88029
|
}
|
|
@@ -88553,6 +88566,7 @@ class SnapshotConnection extends IModelConnection {
|
|
|
88553
88566
|
break;
|
|
88554
88567
|
}
|
|
88555
88568
|
const placements = new Array();
|
|
88569
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
88556
88570
|
for await (const row of this._iModel.query(ecsql, undefined, { rowFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.QueryRowFormat.UseJsPropertyNames })) {
|
|
88557
88571
|
const origin = [row.x, row.y, row.z];
|
|
88558
88572
|
const bbox = {
|
|
@@ -92993,6 +93007,7 @@ class SheetViewState extends _ViewState__WEBPACK_IMPORTED_MODULE_14__.ViewState2
|
|
|
92993
93007
|
async queryAttachmentIds() {
|
|
92994
93008
|
const ecsql = `SELECT ECInstanceId as attachmentId FROM bis.ViewAttachment WHERE model.Id=${this.baseModelId}`;
|
|
92995
93009
|
const ids = [];
|
|
93010
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
92996
93011
|
for await (const row of this.iModel.query(ecsql))
|
|
92997
93012
|
ids.push(row[0]);
|
|
92998
93013
|
return ids;
|
|
@@ -95255,6 +95270,7 @@ class ViewCreator2d {
|
|
|
95255
95270
|
*/
|
|
95256
95271
|
this._executeQuery = async (query) => {
|
|
95257
95272
|
const rows = [];
|
|
95273
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
95258
95274
|
for await (const row of this._imodel.query(query, undefined, { rowFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.QueryRowFormat.UseJsPropertyNames }))
|
|
95259
95275
|
rows.push(row.id);
|
|
95260
95276
|
return rows;
|
|
@@ -95343,6 +95359,7 @@ class ViewCreator2d {
|
|
|
95343
95359
|
async _addSheetViewProps(modelId, props) {
|
|
95344
95360
|
let width = 0;
|
|
95345
95361
|
let height = 0;
|
|
95362
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
95346
95363
|
for await (const row of this._imodel.query(`SELECT Width, Height FROM bis.Sheet WHERE ECInstanceId = ?`, _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.QueryBinder.from([modelId]), { rowFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.QueryRowFormat.UseJsPropertyNames })) {
|
|
95347
95364
|
width = row.width;
|
|
95348
95365
|
height = row.height;
|
|
@@ -95470,6 +95487,7 @@ class ViewCreator3d {
|
|
|
95470
95487
|
*/
|
|
95471
95488
|
this._executeQuery = async (query) => {
|
|
95472
95489
|
const rows = [];
|
|
95490
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
95473
95491
|
for await (const row of this._imodel.query(query, undefined, { rowFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.QueryRowFormat.UseJsPropertyNames }))
|
|
95474
95492
|
rows.push(row.id);
|
|
95475
95493
|
return rows;
|
|
@@ -96128,12 +96146,10 @@ class ViewManager {
|
|
|
96128
96146
|
const msg = await hit.iModel.getToolTipMessage(hit.sourceId); // wait for the locate message(s) from the backend
|
|
96129
96147
|
return _IModelApp__WEBPACK_IMPORTED_MODULE_1__.IModelApp.formatElementToolTip(msg);
|
|
96130
96148
|
}
|
|
96131
|
-
/**
|
|
96132
|
-
* @internal
|
|
96149
|
+
/** Register a new [[ToolTipProvider]] to customize the locate tooltip.
|
|
96133
96150
|
* @param provider The new tooltip provider to add.
|
|
96134
|
-
* @throws Error if provider is already
|
|
96151
|
+
* @throws Error if `provider` is already registered.
|
|
96135
96152
|
* @returns a function that may be called to remove this provider (in lieu of calling [[dropToolTipProvider]].)
|
|
96136
|
-
* @see [[dropToolTipProvider]]
|
|
96137
96153
|
*/
|
|
96138
96154
|
addToolTipProvider(provider) {
|
|
96139
96155
|
if (this.toolTipProviders.includes(provider))
|
|
@@ -96142,8 +96158,7 @@ class ViewManager {
|
|
|
96142
96158
|
return () => this.dropToolTipProvider(provider);
|
|
96143
96159
|
}
|
|
96144
96160
|
/** Drop (remove) a [[ToolTipProvider]] so it is no longer active.
|
|
96145
|
-
* @
|
|
96146
|
-
* @param provider The tooltip to drop.
|
|
96161
|
+
* @param provider The tooltip provider to drop.
|
|
96147
96162
|
* @note Does nothing if provider is not currently active.
|
|
96148
96163
|
*/
|
|
96149
96164
|
dropToolTipProvider(provider) {
|
|
@@ -96873,7 +96888,6 @@ class ViewState extends _EntityState__WEBPACK_IMPORTED_MODULE_5__.ElementState {
|
|
|
96873
96888
|
}
|
|
96874
96889
|
/** Execute a function against each [[TileTreeReference]] associated with this view.
|
|
96875
96890
|
* @note This may include tile trees not associated with any [[GeometricModelState]] - e.g., context reality data.
|
|
96876
|
-
* @internal
|
|
96877
96891
|
*/
|
|
96878
96892
|
forEachTileTreeRef(func) {
|
|
96879
96893
|
this.forEachModelTreeRef(func);
|
|
@@ -97657,7 +97671,7 @@ class ViewState3d extends ViewState {
|
|
|
97657
97671
|
val.camera = this.camera;
|
|
97658
97672
|
return val;
|
|
97659
97673
|
}
|
|
97660
|
-
/**
|
|
97674
|
+
/** See [[ViewState.is3d]]. */
|
|
97661
97675
|
is3d() { return true; }
|
|
97662
97676
|
/** @internal */
|
|
97663
97677
|
isDrawingView() { return false; }
|
|
@@ -98332,7 +98346,7 @@ class ViewState2d extends ViewState {
|
|
|
98332
98346
|
val.baseModelId = this.baseModelId;
|
|
98333
98347
|
return val;
|
|
98334
98348
|
}
|
|
98335
|
-
/**
|
|
98349
|
+
/** See [[ViewState.is3d]]. */
|
|
98336
98350
|
is3d() { return false; }
|
|
98337
98351
|
/** @internal */
|
|
98338
98352
|
isSpatialView() { return false; }
|
|
@@ -99200,7 +99214,7 @@ class Viewport {
|
|
|
99200
99214
|
this._decorationsValid = false;
|
|
99201
99215
|
_IModelApp__WEBPACK_IMPORTED_MODULE_10__.IModelApp.requestNextAnimation();
|
|
99202
99216
|
}
|
|
99203
|
-
/** Mark the viewport's scene as
|
|
99217
|
+
/** Mark the viewport's scene as having changed, so that the next call to [[renderFrame]] will recreate it.
|
|
99204
99218
|
* This method is not typically invoked directly - the scene is automatically invalidated in response to events such as moving the viewing frustum,
|
|
99205
99219
|
* changing the set of viewed models, new tiles being loaded, etc.
|
|
99206
99220
|
*/
|
|
@@ -99209,12 +99223,17 @@ class Viewport {
|
|
|
99209
99223
|
this._timePointValid = false;
|
|
99210
99224
|
this.invalidateDecorations();
|
|
99211
99225
|
}
|
|
99212
|
-
/**
|
|
99226
|
+
/** Mark the viewport's "render plan" as having changed, so that the next call to [[renderFrame]] will recreate it.
|
|
99227
|
+
* This method is not typically invoked directly - the render plan is automatically invalidated in response to events such as changing aspects
|
|
99228
|
+
* of the viewport's [[displayStyle]].
|
|
99229
|
+
*/
|
|
99213
99230
|
invalidateRenderPlan() {
|
|
99214
99231
|
this._renderPlanValid = false;
|
|
99215
99232
|
this.invalidateScene();
|
|
99216
99233
|
}
|
|
99217
|
-
/**
|
|
99234
|
+
/** Mark the viewport's [[ViewState]] as having changed, so that the next call to [[renderFrame]] will invoke [[setupFromView]] to synchronize with the view.
|
|
99235
|
+
* This method is not typically invoked directly - the controller is automatically invalidated in response to events such as a call to [[changeView]].
|
|
99236
|
+
*/
|
|
99218
99237
|
invalidateController() {
|
|
99219
99238
|
this._controllerValid = this._analysisFractionValid = false;
|
|
99220
99239
|
this.invalidateRenderPlan();
|
|
@@ -99912,10 +99931,9 @@ class Viewport {
|
|
|
99912
99931
|
_IModelApp__WEBPACK_IMPORTED_MODULE_10__.IModelApp.requestNextAnimation();
|
|
99913
99932
|
}
|
|
99914
99933
|
}
|
|
99915
|
-
/**
|
|
99916
|
-
*
|
|
99934
|
+
/** A unique integer Id assigned to this Viewport upon construction.
|
|
99935
|
+
* It can be useful for comparing and sorting Viewport objects inside of collections like [SortedArray]($core-bentley).
|
|
99917
99936
|
*/
|
|
99918
|
-
/** A unique integer Id for this viewport that can be used for comparing and sorting Viewport objects inside collections like [SortedArray]($core-bentley)s. */
|
|
99919
99937
|
get viewportId() {
|
|
99920
99938
|
return this._viewportId;
|
|
99921
99939
|
}
|
|
@@ -100092,7 +100110,7 @@ class Viewport {
|
|
|
100092
100110
|
if (this._mapTiledGraphicsProvider)
|
|
100093
100111
|
this._mapTiledGraphicsProvider.forEachTileTreeRef(this, (ref) => func(ref));
|
|
100094
100112
|
}
|
|
100095
|
-
/**
|
|
100113
|
+
/** Apply a function to every [[TileTreeReference]] displayed by this viewport. */
|
|
100096
100114
|
forEachTileTreeRef(func) {
|
|
100097
100115
|
this.view.forEachTileTreeRef(func);
|
|
100098
100116
|
this.forEachTiledGraphicsProviderTree(func);
|
|
@@ -100647,9 +100665,10 @@ class Viewport {
|
|
|
100647
100665
|
// producing a flicker to that frustum during the first frame of animation.
|
|
100648
100666
|
this.animate();
|
|
100649
100667
|
}
|
|
100650
|
-
/**
|
|
100651
|
-
*
|
|
100652
|
-
*
|
|
100668
|
+
/** Replace this viewport's [[ViewState]] **without** triggering events like [[onChangeView]].
|
|
100669
|
+
* This is chiefly useful when you are synchronizing the states of two or more viewports, as in [[TwoWayViewportSync]], to avoid triggering unwanted "echo"
|
|
100670
|
+
* events during synchronization.
|
|
100671
|
+
* In all other scenarios, [[changeView]] is the correct method to use.
|
|
100653
100672
|
*/
|
|
100654
100673
|
applyViewState(val) {
|
|
100655
100674
|
this.updateChangeFlags(val);
|
|
@@ -101100,7 +101119,7 @@ class Viewport {
|
|
|
101100
101119
|
queryVisibleFeatures(options, callback) {
|
|
101101
101120
|
return (0,_render_VisibleFeature__WEBPACK_IMPORTED_MODULE_29__.queryVisibleFeatures)(this, options, callback);
|
|
101102
101121
|
}
|
|
101103
|
-
/**
|
|
101122
|
+
/** Record graphics memory consumed by this viewport. */
|
|
101104
101123
|
collectStatistics(stats) {
|
|
101105
101124
|
const trees = new _tile_internal__WEBPACK_IMPORTED_MODULE_22__.DisclosedTileTreeSet();
|
|
101106
101125
|
this.discloseTileTrees(trees);
|
|
@@ -101580,7 +101599,7 @@ class ScreenViewport extends Viewport {
|
|
|
101580
101599
|
setCursor(cursor = "default") {
|
|
101581
101600
|
this.canvas.style.cursor = cursor;
|
|
101582
101601
|
}
|
|
101583
|
-
/**
|
|
101602
|
+
/** See [[Viewport.synchWithView]]. */
|
|
101584
101603
|
synchWithView(options) {
|
|
101585
101604
|
options = options ?? {};
|
|
101586
101605
|
if (this.view.is3d() && options?.globalAlignment)
|
|
@@ -106381,6 +106400,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
106381
106400
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
106382
106401
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
106383
106402
|
*--------------------------------------------------------------------------------------------*/
|
|
106403
|
+
/** @packageDocumentation
|
|
106404
|
+
* @module Utils
|
|
106405
|
+
*/
|
|
106384
106406
|
|
|
106385
106407
|
|
|
106386
106408
|
|
|
@@ -106398,6 +106420,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
106398
106420
|
* (1) If overriding anything in the implementation supplied herein, pass a SystemFactory function to MockRender.App.systemFactory.
|
|
106399
106421
|
* (2) Call MockRender.App.startup() instead of IModelApp.startup() before tests begin.
|
|
106400
106422
|
* (3) Likewise call MockRender.App.shutdown() when finished. This resets the SystemFactory to its default.
|
|
106423
|
+
* @note The APIs within this namespace are intended *strictly* for use with unit tests.
|
|
106401
106424
|
* @internal
|
|
106402
106425
|
*/
|
|
106403
106426
|
var MockRender;
|
|
@@ -106450,14 +106473,12 @@ var MockRender;
|
|
|
106450
106473
|
}
|
|
106451
106474
|
}
|
|
106452
106475
|
MockRender.Builder = Builder;
|
|
106453
|
-
/** @internal */
|
|
106454
106476
|
class Graphic extends _RenderGraphic__WEBPACK_IMPORTED_MODULE_5__.RenderGraphic {
|
|
106455
106477
|
constructor() { super(); }
|
|
106456
106478
|
dispose() { }
|
|
106457
106479
|
collectStatistics(_stats) { }
|
|
106458
106480
|
}
|
|
106459
106481
|
MockRender.Graphic = Graphic;
|
|
106460
|
-
/** @internal */
|
|
106461
106482
|
class List extends Graphic {
|
|
106462
106483
|
constructor(graphics) {
|
|
106463
106484
|
super();
|
|
@@ -106470,7 +106491,6 @@ var MockRender;
|
|
|
106470
106491
|
}
|
|
106471
106492
|
}
|
|
106472
106493
|
MockRender.List = List;
|
|
106473
|
-
/** @internal */
|
|
106474
106494
|
class Branch extends Graphic {
|
|
106475
106495
|
constructor(branch, transform, options) {
|
|
106476
106496
|
super();
|
|
@@ -106481,7 +106501,6 @@ var MockRender;
|
|
|
106481
106501
|
dispose() { this.branch.dispose(); }
|
|
106482
106502
|
}
|
|
106483
106503
|
MockRender.Branch = Branch;
|
|
106484
|
-
/** @internal */
|
|
106485
106504
|
class Batch extends Graphic {
|
|
106486
106505
|
constructor(graphic, featureTable, range) {
|
|
106487
106506
|
super();
|
|
@@ -106506,14 +106525,16 @@ var MockRender;
|
|
|
106506
106525
|
collectStatistics() { }
|
|
106507
106526
|
}
|
|
106508
106527
|
MockRender.AreaPattern = AreaPattern;
|
|
106509
|
-
/** @internal */
|
|
106510
106528
|
class System extends _RenderSystem__WEBPACK_IMPORTED_MODULE_6__.RenderSystem {
|
|
106511
106529
|
get isValid() { return true; }
|
|
106512
106530
|
dispose() { }
|
|
106513
106531
|
get maxTextureSize() { return 4096; }
|
|
106514
106532
|
constructor() { super(); }
|
|
106533
|
+
/** @internal */
|
|
106515
106534
|
doIdleWork() { return false; }
|
|
106535
|
+
/** @internal */
|
|
106516
106536
|
createTarget(canvas) { return new OnScreenTarget(this, canvas); }
|
|
106537
|
+
/** @internal */
|
|
106517
106538
|
createOffscreenTarget(rect) { return new OffScreenTarget(this, rect); }
|
|
106518
106539
|
createGraphic(options) {
|
|
106519
106540
|
return new Builder(this, options);
|
|
@@ -106521,20 +106542,26 @@ var MockRender;
|
|
|
106521
106542
|
createGraphicList(primitives) { return new List(primitives); }
|
|
106522
106543
|
createGraphicBranch(branch, transform, options) { return new Branch(branch, transform, options); }
|
|
106523
106544
|
createBatch(graphic, features, range) { return new Batch(graphic, features, range); }
|
|
106545
|
+
/** @internal */
|
|
106524
106546
|
createMesh(_params) { return new Graphic(); }
|
|
106547
|
+
/** @internal */
|
|
106525
106548
|
createPolyline(_params) { return new Graphic(); }
|
|
106549
|
+
/** @internal */
|
|
106526
106550
|
createPointString(_params) { return new Graphic(); }
|
|
106551
|
+
/** @internal */
|
|
106527
106552
|
createPointCloud(_args, _imodel) { return new Graphic(); }
|
|
106528
106553
|
createRenderGraphic() { return new Graphic(); }
|
|
106554
|
+
/** @internal */
|
|
106529
106555
|
createMeshGeometry() { return new Geometry(); }
|
|
106556
|
+
/** @internal */
|
|
106530
106557
|
createPolylineGeometry() { return new Geometry(); }
|
|
106558
|
+
/** @internal */
|
|
106531
106559
|
createPointStringGeometry() { return new Geometry(); }
|
|
106560
|
+
/** @internal */
|
|
106532
106561
|
createAreaPattern() { return new AreaPattern(); }
|
|
106533
106562
|
}
|
|
106534
106563
|
MockRender.System = System;
|
|
106535
|
-
/** An implementation of IModelApp which uses a MockRender.System by default.
|
|
106536
|
-
* @internal
|
|
106537
|
-
*/
|
|
106564
|
+
/** An implementation of IModelApp which uses a MockRender.System by default. */
|
|
106538
106565
|
class App {
|
|
106539
106566
|
static async startup(opts) {
|
|
106540
106567
|
opts = opts ? opts : {};
|
|
@@ -107272,8 +107299,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
107272
107299
|
/** @packageDocumentation
|
|
107273
107300
|
* @module Rendering
|
|
107274
107301
|
*/
|
|
107275
|
-
/**
|
|
107276
|
-
*
|
|
107302
|
+
/** APIs for querying memory consumed by the [[RenderSystem]].
|
|
107303
|
+
* Use methods like [[Viewport.collectStatistics]] and [[TileTreeReference.collectStatistics]] to query this memory usage.
|
|
107304
|
+
* @public
|
|
107277
107305
|
*/
|
|
107278
107306
|
var RenderMemory;
|
|
107279
107307
|
(function (RenderMemory) {
|
|
@@ -107359,64 +107387,113 @@ var RenderMemory;
|
|
|
107359
107387
|
ConsumerType[ConsumerType["ThematicTextures"] = 9] = "ThematicTextures";
|
|
107360
107388
|
ConsumerType[ConsumerType["COUNT"] = 10] = "COUNT";
|
|
107361
107389
|
})(ConsumerType = RenderMemory.ConsumerType || (RenderMemory.ConsumerType = {}));
|
|
107362
|
-
/**
|
|
107390
|
+
/** Contains statistics about the amount and type of memory consumed by the [[RenderSystem]].
|
|
107391
|
+
* Use methods like [[Viewport.collectStatistics]] and [[TileTreeReference.collectStatistics]] to query this memory usage.
|
|
107392
|
+
* @see [[Statistics.create]] to instantiate an instance of this class.
|
|
107393
|
+
* @public
|
|
107394
|
+
*/
|
|
107363
107395
|
class Statistics {
|
|
107396
|
+
/** @internal */
|
|
107364
107397
|
constructor() {
|
|
107365
107398
|
this._totalBytes = 0;
|
|
107399
|
+
/** @internal */
|
|
107366
107400
|
this.buffers = new Buffers();
|
|
107367
107401
|
this.consumers = [];
|
|
107368
107402
|
for (let i = 0; i < ConsumerType.COUNT; i++)
|
|
107369
107403
|
this.consumers[i] = new Consumers();
|
|
107370
107404
|
}
|
|
107405
|
+
/** Create a new, empty statistics object. */
|
|
107406
|
+
static create() {
|
|
107407
|
+
return new Statistics();
|
|
107408
|
+
}
|
|
107409
|
+
/** The total reported memory consumption, in bytes.
|
|
107410
|
+
* @note A web browser provides no direct access to actual memory used by the host device or its graphics hardware. The reported memory usage
|
|
107411
|
+
* is an estimate based on the number of bytes of data requested via WebGL APIs. It is always an *under-estimate* as each WebGL implementation imposes
|
|
107412
|
+
* its own additional overhead.
|
|
107413
|
+
*/
|
|
107371
107414
|
get totalBytes() { return this._totalBytes; }
|
|
107415
|
+
/** @internal */
|
|
107372
107416
|
get textures() { return this.consumers[ConsumerType.Textures]; }
|
|
107417
|
+
/** @internal */
|
|
107373
107418
|
get vertexTables() { return this.consumers[ConsumerType.VertexTables]; }
|
|
107419
|
+
/** @internal */
|
|
107374
107420
|
get edgeTables() { return this.consumers[ConsumerType.EdgeTables]; }
|
|
107421
|
+
/** @internal */
|
|
107375
107422
|
get featureTables() { return this.consumers[ConsumerType.FeatureTables]; }
|
|
107423
|
+
/** @internal */
|
|
107376
107424
|
get thematicTextures() { return this.consumers[ConsumerType.ThematicTextures]; }
|
|
107425
|
+
/** @internal */
|
|
107377
107426
|
get featureOverrides() { return this.consumers[ConsumerType.FeatureOverrides]; }
|
|
107427
|
+
/** @internal */
|
|
107378
107428
|
get clipVolumes() { return this.consumers[ConsumerType.ClipVolumes]; }
|
|
107429
|
+
/** @internal */
|
|
107379
107430
|
get planarClassifiers() { return this.consumers[ConsumerType.PlanarClassifiers]; }
|
|
107431
|
+
/** @internal */
|
|
107380
107432
|
get shadowMaps() { return this.consumers[ConsumerType.ShadowMaps]; }
|
|
107433
|
+
/** @internal */
|
|
107381
107434
|
get textureAttachments() { return this.consumers[ConsumerType.TextureAttachments]; }
|
|
107435
|
+
/** @internal */
|
|
107382
107436
|
addBuffer(type, numBytes) {
|
|
107383
107437
|
this._totalBytes += numBytes;
|
|
107384
107438
|
this.buffers.addBuffer(type, numBytes);
|
|
107385
107439
|
}
|
|
107440
|
+
/** @internal */
|
|
107386
107441
|
addConsumer(type, numBytes) {
|
|
107387
107442
|
this._totalBytes += numBytes;
|
|
107388
107443
|
this.consumers[type].addConsumer(numBytes);
|
|
107389
107444
|
}
|
|
107445
|
+
/** @internal */
|
|
107390
107446
|
clear() {
|
|
107391
107447
|
this._totalBytes = 0;
|
|
107392
107448
|
this.buffers.clear();
|
|
107393
107449
|
for (const consumer of this.consumers)
|
|
107394
107450
|
consumer.clear();
|
|
107395
107451
|
}
|
|
107452
|
+
/** @internal */
|
|
107396
107453
|
addTexture(numBytes) { this.addConsumer(ConsumerType.Textures, numBytes); }
|
|
107454
|
+
/** @internal */
|
|
107397
107455
|
addVertexTable(numBytes) { this.addConsumer(ConsumerType.VertexTables, numBytes); }
|
|
107456
|
+
/** @internal */
|
|
107398
107457
|
addEdgeTable(numBytes) { this.addConsumer(ConsumerType.EdgeTables, numBytes); }
|
|
107458
|
+
/** @internal */
|
|
107399
107459
|
addFeatureTable(numBytes) { this.addConsumer(ConsumerType.FeatureTables, numBytes); }
|
|
107460
|
+
/** @internal */
|
|
107400
107461
|
addThematicTexture(numBytes) { this.addConsumer(ConsumerType.ThematicTextures, numBytes); }
|
|
107462
|
+
/** @internal */
|
|
107401
107463
|
addFeatureOverrides(numBytes) { this.addConsumer(ConsumerType.FeatureOverrides, numBytes); }
|
|
107464
|
+
/** @internal */
|
|
107402
107465
|
addClipVolume(numBytes) { this.addConsumer(ConsumerType.ClipVolumes, numBytes); }
|
|
107466
|
+
/** @internal */
|
|
107403
107467
|
addPlanarClassifier(numBytes) { this.addConsumer(ConsumerType.PlanarClassifiers, numBytes); }
|
|
107468
|
+
/** @internal */
|
|
107404
107469
|
addShadowMap(numBytes) { this.addConsumer(ConsumerType.ShadowMaps, numBytes); }
|
|
107470
|
+
/** @internal */
|
|
107405
107471
|
addTextureAttachment(numBytes) { this.addConsumer(ConsumerType.TextureAttachments, numBytes); }
|
|
107472
|
+
/** @internal */
|
|
107406
107473
|
addSurface(numBytes) { this.addBuffer(BufferType.Surfaces, numBytes); }
|
|
107474
|
+
/** @internal */
|
|
107407
107475
|
addVisibleEdges(numBytes) { this.addBuffer(BufferType.VisibleEdges, numBytes); }
|
|
107476
|
+
/** @internal */
|
|
107408
107477
|
addIndexedEdges(numBytes) { this.addBuffer(BufferType.IndexedEdges, numBytes); }
|
|
107478
|
+
/** @internal */
|
|
107409
107479
|
addSilhouetteEdges(numBytes) { this.addBuffer(BufferType.SilhouetteEdges, numBytes); }
|
|
107480
|
+
/** @internal */
|
|
107410
107481
|
addPolylineEdges(numBytes) { this.addBuffer(BufferType.PolylineEdges, numBytes); }
|
|
107482
|
+
/** @internal */
|
|
107411
107483
|
addPolyline(numBytes) { this.addBuffer(BufferType.Polylines, numBytes); }
|
|
107484
|
+
/** @internal */
|
|
107412
107485
|
addPointString(numBytes) { this.addBuffer(BufferType.PointStrings, numBytes); }
|
|
107486
|
+
/** @internal */
|
|
107413
107487
|
addPointCloud(numBytes) { this.addBuffer(BufferType.PointClouds, numBytes); }
|
|
107488
|
+
/** @internal */
|
|
107414
107489
|
addTerrain(numBytes) {
|
|
107415
107490
|
this.addBuffer(BufferType.Terrain, numBytes);
|
|
107416
107491
|
}
|
|
107492
|
+
/** @internal */
|
|
107417
107493
|
addRealityMesh(numBytes) {
|
|
107418
107494
|
this.addBuffer(BufferType.RealityMesh, numBytes);
|
|
107419
107495
|
}
|
|
107496
|
+
/** @internal */
|
|
107420
107497
|
addInstances(numBytes) { this.addBuffer(BufferType.Instances, numBytes); }
|
|
107421
107498
|
}
|
|
107422
107499
|
RenderMemory.Statistics = Statistics;
|
|
@@ -151348,7 +151425,7 @@ class TileTreeReference /* implements RenderMemory.Consumer */ {
|
|
|
151348
151425
|
if (!contentRange.isNull)
|
|
151349
151426
|
union.extendRange(contentRange);
|
|
151350
151427
|
}
|
|
151351
|
-
/**
|
|
151428
|
+
/** Record graphics memory consumed by this tile tree reference. */
|
|
151352
151429
|
collectStatistics(stats) {
|
|
151353
151430
|
const tree = this.treeOwner.tileTree;
|
|
151354
151431
|
if (undefined !== tree)
|
|
@@ -162992,6 +163069,7 @@ class ElementSetTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.Primiti
|
|
|
162992
163069
|
ids.add(id);
|
|
162993
163070
|
try {
|
|
162994
163071
|
const ecsql = `SELECT ECInstanceId as id, Parent.Id as parentId FROM BisCore.GeometricElement WHERE Parent.Id IN (SELECT Parent.Id as parentId FROM BisCore.GeometricElement WHERE parent.Id != 0 AND ECInstanceId IN (${id}))`;
|
|
163072
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
162995
163073
|
for await (const row of this.iModel.query(ecsql, undefined, { rowFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.QueryRowFormat.UseJsPropertyNames })) {
|
|
162996
163074
|
ids.add(row.parentId);
|
|
162997
163075
|
ids.add(row.id);
|
|
@@ -210624,22 +210702,25 @@ class Matrix3d {
|
|
|
210624
210702
|
return result;
|
|
210625
210703
|
}
|
|
210626
210704
|
/**
|
|
210627
|
-
* Multiply `this` Matrix3d (considered
|
|
210705
|
+
* Multiply `this` Matrix3d (considered to be a Transform with 0 `origin`) times `other` Transform.
|
|
210706
|
+
* **Note:** If `other = [B b]`, then we promote `this` matrix to be a Transform [A 0].
|
|
210707
|
+
* Then `this * other` is defined as [A*B Aa]. That's because we create a 4x4 matrix for each Transform
|
|
210708
|
+
* with the 3x3 `matrix` and `origin` as upper 3x4 part of a 4x4 matrix and 0001 as the final row. Then we
|
|
210709
|
+
* multiply those two 4x4 matrixes:
|
|
210628
210710
|
* ```
|
|
210629
210711
|
* equation
|
|
210630
210712
|
* \begin{matrix}
|
|
210631
|
-
* \text{
|
|
210632
|
-
* \text{other
|
|
210713
|
+
* \text{`this` matrix }\bold{A}\text{ promoted to block Transform} & \blockTransform{A}{0} \\
|
|
210714
|
+
* \text{`other` Transform with `matrix` part }\bold{B}\text{ and `origin` part }\bold{b} & \blockTransform{B}{b}\\
|
|
210633
210715
|
* \text{product}& \blockTransform{A}{0}\blockTransform{B}{b}=\blockTransform{AB}{Ab}
|
|
210634
210716
|
* \end{matrix}
|
|
210635
210717
|
* ```
|
|
210636
|
-
* @param other
|
|
210637
|
-
* @param result
|
|
210718
|
+
* @param other the `other` Transform to be multiplied to `this` matrix.
|
|
210719
|
+
* @param result optional preallocated result to reuse.
|
|
210638
210720
|
*/
|
|
210639
210721
|
multiplyMatrixTransform(other, result) {
|
|
210640
210722
|
if (!result)
|
|
210641
210723
|
return _Transform__WEBPACK_IMPORTED_MODULE_5__.Transform.createRefs(this.multiplyXYZ(other.origin.x, other.origin.y, other.origin.z), this.multiplyMatrixMatrix(other.matrix));
|
|
210642
|
-
// be sure to do the point multiplication first before aliasing changes the matrix
|
|
210643
210724
|
this.multiplyXYZtoXYZ(other.origin, result.origin);
|
|
210644
210725
|
this.multiplyMatrixMatrix(other.matrix, result.matrix);
|
|
210645
210726
|
return result;
|
|
@@ -220462,11 +220543,15 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
220462
220543
|
* * The math for a Transform `T` consisting of a Matrix3d `M` and a Point3d `o` on a Vector3d `p` is: `Tp = M*p + o`.
|
|
220463
220544
|
* In other words, `T` is a combination of two operations on `p`: the action of matrix multiplication, followed by a
|
|
220464
220545
|
* translation. `Origin` is a traditional term for `o`, because `T` can be interpreted as a change of basis from the
|
|
220465
|
-
* global axes centered at the global origin, to a new set of axes centered at `o`.
|
|
220466
|
-
* * Beware that for common transformations (e.g. scale about point, rotate around an axis
|
|
220467
|
-
*
|
|
220468
|
-
*
|
|
220469
|
-
*
|
|
220546
|
+
* global axes centered at the global origin, to a new set of axes specified by matrix M columns centered at `o`.
|
|
220547
|
+
* * Beware that for common transformations (e.g. scale about point, rotate around an axis) the `fixed point` that
|
|
220548
|
+
* is used when describing the transform is NOT the `origin` stored in the transform. Setup methods (e.g
|
|
220549
|
+
* createFixedPointAndMatrix, createScaleAboutPoint) take care of determining the appropriate origin coordinates.
|
|
220550
|
+
* * If `T` is a translation, no point is fixed by `T`.
|
|
220551
|
+
* * If `T` is the identity, all points are fixed by `T`.
|
|
220552
|
+
* * If `T` is a scale about a point, one point is fixed by `T`.
|
|
220553
|
+
* * If `T` is a rotation about an axis, a line is fixed by `T`.
|
|
220554
|
+
* * If `T` is a projection to the plane, a plane is fixed by `T`.
|
|
220470
220555
|
* @public
|
|
220471
220556
|
*/
|
|
220472
220557
|
class Transform {
|
|
@@ -220759,22 +220844,32 @@ class Transform {
|
|
|
220759
220844
|
const origin = _Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.xyzMinusMatrixTimesXYZ(fixedPoint, matrix, fixedPoint);
|
|
220760
220845
|
return Transform.createRefs(origin, matrix, result);
|
|
220761
220846
|
}
|
|
220762
|
-
/**
|
|
220847
|
+
/**
|
|
220848
|
+
* Transform the input 2d point (using `Tp = M*p + o`).
|
|
220849
|
+
* Return as a new point or in the pre-allocated result (if result is given).
|
|
220850
|
+
*/
|
|
220763
220851
|
multiplyPoint2d(point, result) {
|
|
220764
|
-
// Tx = Mx + o so we return Mx + o
|
|
220765
220852
|
return _Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.xyPlusMatrixTimesXY(this._origin, this._matrix, point, result);
|
|
220766
220853
|
}
|
|
220767
|
-
/**
|
|
220854
|
+
/**
|
|
220855
|
+
* Transform the input 3d point (using `Tp = M*p + o`).
|
|
220856
|
+
* Return as a new point or in the pre-allocated result (if result is given).
|
|
220857
|
+
*/
|
|
220768
220858
|
multiplyPoint3d(point, result) {
|
|
220769
220859
|
// Tx = Mx + o so we return Mx + o
|
|
220770
220860
|
return _Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.xyzPlusMatrixTimesXYZ(this._origin, this._matrix, point, result);
|
|
220771
220861
|
}
|
|
220772
|
-
/**
|
|
220862
|
+
/**
|
|
220863
|
+
* Transform the input 3d point in place (using `Tp = M*p + o`).
|
|
220864
|
+
* Return as a new point or in the pre-allocated result (if result is given).
|
|
220865
|
+
*/
|
|
220773
220866
|
multiplyXYAndZInPlace(point) {
|
|
220774
|
-
// Tx = Mx + o so we override x by Mx + o
|
|
220775
220867
|
return _Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.xyzPlusMatrixTimesXYZInPlace(this._origin, this._matrix, point);
|
|
220776
220868
|
}
|
|
220777
|
-
/**
|
|
220869
|
+
/**
|
|
220870
|
+
* Transform the input 3d point (using `Tp = M*p + o`).
|
|
220871
|
+
* Return as a new point or in the pre-allocated result (if result is given).
|
|
220872
|
+
*/
|
|
220778
220873
|
multiplyXYZ(x, y, z = 0, result) {
|
|
220779
220874
|
// Tx = Mx + o so we return Mx + o
|
|
220780
220875
|
return _Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.xyzPlusMatrixTimesCoordinates(this._origin, this._matrix, x, y, z, result);
|
|
@@ -220820,7 +220915,7 @@ class Transform {
|
|
|
220820
220915
|
return _Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.xyzPlusMatrixTimesCoordinatesToFloat64Array(this._origin, this._matrix, x, y, z, result);
|
|
220821
220916
|
}
|
|
220822
220917
|
/**
|
|
220823
|
-
* Treat the 3x3 matrix and origin as upper 3x4 part of a 4x4 matrix, with 0001 as the final row. Now multiply
|
|
220918
|
+
* Treat the 3x3 `matrix` and `origin` as upper 3x4 part of a 4x4 matrix, with 0001 as the final row. Now multiply
|
|
220824
220919
|
* the transposed of this 4x4 matrix by Point4d given as xyzw. Return as a new point4d (`M*p` as first 3 elements
|
|
220825
220920
|
* and `o*p + w` as last element where `p = (x,y,z)`) or in the pre-allocated result (if result is given).
|
|
220826
220921
|
*/
|
|
@@ -220829,13 +220924,13 @@ class Transform {
|
|
|
220829
220924
|
const origin = this._origin;
|
|
220830
220925
|
return _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_3__.Point4d.create((x * coffs[0]) + (y * coffs[3]) + (z * coffs[6]), (x * coffs[1]) + (y * coffs[4]) + (z * coffs[7]), (x * coffs[2]) + (y * coffs[5]) + (z * coffs[8]), (x * origin.x) + (y * origin.y) + (z * origin.z) + w, result);
|
|
220831
220926
|
}
|
|
220832
|
-
/** For each point in the array, replace point by the transformed point (
|
|
220927
|
+
/** For each point in the array, replace point by the transformed point (using `Tp = M*p + o`) */
|
|
220833
220928
|
multiplyPoint3dArrayInPlace(points) {
|
|
220834
220929
|
let point;
|
|
220835
220930
|
for (point of points)
|
|
220836
220931
|
_Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.xyzPlusMatrixTimesXYZ(this._origin, this._matrix, point, point);
|
|
220837
220932
|
}
|
|
220838
|
-
/** For each point in the 2d array, replace point by the transformed point (
|
|
220933
|
+
/** For each point in the 2d array, replace point by the transformed point (using `Tp = M*p + o`) */
|
|
220839
220934
|
multiplyPoint3dArrayArrayInPlace(chains) {
|
|
220840
220935
|
for (const chain of chains)
|
|
220841
220936
|
this.multiplyPoint3dArrayInPlace(chain);
|
|
@@ -220872,58 +220967,23 @@ class Transform {
|
|
|
220872
220967
|
return this._matrix.multiplyInverseXYZAsPoint3d(x - this._origin.x, y - this._origin.y, z - this._origin.z, result);
|
|
220873
220968
|
}
|
|
220874
220969
|
/**
|
|
220875
|
-
* *
|
|
220876
|
-
*
|
|
220877
|
-
* * if result is not given, return a new array.
|
|
220878
|
-
*/
|
|
220879
|
-
multiplyInversePoint3dArray(source, result) {
|
|
220880
|
-
if (!this._matrix.computeCachedInverse(true))
|
|
220881
|
-
return undefined;
|
|
220882
|
-
const originX = this.origin.x;
|
|
220883
|
-
const originY = this.origin.y;
|
|
220884
|
-
const originZ = this.origin.z;
|
|
220885
|
-
if (result) {
|
|
220886
|
-
const n = Transform.matchArrayLengths(source, result, _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.createZero);
|
|
220887
|
-
for (let i = 0; i < n; i++)
|
|
220888
|
-
this._matrix.multiplyInverseXYZAsPoint3d(source[i].x - originX, source[i].y - originY, source[i].z - originZ, result[i]);
|
|
220889
|
-
}
|
|
220890
|
-
result = [];
|
|
220891
|
-
for (const p of source)
|
|
220892
|
-
result.push(this._matrix.multiplyInverseXYZAsPoint3d(p.x - originX, p.y - originY, p.z - originZ));
|
|
220893
|
-
return result;
|
|
220894
|
-
}
|
|
220895
|
-
/**
|
|
220896
|
-
* * For each point in source: multiply transformInverse * point in place in the point.
|
|
220897
|
-
* * Return false if not invertible.
|
|
220898
|
-
*/
|
|
220899
|
-
multiplyInversePoint3dArrayInPlace(source) {
|
|
220900
|
-
if (!this._matrix.computeCachedInverse(true))
|
|
220901
|
-
return false;
|
|
220902
|
-
const originX = this.origin.x;
|
|
220903
|
-
const originY = this.origin.y;
|
|
220904
|
-
const originZ = this.origin.z;
|
|
220905
|
-
const n = source.length;
|
|
220906
|
-
for (let i = 0; i < n; i++)
|
|
220907
|
-
this._matrix.multiplyInverseXYZAsPoint3d(source[i].x - originX, source[i].y - originY, source[i].z - originZ, source[i]);
|
|
220908
|
-
return true;
|
|
220909
|
-
}
|
|
220910
|
-
/**
|
|
220911
|
-
* * Compute (if needed) the inverse of the matrix part, thereby ensuring inverse operations can complete.
|
|
220912
|
-
* * Return true if matrix inverse completes.
|
|
220970
|
+
* * Compute (if needed) the inverse of the `matrix` part of the Transform, thereby ensuring inverse
|
|
220971
|
+
* operations can complete.
|
|
220913
220972
|
* @param useCached If true, accept prior cached inverse if available.
|
|
220973
|
+
* @returns `true` if matrix inverse completes, `false` otherwise.
|
|
220914
220974
|
*/
|
|
220915
220975
|
computeCachedInverse(useCached = true) {
|
|
220916
220976
|
return this._matrix.computeCachedInverse(useCached);
|
|
220917
220977
|
}
|
|
220918
220978
|
/**
|
|
220919
|
-
*
|
|
220920
|
-
* * If destination has
|
|
220921
|
-
*
|
|
220922
|
-
*
|
|
220923
|
-
* @param
|
|
220979
|
+
* Match the length of destination array with the length of source array
|
|
220980
|
+
* * If destination has more elements than source, remove the extra elements.
|
|
220981
|
+
* * If destination has fewer elements than source, use `constructionFunction` to create new elements.
|
|
220982
|
+
* *
|
|
220983
|
+
* @param source the source array
|
|
220984
|
+
* @param dest the destination array
|
|
220985
|
+
* @param constructionFunction function to call to create new elements.
|
|
220924
220986
|
*/
|
|
220925
|
-
// modify destination so it has non-null points for the same length as the source.
|
|
220926
|
-
// (ASSUME existing elements of dest are non-null, and that parameters are given as either Point2d or Point3d arrays)
|
|
220927
220987
|
static matchArrayLengths(source, dest, constructionFunction) {
|
|
220928
220988
|
const numSource = source.length;
|
|
220929
220989
|
const numDest = dest.length;
|
|
@@ -220938,72 +220998,125 @@ class Transform {
|
|
|
220938
220998
|
return numSource;
|
|
220939
220999
|
}
|
|
220940
221000
|
/**
|
|
220941
|
-
*
|
|
220942
|
-
* *
|
|
220943
|
-
*
|
|
221001
|
+
* If for each point `p` we have `Tp = M*p + o = point` (where `point` is the transformed point), then
|
|
221002
|
+
* `p = MInverse * (point - o)`. This function returns the array of original points `p[]` if `points`
|
|
221003
|
+
* is the array of transformed point (`Tp = point` for each `p` and `point`).
|
|
221004
|
+
* * If `results` is given, resize it to match the input `points` array and update it with original points `p[]`.
|
|
221005
|
+
* * If `results` is not given, return a new array.
|
|
221006
|
+
* * Returns `undefined` if the `matrix` part if this Transform is singular.
|
|
221007
|
+
*/
|
|
221008
|
+
multiplyInversePoint3dArray(points, results) {
|
|
221009
|
+
if (!this._matrix.computeCachedInverse(true))
|
|
221010
|
+
return undefined;
|
|
221011
|
+
const originX = this.origin.x;
|
|
221012
|
+
const originY = this.origin.y;
|
|
221013
|
+
const originZ = this.origin.z;
|
|
221014
|
+
if (results) {
|
|
221015
|
+
const n = Transform.matchArrayLengths(points, results, _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.createZero);
|
|
221016
|
+
for (let i = 0; i < n; i++)
|
|
221017
|
+
this._matrix.multiplyInverseXYZAsPoint3d(points[i].x - originX, points[i].y - originY, points[i].z - originZ, results[i]);
|
|
221018
|
+
}
|
|
221019
|
+
results = [];
|
|
221020
|
+
for (const point of points)
|
|
221021
|
+
results.push(this._matrix.multiplyInverseXYZAsPoint3d(point.x - originX, point.y - originY, point.z - originZ));
|
|
221022
|
+
return results;
|
|
221023
|
+
}
|
|
221024
|
+
/**
|
|
221025
|
+
* If for each point `p` we have `Tp = M*p + o = point` (where `point` is the transformed point), then
|
|
221026
|
+
* `p = MInverse * (point - o)`. This function calculates the array of original points `p[]` if `points`
|
|
221027
|
+
* is the array of transformed point (`Tp = point` for each `p` and `point`) and replaces `points`
|
|
221028
|
+
* with the array of original points.
|
|
221029
|
+
* * Returns `true` if the `matrix` part if this Transform is invertible and `false if singular.
|
|
221030
|
+
*/
|
|
221031
|
+
multiplyInversePoint3dArrayInPlace(points) {
|
|
221032
|
+
if (!this._matrix.computeCachedInverse(true))
|
|
221033
|
+
return false;
|
|
221034
|
+
for (const point of points)
|
|
221035
|
+
this._matrix.multiplyInverseXYZAsPoint3d(point.x - this.origin.x, point.y - this.origin.y, point.z - this.origin.z, point);
|
|
221036
|
+
return true;
|
|
221037
|
+
}
|
|
221038
|
+
/**
|
|
221039
|
+
* Transform the input 2d point array (using `Tp = M*p + o`).
|
|
221040
|
+
* * If `result` is given, resize it to match the input `points` array and update it with transformed points.
|
|
221041
|
+
* * If `result` is not given, return a new array.
|
|
220944
221042
|
*/
|
|
220945
|
-
multiplyPoint2dArray(
|
|
221043
|
+
multiplyPoint2dArray(points, result) {
|
|
220946
221044
|
if (result) {
|
|
220947
|
-
const n = Transform.matchArrayLengths(
|
|
221045
|
+
const n = Transform.matchArrayLengths(points, result, _Point2dVector2d__WEBPACK_IMPORTED_MODULE_4__.Point2d.createZero);
|
|
220948
221046
|
for (let i = 0; i < n; i++)
|
|
220949
|
-
_Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.xyPlusMatrixTimesXY(this._origin, this._matrix,
|
|
221047
|
+
_Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.xyPlusMatrixTimesXY(this._origin, this._matrix, points[i], result[i]);
|
|
220950
221048
|
return result;
|
|
220951
221049
|
}
|
|
220952
221050
|
result = [];
|
|
220953
|
-
for (const p of
|
|
221051
|
+
for (const p of points)
|
|
220954
221052
|
result.push(_Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.xyPlusMatrixTimesXY(this._origin, this._matrix, p));
|
|
220955
221053
|
return result;
|
|
220956
221054
|
}
|
|
220957
221055
|
/**
|
|
220958
|
-
*
|
|
220959
|
-
* * If result is given, resize to match
|
|
220960
|
-
* * If result is not given, return a new array.
|
|
221056
|
+
* Transform the input 3d point array (using `Tp = M*p + o`).
|
|
221057
|
+
* * If `result` is given, resize it to match the input `points` array and update it with transformed points.
|
|
221058
|
+
* * If `result` is not given, return a new array.
|
|
220961
221059
|
*/
|
|
220962
|
-
multiplyPoint3dArray(
|
|
221060
|
+
multiplyPoint3dArray(points, result) {
|
|
220963
221061
|
if (result) {
|
|
220964
|
-
const n = Transform.matchArrayLengths(
|
|
221062
|
+
const n = Transform.matchArrayLengths(points, result, _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.createZero);
|
|
220965
221063
|
for (let i = 0; i < n; i++)
|
|
220966
|
-
_Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.xyzPlusMatrixTimesXYZ(this._origin, this._matrix,
|
|
221064
|
+
_Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.xyzPlusMatrixTimesXYZ(this._origin, this._matrix, points[i], result[i]);
|
|
220967
221065
|
return result;
|
|
220968
221066
|
}
|
|
220969
221067
|
result = [];
|
|
220970
|
-
for (const p of
|
|
221068
|
+
for (const p of points)
|
|
220971
221069
|
result.push(_Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.xyzPlusMatrixTimesXYZ(this._origin, this._matrix, p));
|
|
220972
221070
|
return result;
|
|
220973
221071
|
}
|
|
220974
221072
|
/**
|
|
220975
|
-
* Multiply the vector by the
|
|
220976
|
-
* * The
|
|
220977
|
-
* *
|
|
221073
|
+
* Multiply the vector by the `matrix` part of the Transform.
|
|
221074
|
+
* * The `origin` part of Transform is not used.
|
|
221075
|
+
* * If `result` is given, update it with the multiplication. Otherwise, create a new Vector3d.
|
|
220978
221076
|
*/
|
|
220979
221077
|
multiplyVector(vector, result) {
|
|
220980
221078
|
return this._matrix.multiplyVector(vector, result);
|
|
220981
221079
|
}
|
|
220982
221080
|
/**
|
|
220983
|
-
* Multiply the vector
|
|
220984
|
-
* * The
|
|
221081
|
+
* Multiply the vector by the `matrix` part of the Transform in place.
|
|
221082
|
+
* * The `origin` part of Transform is not used.
|
|
220985
221083
|
*/
|
|
220986
221084
|
multiplyVectorInPlace(vector) {
|
|
220987
221085
|
this._matrix.multiplyVectorInPlace(vector);
|
|
220988
221086
|
}
|
|
220989
221087
|
/**
|
|
220990
|
-
* Multiply the vector (x,y,z) by the
|
|
220991
|
-
* * The
|
|
220992
|
-
* *
|
|
221088
|
+
* Multiply the vector (x,y,z) by the `matrix` part of the Transform.
|
|
221089
|
+
* * The `origin` part of Transform is not used.
|
|
221090
|
+
* * If `result` is given, update it with the multiplication. Otherwise, create a new Vector3d.
|
|
220993
221091
|
*/
|
|
220994
221092
|
multiplyVectorXYZ(x, y, z, result) {
|
|
220995
221093
|
return this._matrix.multiplyXYZ(x, y, z, result);
|
|
220996
221094
|
}
|
|
220997
|
-
/**
|
|
221095
|
+
/**
|
|
221096
|
+
* Calculate `transformA * transformB` and store it into the calling instance (`this`).
|
|
221097
|
+
* * **Note:** If `transformA = [A a]` and `transformB = [B b]` then `transformA * transformB` is defined as
|
|
221098
|
+
* `[A*B Ab+a]`. See `multiplyTransformTransform` doc for math details.
|
|
221099
|
+
* @param transformA first operand
|
|
221100
|
+
* @param transformB second operand
|
|
221101
|
+
*/
|
|
221102
|
+
setMultiplyTransformTransform(transformA, transformB) {
|
|
221103
|
+
_Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.xyzPlusMatrixTimesXYZ(transformA._origin, transformA._matrix, transformB._origin, this._origin);
|
|
221104
|
+
transformA._matrix.multiplyMatrixMatrix(transformB._matrix, this._matrix);
|
|
221105
|
+
}
|
|
221106
|
+
/**
|
|
221107
|
+
* Multiply `this` Transform times `other` Transform.
|
|
221108
|
+
* **Note:** If `this = [A a]` and `other = [B b]` then `this * other` is defined as [A*B Ab+a].
|
|
221109
|
+
* That's because we create a 4x4 matrix for each Transform with the 3x3 `matrix` and `origin`
|
|
221110
|
+
* as upper 3x4 part of a 4x4 matrix and 0001 as the final row. Then we multiply those two 4x4 matrixes:
|
|
220998
221111
|
* ```
|
|
220999
221112
|
* equation
|
|
221000
221113
|
* \begin{matrix}
|
|
221001
|
-
* \text{`this`
|
|
221002
|
-
* \text{`other`
|
|
221114
|
+
* \text{`this` Transform with `matrix` part }\bold{A}\text{ and `origin` part }\bold{a} & \blockTransform{A}{a}\\
|
|
221115
|
+
* \text{`other` Transform with `matrix` part }\bold{B}\text{ and `origin` part }\bold{b} & \blockTransform{B}{b} \\
|
|
221003
221116
|
* \text{product}& \blockTransform{A}{a}\blockTransform{B}{b}=\blockTransform{AB}{Ab + a}
|
|
221004
221117
|
* \end{matrix}
|
|
221005
221118
|
* ```
|
|
221006
|
-
* @param other
|
|
221119
|
+
* @param other the 'other` Transform to be multiplied to `this` Transform.
|
|
221007
221120
|
* @param result optional preallocated result to reuse.
|
|
221008
221121
|
*/
|
|
221009
221122
|
multiplyTransformTransform(other, result) {
|
|
@@ -221013,30 +221126,20 @@ class Transform {
|
|
|
221013
221126
|
return result;
|
|
221014
221127
|
}
|
|
221015
221128
|
/**
|
|
221016
|
-
* Multiply
|
|
221017
|
-
*
|
|
221018
|
-
*
|
|
221019
|
-
|
|
221020
|
-
|
|
221021
|
-
if (Transform._scratchPoint === undefined)
|
|
221022
|
-
Transform._scratchPoint = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create();
|
|
221023
|
-
_Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.xyzPlusMatrixTimesXYZ(transformA._origin, transformA._matrix, transformB._origin, Transform._scratchPoint);
|
|
221024
|
-
this._origin.setFrom(Transform._scratchPoint);
|
|
221025
|
-
transformA._matrix.multiplyMatrixMatrix(transformB._matrix, this._matrix);
|
|
221026
|
-
}
|
|
221027
|
-
// [Q A][R 0] = [QR A]
|
|
221028
|
-
// [0 1][0 1] [0 1]
|
|
221029
|
-
/**
|
|
221030
|
-
* Multiply this Transform times other Matrix3d, with other considered to be a Transform with 0 translation.
|
|
221129
|
+
* Multiply `this` Transform times `other` Matrix3d (considered to be a Transform with 0 `origin`).
|
|
221130
|
+
* **Note:** If `this = [A a]`, then we promote `other` matrix to be a Transform [B 0].
|
|
221131
|
+
* Then `this * other` is defined as [A*B a]. That's because we create a 4x4 matrix for each Transform
|
|
221132
|
+
* with the 3x3 `matrix` and `origin` as upper 3x4 part of a 4x4 matrix and 0001 as the final row. Then we
|
|
221133
|
+
* multiply those two 4x4 matrixes:
|
|
221031
221134
|
* ```
|
|
221032
221135
|
* equation
|
|
221033
221136
|
* \begin{matrix}
|
|
221034
|
-
* \text{`this`
|
|
221035
|
-
* \text{`other` matrix }\bold{B}\text{ promoted to block
|
|
221137
|
+
* \text{`this` Transform with `matrix` part }\bold{A}\text{ and `origin` part }\bold{a} & \blockTransform{A}{a}\\
|
|
221138
|
+
* \text{`other` matrix }\bold{B}\text{ promoted to block Transform} & \blockTransform{B}{0} \\
|
|
221036
221139
|
* \text{product}& \blockTransform{A}{a}\blockTransform{B}{0}=\blockTransform{AB}{a}
|
|
221037
221140
|
* \end{matrix}
|
|
221038
221141
|
* ```
|
|
221039
|
-
* @param other
|
|
221142
|
+
* @param other the `other` Matrix3d to be multiplied to `this` Transform.
|
|
221040
221143
|
* @param result optional preallocated result to reuse.
|
|
221041
221144
|
*/
|
|
221042
221145
|
multiplyTransformMatrix3d(other, result) {
|
|
@@ -221047,15 +221150,17 @@ class Transform {
|
|
|
221047
221150
|
return result;
|
|
221048
221151
|
}
|
|
221049
221152
|
/**
|
|
221050
|
-
* Return the
|
|
221153
|
+
* Return the Range of the transformed corners.
|
|
221051
221154
|
* * The 8 corners are transformed individually.
|
|
221052
|
-
* * Note
|
|
221053
|
-
*
|
|
221155
|
+
* * **Note:** Suppose you have a geometry, a range box around that geometry, and your Transform is a rotation.
|
|
221156
|
+
* If you rotate the range box and recompute a new range box around the rotated range box, then the new range
|
|
221157
|
+
* box will have a larger volume than the original range box. However, if you rotate the geometry itself and
|
|
221158
|
+
* then recompute the range box, it will be a tighter range box around the rotated geometry. `multiplyRange`
|
|
221159
|
+
* function creates the larger range box because it only has access to the range box and the geometry itself.
|
|
221054
221160
|
*/
|
|
221055
221161
|
multiplyRange(range, result) {
|
|
221056
221162
|
if (range.isNull)
|
|
221057
221163
|
return range.clone(result);
|
|
221058
|
-
// snag current values to allow aliasing.
|
|
221059
221164
|
const lowX = range.low.x;
|
|
221060
221165
|
const lowY = range.low.y;
|
|
221061
221166
|
const lowZ = range.low.z;
|
|
@@ -221074,9 +221179,9 @@ class Transform {
|
|
|
221074
221179
|
return result;
|
|
221075
221180
|
}
|
|
221076
221181
|
/**
|
|
221077
|
-
*
|
|
221078
|
-
*
|
|
221079
|
-
*
|
|
221182
|
+
* Return a Transform which is the inverse of `this` Transform.
|
|
221183
|
+
* * If `transform = [M o]` then `transformInverse = [MInverse MInverse*-o]`
|
|
221184
|
+
* * Return `undefined` if this Transform's matrix is singular.
|
|
221080
221185
|
*/
|
|
221081
221186
|
inverse(result) {
|
|
221082
221187
|
const matrixInverse = this._matrix.inverse(result ? result._matrix : undefined);
|
|
@@ -221090,15 +221195,15 @@ class Transform {
|
|
|
221090
221195
|
return Transform.createRefs(matrixInverse.multiplyXYZ(-this._origin.x, -this._origin.y, -this._origin.z), matrixInverse);
|
|
221091
221196
|
}
|
|
221092
221197
|
/**
|
|
221093
|
-
* Initialize
|
|
221094
|
-
*
|
|
221095
|
-
*
|
|
221096
|
-
*
|
|
221097
|
-
*
|
|
221098
|
-
*
|
|
221099
|
-
* @param
|
|
221100
|
-
*
|
|
221101
|
-
*
|
|
221198
|
+
* Initialize 2 Transforms: First Transform maps a box (axis aligned) specified by `min` and `max` to
|
|
221199
|
+
* the unit box specified by 000 and 111 and inverse of it. Second Transform is the reverse of first.
|
|
221200
|
+
* @param min the min corner of the box
|
|
221201
|
+
* @param max the max corner of the box
|
|
221202
|
+
* @param npcToGlobal maps global (the unit box specified by 000 and 111) to NPC (a box specified by `min`
|
|
221203
|
+
* and `max`). Object created by caller, re-initialized here.
|
|
221204
|
+
* @param globalToNpc maps NPC (a box specified by `min` and `max`) to global (the unit box specified by
|
|
221205
|
+
* 000 and 111). Object created by caller, re-initialized here.
|
|
221206
|
+
* * NPC stands for `Normalized Projection Coordinate`
|
|
221102
221207
|
*/
|
|
221103
221208
|
static initFromRange(min, max, npcToGlobal, globalToNpc) {
|
|
221104
221209
|
const diag = max.minus(min);
|
|
@@ -221109,10 +221214,26 @@ class Transform {
|
|
|
221109
221214
|
if (diag.z === 0.0)
|
|
221110
221215
|
diag.z = 1.0;
|
|
221111
221216
|
const rMatrix = new _Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d();
|
|
221217
|
+
/**
|
|
221218
|
+
* [diag.x 0 0 min.x]
|
|
221219
|
+
* npcToGlobal = [ 0 diag.y 0 min.y]
|
|
221220
|
+
* [ 0 0 diag.y min.z]
|
|
221221
|
+
*
|
|
221222
|
+
* npcToGlobal * 0 = min
|
|
221223
|
+
* npcToGlobal * 1 = diag + min = max
|
|
221224
|
+
*/
|
|
221112
221225
|
if (npcToGlobal) {
|
|
221113
221226
|
_Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.createScale(diag.x, diag.y, diag.z, rMatrix);
|
|
221114
221227
|
Transform.createOriginAndMatrix(min, rMatrix, npcToGlobal);
|
|
221115
221228
|
}
|
|
221229
|
+
/**
|
|
221230
|
+
* [1/diag.x 0 0 -min.x/diag.x]
|
|
221231
|
+
* globalToNpc = [ 0 1/diag.y 0 -min.y/diag.y]
|
|
221232
|
+
* [ 0 0 1/diag.y -min.z/diag.z]
|
|
221233
|
+
*
|
|
221234
|
+
* globalToNpc * min = min/diag - min/diag = 0
|
|
221235
|
+
* globalToNpc * max = max/diag - min/diag = diag/diag = 1
|
|
221236
|
+
*/
|
|
221116
221237
|
if (globalToNpc) {
|
|
221117
221238
|
const origin = new _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d(-min.x / diag.x, -min.y / diag.y, -min.z / diag.z);
|
|
221118
221239
|
_Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.createScale(1.0 / diag.x, 1.0 / diag.y, 1.0 / diag.z, rMatrix);
|
|
@@ -288368,7 +288489,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
|
|
|
288368
288489
|
/***/ ((module) => {
|
|
288369
288490
|
|
|
288370
288491
|
"use strict";
|
|
288371
|
-
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.0.0-dev.
|
|
288492
|
+
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.0.0-dev.52","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":"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","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 \\"./node_modules/@itwin/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:^4.0.0-dev.52","@itwin/core-bentley":"workspace:^4.0.0-dev.52","@itwin/core-common":"workspace:^4.0.0-dev.52","@itwin/core-geometry":"workspace:^4.0.0-dev.52","@itwin/core-orbitgt":"workspace:^4.0.0-dev.52","@itwin/core-quantity":"workspace:^4.0.0-dev.52"},"//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":"nightly","@itwin/webgl-compatibility":"workspace:*","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/deep-assign":"^0.1.0","@types/mocha":"^8.2.2","@types/node":"^18.11.5","@types/qs":"^6.5.0","@types/semver":"7.3.10","@types/superagent":"^4.1.14","@types/sinon":"^9.0.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","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.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/object-storage-azure":"^1.5.0","@itwin/cloud-agnostic-core":"^1.5.0","@itwin/object-storage-core":"^1.5.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","deep-assign":"^2.0.0","fuse.js":"^3.3.0","qs":"^6.5.3","semver":"^7.3.5","superagent":"^7.1.5","wms-capabilities":"0.4.0","reflect-metadata":"0.1.13"},"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"}}]}}');
|
|
288372
288493
|
|
|
288373
288494
|
/***/ })
|
|
288374
288495
|
|