@itwin/ecschema-rpcinterface-tests 5.1.0-dev.12 → 5.1.0-dev.14
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/backend/BackendInit.js.map +1 -1
- package/lib/common/Settings.js +4 -4
- package/lib/common/Settings.js.map +1 -1
- package/lib/common/SideChannels.js.map +1 -1
- package/lib/dist/_bea9.bundled-tests.js.map +1 -1
- package/lib/dist/bundled-tests.js +329 -155
- package/lib/dist/bundled-tests.js.map +1 -1
- package/lib/dist/core_frontend_lib_esm_ApproximateTerrainHeightsProps_js.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_cross-fetch_4_0_0_node_modules_cross-fetch_dist_browser-24291b.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_1_6_node_modules_loaders_gl_draco_di-0642a6.bundled-tests.js.map +1 -1
- package/lib/frontend/SchemaRpcInterface.test.js.map +1 -1
- package/lib/frontend/setup/IModelSession.js.map +1 -1
- package/lib/frontend/setup/TestContext.js.map +1 -1
- package/package.json +15 -15
|
@@ -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)
|
|
@@ -70390,11 +70396,14 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
70390
70396
|
* The SchemaLoader object should be held in memory if multiple calls to [[getSchema]] or [[tryGetSchema]]
|
|
70391
70397
|
* is a possibility, thereby avoiding unnecessary schema retrievals from the function.
|
|
70392
70398
|
*
|
|
70399
|
+
* Since the development of this class, the IModelDb class has been enhanced to include a schema context.
|
|
70400
|
+
* In most cases, that is sufficient so a SchemaLoader is not needed. This class is likely to be removed in the future.
|
|
70401
|
+
*
|
|
70393
70402
|
* ** Example **
|
|
70394
70403
|
* ```ts
|
|
70395
70404
|
* [[include:IModelSchemas.loadFromDb]]
|
|
70396
70405
|
* ```
|
|
70397
|
-
* @beta
|
|
70406
|
+
* @beta This will no longer be needed as of 5.0.0 since IModelDb now has a schema context.
|
|
70398
70407
|
*/
|
|
70399
70408
|
class SchemaLoader {
|
|
70400
70409
|
_context;
|
|
@@ -83590,7 +83599,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
83590
83599
|
|
|
83591
83600
|
/** @public */
|
|
83592
83601
|
const ITWINJS_CORE_VERSION = _package_json__WEBPACK_IMPORTED_MODULE_0__.version;
|
|
83593
|
-
const COPYRIGHT_NOTICE =
|
|
83602
|
+
const COPYRIGHT_NOTICE = `Copyright © 2017-${new Date().getFullYear()} <a href="https://www.bentley.com" target="_blank" rel="noopener noreferrer">Bentley Systems, Inc.</a>`;
|
|
83594
83603
|
|
|
83595
83604
|
|
|
83596
83605
|
|
|
@@ -83666,6 +83675,7 @@ class IModelApp {
|
|
|
83666
83675
|
static _hubAccess;
|
|
83667
83676
|
static _realityDataAccess;
|
|
83668
83677
|
static _publicPath;
|
|
83678
|
+
static _formatsProviderManager;
|
|
83669
83679
|
// No instances of IModelApp may be created. All members are static and must be on the singleton object IModelApp.
|
|
83670
83680
|
constructor() { }
|
|
83671
83681
|
/** Event raised just before the frontend IModelApp is to be [[shutdown]]. */
|
|
@@ -83740,6 +83750,14 @@ class IModelApp {
|
|
|
83740
83750
|
* The path should always end with a trailing `/`.
|
|
83741
83751
|
*/
|
|
83742
83752
|
static get publicPath() { return this._publicPath; }
|
|
83753
|
+
/** The [[FormatsProvider]] for this session.
|
|
83754
|
+
* @param provider The provider to use for formatting quantities.
|
|
83755
|
+
* @beta
|
|
83756
|
+
*/
|
|
83757
|
+
static get formatsProvider() { return this._formatsProviderManager; }
|
|
83758
|
+
static set formatsProvider(provider) {
|
|
83759
|
+
this._formatsProviderManager.formatsProvider = provider;
|
|
83760
|
+
}
|
|
83743
83761
|
/** @alpha */
|
|
83744
83762
|
static extensionAdmin = this._createExtensionAdmin();
|
|
83745
83763
|
/** Map of classFullName to EntityState class */
|
|
@@ -83840,6 +83858,7 @@ class IModelApp {
|
|
|
83840
83858
|
this._terrainProviderRegistry = new _tile_internal__WEBPACK_IMPORTED_MODULE_26__.TerrainProviderRegistry();
|
|
83841
83859
|
this._realityDataSourceProviders = new _RealityDataSource__WEBPACK_IMPORTED_MODULE_25__.RealityDataSourceProviderRegistry();
|
|
83842
83860
|
this._realityDataAccess = opts.realityDataAccess;
|
|
83861
|
+
this._formatsProviderManager = new _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_19__.FormatsProviderManager(opts.formatsProvider ?? new _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_19__.QuantityTypeFormatsProvider());
|
|
83843
83862
|
this._publicPath = opts.publicPath ?? "";
|
|
83844
83863
|
[
|
|
83845
83864
|
this.renderSystem,
|
|
@@ -83871,6 +83890,7 @@ class IModelApp {
|
|
|
83871
83890
|
this._entityClasses.clear();
|
|
83872
83891
|
this.authorizationClient = undefined;
|
|
83873
83892
|
this._initialized = false;
|
|
83893
|
+
this.resetFormatsProvider();
|
|
83874
83894
|
this.onAfterStartup.clear();
|
|
83875
83895
|
}
|
|
83876
83896
|
/** Controls how frequently the application polls for changes that may require a new animation frame to be requested.
|
|
@@ -84121,6 +84141,13 @@ class IModelApp {
|
|
|
84121
84141
|
}
|
|
84122
84142
|
return this.localization.getLocalizedString(`iModelJs:${key.scope}.${key.val}`, key);
|
|
84123
84143
|
}
|
|
84144
|
+
/**
|
|
84145
|
+
* Resets the formatsProvider back to the default [[QuantityTypeFormatsProvider]].
|
|
84146
|
+
* @beta
|
|
84147
|
+
*/
|
|
84148
|
+
static resetFormatsProvider() {
|
|
84149
|
+
this.formatsProvider = new _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_19__.QuantityTypeFormatsProvider();
|
|
84150
|
+
}
|
|
84124
84151
|
/**
|
|
84125
84152
|
* Creates an instance of the ExtensionAdmin
|
|
84126
84153
|
* and registers an event to execute after startup is complete
|
|
@@ -85474,6 +85501,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
85474
85501
|
*/
|
|
85475
85502
|
class IpcApp {
|
|
85476
85503
|
static _ipc;
|
|
85504
|
+
static _removeAppNotify;
|
|
85477
85505
|
/** Get the implementation of the [[IpcSocketFrontend]] interface. */
|
|
85478
85506
|
static get ipc() { return this._ipc; }
|
|
85479
85507
|
/** Determine whether Ipc is available for this frontend. This will only be true if [[startup]] has been called on this class. */
|
|
@@ -85580,11 +85608,12 @@ class IpcApp {
|
|
|
85580
85608
|
* @note this should not be called directly. It is called by NativeApp.startup */
|
|
85581
85609
|
static async startup(ipc, opts) {
|
|
85582
85610
|
this._ipc = ipc;
|
|
85583
|
-
IpcAppNotifyHandler.register(); // receives notifications from backend
|
|
85611
|
+
this._removeAppNotify = IpcAppNotifyHandler.register(); // receives notifications from backend
|
|
85584
85612
|
await _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.startup(opts?.iModelApp);
|
|
85585
85613
|
}
|
|
85586
85614
|
/** @internal */
|
|
85587
85615
|
static async shutdown() {
|
|
85616
|
+
this._removeAppNotify?.();
|
|
85588
85617
|
this._ipc = undefined;
|
|
85589
85618
|
await _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.shutdown();
|
|
85590
85619
|
}
|
|
@@ -107034,6 +107063,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
107034
107063
|
/* harmony export */ FlashMode: () => (/* reexport safe */ _FlashSettings__WEBPACK_IMPORTED_MODULE_22__.FlashMode),
|
|
107035
107064
|
/* harmony export */ FlashSettings: () => (/* reexport safe */ _FlashSettings__WEBPACK_IMPORTED_MODULE_22__.FlashSettings),
|
|
107036
107065
|
/* harmony export */ FlyViewTool: () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_114__.FlyViewTool),
|
|
107066
|
+
/* harmony export */ FormatsProviderManager: () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_72__.FormatsProviderManager),
|
|
107037
107067
|
/* harmony export */ FormattedQuantityDescription: () => (/* reexport safe */ _properties_FormattedQuantityDescription__WEBPACK_IMPORTED_MODULE_70__.FormattedQuantityDescription),
|
|
107038
107068
|
/* harmony export */ FrontendLoggerCategory: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_10__.FrontendLoggerCategory),
|
|
107039
107069
|
/* harmony export */ Frustum2d: () => (/* reexport safe */ _Frustum2d__WEBPACK_IMPORTED_MODULE_24__.Frustum2d),
|
|
@@ -107162,6 +107192,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
107162
107192
|
/* harmony export */ QuadId: () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_99__.QuadId),
|
|
107163
107193
|
/* harmony export */ QuantityFormatter: () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_72__.QuantityFormatter),
|
|
107164
107194
|
/* harmony export */ QuantityType: () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_72__.QuantityType),
|
|
107195
|
+
/* harmony export */ QuantityTypeFormatsProvider: () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_72__.QuantityTypeFormatsProvider),
|
|
107165
107196
|
/* harmony export */ RealityDataError: () => (/* reexport safe */ _RealityDataSource__WEBPACK_IMPORTED_MODULE_121__.RealityDataError),
|
|
107166
107197
|
/* harmony export */ RealityDataSource: () => (/* reexport safe */ _RealityDataSource__WEBPACK_IMPORTED_MODULE_121__.RealityDataSource),
|
|
107167
107198
|
/* harmony export */ RealityDataSourceProviderRegistry: () => (/* reexport safe */ _RealityDataSource__WEBPACK_IMPORTED_MODULE_121__.RealityDataSourceProviderRegistry),
|
|
@@ -140574,8 +140605,9 @@ function createClassifierTileTreeReference(classifiers, classifiedTree, iModel,
|
|
|
140574
140605
|
return new ClassifierTreeReference(classifiers, classifiedTree, iModel, source);
|
|
140575
140606
|
}
|
|
140576
140607
|
function createClassifierId(classifier, source) {
|
|
140608
|
+
const disablePolyfaceDecimation = _IModelApp__WEBPACK_IMPORTED_MODULE_2__.IModelApp.tileAdmin.disablePolyfaceDecimation;
|
|
140577
140609
|
if (undefined === classifier)
|
|
140578
|
-
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 };
|
|
140610
|
+
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 };
|
|
140579
140611
|
const type = classifier.flags.isVolumeClassifier ? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.VolumeClassifier : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.PlanarClassifier;
|
|
140580
140612
|
const scriptInfo = _IModelApp__WEBPACK_IMPORTED_MODULE_2__.IModelApp.tileAdmin.getScriptInfoForTreeId(classifier.modelId, source ? source[_common_internal_Symbols__WEBPACK_IMPORTED_MODULE_5__._scheduleScriptReference] : undefined);
|
|
140581
140613
|
return {
|
|
@@ -140584,6 +140616,7 @@ function createClassifierId(classifier, source) {
|
|
|
140584
140616
|
expansion: classifier.expand,
|
|
140585
140617
|
animationId: scriptInfo?.animationId,
|
|
140586
140618
|
timeline: scriptInfo?.timeline,
|
|
140619
|
+
disablePolyfaceDecimation,
|
|
140587
140620
|
};
|
|
140588
140621
|
}
|
|
140589
140622
|
|
|
@@ -141640,6 +141673,10 @@ class IModelTile extends _tile_internal__WEBPACK_IMPORTED_MODULE_4__.Tile {
|
|
|
141640
141673
|
args.insertMissing(this);
|
|
141641
141674
|
return this.isParentDisplayable ? SelectParent.Yes : SelectParent.No;
|
|
141642
141675
|
}
|
|
141676
|
+
clearLayers() {
|
|
141677
|
+
super.clearLayers();
|
|
141678
|
+
this.disposeChildren();
|
|
141679
|
+
}
|
|
141643
141680
|
}
|
|
141644
141681
|
|
|
141645
141682
|
|
|
@@ -144588,7 +144625,8 @@ class PrimaryTreeReference extends _tile_internal__WEBPACK_IMPORTED_MODULE_6__.T
|
|
|
144588
144625
|
const edgesRequired = visibleEdges || _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.RenderMode.SmoothShade !== renderMode || _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.alwaysRequestEdges;
|
|
144589
144626
|
const edges = edgesRequired ? _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.edgeOptions : false;
|
|
144590
144627
|
const sectionCut = this._sectionClip?.clipString;
|
|
144591
|
-
|
|
144628
|
+
const disablePolyfaceDecimation = _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.disablePolyfaceDecimation;
|
|
144629
|
+
return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.Primary, edges, animationId, sectionCut, disablePolyfaceDecimation };
|
|
144592
144630
|
}
|
|
144593
144631
|
computeBaseTransform(tree) {
|
|
144594
144632
|
return super.computeTransform(tree);
|
|
@@ -144741,7 +144779,7 @@ class MaskTreeReference extends _tile_internal__WEBPACK_IMPORTED_MODULE_6__.Tile
|
|
|
144741
144779
|
return this._owner;
|
|
144742
144780
|
}
|
|
144743
144781
|
createTreeId() {
|
|
144744
|
-
return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.Primary, edges: false };
|
|
144782
|
+
return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.Primary, edges: false, disablePolyfaceDecimation: _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.disablePolyfaceDecimation };
|
|
144745
144783
|
}
|
|
144746
144784
|
}
|
|
144747
144785
|
function createMaskTreeReference(view, model) {
|
|
@@ -144767,7 +144805,7 @@ class ModelMapLayerTileTreeReference extends _tile_internal__WEBPACK_IMPORTED_MO
|
|
|
144767
144805
|
this._owner = primaryTreeSupplier.getOwner(this._id, this.iModel);
|
|
144768
144806
|
}
|
|
144769
144807
|
createTreeId() {
|
|
144770
|
-
return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.Primary, edges: false };
|
|
144808
|
+
return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.Primary, edges: false, disablePolyfaceDecimation: _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.disablePolyfaceDecimation };
|
|
144771
144809
|
}
|
|
144772
144810
|
get treeOwner() {
|
|
144773
144811
|
const newId = this.createTreeId();
|
|
@@ -150624,8 +150662,10 @@ class LocalUnitFormatProvider extends _BaseUnitFormattingSettingsProvider__WEBPA
|
|
|
150624
150662
|
__webpack_require__.r(__webpack_exports__);
|
|
150625
150663
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
150626
150664
|
/* harmony export */ AlternateUnitLabelsRegistry: () => (/* binding */ AlternateUnitLabelsRegistry),
|
|
150665
|
+
/* harmony export */ FormatsProviderManager: () => (/* binding */ FormatsProviderManager),
|
|
150627
150666
|
/* harmony export */ QuantityFormatter: () => (/* binding */ QuantityFormatter),
|
|
150628
150667
|
/* harmony export */ QuantityType: () => (/* binding */ QuantityType),
|
|
150668
|
+
/* harmony export */ QuantityTypeFormatsProvider: () => (/* binding */ QuantityTypeFormatsProvider),
|
|
150629
150669
|
/* harmony export */ getQuantityTypeKey: () => (/* binding */ getQuantityTypeKey),
|
|
150630
150670
|
/* harmony export */ isCustomQuantityTypeDefinition: () => (/* binding */ isCustomQuantityTypeDefinition)
|
|
150631
150671
|
/* harmony export */ });
|
|
@@ -150771,12 +150811,66 @@ class StandardQuantityTypeDefinition {
|
|
|
150771
150811
|
return _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.ParserSpec.create(format, unitsProvider, this.persistenceUnit, alternateUnitLabelsProvider);
|
|
150772
150812
|
}
|
|
150773
150813
|
}
|
|
150814
|
+
/**
|
|
150815
|
+
* A default formatsProvider, that provides a limited set of [[FormatDefinition]], associated to a few [[KindOfQuantity]].
|
|
150816
|
+
* Maps each KindOfQuantity to a [[QuantityType]].
|
|
150817
|
+
* When retrieving a valid [[KindOfQuantity]], returns the [[FormatProps]] for the associated [[QuantityType]].
|
|
150818
|
+
* @internal
|
|
150819
|
+
*/
|
|
150820
|
+
class QuantityTypeFormatsProvider {
|
|
150821
|
+
onFormatsChanged = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
150822
|
+
constructor() {
|
|
150823
|
+
_IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.quantityFormatter.onActiveFormattingUnitSystemChanged.addListener(() => {
|
|
150824
|
+
this.onFormatsChanged.raiseEvent({ formatsChanged: "all" });
|
|
150825
|
+
});
|
|
150826
|
+
}
|
|
150827
|
+
_kindOfQuantityMap = new Map([
|
|
150828
|
+
["AecUnits.LENGTH", QuantityType.Length],
|
|
150829
|
+
["AecUnits.ANGLE", QuantityType.Angle],
|
|
150830
|
+
["AecUnits.AREA", QuantityType.Area],
|
|
150831
|
+
["AecUnits.VOLUME", QuantityType.Volume],
|
|
150832
|
+
["RoadRailUnits.STATION", QuantityType.Stationing],
|
|
150833
|
+
["RoadRailUnits.LENGTH", QuantityType.LengthSurvey],
|
|
150834
|
+
]);
|
|
150835
|
+
async getFormat(name) {
|
|
150836
|
+
const quantityType = this._kindOfQuantityMap.get(name);
|
|
150837
|
+
if (!quantityType)
|
|
150838
|
+
return undefined;
|
|
150839
|
+
return _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.quantityFormatter.getFormatPropsByQuantityType(quantityType);
|
|
150840
|
+
}
|
|
150841
|
+
}
|
|
150842
|
+
/**
|
|
150843
|
+
* An implementation of the [[FormatsProvider]] interface that forwards calls to getFormats to the underlying FormatsProvider.
|
|
150844
|
+
* Also fires the onFormatsChanged event when the underlying FormatsProvider fires its own onFormatsChanged event.
|
|
150845
|
+
* @internal
|
|
150846
|
+
*/
|
|
150847
|
+
class FormatsProviderManager {
|
|
150848
|
+
_formatsProvider;
|
|
150849
|
+
onFormatsChanged = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
150850
|
+
constructor(_formatsProvider) {
|
|
150851
|
+
this._formatsProvider = _formatsProvider;
|
|
150852
|
+
this._formatsProvider.onFormatsChanged.addListener((args) => {
|
|
150853
|
+
this.onFormatsChanged.raiseEvent(args);
|
|
150854
|
+
});
|
|
150855
|
+
}
|
|
150856
|
+
async getFormat(name) {
|
|
150857
|
+
return this._formatsProvider.getFormat(name);
|
|
150858
|
+
}
|
|
150859
|
+
get formatsProvider() { return this; }
|
|
150860
|
+
set formatsProvider(formatsProvider) {
|
|
150861
|
+
this._formatsProvider = formatsProvider;
|
|
150862
|
+
this._formatsProvider.onFormatsChanged.addListener((args) => {
|
|
150863
|
+
this.onFormatsChanged.raiseEvent(args);
|
|
150864
|
+
});
|
|
150865
|
+
this.onFormatsChanged.raiseEvent({ formatsChanged: "all" });
|
|
150866
|
+
}
|
|
150867
|
+
}
|
|
150774
150868
|
/** Class that supports formatting quantity values into strings and parsing strings into quantity values. This class also maintains
|
|
150775
150869
|
* the "active" unit system and caches FormatterSpecs and ParserSpecs for the "active" unit system to allow synchronous access to
|
|
150776
150870
|
* parsing and formatting values. The support unit systems are defined by [[UnitSystemKey]] and is kept in synch with the unit systems
|
|
150777
150871
|
* provided by the Presentation Manager on the backend. The QuantityFormatter contains a registry of quantity type definitions. These definitions implement
|
|
150778
|
-
* the [[QuantityTypeDefinition]] interface, which among other things, provide default [FormatProps]
|
|
150779
|
-
* to generate both a [FormatterSpec]
|
|
150872
|
+
* the [[QuantityTypeDefinition]] interface, which among other things, provide default [[FormatProps]], and provide methods
|
|
150873
|
+
* to generate both a [[FormatterSpec]] and a [[ParserSpec]]. There are built-in quantity types that are
|
|
150780
150874
|
* identified by the [[QuantityType]] enum. [[CustomQuantityTypeDefinition]] can be registered to extend the available quantity types available
|
|
150781
150875
|
* by frontend tools. The QuantityFormatter also allows the default formats to be overriden.
|
|
150782
150876
|
*
|
|
@@ -151180,26 +151274,51 @@ class QuantityFormatter {
|
|
|
151180
151274
|
requestedSystem = isImperial ? "imperial" : "metric";
|
|
151181
151275
|
return this.getParserSpecByQuantityTypeAndSystem(type, requestedSystem);
|
|
151182
151276
|
}
|
|
151183
|
-
|
|
151184
|
-
|
|
151185
|
-
|
|
151186
|
-
|
|
151187
|
-
|
|
151188
|
-
|
|
151189
|
-
|
|
151190
|
-
|
|
151191
|
-
|
|
151192
|
-
return
|
|
151277
|
+
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
151278
|
+
formatQuantity(args, spec) {
|
|
151279
|
+
if (typeof args === "number") {
|
|
151280
|
+
/** Format a quantity value. Default FormatterSpec implementation uses Formatter.formatQuantity. */
|
|
151281
|
+
const magnitude = args;
|
|
151282
|
+
if (spec)
|
|
151283
|
+
return spec.applyFormatting(magnitude);
|
|
151284
|
+
return magnitude.toString();
|
|
151285
|
+
}
|
|
151286
|
+
return this.formatQuantityAsync(args);
|
|
151287
|
+
}
|
|
151288
|
+
async formatQuantityAsync(args) {
|
|
151289
|
+
const { value, valueUnitName, kindOfQuantityName } = args;
|
|
151290
|
+
const formatProps = await _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.formatsProvider.getFormat(kindOfQuantityName);
|
|
151291
|
+
if (!formatProps)
|
|
151292
|
+
return value.toString();
|
|
151293
|
+
const formatSpec = await this.createFormatterSpec({
|
|
151294
|
+
persistenceUnitName: valueUnitName,
|
|
151295
|
+
formatProps,
|
|
151296
|
+
formatName: kindOfQuantityName,
|
|
151297
|
+
});
|
|
151298
|
+
return formatSpec.applyFormatting(value);
|
|
151193
151299
|
}
|
|
151194
|
-
|
|
151195
|
-
|
|
151196
|
-
|
|
151197
|
-
|
|
151198
|
-
|
|
151199
|
-
|
|
151200
|
-
|
|
151201
|
-
return
|
|
151202
|
-
|
|
151300
|
+
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
151301
|
+
parseToQuantityValue(args, parserSpec) {
|
|
151302
|
+
if (typeof args === "string") {
|
|
151303
|
+
/** Parse a quantity value. Default ParserSpec implementation uses ParserSpec.parseToQuantityValue. */
|
|
151304
|
+
const inString = args;
|
|
151305
|
+
if (parserSpec)
|
|
151306
|
+
return parserSpec.parseToQuantityValue(inString);
|
|
151307
|
+
return { ok: false, error: _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.ParseError.InvalidParserSpec };
|
|
151308
|
+
}
|
|
151309
|
+
return this.parseToQuantityValueAsync(args);
|
|
151310
|
+
}
|
|
151311
|
+
async parseToQuantityValueAsync(args) {
|
|
151312
|
+
const { value, valueUnitName, kindOfQuantityName } = args;
|
|
151313
|
+
const formatProps = await _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.formatsProvider.getFormat(kindOfQuantityName);
|
|
151314
|
+
if (!formatProps)
|
|
151315
|
+
return { ok: false, error: _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.ParseError.InvalidParserSpec };
|
|
151316
|
+
const parserSpec = await this.createParserSpec({
|
|
151317
|
+
persistenceUnitName: valueUnitName,
|
|
151318
|
+
formatProps,
|
|
151319
|
+
formatName: kindOfQuantityName,
|
|
151320
|
+
});
|
|
151321
|
+
return parserSpec.parseToQuantityValue(value);
|
|
151203
151322
|
}
|
|
151204
151323
|
/**
|
|
151205
151324
|
* Get a UnitSystemKey from a string that may have been entered via a key-in. Supports different variation of
|
|
@@ -151269,6 +151388,28 @@ class QuantityFormatter {
|
|
|
151269
151388
|
async getConversion(fromUnit, toUnit) {
|
|
151270
151389
|
return this._unitsProvider.getConversion(fromUnit, toUnit);
|
|
151271
151390
|
}
|
|
151391
|
+
/**
|
|
151392
|
+
* Creates a [[FormatterSpec]] for a given persistence unit name and format properties, using the [[UnitsProvider]] to resolve the persistence unit.
|
|
151393
|
+
* @beta
|
|
151394
|
+
* @param props - A [[CreateFormattingSpecProps]] interface.
|
|
151395
|
+
*/
|
|
151396
|
+
async createFormatterSpec(props) {
|
|
151397
|
+
const { persistenceUnitName, formatProps, formatName } = props;
|
|
151398
|
+
const persistenceUnitProps = await this._unitsProvider.findUnitByName(persistenceUnitName);
|
|
151399
|
+
const format = await _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.Format.createFromJSON(formatName ?? "temp", this._unitsProvider, formatProps);
|
|
151400
|
+
return _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.FormatterSpec.create(`${format.name}_format_spec`, format, this._unitsProvider, persistenceUnitProps);
|
|
151401
|
+
}
|
|
151402
|
+
/**
|
|
151403
|
+
* Creates a [[ParserSpec]] for a given persistence unit name and format properties, using the [[UnitsProvider]] to resolve the persistence unit.
|
|
151404
|
+
* @beta
|
|
151405
|
+
* @param props - A [[CreateFormattingSpecProps]] object.
|
|
151406
|
+
*/
|
|
151407
|
+
async createParserSpec(props) {
|
|
151408
|
+
const { persistenceUnitName, formatProps, formatName } = props;
|
|
151409
|
+
const persistenceUnitProps = await this._unitsProvider.findUnitByName(persistenceUnitName);
|
|
151410
|
+
const format = await _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.Format.createFromJSON(formatName ?? "temp", this._unitsProvider, formatProps);
|
|
151411
|
+
return _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.ParserSpec.create(format, this._unitsProvider, persistenceUnitProps);
|
|
151412
|
+
}
|
|
151272
151413
|
}
|
|
151273
151414
|
// ========================================================================================================================================
|
|
151274
151415
|
// Default Data
|
|
@@ -158309,6 +158450,8 @@ class TileAdmin {
|
|
|
158309
158450
|
/** @internal */
|
|
158310
158451
|
optimizeBRepProcessing;
|
|
158311
158452
|
/** @internal */
|
|
158453
|
+
disablePolyfaceDecimation;
|
|
158454
|
+
/** @internal */
|
|
158312
158455
|
useLargerTiles;
|
|
158313
158456
|
/** @internal */
|
|
158314
158457
|
maximumLevelsToSkip;
|
|
@@ -158397,6 +158540,7 @@ class TileAdmin {
|
|
|
158397
158540
|
this.useProjectExtents = options.useProjectExtents ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.useProjectExtents;
|
|
158398
158541
|
this.expandProjectExtents = options.expandProjectExtents ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.expandProjectExtents;
|
|
158399
158542
|
this.optimizeBRepProcessing = options.optimizeBRepProcessing ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.optimizeBRepProcessing;
|
|
158543
|
+
this.disablePolyfaceDecimation = options.disablePolyfaceDecimation ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.disablePolyfaceDecimation;
|
|
158400
158544
|
this.useLargerTiles = options.useLargerTiles ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.useLargerTiles;
|
|
158401
158545
|
this.mobileRealityTileMinToleranceRatio = Math.max(options.mobileRealityTileMinToleranceRatio ?? 3.0, 1.0);
|
|
158402
158546
|
this.cesiumIonKey = options.cesiumIonKey;
|
|
@@ -171673,11 +171817,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
171673
171817
|
/* harmony import */ var _IModelApp__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../IModelApp */ "../../core/frontend/lib/esm/IModelApp.js");
|
|
171674
171818
|
/* harmony import */ var _Marker__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Marker */ "../../core/frontend/lib/esm/Marker.js");
|
|
171675
171819
|
/* harmony import */ var _NotificationManager__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../NotificationManager */ "../../core/frontend/lib/esm/NotificationManager.js");
|
|
171676
|
-
/* harmony import */ var
|
|
171677
|
-
/* harmony import */ var
|
|
171678
|
-
/* harmony import */ var
|
|
171679
|
-
/* harmony import */ var
|
|
171680
|
-
/* harmony import */ var _common_render_GraphicType__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../common/render/GraphicType */ "../../core/frontend/lib/esm/common/render/GraphicType.js");
|
|
171820
|
+
/* harmony import */ var _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PrimitiveTool */ "../../core/frontend/lib/esm/tools/PrimitiveTool.js");
|
|
171821
|
+
/* harmony import */ var _Tool__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Tool */ "../../core/frontend/lib/esm/tools/Tool.js");
|
|
171822
|
+
/* harmony import */ var _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ToolAssistance */ "../../core/frontend/lib/esm/tools/ToolAssistance.js");
|
|
171823
|
+
/* harmony import */ var _common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../common/render/GraphicType */ "../../core/frontend/lib/esm/common/render/GraphicType.js");
|
|
171681
171824
|
/*---------------------------------------------------------------------------------------------
|
|
171682
171825
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
171683
171826
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -171698,9 +171841,18 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
171698
171841
|
|
|
171699
171842
|
|
|
171700
171843
|
|
|
171701
|
-
|
|
171702
171844
|
function translateBold(key) {
|
|
171703
|
-
return `<b>${
|
|
171845
|
+
return `<b>${_Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(`Measure.Labels.${key}`)}:</b> `;
|
|
171846
|
+
}
|
|
171847
|
+
async function getFormatterSpecByKoQAndPersistenceUnit(koq, persistenceUnitName) {
|
|
171848
|
+
const formatProps = await _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.formatsProvider.getFormat(koq);
|
|
171849
|
+
if (undefined === formatProps)
|
|
171850
|
+
return undefined;
|
|
171851
|
+
return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.createFormatterSpec({
|
|
171852
|
+
persistenceUnitName,
|
|
171853
|
+
formatProps,
|
|
171854
|
+
formatName: koq
|
|
171855
|
+
});
|
|
171704
171856
|
}
|
|
171705
171857
|
/** @internal */
|
|
171706
171858
|
class MeasureLabel {
|
|
@@ -171764,7 +171916,7 @@ class MeasureMarker extends _Marker__WEBPACK_IMPORTED_MODULE_7__.Marker {
|
|
|
171764
171916
|
onMouseButton(_ev) { return true; } // Never forward event to active tool...
|
|
171765
171917
|
onMouseEnter(ev) {
|
|
171766
171918
|
super.onMouseEnter(ev);
|
|
171767
|
-
if (this.title &&
|
|
171919
|
+
if (this.title && _Tool__WEBPACK_IMPORTED_MODULE_10__.InputSource.Touch === ev.inputSource && ev.viewport)
|
|
171768
171920
|
ev.viewport.openToolTip(this.title, ev.viewPoint, this.tooltipOptions);
|
|
171769
171921
|
}
|
|
171770
171922
|
onMouseLeave() {
|
|
@@ -171801,7 +171953,7 @@ function adjustPoint(ev, segments, locations) {
|
|
|
171801
171953
|
/** Report distance between 2 points using current quantity formatter for length.
|
|
171802
171954
|
* @public
|
|
171803
171955
|
*/
|
|
171804
|
-
class MeasureDistanceTool extends
|
|
171956
|
+
class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.PrimitiveTool {
|
|
171805
171957
|
static toolId = "Measure.Distance";
|
|
171806
171958
|
static iconSpec = "icon-measure-distance";
|
|
171807
171959
|
/** @internal */
|
|
@@ -171819,6 +171971,12 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
171819
171971
|
/** @internal */
|
|
171820
171972
|
_lastMotionAdjustedPt;
|
|
171821
171973
|
/** @internal */
|
|
171974
|
+
_lengthFormatterSpec;
|
|
171975
|
+
/** @internal */
|
|
171976
|
+
_angleFormatterSpec;
|
|
171977
|
+
/** @internal */
|
|
171978
|
+
_removeFormatterListener;
|
|
171979
|
+
/** @internal */
|
|
171822
171980
|
allowView(vp) { return vp.view.isSpatialView() || vp.view.isDrawingView(); }
|
|
171823
171981
|
/** @internal */
|
|
171824
171982
|
isCompatibleViewport(vp, isSelectedViewChange) { return (super.isCompatibleViewport(vp, isSelectedViewChange) && undefined !== vp && this.allowView(vp)); }
|
|
@@ -171829,34 +171987,50 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
171829
171987
|
/** @internal */
|
|
171830
171988
|
async onPostInstall() {
|
|
171831
171989
|
await super.onPostInstall();
|
|
171990
|
+
this._lengthFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
171991
|
+
this._angleFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.ANGLE", "Units.RAD");
|
|
171992
|
+
this._removeFormatterListener = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.formatsProvider.onFormatsChanged.addListener(async (args) => {
|
|
171993
|
+
if (args.formatsChanged === "all" || args.formatsChanged.includes("AecUnits.LENGTH"))
|
|
171994
|
+
this._lengthFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
171995
|
+
if (args.formatsChanged === "all" || args.formatsChanged.includes("AecUnits.ANGLE"))
|
|
171996
|
+
this._angleFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.ANGLE", "Units.RAD");
|
|
171997
|
+
});
|
|
171832
171998
|
this.setupAndPromptForNextAction();
|
|
171833
171999
|
}
|
|
171834
172000
|
/** @internal */
|
|
172001
|
+
async onCleanup() {
|
|
172002
|
+
if (this._removeFormatterListener) {
|
|
172003
|
+
this._removeFormatterListener();
|
|
172004
|
+
this._removeFormatterListener = undefined;
|
|
172005
|
+
}
|
|
172006
|
+
await super.onCleanup();
|
|
172007
|
+
}
|
|
172008
|
+
/** @internal */
|
|
171835
172009
|
async onUnsuspend() { this.showPrompt(); }
|
|
171836
172010
|
/** @internal */
|
|
171837
172011
|
showPrompt() {
|
|
171838
|
-
const mainInstruction =
|
|
172012
|
+
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"));
|
|
171839
172013
|
const mouseInstructions = [];
|
|
171840
172014
|
const touchInstructions = [];
|
|
171841
|
-
if (!
|
|
171842
|
-
touchInstructions.push(
|
|
171843
|
-
mouseInstructions.push(
|
|
172015
|
+
if (!_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createTouchCursorInstructions(touchInstructions))
|
|
172016
|
+
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));
|
|
172017
|
+
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));
|
|
171844
172018
|
if (0 === this._locationData.length) {
|
|
171845
172019
|
if (this._acceptedSegments.length > 0) {
|
|
171846
|
-
touchInstructions.push(
|
|
171847
|
-
mouseInstructions.push(
|
|
172020
|
+
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));
|
|
172021
|
+
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));
|
|
171848
172022
|
}
|
|
171849
172023
|
}
|
|
171850
172024
|
else {
|
|
171851
|
-
touchInstructions.push(
|
|
171852
|
-
mouseInstructions.push(
|
|
171853
|
-
mouseInstructions.push(
|
|
171854
|
-
mouseInstructions.push(
|
|
172025
|
+
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));
|
|
172026
|
+
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));
|
|
172027
|
+
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));
|
|
172028
|
+
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));
|
|
171855
172029
|
}
|
|
171856
172030
|
const sections = [];
|
|
171857
|
-
sections.push(
|
|
171858
|
-
sections.push(
|
|
171859
|
-
const instructions =
|
|
172031
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(mouseInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
172032
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(touchInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
172033
|
+
const instructions = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstructions(mainInstruction, sections);
|
|
171860
172034
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.setToolAssistance(instructions);
|
|
171861
172035
|
}
|
|
171862
172036
|
/** @internal */
|
|
@@ -171902,8 +172076,8 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
171902
172076
|
totalDistance += adjustedPoints[i].distance(adjustedPoints[i + 1]);
|
|
171903
172077
|
if (0.0 === totalDistance)
|
|
171904
172078
|
return;
|
|
171905
|
-
const formatterSpec =
|
|
171906
|
-
if (
|
|
172079
|
+
const formatterSpec = this._lengthFormatterSpec;
|
|
172080
|
+
if (formatterSpec === undefined)
|
|
171907
172081
|
return;
|
|
171908
172082
|
const formattedTotalDistance = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(totalDistance, formatterSpec);
|
|
171909
172083
|
const distDyn = new MeasureLabel(points[points.length - 1], formattedTotalDistance);
|
|
@@ -171917,7 +172091,7 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
171917
172091
|
seg.refAxes.multiplyVectorInPlace(xVec);
|
|
171918
172092
|
seg.refAxes.multiplyVectorInPlace(yVec);
|
|
171919
172093
|
seg.refAxes.multiplyVectorInPlace(zVec);
|
|
171920
|
-
const builderAxes = context.createGraphicBuilder(
|
|
172094
|
+
const builderAxes = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldOverlay);
|
|
171921
172095
|
let basePt = seg.start.clone();
|
|
171922
172096
|
if (xVec.magnitude() > 1.0e-5) {
|
|
171923
172097
|
const segPoints = [];
|
|
@@ -171964,12 +172138,12 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
171964
172138
|
}
|
|
171965
172139
|
tmpPoints.push(this._lastMotionPt);
|
|
171966
172140
|
tmpAdjustedPoints.push(this._lastMotionAdjustedPt);
|
|
171967
|
-
const builderDynVis = context.createGraphicBuilder(
|
|
172141
|
+
const builderDynVis = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldDecoration);
|
|
171968
172142
|
const colorDynVis = context.viewport.hilite.color;
|
|
171969
172143
|
builderDynVis.setSymbology(colorDynVis, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.black, 3);
|
|
171970
172144
|
builderDynVis.addLineString(tmpPoints);
|
|
171971
172145
|
context.addDecorationFromBuilder(builderDynVis);
|
|
171972
|
-
const builderDynHid = context.createGraphicBuilder(
|
|
172146
|
+
const builderDynHid = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldOverlay);
|
|
171973
172147
|
const colorDynHid = colorDynVis.withAlpha(100);
|
|
171974
172148
|
builderDynHid.setSymbology(colorDynHid, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.black, 1, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.LinePixels.Code2);
|
|
171975
172149
|
builderDynHid.addLineString(tmpPoints);
|
|
@@ -171977,8 +172151,8 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
171977
172151
|
this.displayDynamicDistance(context, tmpPoints, tmpAdjustedPoints);
|
|
171978
172152
|
}
|
|
171979
172153
|
if (this._acceptedSegments.length > 0) {
|
|
171980
|
-
const builderAccVis = context.createGraphicBuilder(
|
|
171981
|
-
const builderAccHid = context.createGraphicBuilder(
|
|
172154
|
+
const builderAccVis = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldDecoration);
|
|
172155
|
+
const builderAccHid = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldOverlay);
|
|
171982
172156
|
const colorAccVis = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.white.adjustedForContrast(context.viewport.view.backgroundColor);
|
|
171983
172157
|
const colorAccHid = colorAccVis.withAlpha(100);
|
|
171984
172158
|
builderAccVis.setSymbology(colorAccVis, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.black, 3);
|
|
@@ -172000,7 +172174,7 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
172000
172174
|
return;
|
|
172001
172175
|
if (undefined === this._snapGeomId)
|
|
172002
172176
|
this._snapGeomId = this.iModel.transientIds.getNext();
|
|
172003
|
-
const builderSnapPts = context.createGraphicBuilder(
|
|
172177
|
+
const builderSnapPts = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldOverlay, undefined, this._snapGeomId);
|
|
172004
172178
|
const colorAccPts = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.white.adjustedForContrast(context.viewport.view.backgroundColor);
|
|
172005
172179
|
builderSnapPts.setSymbology(colorAccPts, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.black, 7);
|
|
172006
172180
|
builderSnapPts.addPointString(snapPoints);
|
|
@@ -172029,7 +172203,7 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
172029
172203
|
reportMeasurements() {
|
|
172030
172204
|
if (undefined === this._totalDistanceMarker)
|
|
172031
172205
|
return;
|
|
172032
|
-
const briefMsg = `${
|
|
172206
|
+
const briefMsg = `${_Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(this._acceptedSegments.length > 1 ? "Measure.Labels.CumulativeDistance" : "Measure.Labels.Distance")}: ${this._totalDistanceMarker.label}`;
|
|
172033
172207
|
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);
|
|
172034
172208
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.outputMessage(msgDetail);
|
|
172035
172209
|
}
|
|
@@ -172040,7 +172214,7 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
172040
172214
|
this._totalDistance += seg.distance;
|
|
172041
172215
|
if (0.0 === this._totalDistance)
|
|
172042
172216
|
return;
|
|
172043
|
-
const formatterSpec =
|
|
172217
|
+
const formatterSpec = this._lengthFormatterSpec;
|
|
172044
172218
|
if (undefined === formatterSpec)
|
|
172045
172219
|
return;
|
|
172046
172220
|
const formattedTotalDistance = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._totalDistance, formatterSpec);
|
|
@@ -172051,20 +172225,20 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
172051
172225
|
const is3d = (undefined === this.targetView || this.targetView.view.is3d());
|
|
172052
172226
|
const isSpatial = (undefined !== this.targetView && this.targetView.view.isSpatialView());
|
|
172053
172227
|
const toolTip = document.createElement("div");
|
|
172054
|
-
const distanceFormatterSpec =
|
|
172228
|
+
const distanceFormatterSpec = this._lengthFormatterSpec;
|
|
172055
172229
|
if (undefined === distanceFormatterSpec)
|
|
172056
172230
|
return toolTip;
|
|
172057
172231
|
let toolTipHtml = "";
|
|
172058
172232
|
const formattedDistance = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(distance, distanceFormatterSpec);
|
|
172059
172233
|
toolTipHtml += `${translateBold("Distance") + formattedDistance}<br>`;
|
|
172060
172234
|
if (is3d) {
|
|
172061
|
-
const angleFormatterSpec =
|
|
172235
|
+
const angleFormatterSpec = this._angleFormatterSpec;
|
|
172062
172236
|
if (undefined !== angleFormatterSpec) {
|
|
172063
172237
|
const formattedSlope = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(slope, angleFormatterSpec);
|
|
172064
172238
|
toolTipHtml += `${translateBold("Slope") + formattedSlope}<br>`;
|
|
172065
172239
|
}
|
|
172066
172240
|
}
|
|
172067
|
-
const coordFormatterSpec =
|
|
172241
|
+
const coordFormatterSpec = this._lengthFormatterSpec;
|
|
172068
172242
|
if (undefined !== coordFormatterSpec) {
|
|
172069
172243
|
let startAdjusted = start;
|
|
172070
172244
|
let endAdjusted = end;
|
|
@@ -172209,19 +172383,19 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
172209
172383
|
this.setupAndPromptForNextAction();
|
|
172210
172384
|
if (undefined !== ev.viewport)
|
|
172211
172385
|
ev.viewport.invalidateDecorations();
|
|
172212
|
-
return
|
|
172386
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172213
172387
|
}
|
|
172214
172388
|
/** @internal */
|
|
172215
172389
|
async onResetButtonUp(ev) {
|
|
172216
172390
|
if (0 === this._locationData.length) {
|
|
172217
172391
|
await this.onReinitialize();
|
|
172218
|
-
return
|
|
172392
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172219
172393
|
}
|
|
172220
172394
|
await this.acceptNewSegments();
|
|
172221
172395
|
this.setupAndPromptForNextAction();
|
|
172222
172396
|
if (undefined !== ev.viewport)
|
|
172223
172397
|
ev.viewport.invalidateDecorations();
|
|
172224
|
-
return
|
|
172398
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172225
172399
|
}
|
|
172226
172400
|
/** @internal */
|
|
172227
172401
|
async onUndoPreviousStep() {
|
|
@@ -172252,7 +172426,7 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
172252
172426
|
/** Report spatial coordinate at a point as well as cartographic location for geolocated models using current quantity formatters.
|
|
172253
172427
|
* @public
|
|
172254
172428
|
*/
|
|
172255
|
-
class MeasureLocationTool extends
|
|
172429
|
+
class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.PrimitiveTool {
|
|
172256
172430
|
static toolId = "Measure.Location";
|
|
172257
172431
|
static iconSpec = "icon-measure-location";
|
|
172258
172432
|
/** @internal */
|
|
@@ -172274,20 +172448,20 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
172274
172448
|
async onUnsuspend() { this.showPrompt(); }
|
|
172275
172449
|
/** @internal */
|
|
172276
172450
|
showPrompt() {
|
|
172277
|
-
const mainInstruction =
|
|
172451
|
+
const mainInstruction = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(this.iconSpec, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("Measure.Location.Prompts.EnterPoint"));
|
|
172278
172452
|
const mouseInstructions = [];
|
|
172279
172453
|
const touchInstructions = [];
|
|
172280
|
-
if (!
|
|
172281
|
-
touchInstructions.push(
|
|
172282
|
-
mouseInstructions.push(
|
|
172454
|
+
if (!_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createTouchCursorInstructions(touchInstructions))
|
|
172455
|
+
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));
|
|
172456
|
+
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));
|
|
172283
172457
|
if (0 !== this._acceptedLocations.length) {
|
|
172284
|
-
touchInstructions.push(
|
|
172285
|
-
mouseInstructions.push(
|
|
172458
|
+
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));
|
|
172459
|
+
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));
|
|
172286
172460
|
}
|
|
172287
172461
|
const sections = [];
|
|
172288
|
-
sections.push(
|
|
172289
|
-
sections.push(
|
|
172290
|
-
const instructions =
|
|
172462
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(mouseInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
172463
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(touchInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
172464
|
+
const instructions = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstructions(mainInstruction, sections);
|
|
172291
172465
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.setToolAssistance(instructions);
|
|
172292
172466
|
}
|
|
172293
172467
|
/** @internal */
|
|
@@ -172300,7 +172474,7 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
172300
172474
|
const isSpatial = (undefined !== this.targetView && this.targetView.view.isSpatialView());
|
|
172301
172475
|
const toolTip = document.createElement("div");
|
|
172302
172476
|
let toolTipHtml = "";
|
|
172303
|
-
const coordFormatterSpec = await
|
|
172477
|
+
const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
172304
172478
|
if (undefined !== coordFormatterSpec) {
|
|
172305
172479
|
let pointAdjusted = point;
|
|
172306
172480
|
if (isSpatial) {
|
|
@@ -172316,15 +172490,15 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
172316
172490
|
toolTipHtml += "<br>";
|
|
172317
172491
|
}
|
|
172318
172492
|
if (isSpatial) {
|
|
172319
|
-
const latLongFormatterSpec = await
|
|
172493
|
+
const latLongFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.ANGLE", "Units.RAD");
|
|
172320
172494
|
if (undefined !== latLongFormatterSpec && undefined !== coordFormatterSpec) {
|
|
172321
172495
|
try {
|
|
172322
172496
|
const cartographic = await this.iModel.spatialToCartographic(point);
|
|
172323
172497
|
const formattedLat = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(Math.abs(cartographic.latitude), latLongFormatterSpec);
|
|
172324
172498
|
const formattedLong = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(Math.abs(cartographic.longitude), latLongFormatterSpec);
|
|
172325
172499
|
const formattedHeight = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(cartographic.height, coordFormatterSpec);
|
|
172326
|
-
const latDir =
|
|
172327
|
-
const longDir =
|
|
172500
|
+
const latDir = _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(cartographic.latitude < 0 ? "Measure.Labels.S" : "Measure.Labels.N");
|
|
172501
|
+
const longDir = _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(cartographic.longitude < 0 ? "Measure.Labels.W" : "Measure.Labels.E");
|
|
172328
172502
|
toolTipHtml += `${translateBold("LatLong") + formattedLat + latDir}, ${formattedLong}${longDir}<br>`;
|
|
172329
172503
|
toolTipHtml += `${translateBold("Altitude") + formattedHeight}<br>`;
|
|
172330
172504
|
}
|
|
@@ -172362,12 +172536,12 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
172362
172536
|
this.setupAndPromptForNextAction();
|
|
172363
172537
|
if (undefined !== ev.viewport)
|
|
172364
172538
|
ev.viewport.invalidateDecorations();
|
|
172365
|
-
return
|
|
172539
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172366
172540
|
}
|
|
172367
172541
|
/** @internal */
|
|
172368
172542
|
async onResetButtonUp(_ev) {
|
|
172369
172543
|
await this.onReinitialize();
|
|
172370
|
-
return
|
|
172544
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172371
172545
|
}
|
|
172372
172546
|
/** @internal */
|
|
172373
172547
|
async onUndoPreviousStep() {
|
|
@@ -172393,7 +172567,7 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
172393
172567
|
/** Report area defined by points using current quantity formatter for area.
|
|
172394
172568
|
* @public
|
|
172395
172569
|
*/
|
|
172396
|
-
class MeasureAreaByPointsTool extends
|
|
172570
|
+
class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.PrimitiveTool {
|
|
172397
172571
|
static toolId = "Measure.AreaByPoints";
|
|
172398
172572
|
static iconSpec = "icon-measure-2d";
|
|
172399
172573
|
/** @internal */
|
|
@@ -172422,12 +172596,12 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
172422
172596
|
/** @internal */
|
|
172423
172597
|
static _orientationName = "enumAsOrientation";
|
|
172424
172598
|
/** @internal */
|
|
172425
|
-
static enumAsOrientationMessage(str) { return
|
|
172599
|
+
static enumAsOrientationMessage(str) { return _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(`Settings.Orientation.${str}`); }
|
|
172426
172600
|
/** @internal */
|
|
172427
172601
|
static _getEnumAsOrientationDescription = () => {
|
|
172428
172602
|
return {
|
|
172429
172603
|
name: MeasureAreaByPointsTool._orientationName,
|
|
172430
|
-
displayLabel:
|
|
172604
|
+
displayLabel: _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("Settings.Orientation.Label"),
|
|
172431
172605
|
typename: "enum",
|
|
172432
172606
|
enum: {
|
|
172433
172607
|
choices: [
|
|
@@ -172495,24 +172669,24 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
172495
172669
|
mainMsg += this._isComplete ? "FirstPoint" : "NextPoint";
|
|
172496
172670
|
break;
|
|
172497
172671
|
}
|
|
172498
|
-
const mainInstruction =
|
|
172672
|
+
const mainInstruction = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(this.iconSpec, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(mainMsg));
|
|
172499
172673
|
const mouseInstructions = [];
|
|
172500
172674
|
const touchInstructions = [];
|
|
172501
|
-
const acceptMsg =
|
|
172502
|
-
if (!
|
|
172503
|
-
touchInstructions.push(
|
|
172504
|
-
mouseInstructions.push(
|
|
172505
|
-
const resetMsg =
|
|
172506
|
-
touchInstructions.push(
|
|
172507
|
-
mouseInstructions.push(
|
|
172675
|
+
const acceptMsg = _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(this._isComplete ? "ElementSet.Inputs.Restart" : "ElementSet.Inputs.AcceptPoint");
|
|
172676
|
+
if (!_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createTouchCursorInstructions(touchInstructions))
|
|
172677
|
+
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));
|
|
172678
|
+
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));
|
|
172679
|
+
const resetMsg = _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.Restart");
|
|
172680
|
+
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));
|
|
172681
|
+
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));
|
|
172508
172682
|
if (this._points.length > 1)
|
|
172509
|
-
mouseInstructions.push(
|
|
172683
|
+
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));
|
|
172510
172684
|
if (0 !== this._points.length)
|
|
172511
|
-
mouseInstructions.push(
|
|
172685
|
+
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));
|
|
172512
172686
|
const sections = [];
|
|
172513
|
-
sections.push(
|
|
172514
|
-
sections.push(
|
|
172515
|
-
const instructions =
|
|
172687
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(mouseInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
172688
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(touchInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
172689
|
+
const instructions = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstructions(mainInstruction, sections);
|
|
172516
172690
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.setToolAssistance(instructions);
|
|
172517
172691
|
}
|
|
172518
172692
|
/** @internal */
|
|
@@ -172556,7 +172730,7 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
172556
172730
|
let currentPt = _AccuDraw__WEBPACK_IMPORTED_MODULE_3__.AccuDrawHintBuilder.projectPointToPlaneInView(cursorPt, points[0], normal, this.targetView, true);
|
|
172557
172731
|
if (undefined === currentPt)
|
|
172558
172732
|
currentPt = cursorPt.clone();
|
|
172559
|
-
if (2 === points.length && 0 === (_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.toolAdmin.currentInputState.qualifiers &
|
|
172733
|
+
if (2 === points.length && 0 === (_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.toolAdmin.currentInputState.qualifiers & _Tool__WEBPACK_IMPORTED_MODULE_10__.BeModifierKeys.Control)) {
|
|
172560
172734
|
const xDir = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createStartEnd(points[0], points[1]);
|
|
172561
172735
|
const xLen = xDir.magnitude();
|
|
172562
172736
|
xDir.normalizeInPlace();
|
|
@@ -172582,8 +172756,8 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
172582
172756
|
const points = this.getShapePoints(this._lastMotionPt);
|
|
172583
172757
|
if (points.length < 2)
|
|
172584
172758
|
return;
|
|
172585
|
-
const builderAccVis = context.createGraphicBuilder(
|
|
172586
|
-
const builderAccHid = context.createGraphicBuilder(
|
|
172759
|
+
const builderAccVis = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldDecoration);
|
|
172760
|
+
const builderAccHid = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldOverlay);
|
|
172587
172761
|
const colorAccVis = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.white.adjustedForContrast(context.viewport.view.backgroundColor);
|
|
172588
172762
|
const colorAccHid = colorAccVis.withAlpha(100);
|
|
172589
172763
|
const fillAccVis = context.viewport.hilite.color.withAlpha(50);
|
|
@@ -172620,17 +172794,17 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
172620
172794
|
const isSpatial = (undefined !== this.targetView && this.targetView.view.isSpatialView());
|
|
172621
172795
|
const toolTip = document.createElement("div");
|
|
172622
172796
|
let toolTipHtml = "";
|
|
172623
|
-
const areaFormatterSpec = await
|
|
172797
|
+
const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
|
|
172624
172798
|
if (undefined !== areaFormatterSpec) {
|
|
172625
172799
|
const formattedArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._area, areaFormatterSpec);
|
|
172626
172800
|
toolTipHtml += `${translateBold("Area") + formattedArea}<br>`;
|
|
172627
172801
|
}
|
|
172628
|
-
const perimeterFormatterSpec = await
|
|
172802
|
+
const perimeterFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
172629
172803
|
if (undefined !== perimeterFormatterSpec) {
|
|
172630
172804
|
const formattedPerimeter = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._perimeter, perimeterFormatterSpec);
|
|
172631
172805
|
toolTipHtml += `${translateBold("Perimeter") + formattedPerimeter}<br>`;
|
|
172632
172806
|
}
|
|
172633
|
-
const coordFormatterSpec = await
|
|
172807
|
+
const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
172634
172808
|
if (undefined !== coordFormatterSpec) {
|
|
172635
172809
|
let pointAdjusted = this._centroid.clone();
|
|
172636
172810
|
if (isSpatial) {
|
|
@@ -172651,7 +172825,7 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
172651
172825
|
reportMeasurements() {
|
|
172652
172826
|
if (undefined === this._marker)
|
|
172653
172827
|
return;
|
|
172654
|
-
const briefMsg = `${
|
|
172828
|
+
const briefMsg = `${_Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("Measure.Labels.Area")}: ${this._marker.label}`;
|
|
172655
172829
|
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);
|
|
172656
172830
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.outputMessage(msgDetail);
|
|
172657
172831
|
}
|
|
@@ -172669,7 +172843,7 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
172669
172843
|
const toolTip = await this.getMarkerToolTip();
|
|
172670
172844
|
this._acceptedMeasurement = new MeasureMarker("1", toolTip, this._centroid, _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point2d.create(25, 25));
|
|
172671
172845
|
this._marker = undefined;
|
|
172672
|
-
const areaFormatterSpec = await
|
|
172846
|
+
const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
|
|
172673
172847
|
if (undefined === areaFormatterSpec)
|
|
172674
172848
|
return;
|
|
172675
172849
|
const formattedTotalArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._area, areaFormatterSpec);
|
|
@@ -172679,23 +172853,23 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
172679
172853
|
/** @internal */
|
|
172680
172854
|
async onDataButtonDown(ev) {
|
|
172681
172855
|
if (undefined === this.targetView)
|
|
172682
|
-
return
|
|
172856
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172683
172857
|
if (this._isComplete)
|
|
172684
172858
|
await this.onReinitialize();
|
|
172685
172859
|
if (this._points.length > 1 && !ev.isControlKey) {
|
|
172686
172860
|
const points = this.getShapePoints(ev.point);
|
|
172687
172861
|
if (points.length < 3)
|
|
172688
|
-
return
|
|
172862
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172689
172863
|
this._isComplete = true;
|
|
172690
172864
|
this._points.length = 0;
|
|
172691
172865
|
for (const pt of points)
|
|
172692
172866
|
this._points.push(pt);
|
|
172693
172867
|
await this.updateTotals();
|
|
172694
172868
|
this.setupAndPromptForNextAction();
|
|
172695
|
-
return
|
|
172869
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172696
172870
|
}
|
|
172697
172871
|
if (undefined === this._matrix && undefined === (this._matrix = _AccuDraw__WEBPACK_IMPORTED_MODULE_3__.AccuDrawHintBuilder.getContextRotation(this.orientation, this.targetView)))
|
|
172698
|
-
return
|
|
172872
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172699
172873
|
const currPt = ev.point.clone();
|
|
172700
172874
|
if (this._points.length > 0) {
|
|
172701
172875
|
const planePt = _AccuDraw__WEBPACK_IMPORTED_MODULE_3__.AccuDrawHintBuilder.projectPointToPlaneInView(currPt, this._points[0], this._matrix.getColumn(2), ev.viewport, true);
|
|
@@ -172704,14 +172878,14 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
172704
172878
|
}
|
|
172705
172879
|
this._points.push(currPt);
|
|
172706
172880
|
this.setupAndPromptForNextAction();
|
|
172707
|
-
return
|
|
172881
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172708
172882
|
}
|
|
172709
172883
|
/** @internal */
|
|
172710
172884
|
async onResetButtonUp(ev) {
|
|
172711
172885
|
if (undefined !== ev.viewport)
|
|
172712
172886
|
ev.viewport.invalidateDecorations();
|
|
172713
172887
|
await this.onReinitialize();
|
|
172714
|
-
return
|
|
172888
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
172715
172889
|
}
|
|
172716
172890
|
/** @internal */
|
|
172717
172891
|
async onReinitialize() {
|
|
@@ -172741,7 +172915,7 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
172741
172915
|
/** Base class for mass properties tools.
|
|
172742
172916
|
* @public
|
|
172743
172917
|
*/
|
|
172744
|
-
class MeasureElementTool extends
|
|
172918
|
+
class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.PrimitiveTool {
|
|
172745
172919
|
/** @internal */
|
|
172746
172920
|
_checkedIds = new Map();
|
|
172747
172921
|
/** @internal */
|
|
@@ -172777,33 +172951,33 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
172777
172951
|
/** @internal */
|
|
172778
172952
|
showPrompt() {
|
|
172779
172953
|
const mainMsg = (this._useSelection ? (0 === this._acceptedMeasurements.length ? "ElementSet.Prompts.ConfirmSelection" : "ElementSet.Prompts.InspectResult") : "ElementSet.Prompts.IdentifyElement");
|
|
172780
|
-
const mainInstruction =
|
|
172954
|
+
const mainInstruction = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(this.iconSpec, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(mainMsg));
|
|
172781
172955
|
const mouseInstructions = [];
|
|
172782
172956
|
const touchInstructions = [];
|
|
172783
172957
|
if (this._useSelection) {
|
|
172784
172958
|
if (0 === this._acceptedMeasurements.length) {
|
|
172785
|
-
touchInstructions.push(
|
|
172786
|
-
mouseInstructions.push(
|
|
172787
|
-
touchInstructions.push(
|
|
172788
|
-
mouseInstructions.push(
|
|
172959
|
+
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));
|
|
172960
|
+
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));
|
|
172961
|
+
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));
|
|
172962
|
+
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));
|
|
172789
172963
|
}
|
|
172790
172964
|
else {
|
|
172791
|
-
touchInstructions.push(
|
|
172792
|
-
mouseInstructions.push(
|
|
172965
|
+
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));
|
|
172966
|
+
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));
|
|
172793
172967
|
}
|
|
172794
172968
|
}
|
|
172795
172969
|
else {
|
|
172796
|
-
touchInstructions.push(
|
|
172797
|
-
mouseInstructions.push(
|
|
172970
|
+
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));
|
|
172971
|
+
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));
|
|
172798
172972
|
if (0 !== this._acceptedMeasurements.length) {
|
|
172799
|
-
touchInstructions.push(
|
|
172800
|
-
mouseInstructions.push(
|
|
172973
|
+
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));
|
|
172974
|
+
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));
|
|
172801
172975
|
}
|
|
172802
172976
|
}
|
|
172803
172977
|
const sections = [];
|
|
172804
|
-
sections.push(
|
|
172805
|
-
sections.push(
|
|
172806
|
-
const instructions =
|
|
172978
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(mouseInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
172979
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(touchInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
172980
|
+
const instructions = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstructions(mainInstruction, sections);
|
|
172807
172981
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.setToolAssistance(instructions);
|
|
172808
172982
|
}
|
|
172809
172983
|
/** @internal */
|
|
@@ -172840,7 +173014,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
172840
173014
|
default:
|
|
172841
173015
|
return;
|
|
172842
173016
|
}
|
|
172843
|
-
const briefMsg = `${
|
|
173017
|
+
const briefMsg = `${_Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(label)}: ${this._totalMarker.label}`;
|
|
172844
173018
|
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);
|
|
172845
173019
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.outputMessage(msgDetail);
|
|
172846
173020
|
}
|
|
@@ -172851,7 +173025,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
172851
173025
|
let toolTipHtml = "";
|
|
172852
173026
|
switch (this.getOperation()) {
|
|
172853
173027
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateLengths: {
|
|
172854
|
-
const distanceFormatterSpec = await
|
|
173028
|
+
const distanceFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
172855
173029
|
if (undefined !== distanceFormatterSpec) {
|
|
172856
173030
|
const formattedLength = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.length ? responseProps.length : 0, distanceFormatterSpec);
|
|
172857
173031
|
toolTipHtml += `${translateBold("Length") + formattedLength}<br>`;
|
|
@@ -172859,13 +173033,13 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
172859
173033
|
break;
|
|
172860
173034
|
}
|
|
172861
173035
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateAreas: {
|
|
172862
|
-
const areaFormatterSpec = await
|
|
173036
|
+
const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
|
|
172863
173037
|
if (undefined !== areaFormatterSpec) {
|
|
172864
173038
|
const formattedArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.area ? responseProps.area : 0, areaFormatterSpec);
|
|
172865
173039
|
toolTipHtml += `${translateBold("Area") + formattedArea}<br>`;
|
|
172866
173040
|
}
|
|
172867
173041
|
if (responseProps.perimeter) {
|
|
172868
|
-
const perimeterFormatterSpec = await
|
|
173042
|
+
const perimeterFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
172869
173043
|
if (undefined !== perimeterFormatterSpec) {
|
|
172870
173044
|
const formattedPerimeter = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.perimeter, perimeterFormatterSpec);
|
|
172871
173045
|
toolTipHtml += `${translateBold("Perimeter") + formattedPerimeter}<br>`;
|
|
@@ -172874,13 +173048,13 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
172874
173048
|
break;
|
|
172875
173049
|
}
|
|
172876
173050
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateVolumes: {
|
|
172877
|
-
const volumeFormatterSpec = await
|
|
173051
|
+
const volumeFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.VOLUME", "Units.CUB_M");
|
|
172878
173052
|
if (undefined !== volumeFormatterSpec) {
|
|
172879
173053
|
const formattedVolume = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.volume ? responseProps.volume : 0, volumeFormatterSpec);
|
|
172880
173054
|
toolTipHtml += `${translateBold("Volume") + formattedVolume}<br>`;
|
|
172881
173055
|
}
|
|
172882
173056
|
if (responseProps.area) {
|
|
172883
|
-
const areaFormatterSpec = await
|
|
173057
|
+
const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
|
|
172884
173058
|
if (undefined !== areaFormatterSpec) {
|
|
172885
173059
|
const formattedArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.area, areaFormatterSpec);
|
|
172886
173060
|
toolTipHtml += `${translateBold("Area") + formattedArea}<br>`;
|
|
@@ -172890,7 +173064,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
172890
173064
|
}
|
|
172891
173065
|
}
|
|
172892
173066
|
if (responseProps.centroid) {
|
|
172893
|
-
const coordFormatterSpec = await
|
|
173067
|
+
const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
172894
173068
|
if (undefined !== coordFormatterSpec) {
|
|
172895
173069
|
let pointAdjusted = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point3d.fromJSON(responseProps.centroid);
|
|
172896
173070
|
if (isSpatial) {
|
|
@@ -172941,21 +173115,21 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
172941
173115
|
return;
|
|
172942
173116
|
switch (operation) {
|
|
172943
173117
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateLengths:
|
|
172944
|
-
const distanceFormatterSpec = await
|
|
173118
|
+
const distanceFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
172945
173119
|
if (undefined === distanceFormatterSpec)
|
|
172946
173120
|
return;
|
|
172947
173121
|
const formattedTotalDistance = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._totalValue, distanceFormatterSpec);
|
|
172948
173122
|
this._totalMarker = new MeasureLabel(labelPt, formattedTotalDistance);
|
|
172949
173123
|
break;
|
|
172950
173124
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateAreas:
|
|
172951
|
-
const areaFormatterSpec = await
|
|
173125
|
+
const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
|
|
172952
173126
|
if (undefined === areaFormatterSpec)
|
|
172953
173127
|
return;
|
|
172954
173128
|
const formattedTotalArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._totalValue, areaFormatterSpec);
|
|
172955
173129
|
this._totalMarker = new MeasureLabel(labelPt, formattedTotalArea);
|
|
172956
173130
|
break;
|
|
172957
173131
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateVolumes:
|
|
172958
|
-
const volumeFormatterSpec = await
|
|
173132
|
+
const volumeFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.VOLUME", "Units.CUB_M");
|
|
172959
173133
|
if (undefined === volumeFormatterSpec)
|
|
172960
173134
|
return;
|
|
172961
173135
|
const formattedTotalVolume = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._totalValue, volumeFormatterSpec);
|
|
@@ -173013,7 +173187,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
173013
173187
|
/** @internal */
|
|
173014
173188
|
async onResetButtonUp(_ev) {
|
|
173015
173189
|
await this.onReinitialize();
|
|
173016
|
-
return
|
|
173190
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
173017
173191
|
}
|
|
173018
173192
|
/** @internal */
|
|
173019
173193
|
async onDataButtonDown(ev) {
|
|
@@ -173021,20 +173195,20 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
173021
173195
|
if (0 === this._acceptedMeasurements.length && undefined !== ev.viewport) {
|
|
173022
173196
|
await this.doMeasureSelectedElements(ev.viewport);
|
|
173023
173197
|
if (0 !== this._acceptedMeasurements.length)
|
|
173024
|
-
return
|
|
173025
|
-
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.outputMessage(new _NotificationManager__WEBPACK_IMPORTED_MODULE_8__.NotifyMessageDetails(_NotificationManager__WEBPACK_IMPORTED_MODULE_8__.OutputMessagePriority.Error,
|
|
173198
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.Yes;
|
|
173199
|
+
_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")));
|
|
173026
173200
|
await this.onReinitialize();
|
|
173027
173201
|
}
|
|
173028
|
-
return
|
|
173202
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.Yes;
|
|
173029
173203
|
}
|
|
173030
173204
|
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);
|
|
173031
173205
|
if (undefined === hit || !hit.isElementHit)
|
|
173032
|
-
return
|
|
173206
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
173033
173207
|
const result = this._checkedIds.get(hit.sourceId);
|
|
173034
173208
|
if (undefined === result)
|
|
173035
|
-
return
|
|
173209
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
173036
173210
|
if (-1 !== this._acceptedIds.indexOf(hit.sourceId))
|
|
173037
|
-
return
|
|
173211
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.Yes; // Already accepted, not rejected in filterHit to avoid showing "not" cursor...
|
|
173038
173212
|
const toolTip = await this.getMarkerToolTip(result);
|
|
173039
173213
|
const point = result.centroid ? _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point3d.fromJSON(result.centroid) : ev.point.clone();
|
|
173040
173214
|
const marker = new MeasureMarker((this._acceptedMeasurements.length + 1).toString(), toolTip, point, _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point2d.create(25, 25));
|
|
@@ -173045,7 +173219,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
173045
173219
|
this.setupAndPromptForNextAction();
|
|
173046
173220
|
if (undefined !== ev.viewport)
|
|
173047
173221
|
ev.viewport.invalidateDecorations();
|
|
173048
|
-
return
|
|
173222
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
173049
173223
|
}
|
|
173050
173224
|
/** @internal */
|
|
173051
173225
|
async onUndoPreviousStep() {
|
|
@@ -299709,10 +299883,10 @@ class Settings {
|
|
|
299709
299883
|
});
|
|
299710
299884
|
}
|
|
299711
299885
|
toString() {
|
|
299712
|
-
return `Configurations:
|
|
299713
|
-
oidc client id: ${this.oidcClientId},
|
|
299714
|
-
oidc scopes: ${this.oidcScopes},
|
|
299715
|
-
applicationId: ${this.gprid},
|
|
299886
|
+
return `Configurations:
|
|
299887
|
+
oidc client id: ${this.oidcClientId},
|
|
299888
|
+
oidc scopes: ${this.oidcScopes},
|
|
299889
|
+
applicationId: ${this.gprid},
|
|
299716
299890
|
log level: ${this.logLevel}`;
|
|
299717
299891
|
}
|
|
299718
299892
|
}
|
|
@@ -312542,7 +312716,7 @@ var loadLanguages = instance.loadLanguages;
|
|
|
312542
312716
|
/***/ ((module) => {
|
|
312543
312717
|
|
|
312544
312718
|
"use strict";
|
|
312545
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.1.0-dev.
|
|
312719
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.1.0-dev.14","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"}}');
|
|
312546
312720
|
|
|
312547
312721
|
/***/ })
|
|
312548
312722
|
|