@itwin/rpcinterface-full-stack-tests 5.0.0-dev.112 → 5.0.0-dev.113
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 +487 -189
- package/lib/dist/bundled-tests.js.map +1 -1
- package/package.json +13 -13
|
@@ -88818,13 +88818,13 @@ var CurrentImdlVersion;
|
|
|
88818
88818
|
* front-end is not capable of reading the tile content. Otherwise, this front-end can read the tile content even if the header specifies a
|
|
88819
88819
|
* greater minor version than CurrentVersion.Minor, although some data may be skipped.
|
|
88820
88820
|
*/
|
|
88821
|
-
CurrentImdlVersion[CurrentImdlVersion["Major"] =
|
|
88821
|
+
CurrentImdlVersion[CurrentImdlVersion["Major"] = 37] = "Major";
|
|
88822
88822
|
/** The unsigned 16-bit minor version number. If the major version in the tile header is equal to CurrentVersion.Major, then this package can
|
|
88823
88823
|
* read the tile content even if the minor version in the tile header is greater than this value, although some data may be skipped.
|
|
88824
88824
|
*/
|
|
88825
88825
|
CurrentImdlVersion[CurrentImdlVersion["Minor"] = 0] = "Minor";
|
|
88826
88826
|
/** The unsigned 32-bit version number derived from the 16-bit major and minor version numbers. */
|
|
88827
|
-
CurrentImdlVersion[CurrentImdlVersion["Combined"] =
|
|
88827
|
+
CurrentImdlVersion[CurrentImdlVersion["Combined"] = 2424832] = "Combined";
|
|
88828
88828
|
})(CurrentImdlVersion || (CurrentImdlVersion = {}));
|
|
88829
88829
|
/** Header embedded at the beginning of binary tile data in iMdl format describing its contents.
|
|
88830
88830
|
* @internal
|
|
@@ -89169,6 +89169,7 @@ var TileOptions;
|
|
|
89169
89169
|
disableMagnification: false,
|
|
89170
89170
|
alwaysSubdivideIncompleteTiles: false,
|
|
89171
89171
|
edgeOptions,
|
|
89172
|
+
disablePolyfaceDecimation: 0 !== (tree.flags & TreeFlags.DisablePolyfaceDecimation),
|
|
89172
89173
|
};
|
|
89173
89174
|
}
|
|
89174
89175
|
TileOptions.fromTreeIdAndContentId = fromTreeIdAndContentId;
|
|
@@ -89203,14 +89204,15 @@ class Parser {
|
|
|
89203
89204
|
}
|
|
89204
89205
|
if (Object.keys(parsedContentId).some((key) => parsedContentId.hasOwnProperty(key) && typeof parsedContentId[key] === "number" && !Number.isFinite(parsedContentId[key])))
|
|
89205
89206
|
throw new Error("Invalid content Id");
|
|
89207
|
+
const disablePolyfaceDecimation = options.disablePolyfaceDecimation;
|
|
89206
89208
|
let treeId;
|
|
89207
89209
|
if (classifier) {
|
|
89208
|
-
treeId = { ...classifier, animationId };
|
|
89210
|
+
treeId = { ...classifier, animationId, disablePolyfaceDecimation };
|
|
89209
89211
|
}
|
|
89210
89212
|
else {
|
|
89211
89213
|
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(undefined !== primary);
|
|
89212
89214
|
const enforceDisplayPriority = (treeFlags & TreeFlags.EnforceDisplayPriority) !== 0 ? true : undefined;
|
|
89213
|
-
treeId = { ...primary, animationId, type: _FeatureTable__WEBPACK_IMPORTED_MODULE_2__.BatchType.Primary, enforceDisplayPriority };
|
|
89215
|
+
treeId = { ...primary, animationId, type: _FeatureTable__WEBPACK_IMPORTED_MODULE_2__.BatchType.Primary, enforceDisplayPriority, disablePolyfaceDecimation };
|
|
89214
89216
|
}
|
|
89215
89217
|
return {
|
|
89216
89218
|
contentId: parsedContentId,
|
|
@@ -89313,6 +89315,7 @@ const defaultTileOptions = Object.freeze({
|
|
|
89313
89315
|
useLargerTiles: true,
|
|
89314
89316
|
disableMagnification: false,
|
|
89315
89317
|
alwaysSubdivideIncompleteTiles: false,
|
|
89318
|
+
disablePolyfaceDecimation: false,
|
|
89316
89319
|
edgeOptions: {
|
|
89317
89320
|
type: "compact",
|
|
89318
89321
|
smooth: true,
|
|
@@ -89408,7 +89411,8 @@ var TreeFlags;
|
|
|
89408
89411
|
TreeFlags[TreeFlags["EnforceDisplayPriority"] = 2] = "EnforceDisplayPriority";
|
|
89409
89412
|
TreeFlags[TreeFlags["OptimizeBRepProcessing"] = 4] = "OptimizeBRepProcessing";
|
|
89410
89413
|
TreeFlags[TreeFlags["UseLargerTiles"] = 8] = "UseLargerTiles";
|
|
89411
|
-
TreeFlags[TreeFlags["ExpandProjectExtents"] = 16] = "ExpandProjectExtents";
|
|
89414
|
+
TreeFlags[TreeFlags["ExpandProjectExtents"] = 16] = "ExpandProjectExtents";
|
|
89415
|
+
TreeFlags[TreeFlags["DisablePolyfaceDecimation"] = 32] = "DisablePolyfaceDecimation";
|
|
89412
89416
|
})(TreeFlags || (TreeFlags = {}));
|
|
89413
89417
|
function animationIdToString(animationId) {
|
|
89414
89418
|
return `A:${animationId}_`;
|
|
@@ -89421,6 +89425,8 @@ function iModelTileTreeIdToString(modelId, treeId, options) {
|
|
|
89421
89425
|
let flags = options.useProjectExtents ? TreeFlags.UseProjectExtents : TreeFlags.None;
|
|
89422
89426
|
if (options.optimizeBRepProcessing)
|
|
89423
89427
|
flags |= TreeFlags.OptimizeBRepProcessing;
|
|
89428
|
+
if (options.disablePolyfaceDecimation)
|
|
89429
|
+
flags |= TreeFlags.DisablePolyfaceDecimation;
|
|
89424
89430
|
if (options.useLargerTiles)
|
|
89425
89431
|
flags |= TreeFlags.UseLargerTiles;
|
|
89426
89432
|
if (options.expandProjectExtents)
|
|
@@ -99543,6 +99549,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
99543
99549
|
|
|
99544
99550
|
|
|
99545
99551
|
|
|
99552
|
+
const loggerCategory = "SchemaFormatsProvider";
|
|
99546
99553
|
/**
|
|
99547
99554
|
* Provides default formats and kind of quantities from a given SchemaContext or SchemaLocater.
|
|
99548
99555
|
* @beta
|
|
@@ -99581,7 +99588,14 @@ class SchemaFormatsProvider {
|
|
|
99581
99588
|
this.onFormatsChanged.raiseEvent({ formatsChanged });
|
|
99582
99589
|
}
|
|
99583
99590
|
async getKindOfQuantityFormatFromSchema(itemKey) {
|
|
99584
|
-
|
|
99591
|
+
let kindOfQuantity;
|
|
99592
|
+
try {
|
|
99593
|
+
kindOfQuantity = await this._context.getSchemaItem(itemKey, _Metadata_KindOfQuantity__WEBPACK_IMPORTED_MODULE_5__.KindOfQuantity);
|
|
99594
|
+
}
|
|
99595
|
+
catch {
|
|
99596
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_4__.Logger.logError(loggerCategory, `Failed to find KindOfQuantity ${itemKey.fullName}`);
|
|
99597
|
+
return undefined;
|
|
99598
|
+
}
|
|
99585
99599
|
if (!kindOfQuantity) {
|
|
99586
99600
|
return undefined;
|
|
99587
99601
|
}
|
|
@@ -99626,13 +99640,27 @@ class SchemaFormatsProvider {
|
|
|
99626
99640
|
async getFormat(name) {
|
|
99627
99641
|
const [schemaName, schemaItemName] = _Metadata_SchemaItem__WEBPACK_IMPORTED_MODULE_2__.SchemaItem.parseFullName(name);
|
|
99628
99642
|
const schemaKey = new _SchemaKey__WEBPACK_IMPORTED_MODULE_1__.SchemaKey(schemaName);
|
|
99629
|
-
|
|
99643
|
+
let schema;
|
|
99644
|
+
try {
|
|
99645
|
+
schema = await this._context.getSchema(schemaKey);
|
|
99646
|
+
}
|
|
99647
|
+
catch {
|
|
99648
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_4__.Logger.logError(loggerCategory, `Failed to find schema ${schemaName}`);
|
|
99649
|
+
return undefined;
|
|
99650
|
+
}
|
|
99630
99651
|
if (!schema) {
|
|
99631
99652
|
return undefined;
|
|
99632
99653
|
}
|
|
99633
99654
|
const itemKey = new _SchemaKey__WEBPACK_IMPORTED_MODULE_1__.SchemaItemKey(schemaItemName, schema.schemaKey);
|
|
99634
99655
|
if (schema.name === "Formats") {
|
|
99635
|
-
|
|
99656
|
+
let format;
|
|
99657
|
+
try {
|
|
99658
|
+
format = await this._context.getSchemaItem(itemKey, _Metadata_Format__WEBPACK_IMPORTED_MODULE_3__.Format);
|
|
99659
|
+
}
|
|
99660
|
+
catch {
|
|
99661
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_4__.Logger.logError(loggerCategory, `Failed to find Format ${itemKey.fullName}`);
|
|
99662
|
+
return undefined;
|
|
99663
|
+
}
|
|
99636
99664
|
if (!format) {
|
|
99637
99665
|
return undefined;
|
|
99638
99666
|
}
|
|
@@ -113214,7 +113242,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
113214
113242
|
|
|
113215
113243
|
/** @public */
|
|
113216
113244
|
const ITWINJS_CORE_VERSION = _package_json__WEBPACK_IMPORTED_MODULE_0__.version;
|
|
113217
|
-
const COPYRIGHT_NOTICE =
|
|
113245
|
+
const COPYRIGHT_NOTICE = `Copyright © 2017-${new Date().getFullYear()} <a href="https://www.bentley.com" target="_blank" rel="noopener noreferrer">Bentley Systems, Inc.</a>`;
|
|
113218
113246
|
|
|
113219
113247
|
|
|
113220
113248
|
|
|
@@ -113290,6 +113318,7 @@ class IModelApp {
|
|
|
113290
113318
|
static _hubAccess;
|
|
113291
113319
|
static _realityDataAccess;
|
|
113292
113320
|
static _publicPath;
|
|
113321
|
+
static _formatsProviderManager;
|
|
113293
113322
|
// No instances of IModelApp may be created. All members are static and must be on the singleton object IModelApp.
|
|
113294
113323
|
constructor() { }
|
|
113295
113324
|
/** Event raised just before the frontend IModelApp is to be [[shutdown]]. */
|
|
@@ -113364,6 +113393,14 @@ class IModelApp {
|
|
|
113364
113393
|
* The path should always end with a trailing `/`.
|
|
113365
113394
|
*/
|
|
113366
113395
|
static get publicPath() { return this._publicPath; }
|
|
113396
|
+
/** The [[FormatsProvider]] for this session.
|
|
113397
|
+
* @param provider The provider to use for formatting quantities.
|
|
113398
|
+
* @beta
|
|
113399
|
+
*/
|
|
113400
|
+
static get formatsProvider() { return this._formatsProviderManager; }
|
|
113401
|
+
static set formatsProvider(provider) {
|
|
113402
|
+
this._formatsProviderManager.formatsProvider = provider;
|
|
113403
|
+
}
|
|
113367
113404
|
/** @alpha */
|
|
113368
113405
|
static extensionAdmin = this._createExtensionAdmin();
|
|
113369
113406
|
/** Map of classFullName to EntityState class */
|
|
@@ -113464,6 +113501,7 @@ class IModelApp {
|
|
|
113464
113501
|
this._terrainProviderRegistry = new _tile_internal__WEBPACK_IMPORTED_MODULE_26__.TerrainProviderRegistry();
|
|
113465
113502
|
this._realityDataSourceProviders = new _RealityDataSource__WEBPACK_IMPORTED_MODULE_25__.RealityDataSourceProviderRegistry();
|
|
113466
113503
|
this._realityDataAccess = opts.realityDataAccess;
|
|
113504
|
+
this._formatsProviderManager = new _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_19__.FormatsProviderManager(opts.formatsProvider ?? new _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_19__.QuantityTypeFormatsProvider());
|
|
113467
113505
|
this._publicPath = opts.publicPath ?? "";
|
|
113468
113506
|
[
|
|
113469
113507
|
this.renderSystem,
|
|
@@ -113495,6 +113533,8 @@ class IModelApp {
|
|
|
113495
113533
|
this._entityClasses.clear();
|
|
113496
113534
|
this.authorizationClient = undefined;
|
|
113497
113535
|
this._initialized = false;
|
|
113536
|
+
this.quantityFormatter[Symbol.dispose]();
|
|
113537
|
+
this.resetFormatsProvider();
|
|
113498
113538
|
this.onAfterStartup.clear();
|
|
113499
113539
|
}
|
|
113500
113540
|
/** Controls how frequently the application polls for changes that may require a new animation frame to be requested.
|
|
@@ -113745,6 +113785,13 @@ class IModelApp {
|
|
|
113745
113785
|
}
|
|
113746
113786
|
return this.localization.getLocalizedString(`iModelJs:${key.scope}.${key.val}`, key);
|
|
113747
113787
|
}
|
|
113788
|
+
/**
|
|
113789
|
+
* Resets the formatsProvider back to the default [[QuantityTypeFormatsProvider]].
|
|
113790
|
+
* @beta
|
|
113791
|
+
*/
|
|
113792
|
+
static resetFormatsProvider() {
|
|
113793
|
+
this.formatsProvider = new _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_19__.QuantityTypeFormatsProvider();
|
|
113794
|
+
}
|
|
113748
113795
|
/**
|
|
113749
113796
|
* Creates an instance of the ExtensionAdmin
|
|
113750
113797
|
* and registers an event to execute after startup is complete
|
|
@@ -125965,6 +126012,10 @@ class Viewport {
|
|
|
125965
126012
|
changeBackgroundMapProvider(props) {
|
|
125966
126013
|
this.displayStyle.changeBackgroundMapProvider(props);
|
|
125967
126014
|
}
|
|
126015
|
+
/** A reference to the [[TileTree]] used to display the background map in this viewport, if the background map is being displayed. */
|
|
126016
|
+
get backgroundMapTileTreeReference() {
|
|
126017
|
+
return this.backgroundMap;
|
|
126018
|
+
}
|
|
125968
126019
|
/** @internal */
|
|
125969
126020
|
get backgroundMap() { return this._mapTiledGraphicsProvider?.backgroundMap; }
|
|
125970
126021
|
/** @internal */
|
|
@@ -136636,6 +136687,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
136636
136687
|
/* harmony export */ FlashMode: () => (/* reexport safe */ _FlashSettings__WEBPACK_IMPORTED_MODULE_22__.FlashMode),
|
|
136637
136688
|
/* harmony export */ FlashSettings: () => (/* reexport safe */ _FlashSettings__WEBPACK_IMPORTED_MODULE_22__.FlashSettings),
|
|
136638
136689
|
/* harmony export */ FlyViewTool: () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_114__.FlyViewTool),
|
|
136690
|
+
/* harmony export */ FormatsProviderManager: () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_72__.FormatsProviderManager),
|
|
136639
136691
|
/* harmony export */ FormattedQuantityDescription: () => (/* reexport safe */ _properties_FormattedQuantityDescription__WEBPACK_IMPORTED_MODULE_70__.FormattedQuantityDescription),
|
|
136640
136692
|
/* harmony export */ FrontendLoggerCategory: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_10__.FrontendLoggerCategory),
|
|
136641
136693
|
/* harmony export */ Frustum2d: () => (/* reexport safe */ _Frustum2d__WEBPACK_IMPORTED_MODULE_24__.Frustum2d),
|
|
@@ -136764,6 +136816,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
136764
136816
|
/* harmony export */ QuadId: () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_99__.QuadId),
|
|
136765
136817
|
/* harmony export */ QuantityFormatter: () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_72__.QuantityFormatter),
|
|
136766
136818
|
/* harmony export */ QuantityType: () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_72__.QuantityType),
|
|
136819
|
+
/* harmony export */ QuantityTypeFormatsProvider: () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_72__.QuantityTypeFormatsProvider),
|
|
136767
136820
|
/* harmony export */ RealityDataError: () => (/* reexport safe */ _RealityDataSource__WEBPACK_IMPORTED_MODULE_121__.RealityDataError),
|
|
136768
136821
|
/* harmony export */ RealityDataSource: () => (/* reexport safe */ _RealityDataSource__WEBPACK_IMPORTED_MODULE_121__.RealityDataSource),
|
|
136769
136822
|
/* harmony export */ RealityDataSourceProviderRegistry: () => (/* reexport safe */ _RealityDataSource__WEBPACK_IMPORTED_MODULE_121__.RealityDataSourceProviderRegistry),
|
|
@@ -137835,7 +137888,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
137835
137888
|
* @internal
|
|
137836
137889
|
*/
|
|
137837
137890
|
async function loadScript(jsUrl) {
|
|
137838
|
-
const module = await
|
|
137891
|
+
const module = await import(/* webpackIgnore: true */ /* @vite-ignore */ jsUrl);
|
|
137839
137892
|
return execute(module);
|
|
137840
137893
|
}
|
|
137841
137894
|
/** attempts to execute an extension module */
|
|
@@ -170176,8 +170229,9 @@ function createClassifierTileTreeReference(classifiers, classifiedTree, iModel,
|
|
|
170176
170229
|
return new ClassifierTreeReference(classifiers, classifiedTree, iModel, source);
|
|
170177
170230
|
}
|
|
170178
170231
|
function createClassifierId(classifier, source) {
|
|
170232
|
+
const disablePolyfaceDecimation = _IModelApp__WEBPACK_IMPORTED_MODULE_2__.IModelApp.tileAdmin.disablePolyfaceDecimation;
|
|
170179
170233
|
if (undefined === classifier)
|
|
170180
|
-
return { modelId: _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Id64.invalid, type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.PlanarClassifier, expansion: 0, animationId: undefined };
|
|
170234
|
+
return { modelId: _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Id64.invalid, type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.PlanarClassifier, expansion: 0, animationId: undefined, disablePolyfaceDecimation };
|
|
170181
170235
|
const type = classifier.flags.isVolumeClassifier ? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.VolumeClassifier : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.PlanarClassifier;
|
|
170182
170236
|
const scriptInfo = _IModelApp__WEBPACK_IMPORTED_MODULE_2__.IModelApp.tileAdmin.getScriptInfoForTreeId(classifier.modelId, source ? source[_common_internal_Symbols__WEBPACK_IMPORTED_MODULE_5__._scheduleScriptReference] : undefined);
|
|
170183
170237
|
return {
|
|
@@ -170186,6 +170240,7 @@ function createClassifierId(classifier, source) {
|
|
|
170186
170240
|
expansion: classifier.expand,
|
|
170187
170241
|
animationId: scriptInfo?.animationId,
|
|
170188
170242
|
timeline: scriptInfo?.timeline,
|
|
170243
|
+
disablePolyfaceDecimation,
|
|
170189
170244
|
};
|
|
170190
170245
|
}
|
|
170191
170246
|
|
|
@@ -174182,7 +174237,8 @@ class PrimaryTreeReference extends _tile_internal__WEBPACK_IMPORTED_MODULE_6__.T
|
|
|
174182
174237
|
const edgesRequired = visibleEdges || _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.RenderMode.SmoothShade !== renderMode || _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.alwaysRequestEdges;
|
|
174183
174238
|
const edges = edgesRequired ? _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.edgeOptions : false;
|
|
174184
174239
|
const sectionCut = this._sectionClip?.clipString;
|
|
174185
|
-
|
|
174240
|
+
const disablePolyfaceDecimation = _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.disablePolyfaceDecimation;
|
|
174241
|
+
return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.Primary, edges, animationId, sectionCut, disablePolyfaceDecimation };
|
|
174186
174242
|
}
|
|
174187
174243
|
computeBaseTransform(tree) {
|
|
174188
174244
|
return super.computeTransform(tree);
|
|
@@ -174335,7 +174391,7 @@ class MaskTreeReference extends _tile_internal__WEBPACK_IMPORTED_MODULE_6__.Tile
|
|
|
174335
174391
|
return this._owner;
|
|
174336
174392
|
}
|
|
174337
174393
|
createTreeId() {
|
|
174338
|
-
return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.Primary, edges: false };
|
|
174394
|
+
return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.Primary, edges: false, disablePolyfaceDecimation: _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.disablePolyfaceDecimation };
|
|
174339
174395
|
}
|
|
174340
174396
|
}
|
|
174341
174397
|
function createMaskTreeReference(view, model) {
|
|
@@ -174361,7 +174417,7 @@ class ModelMapLayerTileTreeReference extends _tile_internal__WEBPACK_IMPORTED_MO
|
|
|
174361
174417
|
this._owner = primaryTreeSupplier.getOwner(this._id, this.iModel);
|
|
174362
174418
|
}
|
|
174363
174419
|
createTreeId() {
|
|
174364
|
-
return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.Primary, edges: false };
|
|
174420
|
+
return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.Primary, edges: false, disablePolyfaceDecimation: _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.disablePolyfaceDecimation };
|
|
174365
174421
|
}
|
|
174366
174422
|
get treeOwner() {
|
|
174367
174423
|
const newId = this.createTreeId();
|
|
@@ -179653,11 +179709,19 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
179653
179709
|
* @beta
|
|
179654
179710
|
*/
|
|
179655
179711
|
class AngleDescription extends _FormattedQuantityDescription__WEBPACK_IMPORTED_MODULE_2__.FormattedQuantityDescription {
|
|
179656
|
-
constructor(name, displayLabel, iconSpec) {
|
|
179712
|
+
constructor(name, displayLabel, iconSpec, kindOfQuantityName) {
|
|
179657
179713
|
const defaultName = "angle";
|
|
179658
|
-
super(
|
|
179714
|
+
super({
|
|
179715
|
+
name: name ? name : defaultName,
|
|
179716
|
+
displayLabel: displayLabel ? displayLabel : _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.Angle"),
|
|
179717
|
+
kindOfQuantityName: kindOfQuantityName ? kindOfQuantityName : "AecUnits.ANGLE",
|
|
179718
|
+
iconSpec
|
|
179719
|
+
});
|
|
179659
179720
|
}
|
|
179660
179721
|
get formatterQuantityType() { return _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_1__.QuantityType.Angle; }
|
|
179722
|
+
/**
|
|
179723
|
+
* @deprecated in 5.0. Use the `kindOfQuantityName` property instead.
|
|
179724
|
+
*/
|
|
179661
179725
|
get quantityType() { return "Angle"; }
|
|
179662
179726
|
get parseError() { return _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.UnableToParseAngle"); }
|
|
179663
179727
|
}
|
|
@@ -179696,8 +179760,14 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
179696
179760
|
class FormattedQuantityDescription extends _itwin_appui_abstract__WEBPACK_IMPORTED_MODULE_1__.BaseQuantityDescription {
|
|
179697
179761
|
_formatterSpec;
|
|
179698
179762
|
_parserSpec;
|
|
179699
|
-
constructor(
|
|
179700
|
-
|
|
179763
|
+
constructor(argsOrName, displayLabel, iconSpec, kindOfQuantityName) {
|
|
179764
|
+
if (typeof argsOrName === "string") {
|
|
179765
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
|
|
179766
|
+
super(argsOrName, displayLabel, iconSpec, kindOfQuantityName);
|
|
179767
|
+
}
|
|
179768
|
+
else {
|
|
179769
|
+
super(argsOrName.name, argsOrName.displayLabel, argsOrName.iconSpec, argsOrName.kindOfQuantityName);
|
|
179770
|
+
}
|
|
179701
179771
|
}
|
|
179702
179772
|
formatValue(numberValue) {
|
|
179703
179773
|
if (this.formatterSpec) {
|
|
@@ -179773,11 +179843,19 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
179773
179843
|
* @beta
|
|
179774
179844
|
*/
|
|
179775
179845
|
class LengthDescription extends _FormattedQuantityDescription__WEBPACK_IMPORTED_MODULE_2__.FormattedQuantityDescription {
|
|
179776
|
-
constructor(name, displayLabel, iconSpec) {
|
|
179846
|
+
constructor(name, displayLabel, iconSpec, kindOfQuantityName) {
|
|
179777
179847
|
const defaultName = "length";
|
|
179778
|
-
super(
|
|
179848
|
+
super({
|
|
179849
|
+
name: name ? name : defaultName,
|
|
179850
|
+
displayLabel: displayLabel ? displayLabel : _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"),
|
|
179851
|
+
kindOfQuantityName: kindOfQuantityName ? kindOfQuantityName : "AecUnits.LENGTH",
|
|
179852
|
+
iconSpec,
|
|
179853
|
+
});
|
|
179779
179854
|
}
|
|
179780
179855
|
get formatterQuantityType() { return _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_1__.QuantityType.Length; }
|
|
179856
|
+
/**
|
|
179857
|
+
* @deprecated in 5.0. Use the `kindOfQuantityName` property instead.
|
|
179858
|
+
*/
|
|
179781
179859
|
get quantityType() { return "Length"; }
|
|
179782
179860
|
get parseError() { return _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.UnableToParseLength"); }
|
|
179783
179861
|
}
|
|
@@ -179786,11 +179864,19 @@ class LengthDescription extends _FormattedQuantityDescription__WEBPACK_IMPORTED_
|
|
|
179786
179864
|
* @beta
|
|
179787
179865
|
*/
|
|
179788
179866
|
class SurveyLengthDescription extends _FormattedQuantityDescription__WEBPACK_IMPORTED_MODULE_2__.FormattedQuantityDescription {
|
|
179789
|
-
constructor(name, displayLabel, iconSpec) {
|
|
179867
|
+
constructor(name, displayLabel, iconSpec, kindOfQuantityName) {
|
|
179790
179868
|
const defaultName = "surveyLength";
|
|
179791
|
-
super(
|
|
179869
|
+
super({
|
|
179870
|
+
name: name ? name : defaultName,
|
|
179871
|
+
displayLabel: displayLabel ? displayLabel : _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"),
|
|
179872
|
+
kindOfQuantityName: kindOfQuantityName ? kindOfQuantityName : "AecUnits.LENGTH",
|
|
179873
|
+
iconSpec,
|
|
179874
|
+
});
|
|
179792
179875
|
}
|
|
179793
179876
|
get formatterQuantityType() { return _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_1__.QuantityType.LengthSurvey; }
|
|
179877
|
+
/**
|
|
179878
|
+
* @deprecated in 5.0. Use the `kindOfQuantityName` property instead.
|
|
179879
|
+
*/
|
|
179794
179880
|
get quantityType() { return "LengthSurvey"; }
|
|
179795
179881
|
get parseError() { return _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.UnableToParseLength"); }
|
|
179796
179882
|
}
|
|
@@ -179799,11 +179885,19 @@ class SurveyLengthDescription extends _FormattedQuantityDescription__WEBPACK_IMP
|
|
|
179799
179885
|
* @beta
|
|
179800
179886
|
*/
|
|
179801
179887
|
class EngineeringLengthDescription extends _FormattedQuantityDescription__WEBPACK_IMPORTED_MODULE_2__.FormattedQuantityDescription {
|
|
179802
|
-
constructor(name, displayLabel, iconSpec) {
|
|
179888
|
+
constructor(name, displayLabel, iconSpec, kindOfQuantityName) {
|
|
179803
179889
|
const defaultName = "engineeringLength";
|
|
179804
|
-
super(
|
|
179890
|
+
super({
|
|
179891
|
+
name: name ? name : defaultName,
|
|
179892
|
+
displayLabel: displayLabel ? displayLabel : _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"),
|
|
179893
|
+
kindOfQuantityName: kindOfQuantityName ? kindOfQuantityName : "AecUnits.LENGTH",
|
|
179894
|
+
iconSpec,
|
|
179895
|
+
});
|
|
179805
179896
|
}
|
|
179806
179897
|
get formatterQuantityType() { return _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_1__.QuantityType.LengthEngineering; }
|
|
179898
|
+
/**
|
|
179899
|
+
* @deprecated in 5.0. Use the `kindOfQuantityName` property instead.
|
|
179900
|
+
*/
|
|
179807
179901
|
get quantityType() { return "LengthEngineering"; }
|
|
179808
179902
|
get parseError() { return _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.UnableToParseLength"); }
|
|
179809
179903
|
}
|
|
@@ -180218,8 +180312,10 @@ class LocalUnitFormatProvider extends _BaseUnitFormattingSettingsProvider__WEBPA
|
|
|
180218
180312
|
__webpack_require__.r(__webpack_exports__);
|
|
180219
180313
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
180220
180314
|
/* harmony export */ AlternateUnitLabelsRegistry: () => (/* binding */ AlternateUnitLabelsRegistry),
|
|
180315
|
+
/* harmony export */ FormatsProviderManager: () => (/* binding */ FormatsProviderManager),
|
|
180221
180316
|
/* harmony export */ QuantityFormatter: () => (/* binding */ QuantityFormatter),
|
|
180222
180317
|
/* harmony export */ QuantityType: () => (/* binding */ QuantityType),
|
|
180318
|
+
/* harmony export */ QuantityTypeFormatsProvider: () => (/* binding */ QuantityTypeFormatsProvider),
|
|
180223
180319
|
/* harmony export */ getQuantityTypeKey: () => (/* binding */ getQuantityTypeKey),
|
|
180224
180320
|
/* harmony export */ isCustomQuantityTypeDefinition: () => (/* binding */ isCustomQuantityTypeDefinition)
|
|
180225
180321
|
/* harmony export */ });
|
|
@@ -180365,12 +180461,66 @@ class StandardQuantityTypeDefinition {
|
|
|
180365
180461
|
return _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.ParserSpec.create(format, unitsProvider, this.persistenceUnit, alternateUnitLabelsProvider);
|
|
180366
180462
|
}
|
|
180367
180463
|
}
|
|
180464
|
+
/**
|
|
180465
|
+
* A default formatsProvider, that provides a limited set of [[FormatDefinition]], associated to a few [[KindOfQuantity]].
|
|
180466
|
+
* Maps each KindOfQuantity to a [[QuantityType]].
|
|
180467
|
+
* When retrieving a valid [[KindOfQuantity]], returns the [[FormatProps]] for the associated [[QuantityType]].
|
|
180468
|
+
* @internal
|
|
180469
|
+
*/
|
|
180470
|
+
class QuantityTypeFormatsProvider {
|
|
180471
|
+
onFormatsChanged = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
180472
|
+
constructor() {
|
|
180473
|
+
_IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.quantityFormatter.onActiveFormattingUnitSystemChanged.addListener(() => {
|
|
180474
|
+
this.onFormatsChanged.raiseEvent({ formatsChanged: "all" });
|
|
180475
|
+
});
|
|
180476
|
+
}
|
|
180477
|
+
_kindOfQuantityMap = new Map([
|
|
180478
|
+
["AecUnits.LENGTH", QuantityType.Length],
|
|
180479
|
+
["AecUnits.ANGLE", QuantityType.Angle],
|
|
180480
|
+
["AecUnits.AREA", QuantityType.Area],
|
|
180481
|
+
["AecUnits.VOLUME", QuantityType.Volume],
|
|
180482
|
+
["RoadRailUnits.STATION", QuantityType.Stationing],
|
|
180483
|
+
["RoadRailUnits.LENGTH", QuantityType.LengthSurvey],
|
|
180484
|
+
]);
|
|
180485
|
+
async getFormat(name) {
|
|
180486
|
+
const quantityType = this._kindOfQuantityMap.get(name);
|
|
180487
|
+
if (!quantityType)
|
|
180488
|
+
return undefined;
|
|
180489
|
+
return _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.quantityFormatter.getFormatPropsByQuantityType(quantityType);
|
|
180490
|
+
}
|
|
180491
|
+
}
|
|
180492
|
+
/**
|
|
180493
|
+
* An implementation of the [[FormatsProvider]] interface that forwards calls to getFormats to the underlying FormatsProvider.
|
|
180494
|
+
* Also fires the onFormatsChanged event when the underlying FormatsProvider fires its own onFormatsChanged event.
|
|
180495
|
+
* @internal
|
|
180496
|
+
*/
|
|
180497
|
+
class FormatsProviderManager {
|
|
180498
|
+
_formatsProvider;
|
|
180499
|
+
onFormatsChanged = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
180500
|
+
constructor(_formatsProvider) {
|
|
180501
|
+
this._formatsProvider = _formatsProvider;
|
|
180502
|
+
this._formatsProvider.onFormatsChanged.addListener((args) => {
|
|
180503
|
+
this.onFormatsChanged.raiseEvent(args);
|
|
180504
|
+
});
|
|
180505
|
+
}
|
|
180506
|
+
async getFormat(name) {
|
|
180507
|
+
return this._formatsProvider.getFormat(name);
|
|
180508
|
+
}
|
|
180509
|
+
get formatsProvider() { return this; }
|
|
180510
|
+
set formatsProvider(formatsProvider) {
|
|
180511
|
+
this._formatsProvider = formatsProvider;
|
|
180512
|
+
this._formatsProvider.onFormatsChanged.addListener((args) => {
|
|
180513
|
+
this.onFormatsChanged.raiseEvent(args);
|
|
180514
|
+
});
|
|
180515
|
+
this.onFormatsChanged.raiseEvent({ formatsChanged: "all" });
|
|
180516
|
+
}
|
|
180517
|
+
}
|
|
180368
180518
|
/** Class that supports formatting quantity values into strings and parsing strings into quantity values. This class also maintains
|
|
180369
180519
|
* the "active" unit system and caches FormatterSpecs and ParserSpecs for the "active" unit system to allow synchronous access to
|
|
180370
180520
|
* parsing and formatting values. The support unit systems are defined by [[UnitSystemKey]] and is kept in synch with the unit systems
|
|
180371
180521
|
* provided by the Presentation Manager on the backend. The QuantityFormatter contains a registry of quantity type definitions. These definitions implement
|
|
180372
|
-
* the [[QuantityTypeDefinition]] interface, which among other things, provide default [FormatProps]
|
|
180373
|
-
* to generate both a [FormatterSpec]
|
|
180522
|
+
* the [[QuantityTypeDefinition]] interface, which among other things, provide default [[FormatProps]], and provide methods
|
|
180523
|
+
* to generate both a [[FormatterSpec]] and a [[ParserSpec]]. There are built-in quantity types that are
|
|
180374
180524
|
* identified by the [[QuantityType]] enum. [[CustomQuantityTypeDefinition]] can be registered to extend the available quantity types available
|
|
180375
180525
|
* by frontend tools. The QuantityFormatter also allows the default formats to be overriden.
|
|
180376
180526
|
*
|
|
@@ -180381,6 +180531,10 @@ class QuantityFormatter {
|
|
|
180381
180531
|
_alternateUnitLabelsRegistry = new AlternateUnitLabelsRegistry((0,_BasicUnitsProvider__WEBPACK_IMPORTED_MODULE_4__.getDefaultAlternateUnitLabels)());
|
|
180382
180532
|
/** Registry containing available quantity type definitions. */
|
|
180383
180533
|
_quantityTypeRegistry = new Map();
|
|
180534
|
+
/** Registry containing available FormatterSpec and ParserSpec, mapped by keys.
|
|
180535
|
+
* @beta
|
|
180536
|
+
*/
|
|
180537
|
+
_formatSpecsRegistry = new Map();
|
|
180384
180538
|
/** Active UnitSystem key - must be one of "imperial", "metric", "usCustomary", or "usSurvey". */
|
|
180385
180539
|
_activeUnitSystem = "imperial";
|
|
180386
180540
|
/** Map of FormatSpecs for all available QuantityTypes and the active Unit System */
|
|
@@ -180407,6 +180561,7 @@ class QuantityFormatter {
|
|
|
180407
180561
|
onQuantityFormatsChanged = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeUiEvent();
|
|
180408
180562
|
/** Fired when the active UnitsProvider is updated. This will allow cached Formatter and Parser specs to be updated if necessary. */
|
|
180409
180563
|
onUnitsProviderChanged = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeUiEvent();
|
|
180564
|
+
_removeFormatsProviderListener;
|
|
180410
180565
|
/**
|
|
180411
180566
|
* constructor
|
|
180412
180567
|
* @param showMetricOrUnitSystem - Pass in `true` to show Metric formatted quantity values. Defaults to Imperial. To explicitly
|
|
@@ -180420,6 +180575,12 @@ class QuantityFormatter {
|
|
|
180420
180575
|
this._activeUnitSystem = showMetricOrUnitSystem;
|
|
180421
180576
|
}
|
|
180422
180577
|
}
|
|
180578
|
+
[Symbol.dispose]() {
|
|
180579
|
+
if (this._removeFormatsProviderListener) {
|
|
180580
|
+
this._removeFormatsProviderListener();
|
|
180581
|
+
this._removeFormatsProviderListener = undefined;
|
|
180582
|
+
}
|
|
180583
|
+
}
|
|
180423
180584
|
getOverrideFormatPropsByQuantityType(quantityTypeKey, unitSystem) {
|
|
180424
180585
|
const requestedUnitSystem = unitSystem ?? this.activeUnitSystem;
|
|
180425
180586
|
const overrideMap = this._overrideFormatPropsByUnitSystem.get(requestedUnitSystem);
|
|
@@ -180545,6 +180706,46 @@ class QuantityFormatter {
|
|
|
180545
180706
|
*/
|
|
180546
180707
|
async onInitialized() {
|
|
180547
180708
|
await this.initializeQuantityTypesRegistry();
|
|
180709
|
+
const initialKoQs = [["AecUnits.LENGTH", "Units.M"], ["AecUnits.ANGLE", "Units.RAD"], ["AecUnits.AREA", "Units.SQ_M"], ["AecUnits.VOLUME", "Units.CUB_M"], ["RoadRailUnits.STATION", "Units.M"], ["RoadRailUnits.LENGTH", "Units.M"]];
|
|
180710
|
+
for (const entry of initialKoQs) {
|
|
180711
|
+
try {
|
|
180712
|
+
await this.addFormattingSpecsToRegistry(entry[0], entry[1]);
|
|
180713
|
+
}
|
|
180714
|
+
catch (err) {
|
|
180715
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logWarning(`${_common_FrontendLoggerCategory__WEBPACK_IMPORTED_MODULE_2__.FrontendLoggerCategory.Package}.QuantityFormatter`, err.toString());
|
|
180716
|
+
}
|
|
180717
|
+
}
|
|
180718
|
+
this._removeFormatsProviderListener = _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.formatsProvider.onFormatsChanged.addListener(async (args) => {
|
|
180719
|
+
if (args.formatsChanged === "all") {
|
|
180720
|
+
for (const [name, entry] of this._formatSpecsRegistry.entries()) {
|
|
180721
|
+
const formatProps = await _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.formatsProvider.getFormat(name);
|
|
180722
|
+
if (formatProps) {
|
|
180723
|
+
const persistenceUnitName = entry.formatterSpec.persistenceUnit.name;
|
|
180724
|
+
await this.addFormattingSpecsToRegistry(name, persistenceUnitName, formatProps);
|
|
180725
|
+
}
|
|
180726
|
+
else {
|
|
180727
|
+
this._formatSpecsRegistry.delete(name); // clear the specs if format was removed, or no longer exists.
|
|
180728
|
+
}
|
|
180729
|
+
}
|
|
180730
|
+
}
|
|
180731
|
+
else {
|
|
180732
|
+
for (const name of args.formatsChanged) {
|
|
180733
|
+
if (this._formatSpecsRegistry.has(name)) {
|
|
180734
|
+
const formatProps = await _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.formatsProvider.getFormat(name);
|
|
180735
|
+
if (formatProps) {
|
|
180736
|
+
const existingEntry = this._formatSpecsRegistry.get(name);
|
|
180737
|
+
if (existingEntry) {
|
|
180738
|
+
const persistenceUnitName = existingEntry.formatterSpec.persistenceUnit.name;
|
|
180739
|
+
await this.addFormattingSpecsToRegistry(name, persistenceUnitName, formatProps);
|
|
180740
|
+
}
|
|
180741
|
+
}
|
|
180742
|
+
else {
|
|
180743
|
+
this._formatSpecsRegistry.delete(name);
|
|
180744
|
+
}
|
|
180745
|
+
}
|
|
180746
|
+
}
|
|
180747
|
+
}
|
|
180748
|
+
});
|
|
180548
180749
|
// initialize default format and parsing specs
|
|
180549
180750
|
await this.loadFormatAndParsingMapsForSystem();
|
|
180550
180751
|
}
|
|
@@ -180774,26 +180975,51 @@ class QuantityFormatter {
|
|
|
180774
180975
|
requestedSystem = isImperial ? "imperial" : "metric";
|
|
180775
180976
|
return this.getParserSpecByQuantityTypeAndSystem(type, requestedSystem);
|
|
180776
180977
|
}
|
|
180777
|
-
|
|
180778
|
-
|
|
180779
|
-
|
|
180780
|
-
|
|
180781
|
-
|
|
180782
|
-
|
|
180783
|
-
|
|
180784
|
-
|
|
180785
|
-
|
|
180786
|
-
return
|
|
180978
|
+
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
180979
|
+
formatQuantity(args, spec) {
|
|
180980
|
+
if (typeof args === "number") {
|
|
180981
|
+
/** Format a quantity value. Default FormatterSpec implementation uses Formatter.formatQuantity. */
|
|
180982
|
+
const magnitude = args;
|
|
180983
|
+
if (spec)
|
|
180984
|
+
return spec.applyFormatting(magnitude);
|
|
180985
|
+
return magnitude.toString();
|
|
180986
|
+
}
|
|
180987
|
+
return this.formatQuantityAsync(args);
|
|
180988
|
+
}
|
|
180989
|
+
async formatQuantityAsync(args) {
|
|
180990
|
+
const { value, valueUnitName, kindOfQuantityName } = args;
|
|
180991
|
+
const formatProps = await _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.formatsProvider.getFormat(kindOfQuantityName);
|
|
180992
|
+
if (!formatProps)
|
|
180993
|
+
return value.toString();
|
|
180994
|
+
const formatSpec = await this.createFormatterSpec({
|
|
180995
|
+
persistenceUnitName: valueUnitName,
|
|
180996
|
+
formatProps,
|
|
180997
|
+
formatName: kindOfQuantityName,
|
|
180998
|
+
});
|
|
180999
|
+
return formatSpec.applyFormatting(value);
|
|
180787
181000
|
}
|
|
180788
|
-
|
|
180789
|
-
|
|
180790
|
-
|
|
180791
|
-
|
|
180792
|
-
|
|
180793
|
-
|
|
180794
|
-
|
|
180795
|
-
return
|
|
180796
|
-
|
|
181001
|
+
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
181002
|
+
parseToQuantityValue(args, parserSpec) {
|
|
181003
|
+
if (typeof args === "string") {
|
|
181004
|
+
/** Parse a quantity value. Default ParserSpec implementation uses ParserSpec.parseToQuantityValue. */
|
|
181005
|
+
const inString = args;
|
|
181006
|
+
if (parserSpec)
|
|
181007
|
+
return parserSpec.parseToQuantityValue(inString);
|
|
181008
|
+
return { ok: false, error: _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.ParseError.InvalidParserSpec };
|
|
181009
|
+
}
|
|
181010
|
+
return this.parseToQuantityValueAsync(args);
|
|
181011
|
+
}
|
|
181012
|
+
async parseToQuantityValueAsync(args) {
|
|
181013
|
+
const { value, valueUnitName, kindOfQuantityName } = args;
|
|
181014
|
+
const formatProps = await _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.formatsProvider.getFormat(kindOfQuantityName);
|
|
181015
|
+
if (!formatProps)
|
|
181016
|
+
return { ok: false, error: _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.ParseError.InvalidParserSpec };
|
|
181017
|
+
const parserSpec = await this.createParserSpec({
|
|
181018
|
+
persistenceUnitName: valueUnitName,
|
|
181019
|
+
formatProps,
|
|
181020
|
+
formatName: kindOfQuantityName,
|
|
181021
|
+
});
|
|
181022
|
+
return parserSpec.parseToQuantityValue(value);
|
|
180797
181023
|
}
|
|
180798
181024
|
/**
|
|
180799
181025
|
* Get a UnitSystemKey from a string that may have been entered via a key-in. Supports different variation of
|
|
@@ -180863,6 +181089,63 @@ class QuantityFormatter {
|
|
|
180863
181089
|
async getConversion(fromUnit, toUnit) {
|
|
180864
181090
|
return this._unitsProvider.getConversion(fromUnit, toUnit);
|
|
180865
181091
|
}
|
|
181092
|
+
/**
|
|
181093
|
+
* Creates a [[FormatterSpec]] for a given persistence unit name and format properties, using the [[UnitsProvider]] to resolve the persistence unit.
|
|
181094
|
+
* @beta
|
|
181095
|
+
* @param props - A [[CreateFormattingSpecProps]] interface.
|
|
181096
|
+
*/
|
|
181097
|
+
async createFormatterSpec(props) {
|
|
181098
|
+
const { persistenceUnitName, formatProps, formatName } = props;
|
|
181099
|
+
const persistenceUnitProps = await this._unitsProvider.findUnitByName(persistenceUnitName);
|
|
181100
|
+
const format = await _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.Format.createFromJSON(formatName ?? "temp", this._unitsProvider, formatProps);
|
|
181101
|
+
return _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.FormatterSpec.create(`${format.name}_format_spec`, format, this._unitsProvider, persistenceUnitProps);
|
|
181102
|
+
}
|
|
181103
|
+
/**
|
|
181104
|
+
* Creates a [[ParserSpec]] for a given persistence unit name and format properties, using the [[UnitsProvider]] to resolve the persistence unit.
|
|
181105
|
+
* @beta
|
|
181106
|
+
* @param props - A [[CreateFormattingSpecProps]] object.
|
|
181107
|
+
*/
|
|
181108
|
+
async createParserSpec(props) {
|
|
181109
|
+
const { persistenceUnitName, formatProps, formatName } = props;
|
|
181110
|
+
const persistenceUnitProps = await this._unitsProvider.findUnitByName(persistenceUnitName);
|
|
181111
|
+
const format = await _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.Format.createFromJSON(formatName ?? "temp", this._unitsProvider, formatProps);
|
|
181112
|
+
return _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.ParserSpec.create(format, this._unitsProvider, persistenceUnitProps);
|
|
181113
|
+
}
|
|
181114
|
+
/**
|
|
181115
|
+
* @beta
|
|
181116
|
+
* Returns a [[FormattingSpecEntry]] for a given name, typically a KindOfQuantity full name.
|
|
181117
|
+
*/
|
|
181118
|
+
getSpecsByName(name) {
|
|
181119
|
+
return this._formatSpecsRegistry.get(name);
|
|
181120
|
+
}
|
|
181121
|
+
/**
|
|
181122
|
+
* Populates the registry with a new FormatterSpec and ParserSpec entry for the given format name.
|
|
181123
|
+
* @beta
|
|
181124
|
+
* @param name The key used to identify the formatter and parser spec
|
|
181125
|
+
* @param persistenceUnitName The name of the persistence unit
|
|
181126
|
+
* @param formatProps If not supplied, tries to retrieve the [[FormatProps]] from [[IModelApp.formatsProvider]]
|
|
181127
|
+
*/
|
|
181128
|
+
async addFormattingSpecsToRegistry(name, persistenceUnitName, formatProps) {
|
|
181129
|
+
if (!formatProps) {
|
|
181130
|
+
formatProps = await _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.formatsProvider.getFormat(name);
|
|
181131
|
+
}
|
|
181132
|
+
if (formatProps) {
|
|
181133
|
+
const formatterSpec = await this.createFormatterSpec({
|
|
181134
|
+
persistenceUnitName,
|
|
181135
|
+
formatProps,
|
|
181136
|
+
formatName: name,
|
|
181137
|
+
});
|
|
181138
|
+
const parserSpec = await this.createParserSpec({
|
|
181139
|
+
persistenceUnitName,
|
|
181140
|
+
formatProps,
|
|
181141
|
+
formatName: name,
|
|
181142
|
+
});
|
|
181143
|
+
this._formatSpecsRegistry.set(name, { formatterSpec, parserSpec });
|
|
181144
|
+
}
|
|
181145
|
+
else {
|
|
181146
|
+
throw new Error(`Unable to find format properties for ${name} with persistence unit ${persistenceUnitName}`);
|
|
181147
|
+
}
|
|
181148
|
+
}
|
|
180866
181149
|
}
|
|
180867
181150
|
// ========================================================================================================================================
|
|
180868
181151
|
// Default Data
|
|
@@ -187903,6 +188186,8 @@ class TileAdmin {
|
|
|
187903
188186
|
/** @internal */
|
|
187904
188187
|
optimizeBRepProcessing;
|
|
187905
188188
|
/** @internal */
|
|
188189
|
+
disablePolyfaceDecimation;
|
|
188190
|
+
/** @internal */
|
|
187906
188191
|
useLargerTiles;
|
|
187907
188192
|
/** @internal */
|
|
187908
188193
|
maximumLevelsToSkip;
|
|
@@ -187991,6 +188276,7 @@ class TileAdmin {
|
|
|
187991
188276
|
this.useProjectExtents = options.useProjectExtents ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.useProjectExtents;
|
|
187992
188277
|
this.expandProjectExtents = options.expandProjectExtents ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.expandProjectExtents;
|
|
187993
188278
|
this.optimizeBRepProcessing = options.optimizeBRepProcessing ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.optimizeBRepProcessing;
|
|
188279
|
+
this.disablePolyfaceDecimation = options.disablePolyfaceDecimation ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.disablePolyfaceDecimation;
|
|
187994
188280
|
this.useLargerTiles = options.useLargerTiles ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.useLargerTiles;
|
|
187995
188281
|
this.mobileRealityTileMinToleranceRatio = Math.max(options.mobileRealityTileMinToleranceRatio ?? 3.0, 1.0);
|
|
187996
188282
|
this.cesiumIonKey = options.cesiumIonKey;
|
|
@@ -201267,11 +201553,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
201267
201553
|
/* harmony import */ var _IModelApp__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../IModelApp */ "../../core/frontend/lib/esm/IModelApp.js");
|
|
201268
201554
|
/* harmony import */ var _Marker__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Marker */ "../../core/frontend/lib/esm/Marker.js");
|
|
201269
201555
|
/* harmony import */ var _NotificationManager__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../NotificationManager */ "../../core/frontend/lib/esm/NotificationManager.js");
|
|
201270
|
-
/* harmony import */ var
|
|
201271
|
-
/* harmony import */ var
|
|
201272
|
-
/* harmony import */ var
|
|
201273
|
-
/* harmony import */ var
|
|
201274
|
-
/* harmony import */ var _common_render_GraphicType__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../common/render/GraphicType */ "../../core/frontend/lib/esm/common/render/GraphicType.js");
|
|
201556
|
+
/* harmony import */ var _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PrimitiveTool */ "../../core/frontend/lib/esm/tools/PrimitiveTool.js");
|
|
201557
|
+
/* harmony import */ var _Tool__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Tool */ "../../core/frontend/lib/esm/tools/Tool.js");
|
|
201558
|
+
/* harmony import */ var _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ToolAssistance */ "../../core/frontend/lib/esm/tools/ToolAssistance.js");
|
|
201559
|
+
/* harmony import */ var _common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../common/render/GraphicType */ "../../core/frontend/lib/esm/common/render/GraphicType.js");
|
|
201275
201560
|
/*---------------------------------------------------------------------------------------------
|
|
201276
201561
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
201277
201562
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -201292,9 +201577,18 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
201292
201577
|
|
|
201293
201578
|
|
|
201294
201579
|
|
|
201295
|
-
|
|
201296
201580
|
function translateBold(key) {
|
|
201297
|
-
return `<b>${
|
|
201581
|
+
return `<b>${_Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(`Measure.Labels.${key}`)}:</b> `;
|
|
201582
|
+
}
|
|
201583
|
+
async function getFormatterSpecByKoQAndPersistenceUnit(koq, persistenceUnitName) {
|
|
201584
|
+
const formatProps = await _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.formatsProvider.getFormat(koq);
|
|
201585
|
+
if (undefined === formatProps)
|
|
201586
|
+
return undefined;
|
|
201587
|
+
return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.createFormatterSpec({
|
|
201588
|
+
persistenceUnitName,
|
|
201589
|
+
formatProps,
|
|
201590
|
+
formatName: koq
|
|
201591
|
+
});
|
|
201298
201592
|
}
|
|
201299
201593
|
/** @internal */
|
|
201300
201594
|
class MeasureLabel {
|
|
@@ -201358,7 +201652,7 @@ class MeasureMarker extends _Marker__WEBPACK_IMPORTED_MODULE_7__.Marker {
|
|
|
201358
201652
|
onMouseButton(_ev) { return true; } // Never forward event to active tool...
|
|
201359
201653
|
onMouseEnter(ev) {
|
|
201360
201654
|
super.onMouseEnter(ev);
|
|
201361
|
-
if (this.title &&
|
|
201655
|
+
if (this.title && _Tool__WEBPACK_IMPORTED_MODULE_10__.InputSource.Touch === ev.inputSource && ev.viewport)
|
|
201362
201656
|
ev.viewport.openToolTip(this.title, ev.viewPoint, this.tooltipOptions);
|
|
201363
201657
|
}
|
|
201364
201658
|
onMouseLeave() {
|
|
@@ -201395,7 +201689,7 @@ function adjustPoint(ev, segments, locations) {
|
|
|
201395
201689
|
/** Report distance between 2 points using current quantity formatter for length.
|
|
201396
201690
|
* @public
|
|
201397
201691
|
*/
|
|
201398
|
-
class MeasureDistanceTool extends
|
|
201692
|
+
class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.PrimitiveTool {
|
|
201399
201693
|
static toolId = "Measure.Distance";
|
|
201400
201694
|
static iconSpec = "icon-measure-distance";
|
|
201401
201695
|
/** @internal */
|
|
@@ -201413,6 +201707,12 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201413
201707
|
/** @internal */
|
|
201414
201708
|
_lastMotionAdjustedPt;
|
|
201415
201709
|
/** @internal */
|
|
201710
|
+
_lengthFormatterSpec;
|
|
201711
|
+
/** @internal */
|
|
201712
|
+
_angleFormatterSpec;
|
|
201713
|
+
/** @internal */
|
|
201714
|
+
_removeFormatterListener;
|
|
201715
|
+
/** @internal */
|
|
201416
201716
|
allowView(vp) { return vp.view.isSpatialView() || vp.view.isDrawingView(); }
|
|
201417
201717
|
/** @internal */
|
|
201418
201718
|
isCompatibleViewport(vp, isSelectedViewChange) { return (super.isCompatibleViewport(vp, isSelectedViewChange) && undefined !== vp && this.allowView(vp)); }
|
|
@@ -201423,34 +201723,50 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201423
201723
|
/** @internal */
|
|
201424
201724
|
async onPostInstall() {
|
|
201425
201725
|
await super.onPostInstall();
|
|
201726
|
+
this._lengthFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
201727
|
+
this._angleFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.ANGLE", "Units.RAD");
|
|
201728
|
+
this._removeFormatterListener = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.formatsProvider.onFormatsChanged.addListener(async (args) => {
|
|
201729
|
+
if (args.formatsChanged === "all" || args.formatsChanged.includes("AecUnits.LENGTH"))
|
|
201730
|
+
this._lengthFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
201731
|
+
if (args.formatsChanged === "all" || args.formatsChanged.includes("AecUnits.ANGLE"))
|
|
201732
|
+
this._angleFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.ANGLE", "Units.RAD");
|
|
201733
|
+
});
|
|
201426
201734
|
this.setupAndPromptForNextAction();
|
|
201427
201735
|
}
|
|
201428
201736
|
/** @internal */
|
|
201737
|
+
async onCleanup() {
|
|
201738
|
+
if (this._removeFormatterListener) {
|
|
201739
|
+
this._removeFormatterListener();
|
|
201740
|
+
this._removeFormatterListener = undefined;
|
|
201741
|
+
}
|
|
201742
|
+
await super.onCleanup();
|
|
201743
|
+
}
|
|
201744
|
+
/** @internal */
|
|
201429
201745
|
async onUnsuspend() { this.showPrompt(); }
|
|
201430
201746
|
/** @internal */
|
|
201431
201747
|
showPrompt() {
|
|
201432
|
-
const mainInstruction =
|
|
201748
|
+
const mainInstruction = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(this.iconSpec, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(0 === this._locationData.length ? "Measure.Distance.Prompts.FirstPoint" : "Measure.Distance.Prompts.NextPoint"));
|
|
201433
201749
|
const mouseInstructions = [];
|
|
201434
201750
|
const touchInstructions = [];
|
|
201435
|
-
if (!
|
|
201436
|
-
touchInstructions.push(
|
|
201437
|
-
mouseInstructions.push(
|
|
201751
|
+
if (!_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createTouchCursorInstructions(touchInstructions))
|
|
201752
|
+
touchInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.OneTouchTap, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.AcceptPoint"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Touch));
|
|
201753
|
+
mouseInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.LeftClick, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.AcceptPoint"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Mouse));
|
|
201438
201754
|
if (0 === this._locationData.length) {
|
|
201439
201755
|
if (this._acceptedSegments.length > 0) {
|
|
201440
|
-
touchInstructions.push(
|
|
201441
|
-
mouseInstructions.push(
|
|
201756
|
+
touchInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.TwoTouchTap, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.Restart"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Touch));
|
|
201757
|
+
mouseInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.RightClick, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.Restart"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Mouse));
|
|
201442
201758
|
}
|
|
201443
201759
|
}
|
|
201444
201760
|
else {
|
|
201445
|
-
touchInstructions.push(
|
|
201446
|
-
mouseInstructions.push(
|
|
201447
|
-
mouseInstructions.push(
|
|
201448
|
-
mouseInstructions.push(
|
|
201761
|
+
touchInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.TwoTouchTap, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.Cancel"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Touch));
|
|
201762
|
+
mouseInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.RightClick, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.Cancel"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Mouse));
|
|
201763
|
+
mouseInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createModifierKeyInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.ctrlKey, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.LeftClick, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.AdditionalPoint"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Mouse));
|
|
201764
|
+
mouseInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createKeyboardInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createKeyboardInfo([_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.ctrlKey, "Z"]), _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.UndoLastPoint"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Mouse));
|
|
201449
201765
|
}
|
|
201450
201766
|
const sections = [];
|
|
201451
|
-
sections.push(
|
|
201452
|
-
sections.push(
|
|
201453
|
-
const instructions =
|
|
201767
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(mouseInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
201768
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(touchInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
201769
|
+
const instructions = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstructions(mainInstruction, sections);
|
|
201454
201770
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.setToolAssistance(instructions);
|
|
201455
201771
|
}
|
|
201456
201772
|
/** @internal */
|
|
@@ -201496,8 +201812,8 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201496
201812
|
totalDistance += adjustedPoints[i].distance(adjustedPoints[i + 1]);
|
|
201497
201813
|
if (0.0 === totalDistance)
|
|
201498
201814
|
return;
|
|
201499
|
-
const formatterSpec =
|
|
201500
|
-
if (
|
|
201815
|
+
const formatterSpec = this._lengthFormatterSpec;
|
|
201816
|
+
if (formatterSpec === undefined)
|
|
201501
201817
|
return;
|
|
201502
201818
|
const formattedTotalDistance = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(totalDistance, formatterSpec);
|
|
201503
201819
|
const distDyn = new MeasureLabel(points[points.length - 1], formattedTotalDistance);
|
|
@@ -201511,7 +201827,7 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201511
201827
|
seg.refAxes.multiplyVectorInPlace(xVec);
|
|
201512
201828
|
seg.refAxes.multiplyVectorInPlace(yVec);
|
|
201513
201829
|
seg.refAxes.multiplyVectorInPlace(zVec);
|
|
201514
|
-
const builderAxes = context.createGraphicBuilder(
|
|
201830
|
+
const builderAxes = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldOverlay);
|
|
201515
201831
|
let basePt = seg.start.clone();
|
|
201516
201832
|
if (xVec.magnitude() > 1.0e-5) {
|
|
201517
201833
|
const segPoints = [];
|
|
@@ -201558,12 +201874,12 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201558
201874
|
}
|
|
201559
201875
|
tmpPoints.push(this._lastMotionPt);
|
|
201560
201876
|
tmpAdjustedPoints.push(this._lastMotionAdjustedPt);
|
|
201561
|
-
const builderDynVis = context.createGraphicBuilder(
|
|
201877
|
+
const builderDynVis = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldDecoration);
|
|
201562
201878
|
const colorDynVis = context.viewport.hilite.color;
|
|
201563
201879
|
builderDynVis.setSymbology(colorDynVis, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.black, 3);
|
|
201564
201880
|
builderDynVis.addLineString(tmpPoints);
|
|
201565
201881
|
context.addDecorationFromBuilder(builderDynVis);
|
|
201566
|
-
const builderDynHid = context.createGraphicBuilder(
|
|
201882
|
+
const builderDynHid = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldOverlay);
|
|
201567
201883
|
const colorDynHid = colorDynVis.withAlpha(100);
|
|
201568
201884
|
builderDynHid.setSymbology(colorDynHid, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.black, 1, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.LinePixels.Code2);
|
|
201569
201885
|
builderDynHid.addLineString(tmpPoints);
|
|
@@ -201571,8 +201887,8 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201571
201887
|
this.displayDynamicDistance(context, tmpPoints, tmpAdjustedPoints);
|
|
201572
201888
|
}
|
|
201573
201889
|
if (this._acceptedSegments.length > 0) {
|
|
201574
|
-
const builderAccVis = context.createGraphicBuilder(
|
|
201575
|
-
const builderAccHid = context.createGraphicBuilder(
|
|
201890
|
+
const builderAccVis = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldDecoration);
|
|
201891
|
+
const builderAccHid = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldOverlay);
|
|
201576
201892
|
const colorAccVis = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.white.adjustedForContrast(context.viewport.view.backgroundColor);
|
|
201577
201893
|
const colorAccHid = colorAccVis.withAlpha(100);
|
|
201578
201894
|
builderAccVis.setSymbology(colorAccVis, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.black, 3);
|
|
@@ -201594,7 +201910,7 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201594
201910
|
return;
|
|
201595
201911
|
if (undefined === this._snapGeomId)
|
|
201596
201912
|
this._snapGeomId = this.iModel.transientIds.getNext();
|
|
201597
|
-
const builderSnapPts = context.createGraphicBuilder(
|
|
201913
|
+
const builderSnapPts = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldOverlay, undefined, this._snapGeomId);
|
|
201598
201914
|
const colorAccPts = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.white.adjustedForContrast(context.viewport.view.backgroundColor);
|
|
201599
201915
|
builderSnapPts.setSymbology(colorAccPts, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.black, 7);
|
|
201600
201916
|
builderSnapPts.addPointString(snapPoints);
|
|
@@ -201623,7 +201939,7 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201623
201939
|
reportMeasurements() {
|
|
201624
201940
|
if (undefined === this._totalDistanceMarker)
|
|
201625
201941
|
return;
|
|
201626
|
-
const briefMsg = `${
|
|
201942
|
+
const briefMsg = `${_Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(this._acceptedSegments.length > 1 ? "Measure.Labels.CumulativeDistance" : "Measure.Labels.Distance")}: ${this._totalDistanceMarker.label}`;
|
|
201627
201943
|
const msgDetail = new _NotificationManager__WEBPACK_IMPORTED_MODULE_8__.NotifyMessageDetails(_NotificationManager__WEBPACK_IMPORTED_MODULE_8__.OutputMessagePriority.Info, briefMsg, undefined, _NotificationManager__WEBPACK_IMPORTED_MODULE_8__.OutputMessageType.Sticky);
|
|
201628
201944
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.outputMessage(msgDetail);
|
|
201629
201945
|
}
|
|
@@ -201634,7 +201950,7 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201634
201950
|
this._totalDistance += seg.distance;
|
|
201635
201951
|
if (0.0 === this._totalDistance)
|
|
201636
201952
|
return;
|
|
201637
|
-
const formatterSpec =
|
|
201953
|
+
const formatterSpec = this._lengthFormatterSpec;
|
|
201638
201954
|
if (undefined === formatterSpec)
|
|
201639
201955
|
return;
|
|
201640
201956
|
const formattedTotalDistance = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._totalDistance, formatterSpec);
|
|
@@ -201645,20 +201961,20 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201645
201961
|
const is3d = (undefined === this.targetView || this.targetView.view.is3d());
|
|
201646
201962
|
const isSpatial = (undefined !== this.targetView && this.targetView.view.isSpatialView());
|
|
201647
201963
|
const toolTip = document.createElement("div");
|
|
201648
|
-
const distanceFormatterSpec =
|
|
201964
|
+
const distanceFormatterSpec = this._lengthFormatterSpec;
|
|
201649
201965
|
if (undefined === distanceFormatterSpec)
|
|
201650
201966
|
return toolTip;
|
|
201651
201967
|
let toolTipHtml = "";
|
|
201652
201968
|
const formattedDistance = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(distance, distanceFormatterSpec);
|
|
201653
201969
|
toolTipHtml += `${translateBold("Distance") + formattedDistance}<br>`;
|
|
201654
201970
|
if (is3d) {
|
|
201655
|
-
const angleFormatterSpec =
|
|
201971
|
+
const angleFormatterSpec = this._angleFormatterSpec;
|
|
201656
201972
|
if (undefined !== angleFormatterSpec) {
|
|
201657
201973
|
const formattedSlope = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(slope, angleFormatterSpec);
|
|
201658
201974
|
toolTipHtml += `${translateBold("Slope") + formattedSlope}<br>`;
|
|
201659
201975
|
}
|
|
201660
201976
|
}
|
|
201661
|
-
const coordFormatterSpec =
|
|
201977
|
+
const coordFormatterSpec = this._lengthFormatterSpec;
|
|
201662
201978
|
if (undefined !== coordFormatterSpec) {
|
|
201663
201979
|
let startAdjusted = start;
|
|
201664
201980
|
let endAdjusted = end;
|
|
@@ -201803,19 +202119,19 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201803
202119
|
this.setupAndPromptForNextAction();
|
|
201804
202120
|
if (undefined !== ev.viewport)
|
|
201805
202121
|
ev.viewport.invalidateDecorations();
|
|
201806
|
-
return
|
|
202122
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
201807
202123
|
}
|
|
201808
202124
|
/** @internal */
|
|
201809
202125
|
async onResetButtonUp(ev) {
|
|
201810
202126
|
if (0 === this._locationData.length) {
|
|
201811
202127
|
await this.onReinitialize();
|
|
201812
|
-
return
|
|
202128
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
201813
202129
|
}
|
|
201814
202130
|
await this.acceptNewSegments();
|
|
201815
202131
|
this.setupAndPromptForNextAction();
|
|
201816
202132
|
if (undefined !== ev.viewport)
|
|
201817
202133
|
ev.viewport.invalidateDecorations();
|
|
201818
|
-
return
|
|
202134
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
201819
202135
|
}
|
|
201820
202136
|
/** @internal */
|
|
201821
202137
|
async onUndoPreviousStep() {
|
|
@@ -201846,7 +202162,7 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201846
202162
|
/** Report spatial coordinate at a point as well as cartographic location for geolocated models using current quantity formatters.
|
|
201847
202163
|
* @public
|
|
201848
202164
|
*/
|
|
201849
|
-
class MeasureLocationTool extends
|
|
202165
|
+
class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.PrimitiveTool {
|
|
201850
202166
|
static toolId = "Measure.Location";
|
|
201851
202167
|
static iconSpec = "icon-measure-location";
|
|
201852
202168
|
/** @internal */
|
|
@@ -201868,20 +202184,20 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201868
202184
|
async onUnsuspend() { this.showPrompt(); }
|
|
201869
202185
|
/** @internal */
|
|
201870
202186
|
showPrompt() {
|
|
201871
|
-
const mainInstruction =
|
|
202187
|
+
const mainInstruction = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(this.iconSpec, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("Measure.Location.Prompts.EnterPoint"));
|
|
201872
202188
|
const mouseInstructions = [];
|
|
201873
202189
|
const touchInstructions = [];
|
|
201874
|
-
if (!
|
|
201875
|
-
touchInstructions.push(
|
|
201876
|
-
mouseInstructions.push(
|
|
202190
|
+
if (!_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createTouchCursorInstructions(touchInstructions))
|
|
202191
|
+
touchInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.OneTouchTap, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.AcceptPoint"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Touch));
|
|
202192
|
+
mouseInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.LeftClick, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.AcceptPoint"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Mouse));
|
|
201877
202193
|
if (0 !== this._acceptedLocations.length) {
|
|
201878
|
-
touchInstructions.push(
|
|
201879
|
-
mouseInstructions.push(
|
|
202194
|
+
touchInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.TwoTouchTap, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.Restart"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Touch));
|
|
202195
|
+
mouseInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.RightClick, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.Restart"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Mouse));
|
|
201880
202196
|
}
|
|
201881
202197
|
const sections = [];
|
|
201882
|
-
sections.push(
|
|
201883
|
-
sections.push(
|
|
201884
|
-
const instructions =
|
|
202198
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(mouseInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
202199
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(touchInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
202200
|
+
const instructions = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstructions(mainInstruction, sections);
|
|
201885
202201
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.setToolAssistance(instructions);
|
|
201886
202202
|
}
|
|
201887
202203
|
/** @internal */
|
|
@@ -201894,7 +202210,7 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201894
202210
|
const isSpatial = (undefined !== this.targetView && this.targetView.view.isSpatialView());
|
|
201895
202211
|
const toolTip = document.createElement("div");
|
|
201896
202212
|
let toolTipHtml = "";
|
|
201897
|
-
const coordFormatterSpec = await
|
|
202213
|
+
const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
201898
202214
|
if (undefined !== coordFormatterSpec) {
|
|
201899
202215
|
let pointAdjusted = point;
|
|
201900
202216
|
if (isSpatial) {
|
|
@@ -201910,15 +202226,15 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201910
202226
|
toolTipHtml += "<br>";
|
|
201911
202227
|
}
|
|
201912
202228
|
if (isSpatial) {
|
|
201913
|
-
const latLongFormatterSpec = await
|
|
202229
|
+
const latLongFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.ANGLE", "Units.RAD");
|
|
201914
202230
|
if (undefined !== latLongFormatterSpec && undefined !== coordFormatterSpec) {
|
|
201915
202231
|
try {
|
|
201916
202232
|
const cartographic = await this.iModel.spatialToCartographic(point);
|
|
201917
202233
|
const formattedLat = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(Math.abs(cartographic.latitude), latLongFormatterSpec);
|
|
201918
202234
|
const formattedLong = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(Math.abs(cartographic.longitude), latLongFormatterSpec);
|
|
201919
202235
|
const formattedHeight = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(cartographic.height, coordFormatterSpec);
|
|
201920
|
-
const latDir =
|
|
201921
|
-
const longDir =
|
|
202236
|
+
const latDir = _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(cartographic.latitude < 0 ? "Measure.Labels.S" : "Measure.Labels.N");
|
|
202237
|
+
const longDir = _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(cartographic.longitude < 0 ? "Measure.Labels.W" : "Measure.Labels.E");
|
|
201922
202238
|
toolTipHtml += `${translateBold("LatLong") + formattedLat + latDir}, ${formattedLong}${longDir}<br>`;
|
|
201923
202239
|
toolTipHtml += `${translateBold("Altitude") + formattedHeight}<br>`;
|
|
201924
202240
|
}
|
|
@@ -201956,12 +202272,12 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201956
202272
|
this.setupAndPromptForNextAction();
|
|
201957
202273
|
if (undefined !== ev.viewport)
|
|
201958
202274
|
ev.viewport.invalidateDecorations();
|
|
201959
|
-
return
|
|
202275
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
201960
202276
|
}
|
|
201961
202277
|
/** @internal */
|
|
201962
202278
|
async onResetButtonUp(_ev) {
|
|
201963
202279
|
await this.onReinitialize();
|
|
201964
|
-
return
|
|
202280
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
201965
202281
|
}
|
|
201966
202282
|
/** @internal */
|
|
201967
202283
|
async onUndoPreviousStep() {
|
|
@@ -201987,7 +202303,7 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201987
202303
|
/** Report area defined by points using current quantity formatter for area.
|
|
201988
202304
|
* @public
|
|
201989
202305
|
*/
|
|
201990
|
-
class MeasureAreaByPointsTool extends
|
|
202306
|
+
class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.PrimitiveTool {
|
|
201991
202307
|
static toolId = "Measure.AreaByPoints";
|
|
201992
202308
|
static iconSpec = "icon-measure-2d";
|
|
201993
202309
|
/** @internal */
|
|
@@ -202016,12 +202332,12 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
202016
202332
|
/** @internal */
|
|
202017
202333
|
static _orientationName = "enumAsOrientation";
|
|
202018
202334
|
/** @internal */
|
|
202019
|
-
static enumAsOrientationMessage(str) { return
|
|
202335
|
+
static enumAsOrientationMessage(str) { return _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(`Settings.Orientation.${str}`); }
|
|
202020
202336
|
/** @internal */
|
|
202021
202337
|
static _getEnumAsOrientationDescription = () => {
|
|
202022
202338
|
return {
|
|
202023
202339
|
name: MeasureAreaByPointsTool._orientationName,
|
|
202024
|
-
displayLabel:
|
|
202340
|
+
displayLabel: _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("Settings.Orientation.Label"),
|
|
202025
202341
|
typename: "enum",
|
|
202026
202342
|
enum: {
|
|
202027
202343
|
choices: [
|
|
@@ -202089,24 +202405,24 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
202089
202405
|
mainMsg += this._isComplete ? "FirstPoint" : "NextPoint";
|
|
202090
202406
|
break;
|
|
202091
202407
|
}
|
|
202092
|
-
const mainInstruction =
|
|
202408
|
+
const mainInstruction = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(this.iconSpec, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(mainMsg));
|
|
202093
202409
|
const mouseInstructions = [];
|
|
202094
202410
|
const touchInstructions = [];
|
|
202095
|
-
const acceptMsg =
|
|
202096
|
-
if (!
|
|
202097
|
-
touchInstructions.push(
|
|
202098
|
-
mouseInstructions.push(
|
|
202099
|
-
const resetMsg =
|
|
202100
|
-
touchInstructions.push(
|
|
202101
|
-
mouseInstructions.push(
|
|
202411
|
+
const acceptMsg = _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(this._isComplete ? "ElementSet.Inputs.Restart" : "ElementSet.Inputs.AcceptPoint");
|
|
202412
|
+
if (!_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createTouchCursorInstructions(touchInstructions))
|
|
202413
|
+
touchInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.OneTouchTap, acceptMsg, false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Touch));
|
|
202414
|
+
mouseInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.LeftClick, acceptMsg, false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Mouse));
|
|
202415
|
+
const resetMsg = _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.Restart");
|
|
202416
|
+
touchInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.TwoTouchTap, resetMsg, false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Touch));
|
|
202417
|
+
mouseInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.RightClick, resetMsg, false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Mouse));
|
|
202102
202418
|
if (this._points.length > 1)
|
|
202103
|
-
mouseInstructions.push(
|
|
202419
|
+
mouseInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createModifierKeyInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.ctrlKey, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.LeftClick, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.AdditionalPoint"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Mouse));
|
|
202104
202420
|
if (0 !== this._points.length)
|
|
202105
|
-
mouseInstructions.push(
|
|
202421
|
+
mouseInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createKeyboardInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createKeyboardInfo([_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.ctrlKey, "Z"]), _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.UndoLastPoint"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Mouse));
|
|
202106
202422
|
const sections = [];
|
|
202107
|
-
sections.push(
|
|
202108
|
-
sections.push(
|
|
202109
|
-
const instructions =
|
|
202423
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(mouseInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
202424
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(touchInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
202425
|
+
const instructions = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstructions(mainInstruction, sections);
|
|
202110
202426
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.setToolAssistance(instructions);
|
|
202111
202427
|
}
|
|
202112
202428
|
/** @internal */
|
|
@@ -202150,7 +202466,7 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
202150
202466
|
let currentPt = _AccuDraw__WEBPACK_IMPORTED_MODULE_3__.AccuDrawHintBuilder.projectPointToPlaneInView(cursorPt, points[0], normal, this.targetView, true);
|
|
202151
202467
|
if (undefined === currentPt)
|
|
202152
202468
|
currentPt = cursorPt.clone();
|
|
202153
|
-
if (2 === points.length && 0 === (_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.toolAdmin.currentInputState.qualifiers &
|
|
202469
|
+
if (2 === points.length && 0 === (_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.toolAdmin.currentInputState.qualifiers & _Tool__WEBPACK_IMPORTED_MODULE_10__.BeModifierKeys.Control)) {
|
|
202154
202470
|
const xDir = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createStartEnd(points[0], points[1]);
|
|
202155
202471
|
const xLen = xDir.magnitude();
|
|
202156
202472
|
xDir.normalizeInPlace();
|
|
@@ -202176,8 +202492,8 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
202176
202492
|
const points = this.getShapePoints(this._lastMotionPt);
|
|
202177
202493
|
if (points.length < 2)
|
|
202178
202494
|
return;
|
|
202179
|
-
const builderAccVis = context.createGraphicBuilder(
|
|
202180
|
-
const builderAccHid = context.createGraphicBuilder(
|
|
202495
|
+
const builderAccVis = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldDecoration);
|
|
202496
|
+
const builderAccHid = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldOverlay);
|
|
202181
202497
|
const colorAccVis = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.white.adjustedForContrast(context.viewport.view.backgroundColor);
|
|
202182
202498
|
const colorAccHid = colorAccVis.withAlpha(100);
|
|
202183
202499
|
const fillAccVis = context.viewport.hilite.color.withAlpha(50);
|
|
@@ -202214,17 +202530,17 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
202214
202530
|
const isSpatial = (undefined !== this.targetView && this.targetView.view.isSpatialView());
|
|
202215
202531
|
const toolTip = document.createElement("div");
|
|
202216
202532
|
let toolTipHtml = "";
|
|
202217
|
-
const areaFormatterSpec = await
|
|
202533
|
+
const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
|
|
202218
202534
|
if (undefined !== areaFormatterSpec) {
|
|
202219
202535
|
const formattedArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._area, areaFormatterSpec);
|
|
202220
202536
|
toolTipHtml += `${translateBold("Area") + formattedArea}<br>`;
|
|
202221
202537
|
}
|
|
202222
|
-
const perimeterFormatterSpec = await
|
|
202538
|
+
const perimeterFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
202223
202539
|
if (undefined !== perimeterFormatterSpec) {
|
|
202224
202540
|
const formattedPerimeter = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._perimeter, perimeterFormatterSpec);
|
|
202225
202541
|
toolTipHtml += `${translateBold("Perimeter") + formattedPerimeter}<br>`;
|
|
202226
202542
|
}
|
|
202227
|
-
const coordFormatterSpec = await
|
|
202543
|
+
const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
202228
202544
|
if (undefined !== coordFormatterSpec) {
|
|
202229
202545
|
let pointAdjusted = this._centroid.clone();
|
|
202230
202546
|
if (isSpatial) {
|
|
@@ -202245,7 +202561,7 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
202245
202561
|
reportMeasurements() {
|
|
202246
202562
|
if (undefined === this._marker)
|
|
202247
202563
|
return;
|
|
202248
|
-
const briefMsg = `${
|
|
202564
|
+
const briefMsg = `${_Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("Measure.Labels.Area")}: ${this._marker.label}`;
|
|
202249
202565
|
const msgDetail = new _NotificationManager__WEBPACK_IMPORTED_MODULE_8__.NotifyMessageDetails(_NotificationManager__WEBPACK_IMPORTED_MODULE_8__.OutputMessagePriority.Info, briefMsg, undefined, _NotificationManager__WEBPACK_IMPORTED_MODULE_8__.OutputMessageType.Sticky);
|
|
202250
202566
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.outputMessage(msgDetail);
|
|
202251
202567
|
}
|
|
@@ -202263,7 +202579,7 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
202263
202579
|
const toolTip = await this.getMarkerToolTip();
|
|
202264
202580
|
this._acceptedMeasurement = new MeasureMarker("1", toolTip, this._centroid, _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point2d.create(25, 25));
|
|
202265
202581
|
this._marker = undefined;
|
|
202266
|
-
const areaFormatterSpec = await
|
|
202582
|
+
const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
|
|
202267
202583
|
if (undefined === areaFormatterSpec)
|
|
202268
202584
|
return;
|
|
202269
202585
|
const formattedTotalArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._area, areaFormatterSpec);
|
|
@@ -202273,23 +202589,23 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
202273
202589
|
/** @internal */
|
|
202274
202590
|
async onDataButtonDown(ev) {
|
|
202275
202591
|
if (undefined === this.targetView)
|
|
202276
|
-
return
|
|
202592
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202277
202593
|
if (this._isComplete)
|
|
202278
202594
|
await this.onReinitialize();
|
|
202279
202595
|
if (this._points.length > 1 && !ev.isControlKey) {
|
|
202280
202596
|
const points = this.getShapePoints(ev.point);
|
|
202281
202597
|
if (points.length < 3)
|
|
202282
|
-
return
|
|
202598
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202283
202599
|
this._isComplete = true;
|
|
202284
202600
|
this._points.length = 0;
|
|
202285
202601
|
for (const pt of points)
|
|
202286
202602
|
this._points.push(pt);
|
|
202287
202603
|
await this.updateTotals();
|
|
202288
202604
|
this.setupAndPromptForNextAction();
|
|
202289
|
-
return
|
|
202605
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202290
202606
|
}
|
|
202291
202607
|
if (undefined === this._matrix && undefined === (this._matrix = _AccuDraw__WEBPACK_IMPORTED_MODULE_3__.AccuDrawHintBuilder.getContextRotation(this.orientation, this.targetView)))
|
|
202292
|
-
return
|
|
202608
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202293
202609
|
const currPt = ev.point.clone();
|
|
202294
202610
|
if (this._points.length > 0) {
|
|
202295
202611
|
const planePt = _AccuDraw__WEBPACK_IMPORTED_MODULE_3__.AccuDrawHintBuilder.projectPointToPlaneInView(currPt, this._points[0], this._matrix.getColumn(2), ev.viewport, true);
|
|
@@ -202298,14 +202614,14 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
202298
202614
|
}
|
|
202299
202615
|
this._points.push(currPt);
|
|
202300
202616
|
this.setupAndPromptForNextAction();
|
|
202301
|
-
return
|
|
202617
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202302
202618
|
}
|
|
202303
202619
|
/** @internal */
|
|
202304
202620
|
async onResetButtonUp(ev) {
|
|
202305
202621
|
if (undefined !== ev.viewport)
|
|
202306
202622
|
ev.viewport.invalidateDecorations();
|
|
202307
202623
|
await this.onReinitialize();
|
|
202308
|
-
return
|
|
202624
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202309
202625
|
}
|
|
202310
202626
|
/** @internal */
|
|
202311
202627
|
async onReinitialize() {
|
|
@@ -202335,7 +202651,7 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
202335
202651
|
/** Base class for mass properties tools.
|
|
202336
202652
|
* @public
|
|
202337
202653
|
*/
|
|
202338
|
-
class MeasureElementTool extends
|
|
202654
|
+
class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.PrimitiveTool {
|
|
202339
202655
|
/** @internal */
|
|
202340
202656
|
_checkedIds = new Map();
|
|
202341
202657
|
/** @internal */
|
|
@@ -202371,33 +202687,33 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
202371
202687
|
/** @internal */
|
|
202372
202688
|
showPrompt() {
|
|
202373
202689
|
const mainMsg = (this._useSelection ? (0 === this._acceptedMeasurements.length ? "ElementSet.Prompts.ConfirmSelection" : "ElementSet.Prompts.InspectResult") : "ElementSet.Prompts.IdentifyElement");
|
|
202374
|
-
const mainInstruction =
|
|
202690
|
+
const mainInstruction = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(this.iconSpec, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(mainMsg));
|
|
202375
202691
|
const mouseInstructions = [];
|
|
202376
202692
|
const touchInstructions = [];
|
|
202377
202693
|
if (this._useSelection) {
|
|
202378
202694
|
if (0 === this._acceptedMeasurements.length) {
|
|
202379
|
-
touchInstructions.push(
|
|
202380
|
-
mouseInstructions.push(
|
|
202381
|
-
touchInstructions.push(
|
|
202382
|
-
mouseInstructions.push(
|
|
202695
|
+
touchInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.OneTouchTap, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.AcceptSelection"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Touch));
|
|
202696
|
+
mouseInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.LeftClick, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.AcceptSelection"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Mouse));
|
|
202697
|
+
touchInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.TwoTouchTap, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.RejectSelection"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Touch));
|
|
202698
|
+
mouseInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.RightClick, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.RejectSelection"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Mouse));
|
|
202383
202699
|
}
|
|
202384
202700
|
else {
|
|
202385
|
-
touchInstructions.push(
|
|
202386
|
-
mouseInstructions.push(
|
|
202701
|
+
touchInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.TwoTouchTap, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.Exit"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Touch));
|
|
202702
|
+
mouseInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.RightClick, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.Exit"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Mouse));
|
|
202387
202703
|
}
|
|
202388
202704
|
}
|
|
202389
202705
|
else {
|
|
202390
|
-
touchInstructions.push(
|
|
202391
|
-
mouseInstructions.push(
|
|
202706
|
+
touchInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.OneTouchTap, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.AcceptElement"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Touch));
|
|
202707
|
+
mouseInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.LeftClick, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.AcceptElement"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Mouse));
|
|
202392
202708
|
if (0 !== this._acceptedMeasurements.length) {
|
|
202393
|
-
touchInstructions.push(
|
|
202394
|
-
mouseInstructions.push(
|
|
202709
|
+
touchInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.TwoTouchTap, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.Restart"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Touch));
|
|
202710
|
+
mouseInstructions.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceImage.RightClick, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.Restart"), false, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistanceInputMethod.Mouse));
|
|
202395
202711
|
}
|
|
202396
202712
|
}
|
|
202397
202713
|
const sections = [];
|
|
202398
|
-
sections.push(
|
|
202399
|
-
sections.push(
|
|
202400
|
-
const instructions =
|
|
202714
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(mouseInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
202715
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(touchInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
202716
|
+
const instructions = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstructions(mainInstruction, sections);
|
|
202401
202717
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.setToolAssistance(instructions);
|
|
202402
202718
|
}
|
|
202403
202719
|
/** @internal */
|
|
@@ -202434,7 +202750,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
202434
202750
|
default:
|
|
202435
202751
|
return;
|
|
202436
202752
|
}
|
|
202437
|
-
const briefMsg = `${
|
|
202753
|
+
const briefMsg = `${_Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(label)}: ${this._totalMarker.label}`;
|
|
202438
202754
|
const msgDetail = new _NotificationManager__WEBPACK_IMPORTED_MODULE_8__.NotifyMessageDetails(_NotificationManager__WEBPACK_IMPORTED_MODULE_8__.OutputMessagePriority.Info, briefMsg, undefined, _NotificationManager__WEBPACK_IMPORTED_MODULE_8__.OutputMessageType.Sticky);
|
|
202439
202755
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.outputMessage(msgDetail);
|
|
202440
202756
|
}
|
|
@@ -202445,7 +202761,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
202445
202761
|
let toolTipHtml = "";
|
|
202446
202762
|
switch (this.getOperation()) {
|
|
202447
202763
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateLengths: {
|
|
202448
|
-
const distanceFormatterSpec = await
|
|
202764
|
+
const distanceFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
202449
202765
|
if (undefined !== distanceFormatterSpec) {
|
|
202450
202766
|
const formattedLength = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.length ? responseProps.length : 0, distanceFormatterSpec);
|
|
202451
202767
|
toolTipHtml += `${translateBold("Length") + formattedLength}<br>`;
|
|
@@ -202453,13 +202769,13 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
202453
202769
|
break;
|
|
202454
202770
|
}
|
|
202455
202771
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateAreas: {
|
|
202456
|
-
const areaFormatterSpec = await
|
|
202772
|
+
const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
|
|
202457
202773
|
if (undefined !== areaFormatterSpec) {
|
|
202458
202774
|
const formattedArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.area ? responseProps.area : 0, areaFormatterSpec);
|
|
202459
202775
|
toolTipHtml += `${translateBold("Area") + formattedArea}<br>`;
|
|
202460
202776
|
}
|
|
202461
202777
|
if (responseProps.perimeter) {
|
|
202462
|
-
const perimeterFormatterSpec = await
|
|
202778
|
+
const perimeterFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
202463
202779
|
if (undefined !== perimeterFormatterSpec) {
|
|
202464
202780
|
const formattedPerimeter = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.perimeter, perimeterFormatterSpec);
|
|
202465
202781
|
toolTipHtml += `${translateBold("Perimeter") + formattedPerimeter}<br>`;
|
|
@@ -202468,13 +202784,13 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
202468
202784
|
break;
|
|
202469
202785
|
}
|
|
202470
202786
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateVolumes: {
|
|
202471
|
-
const volumeFormatterSpec = await
|
|
202787
|
+
const volumeFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.VOLUME", "Units.CUB_M");
|
|
202472
202788
|
if (undefined !== volumeFormatterSpec) {
|
|
202473
202789
|
const formattedVolume = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.volume ? responseProps.volume : 0, volumeFormatterSpec);
|
|
202474
202790
|
toolTipHtml += `${translateBold("Volume") + formattedVolume}<br>`;
|
|
202475
202791
|
}
|
|
202476
202792
|
if (responseProps.area) {
|
|
202477
|
-
const areaFormatterSpec = await
|
|
202793
|
+
const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
|
|
202478
202794
|
if (undefined !== areaFormatterSpec) {
|
|
202479
202795
|
const formattedArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.area, areaFormatterSpec);
|
|
202480
202796
|
toolTipHtml += `${translateBold("Area") + formattedArea}<br>`;
|
|
@@ -202484,7 +202800,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
202484
202800
|
}
|
|
202485
202801
|
}
|
|
202486
202802
|
if (responseProps.centroid) {
|
|
202487
|
-
const coordFormatterSpec = await
|
|
202803
|
+
const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
202488
202804
|
if (undefined !== coordFormatterSpec) {
|
|
202489
202805
|
let pointAdjusted = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point3d.fromJSON(responseProps.centroid);
|
|
202490
202806
|
if (isSpatial) {
|
|
@@ -202535,21 +202851,21 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
202535
202851
|
return;
|
|
202536
202852
|
switch (operation) {
|
|
202537
202853
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateLengths:
|
|
202538
|
-
const distanceFormatterSpec = await
|
|
202854
|
+
const distanceFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
202539
202855
|
if (undefined === distanceFormatterSpec)
|
|
202540
202856
|
return;
|
|
202541
202857
|
const formattedTotalDistance = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._totalValue, distanceFormatterSpec);
|
|
202542
202858
|
this._totalMarker = new MeasureLabel(labelPt, formattedTotalDistance);
|
|
202543
202859
|
break;
|
|
202544
202860
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateAreas:
|
|
202545
|
-
const areaFormatterSpec = await
|
|
202861
|
+
const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
|
|
202546
202862
|
if (undefined === areaFormatterSpec)
|
|
202547
202863
|
return;
|
|
202548
202864
|
const formattedTotalArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._totalValue, areaFormatterSpec);
|
|
202549
202865
|
this._totalMarker = new MeasureLabel(labelPt, formattedTotalArea);
|
|
202550
202866
|
break;
|
|
202551
202867
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateVolumes:
|
|
202552
|
-
const volumeFormatterSpec = await
|
|
202868
|
+
const volumeFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.VOLUME", "Units.CUB_M");
|
|
202553
202869
|
if (undefined === volumeFormatterSpec)
|
|
202554
202870
|
return;
|
|
202555
202871
|
const formattedTotalVolume = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._totalValue, volumeFormatterSpec);
|
|
@@ -202607,7 +202923,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
202607
202923
|
/** @internal */
|
|
202608
202924
|
async onResetButtonUp(_ev) {
|
|
202609
202925
|
await this.onReinitialize();
|
|
202610
|
-
return
|
|
202926
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202611
202927
|
}
|
|
202612
202928
|
/** @internal */
|
|
202613
202929
|
async onDataButtonDown(ev) {
|
|
@@ -202615,20 +202931,20 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
202615
202931
|
if (0 === this._acceptedMeasurements.length && undefined !== ev.viewport) {
|
|
202616
202932
|
await this.doMeasureSelectedElements(ev.viewport);
|
|
202617
202933
|
if (0 !== this._acceptedMeasurements.length)
|
|
202618
|
-
return
|
|
202619
|
-
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.outputMessage(new _NotificationManager__WEBPACK_IMPORTED_MODULE_8__.NotifyMessageDetails(_NotificationManager__WEBPACK_IMPORTED_MODULE_8__.OutputMessagePriority.Error,
|
|
202934
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.Yes;
|
|
202935
|
+
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.outputMessage(new _NotificationManager__WEBPACK_IMPORTED_MODULE_8__.NotifyMessageDetails(_NotificationManager__WEBPACK_IMPORTED_MODULE_8__.OutputMessagePriority.Error, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Error.NotSupportedElmType")));
|
|
202620
202936
|
await this.onReinitialize();
|
|
202621
202937
|
}
|
|
202622
|
-
return
|
|
202938
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.Yes;
|
|
202623
202939
|
}
|
|
202624
202940
|
const hit = await _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.locateManager.doLocate(new _ElementLocateManager__WEBPACK_IMPORTED_MODULE_4__.LocateResponse(), true, ev.point, ev.viewport, ev.inputSource);
|
|
202625
202941
|
if (undefined === hit || !hit.isElementHit)
|
|
202626
|
-
return
|
|
202942
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202627
202943
|
const result = this._checkedIds.get(hit.sourceId);
|
|
202628
202944
|
if (undefined === result)
|
|
202629
|
-
return
|
|
202945
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202630
202946
|
if (-1 !== this._acceptedIds.indexOf(hit.sourceId))
|
|
202631
|
-
return
|
|
202947
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.Yes; // Already accepted, not rejected in filterHit to avoid showing "not" cursor...
|
|
202632
202948
|
const toolTip = await this.getMarkerToolTip(result);
|
|
202633
202949
|
const point = result.centroid ? _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point3d.fromJSON(result.centroid) : ev.point.clone();
|
|
202634
202950
|
const marker = new MeasureMarker((this._acceptedMeasurements.length + 1).toString(), toolTip, point, _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point2d.create(25, 25));
|
|
@@ -202639,7 +202955,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
202639
202955
|
this.setupAndPromptForNextAction();
|
|
202640
202956
|
if (undefined !== ev.viewport)
|
|
202641
202957
|
ev.viewport.invalidateDecorations();
|
|
202642
|
-
return
|
|
202958
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202643
202959
|
}
|
|
202644
202960
|
/** @internal */
|
|
202645
202961
|
async onUndoPreviousStep() {
|
|
@@ -210335,12 +210651,14 @@ class SetupCameraTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_17__.Primi
|
|
|
210335
210651
|
get targetHeight() { return this.targetHeightProperty.value; }
|
|
210336
210652
|
set targetHeight(value) { this.targetHeightProperty.value = value; }
|
|
210337
210653
|
syncCameraHeightState() {
|
|
210338
|
-
|
|
210654
|
+
const specs = _IModelApp__WEBPACK_IMPORTED_MODULE_7__.IModelApp.quantityFormatter.getSpecsByName(this.cameraHeightProperty.description.kindOfQuantityName ?? "AecUnits.LENGTH");
|
|
210655
|
+
this.cameraHeightProperty.displayValue = specs ? specs.formatterSpec.applyFormatting(this.cameraHeight) : this.cameraHeight.toFixed(2);
|
|
210339
210656
|
this.cameraHeightProperty.isDisabled = !this.useCameraHeight;
|
|
210340
210657
|
this.syncToolSettingsProperties([this.cameraHeightProperty.syncItem]);
|
|
210341
210658
|
}
|
|
210342
210659
|
syncTargetHeightState() {
|
|
210343
|
-
|
|
210660
|
+
const specs = _IModelApp__WEBPACK_IMPORTED_MODULE_7__.IModelApp.quantityFormatter.getSpecsByName(this.targetHeightProperty.description.kindOfQuantityName ?? "AecUnits.LENGTH");
|
|
210661
|
+
this.targetHeightProperty.displayValue = specs ? specs.formatterSpec.applyFormatting(this.targetHeight) : this.targetHeight.toFixed(2);
|
|
210344
210662
|
this.targetHeightProperty.isDisabled = !this.useTargetHeight;
|
|
210345
210663
|
this.syncToolSettingsProperties([this.targetHeightProperty.syncItem]);
|
|
210346
210664
|
}
|
|
@@ -329488,7 +329806,7 @@ class TestContext {
|
|
|
329488
329806
|
this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
|
|
329489
329807
|
const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
|
|
329490
329808
|
await core_frontend_1.NoRenderApp.startup({
|
|
329491
|
-
applicationVersion: "5.0.0-dev.
|
|
329809
|
+
applicationVersion: "5.0.0-dev.113",
|
|
329492
329810
|
applicationId: this.settings.gprid,
|
|
329493
329811
|
authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.serviceAuthToken),
|
|
329494
329812
|
hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
|
|
@@ -331489,9 +331807,11 @@ class BaseQuantityDescription {
|
|
|
331489
331807
|
displayLabel;
|
|
331490
331808
|
typename;
|
|
331491
331809
|
editor;
|
|
331492
|
-
|
|
331810
|
+
kindOfQuantityName;
|
|
331811
|
+
constructor(name, displayLabel, iconSpec, kindOfQuantityName) {
|
|
331493
331812
|
this.name = name;
|
|
331494
331813
|
this.displayLabel = displayLabel;
|
|
331814
|
+
this.kindOfQuantityName = kindOfQuantityName;
|
|
331495
331815
|
this.typename = _properties_StandardTypeNames__WEBPACK_IMPORTED_MODULE_1__.StandardTypeNames.Number;
|
|
331496
331816
|
this.editor = {
|
|
331497
331817
|
name: _properties_StandardEditorNames__WEBPACK_IMPORTED_MODULE_2__.StandardEditorNames.NumberCustom,
|
|
@@ -332028,28 +332348,6 @@ const getClassName = (obj) => {
|
|
|
332028
332348
|
};
|
|
332029
332349
|
|
|
332030
332350
|
|
|
332031
|
-
/***/ }),
|
|
332032
|
-
|
|
332033
|
-
/***/ "../../core/frontend/lib/esm/extension/providers lazy recursive":
|
|
332034
|
-
/*!******************************************************************************!*\
|
|
332035
|
-
!*** ../../core/frontend/lib/esm/extension/providers/ lazy namespace object ***!
|
|
332036
|
-
\******************************************************************************/
|
|
332037
|
-
/***/ ((module) => {
|
|
332038
|
-
|
|
332039
|
-
function webpackEmptyAsyncContext(req) {
|
|
332040
|
-
// Here Promise.resolve().then() is used instead of new Promise() to prevent
|
|
332041
|
-
// uncaught exception popping up in devtools
|
|
332042
|
-
return Promise.resolve().then(() => {
|
|
332043
|
-
var e = new Error("Cannot find module '" + req + "'");
|
|
332044
|
-
e.code = 'MODULE_NOT_FOUND';
|
|
332045
|
-
throw e;
|
|
332046
|
-
});
|
|
332047
|
-
}
|
|
332048
|
-
webpackEmptyAsyncContext.keys = () => ([]);
|
|
332049
|
-
webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;
|
|
332050
|
-
webpackEmptyAsyncContext.id = "../../core/frontend/lib/esm/extension/providers lazy recursive";
|
|
332051
|
-
module.exports = webpackEmptyAsyncContext;
|
|
332052
|
-
|
|
332053
332351
|
/***/ }),
|
|
332054
332352
|
|
|
332055
332353
|
/***/ "?088e":
|
|
@@ -354556,7 +354854,7 @@ var loadLanguages = instance.loadLanguages;
|
|
|
354556
354854
|
/***/ ((module) => {
|
|
354557
354855
|
|
|
354558
354856
|
"use strict";
|
|
354559
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.0.0-dev.
|
|
354857
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.0.0-dev.113","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2022 --outDir lib/esm","clean":"rimraf -g lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-inline-config -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run webpackTestWorker && vitest --run","cover":"npm run webpackTestWorker && vitest --run","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*"},"//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/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*","@itwin/eslint-plugin":"5.0.0-dev.1","@types/chai-as-promised":"^7","@vitest/browser":"^3.0.6","@vitest/coverage-v8":"^3.0.6","cpx2":"^8.0.0","eslint":"^9.13.0","glob":"^10.3.12","playwright":"~1.47.1","rimraf":"^6.0.1","source-map-loader":"^5.0.0","typescript":"~5.6.2","typemoq":"^2.1.0","vitest":"^3.0.6","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"2.2.0","webpack":"^5.97.1"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/cloud-agnostic-core":"^2.2.4","@itwin/object-storage-core":"^2.3.0","@itwin/core-i18n":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
|
|
354560
354858
|
|
|
354561
354859
|
/***/ }),
|
|
354562
354860
|
|