@itwin/ecschema-rpcinterface-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 +486 -188
- package/lib/dist/bundled-tests.js.map +1 -1
- package/package.json +16 -16
|
@@ -59183,13 +59183,13 @@ var CurrentImdlVersion;
|
|
|
59183
59183
|
* 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
|
|
59184
59184
|
* greater minor version than CurrentVersion.Minor, although some data may be skipped.
|
|
59185
59185
|
*/
|
|
59186
|
-
CurrentImdlVersion[CurrentImdlVersion["Major"] =
|
|
59186
|
+
CurrentImdlVersion[CurrentImdlVersion["Major"] = 37] = "Major";
|
|
59187
59187
|
/** The unsigned 16-bit minor version number. If the major version in the tile header is equal to CurrentVersion.Major, then this package can
|
|
59188
59188
|
* read the tile content even if the minor version in the tile header is greater than this value, although some data may be skipped.
|
|
59189
59189
|
*/
|
|
59190
59190
|
CurrentImdlVersion[CurrentImdlVersion["Minor"] = 0] = "Minor";
|
|
59191
59191
|
/** The unsigned 32-bit version number derived from the 16-bit major and minor version numbers. */
|
|
59192
|
-
CurrentImdlVersion[CurrentImdlVersion["Combined"] =
|
|
59192
|
+
CurrentImdlVersion[CurrentImdlVersion["Combined"] = 2424832] = "Combined";
|
|
59193
59193
|
})(CurrentImdlVersion || (CurrentImdlVersion = {}));
|
|
59194
59194
|
/** Header embedded at the beginning of binary tile data in iMdl format describing its contents.
|
|
59195
59195
|
* @internal
|
|
@@ -59534,6 +59534,7 @@ var TileOptions;
|
|
|
59534
59534
|
disableMagnification: false,
|
|
59535
59535
|
alwaysSubdivideIncompleteTiles: false,
|
|
59536
59536
|
edgeOptions,
|
|
59537
|
+
disablePolyfaceDecimation: 0 !== (tree.flags & TreeFlags.DisablePolyfaceDecimation),
|
|
59537
59538
|
};
|
|
59538
59539
|
}
|
|
59539
59540
|
TileOptions.fromTreeIdAndContentId = fromTreeIdAndContentId;
|
|
@@ -59568,14 +59569,15 @@ class Parser {
|
|
|
59568
59569
|
}
|
|
59569
59570
|
if (Object.keys(parsedContentId).some((key) => parsedContentId.hasOwnProperty(key) && typeof parsedContentId[key] === "number" && !Number.isFinite(parsedContentId[key])))
|
|
59570
59571
|
throw new Error("Invalid content Id");
|
|
59572
|
+
const disablePolyfaceDecimation = options.disablePolyfaceDecimation;
|
|
59571
59573
|
let treeId;
|
|
59572
59574
|
if (classifier) {
|
|
59573
|
-
treeId = { ...classifier, animationId };
|
|
59575
|
+
treeId = { ...classifier, animationId, disablePolyfaceDecimation };
|
|
59574
59576
|
}
|
|
59575
59577
|
else {
|
|
59576
59578
|
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(undefined !== primary);
|
|
59577
59579
|
const enforceDisplayPriority = (treeFlags & TreeFlags.EnforceDisplayPriority) !== 0 ? true : undefined;
|
|
59578
|
-
treeId = { ...primary, animationId, type: _FeatureTable__WEBPACK_IMPORTED_MODULE_2__.BatchType.Primary, enforceDisplayPriority };
|
|
59580
|
+
treeId = { ...primary, animationId, type: _FeatureTable__WEBPACK_IMPORTED_MODULE_2__.BatchType.Primary, enforceDisplayPriority, disablePolyfaceDecimation };
|
|
59579
59581
|
}
|
|
59580
59582
|
return {
|
|
59581
59583
|
contentId: parsedContentId,
|
|
@@ -59678,6 +59680,7 @@ const defaultTileOptions = Object.freeze({
|
|
|
59678
59680
|
useLargerTiles: true,
|
|
59679
59681
|
disableMagnification: false,
|
|
59680
59682
|
alwaysSubdivideIncompleteTiles: false,
|
|
59683
|
+
disablePolyfaceDecimation: false,
|
|
59681
59684
|
edgeOptions: {
|
|
59682
59685
|
type: "compact",
|
|
59683
59686
|
smooth: true,
|
|
@@ -59773,7 +59776,8 @@ var TreeFlags;
|
|
|
59773
59776
|
TreeFlags[TreeFlags["EnforceDisplayPriority"] = 2] = "EnforceDisplayPriority";
|
|
59774
59777
|
TreeFlags[TreeFlags["OptimizeBRepProcessing"] = 4] = "OptimizeBRepProcessing";
|
|
59775
59778
|
TreeFlags[TreeFlags["UseLargerTiles"] = 8] = "UseLargerTiles";
|
|
59776
|
-
TreeFlags[TreeFlags["ExpandProjectExtents"] = 16] = "ExpandProjectExtents";
|
|
59779
|
+
TreeFlags[TreeFlags["ExpandProjectExtents"] = 16] = "ExpandProjectExtents";
|
|
59780
|
+
TreeFlags[TreeFlags["DisablePolyfaceDecimation"] = 32] = "DisablePolyfaceDecimation";
|
|
59777
59781
|
})(TreeFlags || (TreeFlags = {}));
|
|
59778
59782
|
function animationIdToString(animationId) {
|
|
59779
59783
|
return `A:${animationId}_`;
|
|
@@ -59786,6 +59790,8 @@ function iModelTileTreeIdToString(modelId, treeId, options) {
|
|
|
59786
59790
|
let flags = options.useProjectExtents ? TreeFlags.UseProjectExtents : TreeFlags.None;
|
|
59787
59791
|
if (options.optimizeBRepProcessing)
|
|
59788
59792
|
flags |= TreeFlags.OptimizeBRepProcessing;
|
|
59793
|
+
if (options.disablePolyfaceDecimation)
|
|
59794
|
+
flags |= TreeFlags.DisablePolyfaceDecimation;
|
|
59789
59795
|
if (options.useLargerTiles)
|
|
59790
59796
|
flags |= TreeFlags.UseLargerTiles;
|
|
59791
59797
|
if (options.expandProjectExtents)
|
|
@@ -69908,6 +69914,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
69908
69914
|
|
|
69909
69915
|
|
|
69910
69916
|
|
|
69917
|
+
const loggerCategory = "SchemaFormatsProvider";
|
|
69911
69918
|
/**
|
|
69912
69919
|
* Provides default formats and kind of quantities from a given SchemaContext or SchemaLocater.
|
|
69913
69920
|
* @beta
|
|
@@ -69946,7 +69953,14 @@ class SchemaFormatsProvider {
|
|
|
69946
69953
|
this.onFormatsChanged.raiseEvent({ formatsChanged });
|
|
69947
69954
|
}
|
|
69948
69955
|
async getKindOfQuantityFormatFromSchema(itemKey) {
|
|
69949
|
-
|
|
69956
|
+
let kindOfQuantity;
|
|
69957
|
+
try {
|
|
69958
|
+
kindOfQuantity = await this._context.getSchemaItem(itemKey, _Metadata_KindOfQuantity__WEBPACK_IMPORTED_MODULE_5__.KindOfQuantity);
|
|
69959
|
+
}
|
|
69960
|
+
catch {
|
|
69961
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_4__.Logger.logError(loggerCategory, `Failed to find KindOfQuantity ${itemKey.fullName}`);
|
|
69962
|
+
return undefined;
|
|
69963
|
+
}
|
|
69950
69964
|
if (!kindOfQuantity) {
|
|
69951
69965
|
return undefined;
|
|
69952
69966
|
}
|
|
@@ -69991,13 +70005,27 @@ class SchemaFormatsProvider {
|
|
|
69991
70005
|
async getFormat(name) {
|
|
69992
70006
|
const [schemaName, schemaItemName] = _Metadata_SchemaItem__WEBPACK_IMPORTED_MODULE_2__.SchemaItem.parseFullName(name);
|
|
69993
70007
|
const schemaKey = new _SchemaKey__WEBPACK_IMPORTED_MODULE_1__.SchemaKey(schemaName);
|
|
69994
|
-
|
|
70008
|
+
let schema;
|
|
70009
|
+
try {
|
|
70010
|
+
schema = await this._context.getSchema(schemaKey);
|
|
70011
|
+
}
|
|
70012
|
+
catch {
|
|
70013
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_4__.Logger.logError(loggerCategory, `Failed to find schema ${schemaName}`);
|
|
70014
|
+
return undefined;
|
|
70015
|
+
}
|
|
69995
70016
|
if (!schema) {
|
|
69996
70017
|
return undefined;
|
|
69997
70018
|
}
|
|
69998
70019
|
const itemKey = new _SchemaKey__WEBPACK_IMPORTED_MODULE_1__.SchemaItemKey(schemaItemName, schema.schemaKey);
|
|
69999
70020
|
if (schema.name === "Formats") {
|
|
70000
|
-
|
|
70021
|
+
let format;
|
|
70022
|
+
try {
|
|
70023
|
+
format = await this._context.getSchemaItem(itemKey, _Metadata_Format__WEBPACK_IMPORTED_MODULE_3__.Format);
|
|
70024
|
+
}
|
|
70025
|
+
catch {
|
|
70026
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_4__.Logger.logError(loggerCategory, `Failed to find Format ${itemKey.fullName}`);
|
|
70027
|
+
return undefined;
|
|
70028
|
+
}
|
|
70001
70029
|
if (!format) {
|
|
70002
70030
|
return undefined;
|
|
70003
70031
|
}
|
|
@@ -83579,7 +83607,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
83579
83607
|
|
|
83580
83608
|
/** @public */
|
|
83581
83609
|
const ITWINJS_CORE_VERSION = _package_json__WEBPACK_IMPORTED_MODULE_0__.version;
|
|
83582
|
-
const COPYRIGHT_NOTICE =
|
|
83610
|
+
const COPYRIGHT_NOTICE = `Copyright © 2017-${new Date().getFullYear()} <a href="https://www.bentley.com" target="_blank" rel="noopener noreferrer">Bentley Systems, Inc.</a>`;
|
|
83583
83611
|
|
|
83584
83612
|
|
|
83585
83613
|
|
|
@@ -83655,6 +83683,7 @@ class IModelApp {
|
|
|
83655
83683
|
static _hubAccess;
|
|
83656
83684
|
static _realityDataAccess;
|
|
83657
83685
|
static _publicPath;
|
|
83686
|
+
static _formatsProviderManager;
|
|
83658
83687
|
// No instances of IModelApp may be created. All members are static and must be on the singleton object IModelApp.
|
|
83659
83688
|
constructor() { }
|
|
83660
83689
|
/** Event raised just before the frontend IModelApp is to be [[shutdown]]. */
|
|
@@ -83729,6 +83758,14 @@ class IModelApp {
|
|
|
83729
83758
|
* The path should always end with a trailing `/`.
|
|
83730
83759
|
*/
|
|
83731
83760
|
static get publicPath() { return this._publicPath; }
|
|
83761
|
+
/** The [[FormatsProvider]] for this session.
|
|
83762
|
+
* @param provider The provider to use for formatting quantities.
|
|
83763
|
+
* @beta
|
|
83764
|
+
*/
|
|
83765
|
+
static get formatsProvider() { return this._formatsProviderManager; }
|
|
83766
|
+
static set formatsProvider(provider) {
|
|
83767
|
+
this._formatsProviderManager.formatsProvider = provider;
|
|
83768
|
+
}
|
|
83732
83769
|
/** @alpha */
|
|
83733
83770
|
static extensionAdmin = this._createExtensionAdmin();
|
|
83734
83771
|
/** Map of classFullName to EntityState class */
|
|
@@ -83829,6 +83866,7 @@ class IModelApp {
|
|
|
83829
83866
|
this._terrainProviderRegistry = new _tile_internal__WEBPACK_IMPORTED_MODULE_26__.TerrainProviderRegistry();
|
|
83830
83867
|
this._realityDataSourceProviders = new _RealityDataSource__WEBPACK_IMPORTED_MODULE_25__.RealityDataSourceProviderRegistry();
|
|
83831
83868
|
this._realityDataAccess = opts.realityDataAccess;
|
|
83869
|
+
this._formatsProviderManager = new _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_19__.FormatsProviderManager(opts.formatsProvider ?? new _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_19__.QuantityTypeFormatsProvider());
|
|
83832
83870
|
this._publicPath = opts.publicPath ?? "";
|
|
83833
83871
|
[
|
|
83834
83872
|
this.renderSystem,
|
|
@@ -83860,6 +83898,8 @@ class IModelApp {
|
|
|
83860
83898
|
this._entityClasses.clear();
|
|
83861
83899
|
this.authorizationClient = undefined;
|
|
83862
83900
|
this._initialized = false;
|
|
83901
|
+
this.quantityFormatter[Symbol.dispose]();
|
|
83902
|
+
this.resetFormatsProvider();
|
|
83863
83903
|
this.onAfterStartup.clear();
|
|
83864
83904
|
}
|
|
83865
83905
|
/** Controls how frequently the application polls for changes that may require a new animation frame to be requested.
|
|
@@ -84110,6 +84150,13 @@ class IModelApp {
|
|
|
84110
84150
|
}
|
|
84111
84151
|
return this.localization.getLocalizedString(`iModelJs:${key.scope}.${key.val}`, key);
|
|
84112
84152
|
}
|
|
84153
|
+
/**
|
|
84154
|
+
* Resets the formatsProvider back to the default [[QuantityTypeFormatsProvider]].
|
|
84155
|
+
* @beta
|
|
84156
|
+
*/
|
|
84157
|
+
static resetFormatsProvider() {
|
|
84158
|
+
this.formatsProvider = new _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_19__.QuantityTypeFormatsProvider();
|
|
84159
|
+
}
|
|
84113
84160
|
/**
|
|
84114
84161
|
* Creates an instance of the ExtensionAdmin
|
|
84115
84162
|
* and registers an event to execute after startup is complete
|
|
@@ -96330,6 +96377,10 @@ class Viewport {
|
|
|
96330
96377
|
changeBackgroundMapProvider(props) {
|
|
96331
96378
|
this.displayStyle.changeBackgroundMapProvider(props);
|
|
96332
96379
|
}
|
|
96380
|
+
/** A reference to the [[TileTree]] used to display the background map in this viewport, if the background map is being displayed. */
|
|
96381
|
+
get backgroundMapTileTreeReference() {
|
|
96382
|
+
return this.backgroundMap;
|
|
96383
|
+
}
|
|
96333
96384
|
/** @internal */
|
|
96334
96385
|
get backgroundMap() { return this._mapTiledGraphicsProvider?.backgroundMap; }
|
|
96335
96386
|
/** @internal */
|
|
@@ -107001,6 +107052,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
107001
107052
|
/* harmony export */ FlashMode: () => (/* reexport safe */ _FlashSettings__WEBPACK_IMPORTED_MODULE_22__.FlashMode),
|
|
107002
107053
|
/* harmony export */ FlashSettings: () => (/* reexport safe */ _FlashSettings__WEBPACK_IMPORTED_MODULE_22__.FlashSettings),
|
|
107003
107054
|
/* harmony export */ FlyViewTool: () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_114__.FlyViewTool),
|
|
107055
|
+
/* harmony export */ FormatsProviderManager: () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_72__.FormatsProviderManager),
|
|
107004
107056
|
/* harmony export */ FormattedQuantityDescription: () => (/* reexport safe */ _properties_FormattedQuantityDescription__WEBPACK_IMPORTED_MODULE_70__.FormattedQuantityDescription),
|
|
107005
107057
|
/* harmony export */ FrontendLoggerCategory: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_10__.FrontendLoggerCategory),
|
|
107006
107058
|
/* harmony export */ Frustum2d: () => (/* reexport safe */ _Frustum2d__WEBPACK_IMPORTED_MODULE_24__.Frustum2d),
|
|
@@ -107129,6 +107181,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
107129
107181
|
/* harmony export */ QuadId: () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_99__.QuadId),
|
|
107130
107182
|
/* harmony export */ QuantityFormatter: () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_72__.QuantityFormatter),
|
|
107131
107183
|
/* harmony export */ QuantityType: () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_72__.QuantityType),
|
|
107184
|
+
/* harmony export */ QuantityTypeFormatsProvider: () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_72__.QuantityTypeFormatsProvider),
|
|
107132
107185
|
/* harmony export */ RealityDataError: () => (/* reexport safe */ _RealityDataSource__WEBPACK_IMPORTED_MODULE_121__.RealityDataError),
|
|
107133
107186
|
/* harmony export */ RealityDataSource: () => (/* reexport safe */ _RealityDataSource__WEBPACK_IMPORTED_MODULE_121__.RealityDataSource),
|
|
107134
107187
|
/* harmony export */ RealityDataSourceProviderRegistry: () => (/* reexport safe */ _RealityDataSource__WEBPACK_IMPORTED_MODULE_121__.RealityDataSourceProviderRegistry),
|
|
@@ -108200,7 +108253,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
108200
108253
|
* @internal
|
|
108201
108254
|
*/
|
|
108202
108255
|
async function loadScript(jsUrl) {
|
|
108203
|
-
const module = await
|
|
108256
|
+
const module = await import(/* webpackIgnore: true */ /* @vite-ignore */ jsUrl);
|
|
108204
108257
|
return execute(module);
|
|
108205
108258
|
}
|
|
108206
108259
|
/** attempts to execute an extension module */
|
|
@@ -140541,8 +140594,9 @@ function createClassifierTileTreeReference(classifiers, classifiedTree, iModel,
|
|
|
140541
140594
|
return new ClassifierTreeReference(classifiers, classifiedTree, iModel, source);
|
|
140542
140595
|
}
|
|
140543
140596
|
function createClassifierId(classifier, source) {
|
|
140597
|
+
const disablePolyfaceDecimation = _IModelApp__WEBPACK_IMPORTED_MODULE_2__.IModelApp.tileAdmin.disablePolyfaceDecimation;
|
|
140544
140598
|
if (undefined === classifier)
|
|
140545
|
-
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 };
|
|
140599
|
+
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 };
|
|
140546
140600
|
const type = classifier.flags.isVolumeClassifier ? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.VolumeClassifier : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.PlanarClassifier;
|
|
140547
140601
|
const scriptInfo = _IModelApp__WEBPACK_IMPORTED_MODULE_2__.IModelApp.tileAdmin.getScriptInfoForTreeId(classifier.modelId, source ? source[_common_internal_Symbols__WEBPACK_IMPORTED_MODULE_5__._scheduleScriptReference] : undefined);
|
|
140548
140602
|
return {
|
|
@@ -140551,6 +140605,7 @@ function createClassifierId(classifier, source) {
|
|
|
140551
140605
|
expansion: classifier.expand,
|
|
140552
140606
|
animationId: scriptInfo?.animationId,
|
|
140553
140607
|
timeline: scriptInfo?.timeline,
|
|
140608
|
+
disablePolyfaceDecimation,
|
|
140554
140609
|
};
|
|
140555
140610
|
}
|
|
140556
140611
|
|
|
@@ -144547,7 +144602,8 @@ class PrimaryTreeReference extends _tile_internal__WEBPACK_IMPORTED_MODULE_6__.T
|
|
|
144547
144602
|
const edgesRequired = visibleEdges || _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.RenderMode.SmoothShade !== renderMode || _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.alwaysRequestEdges;
|
|
144548
144603
|
const edges = edgesRequired ? _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.edgeOptions : false;
|
|
144549
144604
|
const sectionCut = this._sectionClip?.clipString;
|
|
144550
|
-
|
|
144605
|
+
const disablePolyfaceDecimation = _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.disablePolyfaceDecimation;
|
|
144606
|
+
return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.Primary, edges, animationId, sectionCut, disablePolyfaceDecimation };
|
|
144551
144607
|
}
|
|
144552
144608
|
computeBaseTransform(tree) {
|
|
144553
144609
|
return super.computeTransform(tree);
|
|
@@ -144700,7 +144756,7 @@ class MaskTreeReference extends _tile_internal__WEBPACK_IMPORTED_MODULE_6__.Tile
|
|
|
144700
144756
|
return this._owner;
|
|
144701
144757
|
}
|
|
144702
144758
|
createTreeId() {
|
|
144703
|
-
return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.Primary, edges: false };
|
|
144759
|
+
return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.Primary, edges: false, disablePolyfaceDecimation: _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.disablePolyfaceDecimation };
|
|
144704
144760
|
}
|
|
144705
144761
|
}
|
|
144706
144762
|
function createMaskTreeReference(view, model) {
|
|
@@ -144726,7 +144782,7 @@ class ModelMapLayerTileTreeReference extends _tile_internal__WEBPACK_IMPORTED_MO
|
|
|
144726
144782
|
this._owner = primaryTreeSupplier.getOwner(this._id, this.iModel);
|
|
144727
144783
|
}
|
|
144728
144784
|
createTreeId() {
|
|
144729
|
-
return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.Primary, edges: false };
|
|
144785
|
+
return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.Primary, edges: false, disablePolyfaceDecimation: _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.disablePolyfaceDecimation };
|
|
144730
144786
|
}
|
|
144731
144787
|
get treeOwner() {
|
|
144732
144788
|
const newId = this.createTreeId();
|
|
@@ -150018,11 +150074,19 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
150018
150074
|
* @beta
|
|
150019
150075
|
*/
|
|
150020
150076
|
class AngleDescription extends _FormattedQuantityDescription__WEBPACK_IMPORTED_MODULE_2__.FormattedQuantityDescription {
|
|
150021
|
-
constructor(name, displayLabel, iconSpec) {
|
|
150077
|
+
constructor(name, displayLabel, iconSpec, kindOfQuantityName) {
|
|
150022
150078
|
const defaultName = "angle";
|
|
150023
|
-
super(
|
|
150079
|
+
super({
|
|
150080
|
+
name: name ? name : defaultName,
|
|
150081
|
+
displayLabel: displayLabel ? displayLabel : _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.Angle"),
|
|
150082
|
+
kindOfQuantityName: kindOfQuantityName ? kindOfQuantityName : "AecUnits.ANGLE",
|
|
150083
|
+
iconSpec
|
|
150084
|
+
});
|
|
150024
150085
|
}
|
|
150025
150086
|
get formatterQuantityType() { return _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_1__.QuantityType.Angle; }
|
|
150087
|
+
/**
|
|
150088
|
+
* @deprecated in 5.0. Use the `kindOfQuantityName` property instead.
|
|
150089
|
+
*/
|
|
150026
150090
|
get quantityType() { return "Angle"; }
|
|
150027
150091
|
get parseError() { return _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.UnableToParseAngle"); }
|
|
150028
150092
|
}
|
|
@@ -150061,8 +150125,14 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
150061
150125
|
class FormattedQuantityDescription extends _itwin_appui_abstract__WEBPACK_IMPORTED_MODULE_1__.BaseQuantityDescription {
|
|
150062
150126
|
_formatterSpec;
|
|
150063
150127
|
_parserSpec;
|
|
150064
|
-
constructor(
|
|
150065
|
-
|
|
150128
|
+
constructor(argsOrName, displayLabel, iconSpec, kindOfQuantityName) {
|
|
150129
|
+
if (typeof argsOrName === "string") {
|
|
150130
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
|
|
150131
|
+
super(argsOrName, displayLabel, iconSpec, kindOfQuantityName);
|
|
150132
|
+
}
|
|
150133
|
+
else {
|
|
150134
|
+
super(argsOrName.name, argsOrName.displayLabel, argsOrName.iconSpec, argsOrName.kindOfQuantityName);
|
|
150135
|
+
}
|
|
150066
150136
|
}
|
|
150067
150137
|
formatValue(numberValue) {
|
|
150068
150138
|
if (this.formatterSpec) {
|
|
@@ -150138,11 +150208,19 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
150138
150208
|
* @beta
|
|
150139
150209
|
*/
|
|
150140
150210
|
class LengthDescription extends _FormattedQuantityDescription__WEBPACK_IMPORTED_MODULE_2__.FormattedQuantityDescription {
|
|
150141
|
-
constructor(name, displayLabel, iconSpec) {
|
|
150211
|
+
constructor(name, displayLabel, iconSpec, kindOfQuantityName) {
|
|
150142
150212
|
const defaultName = "length";
|
|
150143
|
-
super(
|
|
150213
|
+
super({
|
|
150214
|
+
name: name ? name : defaultName,
|
|
150215
|
+
displayLabel: displayLabel ? displayLabel : _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"),
|
|
150216
|
+
kindOfQuantityName: kindOfQuantityName ? kindOfQuantityName : "AecUnits.LENGTH",
|
|
150217
|
+
iconSpec,
|
|
150218
|
+
});
|
|
150144
150219
|
}
|
|
150145
150220
|
get formatterQuantityType() { return _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_1__.QuantityType.Length; }
|
|
150221
|
+
/**
|
|
150222
|
+
* @deprecated in 5.0. Use the `kindOfQuantityName` property instead.
|
|
150223
|
+
*/
|
|
150146
150224
|
get quantityType() { return "Length"; }
|
|
150147
150225
|
get parseError() { return _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.UnableToParseLength"); }
|
|
150148
150226
|
}
|
|
@@ -150151,11 +150229,19 @@ class LengthDescription extends _FormattedQuantityDescription__WEBPACK_IMPORTED_
|
|
|
150151
150229
|
* @beta
|
|
150152
150230
|
*/
|
|
150153
150231
|
class SurveyLengthDescription extends _FormattedQuantityDescription__WEBPACK_IMPORTED_MODULE_2__.FormattedQuantityDescription {
|
|
150154
|
-
constructor(name, displayLabel, iconSpec) {
|
|
150232
|
+
constructor(name, displayLabel, iconSpec, kindOfQuantityName) {
|
|
150155
150233
|
const defaultName = "surveyLength";
|
|
150156
|
-
super(
|
|
150234
|
+
super({
|
|
150235
|
+
name: name ? name : defaultName,
|
|
150236
|
+
displayLabel: displayLabel ? displayLabel : _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"),
|
|
150237
|
+
kindOfQuantityName: kindOfQuantityName ? kindOfQuantityName : "AecUnits.LENGTH",
|
|
150238
|
+
iconSpec,
|
|
150239
|
+
});
|
|
150157
150240
|
}
|
|
150158
150241
|
get formatterQuantityType() { return _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_1__.QuantityType.LengthSurvey; }
|
|
150242
|
+
/**
|
|
150243
|
+
* @deprecated in 5.0. Use the `kindOfQuantityName` property instead.
|
|
150244
|
+
*/
|
|
150159
150245
|
get quantityType() { return "LengthSurvey"; }
|
|
150160
150246
|
get parseError() { return _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.UnableToParseLength"); }
|
|
150161
150247
|
}
|
|
@@ -150164,11 +150250,19 @@ class SurveyLengthDescription extends _FormattedQuantityDescription__WEBPACK_IMP
|
|
|
150164
150250
|
* @beta
|
|
150165
150251
|
*/
|
|
150166
150252
|
class EngineeringLengthDescription extends _FormattedQuantityDescription__WEBPACK_IMPORTED_MODULE_2__.FormattedQuantityDescription {
|
|
150167
|
-
constructor(name, displayLabel, iconSpec) {
|
|
150253
|
+
constructor(name, displayLabel, iconSpec, kindOfQuantityName) {
|
|
150168
150254
|
const defaultName = "engineeringLength";
|
|
150169
|
-
super(
|
|
150255
|
+
super({
|
|
150256
|
+
name: name ? name : defaultName,
|
|
150257
|
+
displayLabel: displayLabel ? displayLabel : _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"),
|
|
150258
|
+
kindOfQuantityName: kindOfQuantityName ? kindOfQuantityName : "AecUnits.LENGTH",
|
|
150259
|
+
iconSpec,
|
|
150260
|
+
});
|
|
150170
150261
|
}
|
|
150171
150262
|
get formatterQuantityType() { return _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_1__.QuantityType.LengthEngineering; }
|
|
150263
|
+
/**
|
|
150264
|
+
* @deprecated in 5.0. Use the `kindOfQuantityName` property instead.
|
|
150265
|
+
*/
|
|
150172
150266
|
get quantityType() { return "LengthEngineering"; }
|
|
150173
150267
|
get parseError() { return _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.UnableToParseLength"); }
|
|
150174
150268
|
}
|
|
@@ -150583,8 +150677,10 @@ class LocalUnitFormatProvider extends _BaseUnitFormattingSettingsProvider__WEBPA
|
|
|
150583
150677
|
__webpack_require__.r(__webpack_exports__);
|
|
150584
150678
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
150585
150679
|
/* harmony export */ AlternateUnitLabelsRegistry: () => (/* binding */ AlternateUnitLabelsRegistry),
|
|
150680
|
+
/* harmony export */ FormatsProviderManager: () => (/* binding */ FormatsProviderManager),
|
|
150586
150681
|
/* harmony export */ QuantityFormatter: () => (/* binding */ QuantityFormatter),
|
|
150587
150682
|
/* harmony export */ QuantityType: () => (/* binding */ QuantityType),
|
|
150683
|
+
/* harmony export */ QuantityTypeFormatsProvider: () => (/* binding */ QuantityTypeFormatsProvider),
|
|
150588
150684
|
/* harmony export */ getQuantityTypeKey: () => (/* binding */ getQuantityTypeKey),
|
|
150589
150685
|
/* harmony export */ isCustomQuantityTypeDefinition: () => (/* binding */ isCustomQuantityTypeDefinition)
|
|
150590
150686
|
/* harmony export */ });
|
|
@@ -150730,12 +150826,66 @@ class StandardQuantityTypeDefinition {
|
|
|
150730
150826
|
return _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.ParserSpec.create(format, unitsProvider, this.persistenceUnit, alternateUnitLabelsProvider);
|
|
150731
150827
|
}
|
|
150732
150828
|
}
|
|
150829
|
+
/**
|
|
150830
|
+
* A default formatsProvider, that provides a limited set of [[FormatDefinition]], associated to a few [[KindOfQuantity]].
|
|
150831
|
+
* Maps each KindOfQuantity to a [[QuantityType]].
|
|
150832
|
+
* When retrieving a valid [[KindOfQuantity]], returns the [[FormatProps]] for the associated [[QuantityType]].
|
|
150833
|
+
* @internal
|
|
150834
|
+
*/
|
|
150835
|
+
class QuantityTypeFormatsProvider {
|
|
150836
|
+
onFormatsChanged = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
150837
|
+
constructor() {
|
|
150838
|
+
_IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.quantityFormatter.onActiveFormattingUnitSystemChanged.addListener(() => {
|
|
150839
|
+
this.onFormatsChanged.raiseEvent({ formatsChanged: "all" });
|
|
150840
|
+
});
|
|
150841
|
+
}
|
|
150842
|
+
_kindOfQuantityMap = new Map([
|
|
150843
|
+
["AecUnits.LENGTH", QuantityType.Length],
|
|
150844
|
+
["AecUnits.ANGLE", QuantityType.Angle],
|
|
150845
|
+
["AecUnits.AREA", QuantityType.Area],
|
|
150846
|
+
["AecUnits.VOLUME", QuantityType.Volume],
|
|
150847
|
+
["RoadRailUnits.STATION", QuantityType.Stationing],
|
|
150848
|
+
["RoadRailUnits.LENGTH", QuantityType.LengthSurvey],
|
|
150849
|
+
]);
|
|
150850
|
+
async getFormat(name) {
|
|
150851
|
+
const quantityType = this._kindOfQuantityMap.get(name);
|
|
150852
|
+
if (!quantityType)
|
|
150853
|
+
return undefined;
|
|
150854
|
+
return _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.quantityFormatter.getFormatPropsByQuantityType(quantityType);
|
|
150855
|
+
}
|
|
150856
|
+
}
|
|
150857
|
+
/**
|
|
150858
|
+
* An implementation of the [[FormatsProvider]] interface that forwards calls to getFormats to the underlying FormatsProvider.
|
|
150859
|
+
* Also fires the onFormatsChanged event when the underlying FormatsProvider fires its own onFormatsChanged event.
|
|
150860
|
+
* @internal
|
|
150861
|
+
*/
|
|
150862
|
+
class FormatsProviderManager {
|
|
150863
|
+
_formatsProvider;
|
|
150864
|
+
onFormatsChanged = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
150865
|
+
constructor(_formatsProvider) {
|
|
150866
|
+
this._formatsProvider = _formatsProvider;
|
|
150867
|
+
this._formatsProvider.onFormatsChanged.addListener((args) => {
|
|
150868
|
+
this.onFormatsChanged.raiseEvent(args);
|
|
150869
|
+
});
|
|
150870
|
+
}
|
|
150871
|
+
async getFormat(name) {
|
|
150872
|
+
return this._formatsProvider.getFormat(name);
|
|
150873
|
+
}
|
|
150874
|
+
get formatsProvider() { return this; }
|
|
150875
|
+
set formatsProvider(formatsProvider) {
|
|
150876
|
+
this._formatsProvider = formatsProvider;
|
|
150877
|
+
this._formatsProvider.onFormatsChanged.addListener((args) => {
|
|
150878
|
+
this.onFormatsChanged.raiseEvent(args);
|
|
150879
|
+
});
|
|
150880
|
+
this.onFormatsChanged.raiseEvent({ formatsChanged: "all" });
|
|
150881
|
+
}
|
|
150882
|
+
}
|
|
150733
150883
|
/** Class that supports formatting quantity values into strings and parsing strings into quantity values. This class also maintains
|
|
150734
150884
|
* the "active" unit system and caches FormatterSpecs and ParserSpecs for the "active" unit system to allow synchronous access to
|
|
150735
150885
|
* parsing and formatting values. The support unit systems are defined by [[UnitSystemKey]] and is kept in synch with the unit systems
|
|
150736
150886
|
* provided by the Presentation Manager on the backend. The QuantityFormatter contains a registry of quantity type definitions. These definitions implement
|
|
150737
|
-
* the [[QuantityTypeDefinition]] interface, which among other things, provide default [FormatProps]
|
|
150738
|
-
* to generate both a [FormatterSpec]
|
|
150887
|
+
* the [[QuantityTypeDefinition]] interface, which among other things, provide default [[FormatProps]], and provide methods
|
|
150888
|
+
* to generate both a [[FormatterSpec]] and a [[ParserSpec]]. There are built-in quantity types that are
|
|
150739
150889
|
* identified by the [[QuantityType]] enum. [[CustomQuantityTypeDefinition]] can be registered to extend the available quantity types available
|
|
150740
150890
|
* by frontend tools. The QuantityFormatter also allows the default formats to be overriden.
|
|
150741
150891
|
*
|
|
@@ -150746,6 +150896,10 @@ class QuantityFormatter {
|
|
|
150746
150896
|
_alternateUnitLabelsRegistry = new AlternateUnitLabelsRegistry((0,_BasicUnitsProvider__WEBPACK_IMPORTED_MODULE_4__.getDefaultAlternateUnitLabels)());
|
|
150747
150897
|
/** Registry containing available quantity type definitions. */
|
|
150748
150898
|
_quantityTypeRegistry = new Map();
|
|
150899
|
+
/** Registry containing available FormatterSpec and ParserSpec, mapped by keys.
|
|
150900
|
+
* @beta
|
|
150901
|
+
*/
|
|
150902
|
+
_formatSpecsRegistry = new Map();
|
|
150749
150903
|
/** Active UnitSystem key - must be one of "imperial", "metric", "usCustomary", or "usSurvey". */
|
|
150750
150904
|
_activeUnitSystem = "imperial";
|
|
150751
150905
|
/** Map of FormatSpecs for all available QuantityTypes and the active Unit System */
|
|
@@ -150772,6 +150926,7 @@ class QuantityFormatter {
|
|
|
150772
150926
|
onQuantityFormatsChanged = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeUiEvent();
|
|
150773
150927
|
/** Fired when the active UnitsProvider is updated. This will allow cached Formatter and Parser specs to be updated if necessary. */
|
|
150774
150928
|
onUnitsProviderChanged = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeUiEvent();
|
|
150929
|
+
_removeFormatsProviderListener;
|
|
150775
150930
|
/**
|
|
150776
150931
|
* constructor
|
|
150777
150932
|
* @param showMetricOrUnitSystem - Pass in `true` to show Metric formatted quantity values. Defaults to Imperial. To explicitly
|
|
@@ -150785,6 +150940,12 @@ class QuantityFormatter {
|
|
|
150785
150940
|
this._activeUnitSystem = showMetricOrUnitSystem;
|
|
150786
150941
|
}
|
|
150787
150942
|
}
|
|
150943
|
+
[Symbol.dispose]() {
|
|
150944
|
+
if (this._removeFormatsProviderListener) {
|
|
150945
|
+
this._removeFormatsProviderListener();
|
|
150946
|
+
this._removeFormatsProviderListener = undefined;
|
|
150947
|
+
}
|
|
150948
|
+
}
|
|
150788
150949
|
getOverrideFormatPropsByQuantityType(quantityTypeKey, unitSystem) {
|
|
150789
150950
|
const requestedUnitSystem = unitSystem ?? this.activeUnitSystem;
|
|
150790
150951
|
const overrideMap = this._overrideFormatPropsByUnitSystem.get(requestedUnitSystem);
|
|
@@ -150910,6 +151071,46 @@ class QuantityFormatter {
|
|
|
150910
151071
|
*/
|
|
150911
151072
|
async onInitialized() {
|
|
150912
151073
|
await this.initializeQuantityTypesRegistry();
|
|
151074
|
+
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"]];
|
|
151075
|
+
for (const entry of initialKoQs) {
|
|
151076
|
+
try {
|
|
151077
|
+
await this.addFormattingSpecsToRegistry(entry[0], entry[1]);
|
|
151078
|
+
}
|
|
151079
|
+
catch (err) {
|
|
151080
|
+
_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logWarning(`${_common_FrontendLoggerCategory__WEBPACK_IMPORTED_MODULE_2__.FrontendLoggerCategory.Package}.QuantityFormatter`, err.toString());
|
|
151081
|
+
}
|
|
151082
|
+
}
|
|
151083
|
+
this._removeFormatsProviderListener = _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.formatsProvider.onFormatsChanged.addListener(async (args) => {
|
|
151084
|
+
if (args.formatsChanged === "all") {
|
|
151085
|
+
for (const [name, entry] of this._formatSpecsRegistry.entries()) {
|
|
151086
|
+
const formatProps = await _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.formatsProvider.getFormat(name);
|
|
151087
|
+
if (formatProps) {
|
|
151088
|
+
const persistenceUnitName = entry.formatterSpec.persistenceUnit.name;
|
|
151089
|
+
await this.addFormattingSpecsToRegistry(name, persistenceUnitName, formatProps);
|
|
151090
|
+
}
|
|
151091
|
+
else {
|
|
151092
|
+
this._formatSpecsRegistry.delete(name); // clear the specs if format was removed, or no longer exists.
|
|
151093
|
+
}
|
|
151094
|
+
}
|
|
151095
|
+
}
|
|
151096
|
+
else {
|
|
151097
|
+
for (const name of args.formatsChanged) {
|
|
151098
|
+
if (this._formatSpecsRegistry.has(name)) {
|
|
151099
|
+
const formatProps = await _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.formatsProvider.getFormat(name);
|
|
151100
|
+
if (formatProps) {
|
|
151101
|
+
const existingEntry = this._formatSpecsRegistry.get(name);
|
|
151102
|
+
if (existingEntry) {
|
|
151103
|
+
const persistenceUnitName = existingEntry.formatterSpec.persistenceUnit.name;
|
|
151104
|
+
await this.addFormattingSpecsToRegistry(name, persistenceUnitName, formatProps);
|
|
151105
|
+
}
|
|
151106
|
+
}
|
|
151107
|
+
else {
|
|
151108
|
+
this._formatSpecsRegistry.delete(name);
|
|
151109
|
+
}
|
|
151110
|
+
}
|
|
151111
|
+
}
|
|
151112
|
+
}
|
|
151113
|
+
});
|
|
150913
151114
|
// initialize default format and parsing specs
|
|
150914
151115
|
await this.loadFormatAndParsingMapsForSystem();
|
|
150915
151116
|
}
|
|
@@ -151139,26 +151340,51 @@ class QuantityFormatter {
|
|
|
151139
151340
|
requestedSystem = isImperial ? "imperial" : "metric";
|
|
151140
151341
|
return this.getParserSpecByQuantityTypeAndSystem(type, requestedSystem);
|
|
151141
151342
|
}
|
|
151142
|
-
|
|
151143
|
-
|
|
151144
|
-
|
|
151145
|
-
|
|
151146
|
-
|
|
151147
|
-
|
|
151148
|
-
|
|
151149
|
-
|
|
151150
|
-
|
|
151151
|
-
return
|
|
151343
|
+
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
151344
|
+
formatQuantity(args, spec) {
|
|
151345
|
+
if (typeof args === "number") {
|
|
151346
|
+
/** Format a quantity value. Default FormatterSpec implementation uses Formatter.formatQuantity. */
|
|
151347
|
+
const magnitude = args;
|
|
151348
|
+
if (spec)
|
|
151349
|
+
return spec.applyFormatting(magnitude);
|
|
151350
|
+
return magnitude.toString();
|
|
151351
|
+
}
|
|
151352
|
+
return this.formatQuantityAsync(args);
|
|
151353
|
+
}
|
|
151354
|
+
async formatQuantityAsync(args) {
|
|
151355
|
+
const { value, valueUnitName, kindOfQuantityName } = args;
|
|
151356
|
+
const formatProps = await _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.formatsProvider.getFormat(kindOfQuantityName);
|
|
151357
|
+
if (!formatProps)
|
|
151358
|
+
return value.toString();
|
|
151359
|
+
const formatSpec = await this.createFormatterSpec({
|
|
151360
|
+
persistenceUnitName: valueUnitName,
|
|
151361
|
+
formatProps,
|
|
151362
|
+
formatName: kindOfQuantityName,
|
|
151363
|
+
});
|
|
151364
|
+
return formatSpec.applyFormatting(value);
|
|
151152
151365
|
}
|
|
151153
|
-
|
|
151154
|
-
|
|
151155
|
-
|
|
151156
|
-
|
|
151157
|
-
|
|
151158
|
-
|
|
151159
|
-
|
|
151160
|
-
return
|
|
151161
|
-
|
|
151366
|
+
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
151367
|
+
parseToQuantityValue(args, parserSpec) {
|
|
151368
|
+
if (typeof args === "string") {
|
|
151369
|
+
/** Parse a quantity value. Default ParserSpec implementation uses ParserSpec.parseToQuantityValue. */
|
|
151370
|
+
const inString = args;
|
|
151371
|
+
if (parserSpec)
|
|
151372
|
+
return parserSpec.parseToQuantityValue(inString);
|
|
151373
|
+
return { ok: false, error: _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.ParseError.InvalidParserSpec };
|
|
151374
|
+
}
|
|
151375
|
+
return this.parseToQuantityValueAsync(args);
|
|
151376
|
+
}
|
|
151377
|
+
async parseToQuantityValueAsync(args) {
|
|
151378
|
+
const { value, valueUnitName, kindOfQuantityName } = args;
|
|
151379
|
+
const formatProps = await _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.formatsProvider.getFormat(kindOfQuantityName);
|
|
151380
|
+
if (!formatProps)
|
|
151381
|
+
return { ok: false, error: _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.ParseError.InvalidParserSpec };
|
|
151382
|
+
const parserSpec = await this.createParserSpec({
|
|
151383
|
+
persistenceUnitName: valueUnitName,
|
|
151384
|
+
formatProps,
|
|
151385
|
+
formatName: kindOfQuantityName,
|
|
151386
|
+
});
|
|
151387
|
+
return parserSpec.parseToQuantityValue(value);
|
|
151162
151388
|
}
|
|
151163
151389
|
/**
|
|
151164
151390
|
* Get a UnitSystemKey from a string that may have been entered via a key-in. Supports different variation of
|
|
@@ -151228,6 +151454,63 @@ class QuantityFormatter {
|
|
|
151228
151454
|
async getConversion(fromUnit, toUnit) {
|
|
151229
151455
|
return this._unitsProvider.getConversion(fromUnit, toUnit);
|
|
151230
151456
|
}
|
|
151457
|
+
/**
|
|
151458
|
+
* Creates a [[FormatterSpec]] for a given persistence unit name and format properties, using the [[UnitsProvider]] to resolve the persistence unit.
|
|
151459
|
+
* @beta
|
|
151460
|
+
* @param props - A [[CreateFormattingSpecProps]] interface.
|
|
151461
|
+
*/
|
|
151462
|
+
async createFormatterSpec(props) {
|
|
151463
|
+
const { persistenceUnitName, formatProps, formatName } = props;
|
|
151464
|
+
const persistenceUnitProps = await this._unitsProvider.findUnitByName(persistenceUnitName);
|
|
151465
|
+
const format = await _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.Format.createFromJSON(formatName ?? "temp", this._unitsProvider, formatProps);
|
|
151466
|
+
return _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.FormatterSpec.create(`${format.name}_format_spec`, format, this._unitsProvider, persistenceUnitProps);
|
|
151467
|
+
}
|
|
151468
|
+
/**
|
|
151469
|
+
* Creates a [[ParserSpec]] for a given persistence unit name and format properties, using the [[UnitsProvider]] to resolve the persistence unit.
|
|
151470
|
+
* @beta
|
|
151471
|
+
* @param props - A [[CreateFormattingSpecProps]] object.
|
|
151472
|
+
*/
|
|
151473
|
+
async createParserSpec(props) {
|
|
151474
|
+
const { persistenceUnitName, formatProps, formatName } = props;
|
|
151475
|
+
const persistenceUnitProps = await this._unitsProvider.findUnitByName(persistenceUnitName);
|
|
151476
|
+
const format = await _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.Format.createFromJSON(formatName ?? "temp", this._unitsProvider, formatProps);
|
|
151477
|
+
return _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.ParserSpec.create(format, this._unitsProvider, persistenceUnitProps);
|
|
151478
|
+
}
|
|
151479
|
+
/**
|
|
151480
|
+
* @beta
|
|
151481
|
+
* Returns a [[FormattingSpecEntry]] for a given name, typically a KindOfQuantity full name.
|
|
151482
|
+
*/
|
|
151483
|
+
getSpecsByName(name) {
|
|
151484
|
+
return this._formatSpecsRegistry.get(name);
|
|
151485
|
+
}
|
|
151486
|
+
/**
|
|
151487
|
+
* Populates the registry with a new FormatterSpec and ParserSpec entry for the given format name.
|
|
151488
|
+
* @beta
|
|
151489
|
+
* @param name The key used to identify the formatter and parser spec
|
|
151490
|
+
* @param persistenceUnitName The name of the persistence unit
|
|
151491
|
+
* @param formatProps If not supplied, tries to retrieve the [[FormatProps]] from [[IModelApp.formatsProvider]]
|
|
151492
|
+
*/
|
|
151493
|
+
async addFormattingSpecsToRegistry(name, persistenceUnitName, formatProps) {
|
|
151494
|
+
if (!formatProps) {
|
|
151495
|
+
formatProps = await _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.formatsProvider.getFormat(name);
|
|
151496
|
+
}
|
|
151497
|
+
if (formatProps) {
|
|
151498
|
+
const formatterSpec = await this.createFormatterSpec({
|
|
151499
|
+
persistenceUnitName,
|
|
151500
|
+
formatProps,
|
|
151501
|
+
formatName: name,
|
|
151502
|
+
});
|
|
151503
|
+
const parserSpec = await this.createParserSpec({
|
|
151504
|
+
persistenceUnitName,
|
|
151505
|
+
formatProps,
|
|
151506
|
+
formatName: name,
|
|
151507
|
+
});
|
|
151508
|
+
this._formatSpecsRegistry.set(name, { formatterSpec, parserSpec });
|
|
151509
|
+
}
|
|
151510
|
+
else {
|
|
151511
|
+
throw new Error(`Unable to find format properties for ${name} with persistence unit ${persistenceUnitName}`);
|
|
151512
|
+
}
|
|
151513
|
+
}
|
|
151231
151514
|
}
|
|
151232
151515
|
// ========================================================================================================================================
|
|
151233
151516
|
// Default Data
|
|
@@ -158268,6 +158551,8 @@ class TileAdmin {
|
|
|
158268
158551
|
/** @internal */
|
|
158269
158552
|
optimizeBRepProcessing;
|
|
158270
158553
|
/** @internal */
|
|
158554
|
+
disablePolyfaceDecimation;
|
|
158555
|
+
/** @internal */
|
|
158271
158556
|
useLargerTiles;
|
|
158272
158557
|
/** @internal */
|
|
158273
158558
|
maximumLevelsToSkip;
|
|
@@ -158356,6 +158641,7 @@ class TileAdmin {
|
|
|
158356
158641
|
this.useProjectExtents = options.useProjectExtents ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.useProjectExtents;
|
|
158357
158642
|
this.expandProjectExtents = options.expandProjectExtents ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.expandProjectExtents;
|
|
158358
158643
|
this.optimizeBRepProcessing = options.optimizeBRepProcessing ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.optimizeBRepProcessing;
|
|
158644
|
+
this.disablePolyfaceDecimation = options.disablePolyfaceDecimation ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.disablePolyfaceDecimation;
|
|
158359
158645
|
this.useLargerTiles = options.useLargerTiles ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.useLargerTiles;
|
|
158360
158646
|
this.mobileRealityTileMinToleranceRatio = Math.max(options.mobileRealityTileMinToleranceRatio ?? 3.0, 1.0);
|
|
158361
158647
|
this.cesiumIonKey = options.cesiumIonKey;
|
|
@@ -171632,11 +171918,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
171632
171918
|
/* harmony import */ var _IModelApp__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../IModelApp */ "../../core/frontend/lib/esm/IModelApp.js");
|
|
171633
171919
|
/* harmony import */ var _Marker__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Marker */ "../../core/frontend/lib/esm/Marker.js");
|
|
171634
171920
|
/* harmony import */ var _NotificationManager__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../NotificationManager */ "../../core/frontend/lib/esm/NotificationManager.js");
|
|
171635
|
-
/* harmony import */ var
|
|
171636
|
-
/* harmony import */ var
|
|
171637
|
-
/* harmony import */ var
|
|
171638
|
-
/* harmony import */ var
|
|
171639
|
-
/* harmony import */ var _common_render_GraphicType__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../common/render/GraphicType */ "../../core/frontend/lib/esm/common/render/GraphicType.js");
|
|
171921
|
+
/* harmony import */ var _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PrimitiveTool */ "../../core/frontend/lib/esm/tools/PrimitiveTool.js");
|
|
171922
|
+
/* harmony import */ var _Tool__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Tool */ "../../core/frontend/lib/esm/tools/Tool.js");
|
|
171923
|
+
/* harmony import */ var _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ToolAssistance */ "../../core/frontend/lib/esm/tools/ToolAssistance.js");
|
|
171924
|
+
/* harmony import */ var _common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../common/render/GraphicType */ "../../core/frontend/lib/esm/common/render/GraphicType.js");
|
|
171640
171925
|
/*---------------------------------------------------------------------------------------------
|
|
171641
171926
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
171642
171927
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -171657,9 +171942,18 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
171657
171942
|
|
|
171658
171943
|
|
|
171659
171944
|
|
|
171660
|
-
|
|
171661
171945
|
function translateBold(key) {
|
|
171662
|
-
return `<b>${
|
|
171946
|
+
return `<b>${_Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(`Measure.Labels.${key}`)}:</b> `;
|
|
171947
|
+
}
|
|
171948
|
+
async function getFormatterSpecByKoQAndPersistenceUnit(koq, persistenceUnitName) {
|
|
171949
|
+
const formatProps = await _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.formatsProvider.getFormat(koq);
|
|
171950
|
+
if (undefined === formatProps)
|
|
171951
|
+
return undefined;
|
|
171952
|
+
return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.createFormatterSpec({
|
|
171953
|
+
persistenceUnitName,
|
|
171954
|
+
formatProps,
|
|
171955
|
+
formatName: koq
|
|
171956
|
+
});
|
|
171663
171957
|
}
|
|
171664
171958
|
/** @internal */
|
|
171665
171959
|
class MeasureLabel {
|
|
@@ -171723,7 +172017,7 @@ class MeasureMarker extends _Marker__WEBPACK_IMPORTED_MODULE_7__.Marker {
|
|
|
171723
172017
|
onMouseButton(_ev) { return true; } // Never forward event to active tool...
|
|
171724
172018
|
onMouseEnter(ev) {
|
|
171725
172019
|
super.onMouseEnter(ev);
|
|
171726
|
-
if (this.title &&
|
|
172020
|
+
if (this.title && _Tool__WEBPACK_IMPORTED_MODULE_10__.InputSource.Touch === ev.inputSource && ev.viewport)
|
|
171727
172021
|
ev.viewport.openToolTip(this.title, ev.viewPoint, this.tooltipOptions);
|
|
171728
172022
|
}
|
|
171729
172023
|
onMouseLeave() {
|
|
@@ -171760,7 +172054,7 @@ function adjustPoint(ev, segments, locations) {
|
|
|
171760
172054
|
/** Report distance between 2 points using current quantity formatter for length.
|
|
171761
172055
|
* @public
|
|
171762
172056
|
*/
|
|
171763
|
-
class MeasureDistanceTool extends
|
|
172057
|
+
class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.PrimitiveTool {
|
|
171764
172058
|
static toolId = "Measure.Distance";
|
|
171765
172059
|
static iconSpec = "icon-measure-distance";
|
|
171766
172060
|
/** @internal */
|
|
@@ -171778,6 +172072,12 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
171778
172072
|
/** @internal */
|
|
171779
172073
|
_lastMotionAdjustedPt;
|
|
171780
172074
|
/** @internal */
|
|
172075
|
+
_lengthFormatterSpec;
|
|
172076
|
+
/** @internal */
|
|
172077
|
+
_angleFormatterSpec;
|
|
172078
|
+
/** @internal */
|
|
172079
|
+
_removeFormatterListener;
|
|
172080
|
+
/** @internal */
|
|
171781
172081
|
allowView(vp) { return vp.view.isSpatialView() || vp.view.isDrawingView(); }
|
|
171782
172082
|
/** @internal */
|
|
171783
172083
|
isCompatibleViewport(vp, isSelectedViewChange) { return (super.isCompatibleViewport(vp, isSelectedViewChange) && undefined !== vp && this.allowView(vp)); }
|
|
@@ -171788,34 +172088,50 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
171788
172088
|
/** @internal */
|
|
171789
172089
|
async onPostInstall() {
|
|
171790
172090
|
await super.onPostInstall();
|
|
172091
|
+
this._lengthFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
172092
|
+
this._angleFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.ANGLE", "Units.RAD");
|
|
172093
|
+
this._removeFormatterListener = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.formatsProvider.onFormatsChanged.addListener(async (args) => {
|
|
172094
|
+
if (args.formatsChanged === "all" || args.formatsChanged.includes("AecUnits.LENGTH"))
|
|
172095
|
+
this._lengthFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
172096
|
+
if (args.formatsChanged === "all" || args.formatsChanged.includes("AecUnits.ANGLE"))
|
|
172097
|
+
this._angleFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.ANGLE", "Units.RAD");
|
|
172098
|
+
});
|
|
171791
172099
|
this.setupAndPromptForNextAction();
|
|
171792
172100
|
}
|
|
171793
172101
|
/** @internal */
|
|
172102
|
+
async onCleanup() {
|
|
172103
|
+
if (this._removeFormatterListener) {
|
|
172104
|
+
this._removeFormatterListener();
|
|
172105
|
+
this._removeFormatterListener = undefined;
|
|
172106
|
+
}
|
|
172107
|
+
await super.onCleanup();
|
|
172108
|
+
}
|
|
172109
|
+
/** @internal */
|
|
171794
172110
|
async onUnsuspend() { this.showPrompt(); }
|
|
171795
172111
|
/** @internal */
|
|
171796
172112
|
showPrompt() {
|
|
171797
|
-
const mainInstruction =
|
|
172113
|
+
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"));
|
|
171798
172114
|
const mouseInstructions = [];
|
|
171799
172115
|
const touchInstructions = [];
|
|
171800
|
-
if (!
|
|
171801
|
-
touchInstructions.push(
|
|
171802
|
-
mouseInstructions.push(
|
|
172116
|
+
if (!_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createTouchCursorInstructions(touchInstructions))
|
|
172117
|
+
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));
|
|
172118
|
+
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));
|
|
171803
172119
|
if (0 === this._locationData.length) {
|
|
171804
172120
|
if (this._acceptedSegments.length > 0) {
|
|
171805
|
-
touchInstructions.push(
|
|
171806
|
-
mouseInstructions.push(
|
|
172121
|
+
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));
|
|
172122
|
+
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));
|
|
171807
172123
|
}
|
|
171808
172124
|
}
|
|
171809
172125
|
else {
|
|
171810
|
-
touchInstructions.push(
|
|
171811
|
-
mouseInstructions.push(
|
|
171812
|
-
mouseInstructions.push(
|
|
171813
|
-
mouseInstructions.push(
|
|
172126
|
+
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));
|
|
172127
|
+
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));
|
|
172128
|
+
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));
|
|
172129
|
+
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));
|
|
171814
172130
|
}
|
|
171815
172131
|
const sections = [];
|
|
171816
|
-
sections.push(
|
|
171817
|
-
sections.push(
|
|
171818
|
-
const instructions =
|
|
172132
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(mouseInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
172133
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(touchInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
172134
|
+
const instructions = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstructions(mainInstruction, sections);
|
|
171819
172135
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.setToolAssistance(instructions);
|
|
171820
172136
|
}
|
|
171821
172137
|
/** @internal */
|
|
@@ -171861,8 +172177,8 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
171861
172177
|
totalDistance += adjustedPoints[i].distance(adjustedPoints[i + 1]);
|
|
171862
172178
|
if (0.0 === totalDistance)
|
|
171863
172179
|
return;
|
|
171864
|
-
const formatterSpec =
|
|
171865
|
-
if (
|
|
172180
|
+
const formatterSpec = this._lengthFormatterSpec;
|
|
172181
|
+
if (formatterSpec === undefined)
|
|
171866
172182
|
return;
|
|
171867
172183
|
const formattedTotalDistance = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(totalDistance, formatterSpec);
|
|
171868
172184
|
const distDyn = new MeasureLabel(points[points.length - 1], formattedTotalDistance);
|
|
@@ -171876,7 +172192,7 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
171876
172192
|
seg.refAxes.multiplyVectorInPlace(xVec);
|
|
171877
172193
|
seg.refAxes.multiplyVectorInPlace(yVec);
|
|
171878
172194
|
seg.refAxes.multiplyVectorInPlace(zVec);
|
|
171879
|
-
const builderAxes = context.createGraphicBuilder(
|
|
172195
|
+
const builderAxes = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldOverlay);
|
|
171880
172196
|
let basePt = seg.start.clone();
|
|
171881
172197
|
if (xVec.magnitude() > 1.0e-5) {
|
|
171882
172198
|
const segPoints = [];
|
|
@@ -171923,12 +172239,12 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
171923
172239
|
}
|
|
171924
172240
|
tmpPoints.push(this._lastMotionPt);
|
|
171925
172241
|
tmpAdjustedPoints.push(this._lastMotionAdjustedPt);
|
|
171926
|
-
const builderDynVis = context.createGraphicBuilder(
|
|
172242
|
+
const builderDynVis = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldDecoration);
|
|
171927
172243
|
const colorDynVis = context.viewport.hilite.color;
|
|
171928
172244
|
builderDynVis.setSymbology(colorDynVis, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.black, 3);
|
|
171929
172245
|
builderDynVis.addLineString(tmpPoints);
|
|
171930
172246
|
context.addDecorationFromBuilder(builderDynVis);
|
|
171931
|
-
const builderDynHid = context.createGraphicBuilder(
|
|
172247
|
+
const builderDynHid = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldOverlay);
|
|
171932
172248
|
const colorDynHid = colorDynVis.withAlpha(100);
|
|
171933
172249
|
builderDynHid.setSymbology(colorDynHid, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.black, 1, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.LinePixels.Code2);
|
|
171934
172250
|
builderDynHid.addLineString(tmpPoints);
|
|
@@ -171936,8 +172252,8 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
171936
172252
|
this.displayDynamicDistance(context, tmpPoints, tmpAdjustedPoints);
|
|
171937
172253
|
}
|
|
171938
172254
|
if (this._acceptedSegments.length > 0) {
|
|
171939
|
-
const builderAccVis = context.createGraphicBuilder(
|
|
171940
|
-
const builderAccHid = context.createGraphicBuilder(
|
|
172255
|
+
const builderAccVis = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldDecoration);
|
|
172256
|
+
const builderAccHid = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldOverlay);
|
|
171941
172257
|
const colorAccVis = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.white.adjustedForContrast(context.viewport.view.backgroundColor);
|
|
171942
172258
|
const colorAccHid = colorAccVis.withAlpha(100);
|
|
171943
172259
|
builderAccVis.setSymbology(colorAccVis, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.black, 3);
|
|
@@ -171959,7 +172275,7 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
171959
172275
|
return;
|
|
171960
172276
|
if (undefined === this._snapGeomId)
|
|
171961
172277
|
this._snapGeomId = this.iModel.transientIds.getNext();
|
|
171962
|
-
const builderSnapPts = context.createGraphicBuilder(
|
|
172278
|
+
const builderSnapPts = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldOverlay, undefined, this._snapGeomId);
|
|
171963
172279
|
const colorAccPts = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.white.adjustedForContrast(context.viewport.view.backgroundColor);
|
|
171964
172280
|
builderSnapPts.setSymbology(colorAccPts, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.black, 7);
|
|
171965
172281
|
builderSnapPts.addPointString(snapPoints);
|
|
@@ -171988,7 +172304,7 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
171988
172304
|
reportMeasurements() {
|
|
171989
172305
|
if (undefined === this._totalDistanceMarker)
|
|
171990
172306
|
return;
|
|
171991
|
-
const briefMsg = `${
|
|
172307
|
+
const briefMsg = `${_Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(this._acceptedSegments.length > 1 ? "Measure.Labels.CumulativeDistance" : "Measure.Labels.Distance")}: ${this._totalDistanceMarker.label}`;
|
|
171992
172308
|
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);
|
|
171993
172309
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.outputMessage(msgDetail);
|
|
171994
172310
|
}
|
|
@@ -171999,7 +172315,7 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
171999
172315
|
this._totalDistance += seg.distance;
|
|
172000
172316
|
if (0.0 === this._totalDistance)
|
|
172001
172317
|
return;
|
|
172002
|
-
const formatterSpec =
|
|
172318
|
+
const formatterSpec = this._lengthFormatterSpec;
|
|
172003
172319
|
if (undefined === formatterSpec)
|
|
172004
172320
|
return;
|
|
172005
172321
|
const formattedTotalDistance = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._totalDistance, formatterSpec);
|
|
@@ -172010,20 +172326,20 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
172010
172326
|
const is3d = (undefined === this.targetView || this.targetView.view.is3d());
|
|
172011
172327
|
const isSpatial = (undefined !== this.targetView && this.targetView.view.isSpatialView());
|
|
172012
172328
|
const toolTip = document.createElement("div");
|
|
172013
|
-
const distanceFormatterSpec =
|
|
172329
|
+
const distanceFormatterSpec = this._lengthFormatterSpec;
|
|
172014
172330
|
if (undefined === distanceFormatterSpec)
|
|
172015
172331
|
return toolTip;
|
|
172016
172332
|
let toolTipHtml = "";
|
|
172017
172333
|
const formattedDistance = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(distance, distanceFormatterSpec);
|
|
172018
172334
|
toolTipHtml += `${translateBold("Distance") + formattedDistance}<br>`;
|
|
172019
172335
|
if (is3d) {
|
|
172020
|
-
const angleFormatterSpec =
|
|
172336
|
+
const angleFormatterSpec = this._angleFormatterSpec;
|
|
172021
172337
|
if (undefined !== angleFormatterSpec) {
|
|
172022
172338
|
const formattedSlope = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(slope, angleFormatterSpec);
|
|
172023
172339
|
toolTipHtml += `${translateBold("Slope") + formattedSlope}<br>`;
|
|
172024
172340
|
}
|
|
172025
172341
|
}
|
|
172026
|
-
const coordFormatterSpec =
|
|
172342
|
+
const coordFormatterSpec = this._lengthFormatterSpec;
|
|
172027
172343
|
if (undefined !== coordFormatterSpec) {
|
|
172028
172344
|
let startAdjusted = start;
|
|
172029
172345
|
let endAdjusted = end;
|
|
@@ -172168,19 +172484,19 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
172168
172484
|
this.setupAndPromptForNextAction();
|
|
172169
172485
|
if (undefined !== ev.viewport)
|
|
172170
172486
|
ev.viewport.invalidateDecorations();
|
|
172171
|
-
return
|
|
172487
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172172
172488
|
}
|
|
172173
172489
|
/** @internal */
|
|
172174
172490
|
async onResetButtonUp(ev) {
|
|
172175
172491
|
if (0 === this._locationData.length) {
|
|
172176
172492
|
await this.onReinitialize();
|
|
172177
|
-
return
|
|
172493
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172178
172494
|
}
|
|
172179
172495
|
await this.acceptNewSegments();
|
|
172180
172496
|
this.setupAndPromptForNextAction();
|
|
172181
172497
|
if (undefined !== ev.viewport)
|
|
172182
172498
|
ev.viewport.invalidateDecorations();
|
|
172183
|
-
return
|
|
172499
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172184
172500
|
}
|
|
172185
172501
|
/** @internal */
|
|
172186
172502
|
async onUndoPreviousStep() {
|
|
@@ -172211,7 +172527,7 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
172211
172527
|
/** Report spatial coordinate at a point as well as cartographic location for geolocated models using current quantity formatters.
|
|
172212
172528
|
* @public
|
|
172213
172529
|
*/
|
|
172214
|
-
class MeasureLocationTool extends
|
|
172530
|
+
class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.PrimitiveTool {
|
|
172215
172531
|
static toolId = "Measure.Location";
|
|
172216
172532
|
static iconSpec = "icon-measure-location";
|
|
172217
172533
|
/** @internal */
|
|
@@ -172233,20 +172549,20 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
172233
172549
|
async onUnsuspend() { this.showPrompt(); }
|
|
172234
172550
|
/** @internal */
|
|
172235
172551
|
showPrompt() {
|
|
172236
|
-
const mainInstruction =
|
|
172552
|
+
const mainInstruction = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(this.iconSpec, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("Measure.Location.Prompts.EnterPoint"));
|
|
172237
172553
|
const mouseInstructions = [];
|
|
172238
172554
|
const touchInstructions = [];
|
|
172239
|
-
if (!
|
|
172240
|
-
touchInstructions.push(
|
|
172241
|
-
mouseInstructions.push(
|
|
172555
|
+
if (!_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createTouchCursorInstructions(touchInstructions))
|
|
172556
|
+
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));
|
|
172557
|
+
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));
|
|
172242
172558
|
if (0 !== this._acceptedLocations.length) {
|
|
172243
|
-
touchInstructions.push(
|
|
172244
|
-
mouseInstructions.push(
|
|
172559
|
+
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));
|
|
172560
|
+
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));
|
|
172245
172561
|
}
|
|
172246
172562
|
const sections = [];
|
|
172247
|
-
sections.push(
|
|
172248
|
-
sections.push(
|
|
172249
|
-
const instructions =
|
|
172563
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(mouseInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
172564
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(touchInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
172565
|
+
const instructions = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstructions(mainInstruction, sections);
|
|
172250
172566
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.setToolAssistance(instructions);
|
|
172251
172567
|
}
|
|
172252
172568
|
/** @internal */
|
|
@@ -172259,7 +172575,7 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
172259
172575
|
const isSpatial = (undefined !== this.targetView && this.targetView.view.isSpatialView());
|
|
172260
172576
|
const toolTip = document.createElement("div");
|
|
172261
172577
|
let toolTipHtml = "";
|
|
172262
|
-
const coordFormatterSpec = await
|
|
172578
|
+
const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
172263
172579
|
if (undefined !== coordFormatterSpec) {
|
|
172264
172580
|
let pointAdjusted = point;
|
|
172265
172581
|
if (isSpatial) {
|
|
@@ -172275,15 +172591,15 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
172275
172591
|
toolTipHtml += "<br>";
|
|
172276
172592
|
}
|
|
172277
172593
|
if (isSpatial) {
|
|
172278
|
-
const latLongFormatterSpec = await
|
|
172594
|
+
const latLongFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.ANGLE", "Units.RAD");
|
|
172279
172595
|
if (undefined !== latLongFormatterSpec && undefined !== coordFormatterSpec) {
|
|
172280
172596
|
try {
|
|
172281
172597
|
const cartographic = await this.iModel.spatialToCartographic(point);
|
|
172282
172598
|
const formattedLat = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(Math.abs(cartographic.latitude), latLongFormatterSpec);
|
|
172283
172599
|
const formattedLong = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(Math.abs(cartographic.longitude), latLongFormatterSpec);
|
|
172284
172600
|
const formattedHeight = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(cartographic.height, coordFormatterSpec);
|
|
172285
|
-
const latDir =
|
|
172286
|
-
const longDir =
|
|
172601
|
+
const latDir = _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(cartographic.latitude < 0 ? "Measure.Labels.S" : "Measure.Labels.N");
|
|
172602
|
+
const longDir = _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(cartographic.longitude < 0 ? "Measure.Labels.W" : "Measure.Labels.E");
|
|
172287
172603
|
toolTipHtml += `${translateBold("LatLong") + formattedLat + latDir}, ${formattedLong}${longDir}<br>`;
|
|
172288
172604
|
toolTipHtml += `${translateBold("Altitude") + formattedHeight}<br>`;
|
|
172289
172605
|
}
|
|
@@ -172321,12 +172637,12 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
172321
172637
|
this.setupAndPromptForNextAction();
|
|
172322
172638
|
if (undefined !== ev.viewport)
|
|
172323
172639
|
ev.viewport.invalidateDecorations();
|
|
172324
|
-
return
|
|
172640
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172325
172641
|
}
|
|
172326
172642
|
/** @internal */
|
|
172327
172643
|
async onResetButtonUp(_ev) {
|
|
172328
172644
|
await this.onReinitialize();
|
|
172329
|
-
return
|
|
172645
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172330
172646
|
}
|
|
172331
172647
|
/** @internal */
|
|
172332
172648
|
async onUndoPreviousStep() {
|
|
@@ -172352,7 +172668,7 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
172352
172668
|
/** Report area defined by points using current quantity formatter for area.
|
|
172353
172669
|
* @public
|
|
172354
172670
|
*/
|
|
172355
|
-
class MeasureAreaByPointsTool extends
|
|
172671
|
+
class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.PrimitiveTool {
|
|
172356
172672
|
static toolId = "Measure.AreaByPoints";
|
|
172357
172673
|
static iconSpec = "icon-measure-2d";
|
|
172358
172674
|
/** @internal */
|
|
@@ -172381,12 +172697,12 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
172381
172697
|
/** @internal */
|
|
172382
172698
|
static _orientationName = "enumAsOrientation";
|
|
172383
172699
|
/** @internal */
|
|
172384
|
-
static enumAsOrientationMessage(str) { return
|
|
172700
|
+
static enumAsOrientationMessage(str) { return _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(`Settings.Orientation.${str}`); }
|
|
172385
172701
|
/** @internal */
|
|
172386
172702
|
static _getEnumAsOrientationDescription = () => {
|
|
172387
172703
|
return {
|
|
172388
172704
|
name: MeasureAreaByPointsTool._orientationName,
|
|
172389
|
-
displayLabel:
|
|
172705
|
+
displayLabel: _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("Settings.Orientation.Label"),
|
|
172390
172706
|
typename: "enum",
|
|
172391
172707
|
enum: {
|
|
172392
172708
|
choices: [
|
|
@@ -172454,24 +172770,24 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
172454
172770
|
mainMsg += this._isComplete ? "FirstPoint" : "NextPoint";
|
|
172455
172771
|
break;
|
|
172456
172772
|
}
|
|
172457
|
-
const mainInstruction =
|
|
172773
|
+
const mainInstruction = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(this.iconSpec, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(mainMsg));
|
|
172458
172774
|
const mouseInstructions = [];
|
|
172459
172775
|
const touchInstructions = [];
|
|
172460
|
-
const acceptMsg =
|
|
172461
|
-
if (!
|
|
172462
|
-
touchInstructions.push(
|
|
172463
|
-
mouseInstructions.push(
|
|
172464
|
-
const resetMsg =
|
|
172465
|
-
touchInstructions.push(
|
|
172466
|
-
mouseInstructions.push(
|
|
172776
|
+
const acceptMsg = _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(this._isComplete ? "ElementSet.Inputs.Restart" : "ElementSet.Inputs.AcceptPoint");
|
|
172777
|
+
if (!_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createTouchCursorInstructions(touchInstructions))
|
|
172778
|
+
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));
|
|
172779
|
+
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));
|
|
172780
|
+
const resetMsg = _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.Restart");
|
|
172781
|
+
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));
|
|
172782
|
+
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));
|
|
172467
172783
|
if (this._points.length > 1)
|
|
172468
|
-
mouseInstructions.push(
|
|
172784
|
+
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));
|
|
172469
172785
|
if (0 !== this._points.length)
|
|
172470
|
-
mouseInstructions.push(
|
|
172786
|
+
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));
|
|
172471
172787
|
const sections = [];
|
|
172472
|
-
sections.push(
|
|
172473
|
-
sections.push(
|
|
172474
|
-
const instructions =
|
|
172788
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(mouseInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
172789
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(touchInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
172790
|
+
const instructions = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstructions(mainInstruction, sections);
|
|
172475
172791
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.setToolAssistance(instructions);
|
|
172476
172792
|
}
|
|
172477
172793
|
/** @internal */
|
|
@@ -172515,7 +172831,7 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
172515
172831
|
let currentPt = _AccuDraw__WEBPACK_IMPORTED_MODULE_3__.AccuDrawHintBuilder.projectPointToPlaneInView(cursorPt, points[0], normal, this.targetView, true);
|
|
172516
172832
|
if (undefined === currentPt)
|
|
172517
172833
|
currentPt = cursorPt.clone();
|
|
172518
|
-
if (2 === points.length && 0 === (_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.toolAdmin.currentInputState.qualifiers &
|
|
172834
|
+
if (2 === points.length && 0 === (_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.toolAdmin.currentInputState.qualifiers & _Tool__WEBPACK_IMPORTED_MODULE_10__.BeModifierKeys.Control)) {
|
|
172519
172835
|
const xDir = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createStartEnd(points[0], points[1]);
|
|
172520
172836
|
const xLen = xDir.magnitude();
|
|
172521
172837
|
xDir.normalizeInPlace();
|
|
@@ -172541,8 +172857,8 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
172541
172857
|
const points = this.getShapePoints(this._lastMotionPt);
|
|
172542
172858
|
if (points.length < 2)
|
|
172543
172859
|
return;
|
|
172544
|
-
const builderAccVis = context.createGraphicBuilder(
|
|
172545
|
-
const builderAccHid = context.createGraphicBuilder(
|
|
172860
|
+
const builderAccVis = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldDecoration);
|
|
172861
|
+
const builderAccHid = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldOverlay);
|
|
172546
172862
|
const colorAccVis = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.white.adjustedForContrast(context.viewport.view.backgroundColor);
|
|
172547
172863
|
const colorAccHid = colorAccVis.withAlpha(100);
|
|
172548
172864
|
const fillAccVis = context.viewport.hilite.color.withAlpha(50);
|
|
@@ -172579,17 +172895,17 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
172579
172895
|
const isSpatial = (undefined !== this.targetView && this.targetView.view.isSpatialView());
|
|
172580
172896
|
const toolTip = document.createElement("div");
|
|
172581
172897
|
let toolTipHtml = "";
|
|
172582
|
-
const areaFormatterSpec = await
|
|
172898
|
+
const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
|
|
172583
172899
|
if (undefined !== areaFormatterSpec) {
|
|
172584
172900
|
const formattedArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._area, areaFormatterSpec);
|
|
172585
172901
|
toolTipHtml += `${translateBold("Area") + formattedArea}<br>`;
|
|
172586
172902
|
}
|
|
172587
|
-
const perimeterFormatterSpec = await
|
|
172903
|
+
const perimeterFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
172588
172904
|
if (undefined !== perimeterFormatterSpec) {
|
|
172589
172905
|
const formattedPerimeter = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._perimeter, perimeterFormatterSpec);
|
|
172590
172906
|
toolTipHtml += `${translateBold("Perimeter") + formattedPerimeter}<br>`;
|
|
172591
172907
|
}
|
|
172592
|
-
const coordFormatterSpec = await
|
|
172908
|
+
const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
172593
172909
|
if (undefined !== coordFormatterSpec) {
|
|
172594
172910
|
let pointAdjusted = this._centroid.clone();
|
|
172595
172911
|
if (isSpatial) {
|
|
@@ -172610,7 +172926,7 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
172610
172926
|
reportMeasurements() {
|
|
172611
172927
|
if (undefined === this._marker)
|
|
172612
172928
|
return;
|
|
172613
|
-
const briefMsg = `${
|
|
172929
|
+
const briefMsg = `${_Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("Measure.Labels.Area")}: ${this._marker.label}`;
|
|
172614
172930
|
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);
|
|
172615
172931
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.outputMessage(msgDetail);
|
|
172616
172932
|
}
|
|
@@ -172628,7 +172944,7 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
172628
172944
|
const toolTip = await this.getMarkerToolTip();
|
|
172629
172945
|
this._acceptedMeasurement = new MeasureMarker("1", toolTip, this._centroid, _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point2d.create(25, 25));
|
|
172630
172946
|
this._marker = undefined;
|
|
172631
|
-
const areaFormatterSpec = await
|
|
172947
|
+
const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
|
|
172632
172948
|
if (undefined === areaFormatterSpec)
|
|
172633
172949
|
return;
|
|
172634
172950
|
const formattedTotalArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._area, areaFormatterSpec);
|
|
@@ -172638,23 +172954,23 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
172638
172954
|
/** @internal */
|
|
172639
172955
|
async onDataButtonDown(ev) {
|
|
172640
172956
|
if (undefined === this.targetView)
|
|
172641
|
-
return
|
|
172957
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172642
172958
|
if (this._isComplete)
|
|
172643
172959
|
await this.onReinitialize();
|
|
172644
172960
|
if (this._points.length > 1 && !ev.isControlKey) {
|
|
172645
172961
|
const points = this.getShapePoints(ev.point);
|
|
172646
172962
|
if (points.length < 3)
|
|
172647
|
-
return
|
|
172963
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172648
172964
|
this._isComplete = true;
|
|
172649
172965
|
this._points.length = 0;
|
|
172650
172966
|
for (const pt of points)
|
|
172651
172967
|
this._points.push(pt);
|
|
172652
172968
|
await this.updateTotals();
|
|
172653
172969
|
this.setupAndPromptForNextAction();
|
|
172654
|
-
return
|
|
172970
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172655
172971
|
}
|
|
172656
172972
|
if (undefined === this._matrix && undefined === (this._matrix = _AccuDraw__WEBPACK_IMPORTED_MODULE_3__.AccuDrawHintBuilder.getContextRotation(this.orientation, this.targetView)))
|
|
172657
|
-
return
|
|
172973
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172658
172974
|
const currPt = ev.point.clone();
|
|
172659
172975
|
if (this._points.length > 0) {
|
|
172660
172976
|
const planePt = _AccuDraw__WEBPACK_IMPORTED_MODULE_3__.AccuDrawHintBuilder.projectPointToPlaneInView(currPt, this._points[0], this._matrix.getColumn(2), ev.viewport, true);
|
|
@@ -172663,14 +172979,14 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
172663
172979
|
}
|
|
172664
172980
|
this._points.push(currPt);
|
|
172665
172981
|
this.setupAndPromptForNextAction();
|
|
172666
|
-
return
|
|
172982
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172667
172983
|
}
|
|
172668
172984
|
/** @internal */
|
|
172669
172985
|
async onResetButtonUp(ev) {
|
|
172670
172986
|
if (undefined !== ev.viewport)
|
|
172671
172987
|
ev.viewport.invalidateDecorations();
|
|
172672
172988
|
await this.onReinitialize();
|
|
172673
|
-
return
|
|
172989
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172674
172990
|
}
|
|
172675
172991
|
/** @internal */
|
|
172676
172992
|
async onReinitialize() {
|
|
@@ -172700,7 +173016,7 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
172700
173016
|
/** Base class for mass properties tools.
|
|
172701
173017
|
* @public
|
|
172702
173018
|
*/
|
|
172703
|
-
class MeasureElementTool extends
|
|
173019
|
+
class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.PrimitiveTool {
|
|
172704
173020
|
/** @internal */
|
|
172705
173021
|
_checkedIds = new Map();
|
|
172706
173022
|
/** @internal */
|
|
@@ -172736,33 +173052,33 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
172736
173052
|
/** @internal */
|
|
172737
173053
|
showPrompt() {
|
|
172738
173054
|
const mainMsg = (this._useSelection ? (0 === this._acceptedMeasurements.length ? "ElementSet.Prompts.ConfirmSelection" : "ElementSet.Prompts.InspectResult") : "ElementSet.Prompts.IdentifyElement");
|
|
172739
|
-
const mainInstruction =
|
|
173055
|
+
const mainInstruction = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(this.iconSpec, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(mainMsg));
|
|
172740
173056
|
const mouseInstructions = [];
|
|
172741
173057
|
const touchInstructions = [];
|
|
172742
173058
|
if (this._useSelection) {
|
|
172743
173059
|
if (0 === this._acceptedMeasurements.length) {
|
|
172744
|
-
touchInstructions.push(
|
|
172745
|
-
mouseInstructions.push(
|
|
172746
|
-
touchInstructions.push(
|
|
172747
|
-
mouseInstructions.push(
|
|
173060
|
+
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));
|
|
173061
|
+
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));
|
|
173062
|
+
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));
|
|
173063
|
+
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));
|
|
172748
173064
|
}
|
|
172749
173065
|
else {
|
|
172750
|
-
touchInstructions.push(
|
|
172751
|
-
mouseInstructions.push(
|
|
173066
|
+
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));
|
|
173067
|
+
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));
|
|
172752
173068
|
}
|
|
172753
173069
|
}
|
|
172754
173070
|
else {
|
|
172755
|
-
touchInstructions.push(
|
|
172756
|
-
mouseInstructions.push(
|
|
173071
|
+
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));
|
|
173072
|
+
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));
|
|
172757
173073
|
if (0 !== this._acceptedMeasurements.length) {
|
|
172758
|
-
touchInstructions.push(
|
|
172759
|
-
mouseInstructions.push(
|
|
173074
|
+
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));
|
|
173075
|
+
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));
|
|
172760
173076
|
}
|
|
172761
173077
|
}
|
|
172762
173078
|
const sections = [];
|
|
172763
|
-
sections.push(
|
|
172764
|
-
sections.push(
|
|
172765
|
-
const instructions =
|
|
173079
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(mouseInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
173080
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(touchInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
173081
|
+
const instructions = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstructions(mainInstruction, sections);
|
|
172766
173082
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.setToolAssistance(instructions);
|
|
172767
173083
|
}
|
|
172768
173084
|
/** @internal */
|
|
@@ -172799,7 +173115,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
172799
173115
|
default:
|
|
172800
173116
|
return;
|
|
172801
173117
|
}
|
|
172802
|
-
const briefMsg = `${
|
|
173118
|
+
const briefMsg = `${_Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(label)}: ${this._totalMarker.label}`;
|
|
172803
173119
|
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);
|
|
172804
173120
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.outputMessage(msgDetail);
|
|
172805
173121
|
}
|
|
@@ -172810,7 +173126,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
172810
173126
|
let toolTipHtml = "";
|
|
172811
173127
|
switch (this.getOperation()) {
|
|
172812
173128
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateLengths: {
|
|
172813
|
-
const distanceFormatterSpec = await
|
|
173129
|
+
const distanceFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
172814
173130
|
if (undefined !== distanceFormatterSpec) {
|
|
172815
173131
|
const formattedLength = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.length ? responseProps.length : 0, distanceFormatterSpec);
|
|
172816
173132
|
toolTipHtml += `${translateBold("Length") + formattedLength}<br>`;
|
|
@@ -172818,13 +173134,13 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
172818
173134
|
break;
|
|
172819
173135
|
}
|
|
172820
173136
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateAreas: {
|
|
172821
|
-
const areaFormatterSpec = await
|
|
173137
|
+
const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
|
|
172822
173138
|
if (undefined !== areaFormatterSpec) {
|
|
172823
173139
|
const formattedArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.area ? responseProps.area : 0, areaFormatterSpec);
|
|
172824
173140
|
toolTipHtml += `${translateBold("Area") + formattedArea}<br>`;
|
|
172825
173141
|
}
|
|
172826
173142
|
if (responseProps.perimeter) {
|
|
172827
|
-
const perimeterFormatterSpec = await
|
|
173143
|
+
const perimeterFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
172828
173144
|
if (undefined !== perimeterFormatterSpec) {
|
|
172829
173145
|
const formattedPerimeter = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.perimeter, perimeterFormatterSpec);
|
|
172830
173146
|
toolTipHtml += `${translateBold("Perimeter") + formattedPerimeter}<br>`;
|
|
@@ -172833,13 +173149,13 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
172833
173149
|
break;
|
|
172834
173150
|
}
|
|
172835
173151
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateVolumes: {
|
|
172836
|
-
const volumeFormatterSpec = await
|
|
173152
|
+
const volumeFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.VOLUME", "Units.CUB_M");
|
|
172837
173153
|
if (undefined !== volumeFormatterSpec) {
|
|
172838
173154
|
const formattedVolume = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.volume ? responseProps.volume : 0, volumeFormatterSpec);
|
|
172839
173155
|
toolTipHtml += `${translateBold("Volume") + formattedVolume}<br>`;
|
|
172840
173156
|
}
|
|
172841
173157
|
if (responseProps.area) {
|
|
172842
|
-
const areaFormatterSpec = await
|
|
173158
|
+
const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
|
|
172843
173159
|
if (undefined !== areaFormatterSpec) {
|
|
172844
173160
|
const formattedArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.area, areaFormatterSpec);
|
|
172845
173161
|
toolTipHtml += `${translateBold("Area") + formattedArea}<br>`;
|
|
@@ -172849,7 +173165,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
172849
173165
|
}
|
|
172850
173166
|
}
|
|
172851
173167
|
if (responseProps.centroid) {
|
|
172852
|
-
const coordFormatterSpec = await
|
|
173168
|
+
const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
172853
173169
|
if (undefined !== coordFormatterSpec) {
|
|
172854
173170
|
let pointAdjusted = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point3d.fromJSON(responseProps.centroid);
|
|
172855
173171
|
if (isSpatial) {
|
|
@@ -172900,21 +173216,21 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
172900
173216
|
return;
|
|
172901
173217
|
switch (operation) {
|
|
172902
173218
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateLengths:
|
|
172903
|
-
const distanceFormatterSpec = await
|
|
173219
|
+
const distanceFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
172904
173220
|
if (undefined === distanceFormatterSpec)
|
|
172905
173221
|
return;
|
|
172906
173222
|
const formattedTotalDistance = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._totalValue, distanceFormatterSpec);
|
|
172907
173223
|
this._totalMarker = new MeasureLabel(labelPt, formattedTotalDistance);
|
|
172908
173224
|
break;
|
|
172909
173225
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateAreas:
|
|
172910
|
-
const areaFormatterSpec = await
|
|
173226
|
+
const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
|
|
172911
173227
|
if (undefined === areaFormatterSpec)
|
|
172912
173228
|
return;
|
|
172913
173229
|
const formattedTotalArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._totalValue, areaFormatterSpec);
|
|
172914
173230
|
this._totalMarker = new MeasureLabel(labelPt, formattedTotalArea);
|
|
172915
173231
|
break;
|
|
172916
173232
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateVolumes:
|
|
172917
|
-
const volumeFormatterSpec = await
|
|
173233
|
+
const volumeFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.VOLUME", "Units.CUB_M");
|
|
172918
173234
|
if (undefined === volumeFormatterSpec)
|
|
172919
173235
|
return;
|
|
172920
173236
|
const formattedTotalVolume = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._totalValue, volumeFormatterSpec);
|
|
@@ -172972,7 +173288,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
172972
173288
|
/** @internal */
|
|
172973
173289
|
async onResetButtonUp(_ev) {
|
|
172974
173290
|
await this.onReinitialize();
|
|
172975
|
-
return
|
|
173291
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172976
173292
|
}
|
|
172977
173293
|
/** @internal */
|
|
172978
173294
|
async onDataButtonDown(ev) {
|
|
@@ -172980,20 +173296,20 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
172980
173296
|
if (0 === this._acceptedMeasurements.length && undefined !== ev.viewport) {
|
|
172981
173297
|
await this.doMeasureSelectedElements(ev.viewport);
|
|
172982
173298
|
if (0 !== this._acceptedMeasurements.length)
|
|
172983
|
-
return
|
|
172984
|
-
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.outputMessage(new _NotificationManager__WEBPACK_IMPORTED_MODULE_8__.NotifyMessageDetails(_NotificationManager__WEBPACK_IMPORTED_MODULE_8__.OutputMessagePriority.Error,
|
|
173299
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.Yes;
|
|
173300
|
+
_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")));
|
|
172985
173301
|
await this.onReinitialize();
|
|
172986
173302
|
}
|
|
172987
|
-
return
|
|
173303
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.Yes;
|
|
172988
173304
|
}
|
|
172989
173305
|
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);
|
|
172990
173306
|
if (undefined === hit || !hit.isElementHit)
|
|
172991
|
-
return
|
|
173307
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172992
173308
|
const result = this._checkedIds.get(hit.sourceId);
|
|
172993
173309
|
if (undefined === result)
|
|
172994
|
-
return
|
|
173310
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172995
173311
|
if (-1 !== this._acceptedIds.indexOf(hit.sourceId))
|
|
172996
|
-
return
|
|
173312
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.Yes; // Already accepted, not rejected in filterHit to avoid showing "not" cursor...
|
|
172997
173313
|
const toolTip = await this.getMarkerToolTip(result);
|
|
172998
173314
|
const point = result.centroid ? _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point3d.fromJSON(result.centroid) : ev.point.clone();
|
|
172999
173315
|
const marker = new MeasureMarker((this._acceptedMeasurements.length + 1).toString(), toolTip, point, _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point2d.create(25, 25));
|
|
@@ -173004,7 +173320,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
173004
173320
|
this.setupAndPromptForNextAction();
|
|
173005
173321
|
if (undefined !== ev.viewport)
|
|
173006
173322
|
ev.viewport.invalidateDecorations();
|
|
173007
|
-
return
|
|
173323
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
173008
173324
|
}
|
|
173009
173325
|
/** @internal */
|
|
173010
173326
|
async onUndoPreviousStep() {
|
|
@@ -180700,12 +181016,14 @@ class SetupCameraTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_17__.Primi
|
|
|
180700
181016
|
get targetHeight() { return this.targetHeightProperty.value; }
|
|
180701
181017
|
set targetHeight(value) { this.targetHeightProperty.value = value; }
|
|
180702
181018
|
syncCameraHeightState() {
|
|
180703
|
-
|
|
181019
|
+
const specs = _IModelApp__WEBPACK_IMPORTED_MODULE_7__.IModelApp.quantityFormatter.getSpecsByName(this.cameraHeightProperty.description.kindOfQuantityName ?? "AecUnits.LENGTH");
|
|
181020
|
+
this.cameraHeightProperty.displayValue = specs ? specs.formatterSpec.applyFormatting(this.cameraHeight) : this.cameraHeight.toFixed(2);
|
|
180704
181021
|
this.cameraHeightProperty.isDisabled = !this.useCameraHeight;
|
|
180705
181022
|
this.syncToolSettingsProperties([this.cameraHeightProperty.syncItem]);
|
|
180706
181023
|
}
|
|
180707
181024
|
syncTargetHeightState() {
|
|
180708
|
-
|
|
181025
|
+
const specs = _IModelApp__WEBPACK_IMPORTED_MODULE_7__.IModelApp.quantityFormatter.getSpecsByName(this.targetHeightProperty.description.kindOfQuantityName ?? "AecUnits.LENGTH");
|
|
181026
|
+
this.targetHeightProperty.displayValue = specs ? specs.formatterSpec.applyFormatting(this.targetHeight) : this.targetHeight.toFixed(2);
|
|
180709
181027
|
this.targetHeightProperty.isDisabled = !this.useTargetHeight;
|
|
180710
181028
|
this.syncToolSettingsProperties([this.targetHeightProperty.syncItem]);
|
|
180711
181029
|
}
|
|
@@ -301787,9 +302105,11 @@ class BaseQuantityDescription {
|
|
|
301787
302105
|
displayLabel;
|
|
301788
302106
|
typename;
|
|
301789
302107
|
editor;
|
|
301790
|
-
|
|
302108
|
+
kindOfQuantityName;
|
|
302109
|
+
constructor(name, displayLabel, iconSpec, kindOfQuantityName) {
|
|
301791
302110
|
this.name = name;
|
|
301792
302111
|
this.displayLabel = displayLabel;
|
|
302112
|
+
this.kindOfQuantityName = kindOfQuantityName;
|
|
301793
302113
|
this.typename = _properties_StandardTypeNames__WEBPACK_IMPORTED_MODULE_1__.StandardTypeNames.Number;
|
|
301794
302114
|
this.editor = {
|
|
301795
302115
|
name: _properties_StandardEditorNames__WEBPACK_IMPORTED_MODULE_2__.StandardEditorNames.NumberCustom,
|
|
@@ -302326,28 +302646,6 @@ const getClassName = (obj) => {
|
|
|
302326
302646
|
};
|
|
302327
302647
|
|
|
302328
302648
|
|
|
302329
|
-
/***/ }),
|
|
302330
|
-
|
|
302331
|
-
/***/ "../../core/frontend/lib/esm/extension/providers lazy recursive":
|
|
302332
|
-
/*!******************************************************************************!*\
|
|
302333
|
-
!*** ../../core/frontend/lib/esm/extension/providers/ lazy namespace object ***!
|
|
302334
|
-
\******************************************************************************/
|
|
302335
|
-
/***/ ((module) => {
|
|
302336
|
-
|
|
302337
|
-
function webpackEmptyAsyncContext(req) {
|
|
302338
|
-
// Here Promise.resolve().then() is used instead of new Promise() to prevent
|
|
302339
|
-
// uncaught exception popping up in devtools
|
|
302340
|
-
return Promise.resolve().then(() => {
|
|
302341
|
-
var e = new Error("Cannot find module '" + req + "'");
|
|
302342
|
-
e.code = 'MODULE_NOT_FOUND';
|
|
302343
|
-
throw e;
|
|
302344
|
-
});
|
|
302345
|
-
}
|
|
302346
|
-
webpackEmptyAsyncContext.keys = () => ([]);
|
|
302347
|
-
webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;
|
|
302348
|
-
webpackEmptyAsyncContext.id = "../../core/frontend/lib/esm/extension/providers lazy recursive";
|
|
302349
|
-
module.exports = webpackEmptyAsyncContext;
|
|
302350
|
-
|
|
302351
302649
|
/***/ }),
|
|
302352
302650
|
|
|
302353
302651
|
/***/ "?088e":
|
|
@@ -312420,7 +312718,7 @@ var loadLanguages = instance.loadLanguages;
|
|
|
312420
312718
|
/***/ ((module) => {
|
|
312421
312719
|
|
|
312422
312720
|
"use strict";
|
|
312423
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.0.0-dev.
|
|
312721
|
+
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"}}');
|
|
312424
312722
|
|
|
312425
312723
|
/***/ })
|
|
312426
312724
|
|