@itwin/rpcinterface-full-stack-tests 5.1.0-dev.13 → 5.1.0-dev.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/dist/bundled-tests.js +319 -174
- package/lib/dist/bundled-tests.js.map +1 -1
- package/package.json +14 -14
|
@@ -88818,13 +88818,13 @@ var CurrentImdlVersion;
|
|
|
88818
88818
|
* front-end is not capable of reading the tile content. Otherwise, this front-end can read the tile content even if the header specifies a
|
|
88819
88819
|
* greater minor version than CurrentVersion.Minor, although some data may be skipped.
|
|
88820
88820
|
*/
|
|
88821
|
-
CurrentImdlVersion[CurrentImdlVersion["Major"] =
|
|
88821
|
+
CurrentImdlVersion[CurrentImdlVersion["Major"] = 37] = "Major";
|
|
88822
88822
|
/** The unsigned 16-bit minor version number. If the major version in the tile header is equal to CurrentVersion.Major, then this package can
|
|
88823
88823
|
* read the tile content even if the minor version in the tile header is greater than this value, although some data may be skipped.
|
|
88824
88824
|
*/
|
|
88825
88825
|
CurrentImdlVersion[CurrentImdlVersion["Minor"] = 0] = "Minor";
|
|
88826
88826
|
/** The unsigned 32-bit version number derived from the 16-bit major and minor version numbers. */
|
|
88827
|
-
CurrentImdlVersion[CurrentImdlVersion["Combined"] =
|
|
88827
|
+
CurrentImdlVersion[CurrentImdlVersion["Combined"] = 2424832] = "Combined";
|
|
88828
88828
|
})(CurrentImdlVersion || (CurrentImdlVersion = {}));
|
|
88829
88829
|
/** Header embedded at the beginning of binary tile data in iMdl format describing its contents.
|
|
88830
88830
|
* @internal
|
|
@@ -89169,6 +89169,7 @@ var TileOptions;
|
|
|
89169
89169
|
disableMagnification: false,
|
|
89170
89170
|
alwaysSubdivideIncompleteTiles: false,
|
|
89171
89171
|
edgeOptions,
|
|
89172
|
+
disablePolyfaceDecimation: 0 !== (tree.flags & TreeFlags.DisablePolyfaceDecimation),
|
|
89172
89173
|
};
|
|
89173
89174
|
}
|
|
89174
89175
|
TileOptions.fromTreeIdAndContentId = fromTreeIdAndContentId;
|
|
@@ -89203,14 +89204,15 @@ class Parser {
|
|
|
89203
89204
|
}
|
|
89204
89205
|
if (Object.keys(parsedContentId).some((key) => parsedContentId.hasOwnProperty(key) && typeof parsedContentId[key] === "number" && !Number.isFinite(parsedContentId[key])))
|
|
89205
89206
|
throw new Error("Invalid content Id");
|
|
89207
|
+
const disablePolyfaceDecimation = options.disablePolyfaceDecimation;
|
|
89206
89208
|
let treeId;
|
|
89207
89209
|
if (classifier) {
|
|
89208
|
-
treeId = { ...classifier, animationId };
|
|
89210
|
+
treeId = { ...classifier, animationId, disablePolyfaceDecimation };
|
|
89209
89211
|
}
|
|
89210
89212
|
else {
|
|
89211
89213
|
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(undefined !== primary);
|
|
89212
89214
|
const enforceDisplayPriority = (treeFlags & TreeFlags.EnforceDisplayPriority) !== 0 ? true : undefined;
|
|
89213
|
-
treeId = { ...primary, animationId, type: _FeatureTable__WEBPACK_IMPORTED_MODULE_2__.BatchType.Primary, enforceDisplayPriority };
|
|
89215
|
+
treeId = { ...primary, animationId, type: _FeatureTable__WEBPACK_IMPORTED_MODULE_2__.BatchType.Primary, enforceDisplayPriority, disablePolyfaceDecimation };
|
|
89214
89216
|
}
|
|
89215
89217
|
return {
|
|
89216
89218
|
contentId: parsedContentId,
|
|
@@ -89313,6 +89315,7 @@ const defaultTileOptions = Object.freeze({
|
|
|
89313
89315
|
useLargerTiles: true,
|
|
89314
89316
|
disableMagnification: false,
|
|
89315
89317
|
alwaysSubdivideIncompleteTiles: false,
|
|
89318
|
+
disablePolyfaceDecimation: false,
|
|
89316
89319
|
edgeOptions: {
|
|
89317
89320
|
type: "compact",
|
|
89318
89321
|
smooth: true,
|
|
@@ -89408,7 +89411,8 @@ var TreeFlags;
|
|
|
89408
89411
|
TreeFlags[TreeFlags["EnforceDisplayPriority"] = 2] = "EnforceDisplayPriority";
|
|
89409
89412
|
TreeFlags[TreeFlags["OptimizeBRepProcessing"] = 4] = "OptimizeBRepProcessing";
|
|
89410
89413
|
TreeFlags[TreeFlags["UseLargerTiles"] = 8] = "UseLargerTiles";
|
|
89411
|
-
TreeFlags[TreeFlags["ExpandProjectExtents"] = 16] = "ExpandProjectExtents";
|
|
89414
|
+
TreeFlags[TreeFlags["ExpandProjectExtents"] = 16] = "ExpandProjectExtents";
|
|
89415
|
+
TreeFlags[TreeFlags["DisablePolyfaceDecimation"] = 32] = "DisablePolyfaceDecimation";
|
|
89412
89416
|
})(TreeFlags || (TreeFlags = {}));
|
|
89413
89417
|
function animationIdToString(animationId) {
|
|
89414
89418
|
return `A:${animationId}_`;
|
|
@@ -89421,6 +89425,8 @@ function iModelTileTreeIdToString(modelId, treeId, options) {
|
|
|
89421
89425
|
let flags = options.useProjectExtents ? TreeFlags.UseProjectExtents : TreeFlags.None;
|
|
89422
89426
|
if (options.optimizeBRepProcessing)
|
|
89423
89427
|
flags |= TreeFlags.OptimizeBRepProcessing;
|
|
89428
|
+
if (options.disablePolyfaceDecimation)
|
|
89429
|
+
flags |= TreeFlags.DisablePolyfaceDecimation;
|
|
89424
89430
|
if (options.useLargerTiles)
|
|
89425
89431
|
flags |= TreeFlags.UseLargerTiles;
|
|
89426
89432
|
if (options.expandProjectExtents)
|
|
@@ -113228,7 +113234,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
113228
113234
|
|
|
113229
113235
|
/** @public */
|
|
113230
113236
|
const ITWINJS_CORE_VERSION = _package_json__WEBPACK_IMPORTED_MODULE_0__.version;
|
|
113231
|
-
const COPYRIGHT_NOTICE =
|
|
113237
|
+
const COPYRIGHT_NOTICE = `Copyright © 2017-${new Date().getFullYear()} <a href="https://www.bentley.com" target="_blank" rel="noopener noreferrer">Bentley Systems, Inc.</a>`;
|
|
113232
113238
|
|
|
113233
113239
|
|
|
113234
113240
|
|
|
@@ -113304,6 +113310,7 @@ class IModelApp {
|
|
|
113304
113310
|
static _hubAccess;
|
|
113305
113311
|
static _realityDataAccess;
|
|
113306
113312
|
static _publicPath;
|
|
113313
|
+
static _formatsProviderManager;
|
|
113307
113314
|
// No instances of IModelApp may be created. All members are static and must be on the singleton object IModelApp.
|
|
113308
113315
|
constructor() { }
|
|
113309
113316
|
/** Event raised just before the frontend IModelApp is to be [[shutdown]]. */
|
|
@@ -113378,6 +113385,14 @@ class IModelApp {
|
|
|
113378
113385
|
* The path should always end with a trailing `/`.
|
|
113379
113386
|
*/
|
|
113380
113387
|
static get publicPath() { return this._publicPath; }
|
|
113388
|
+
/** The [[FormatsProvider]] for this session.
|
|
113389
|
+
* @param provider The provider to use for formatting quantities.
|
|
113390
|
+
* @beta
|
|
113391
|
+
*/
|
|
113392
|
+
static get formatsProvider() { return this._formatsProviderManager; }
|
|
113393
|
+
static set formatsProvider(provider) {
|
|
113394
|
+
this._formatsProviderManager.formatsProvider = provider;
|
|
113395
|
+
}
|
|
113381
113396
|
/** @alpha */
|
|
113382
113397
|
static extensionAdmin = this._createExtensionAdmin();
|
|
113383
113398
|
/** Map of classFullName to EntityState class */
|
|
@@ -113478,6 +113493,7 @@ class IModelApp {
|
|
|
113478
113493
|
this._terrainProviderRegistry = new _tile_internal__WEBPACK_IMPORTED_MODULE_26__.TerrainProviderRegistry();
|
|
113479
113494
|
this._realityDataSourceProviders = new _RealityDataSource__WEBPACK_IMPORTED_MODULE_25__.RealityDataSourceProviderRegistry();
|
|
113480
113495
|
this._realityDataAccess = opts.realityDataAccess;
|
|
113496
|
+
this._formatsProviderManager = new _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_19__.FormatsProviderManager(opts.formatsProvider ?? new _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_19__.QuantityTypeFormatsProvider());
|
|
113481
113497
|
this._publicPath = opts.publicPath ?? "";
|
|
113482
113498
|
[
|
|
113483
113499
|
this.renderSystem,
|
|
@@ -113509,6 +113525,7 @@ class IModelApp {
|
|
|
113509
113525
|
this._entityClasses.clear();
|
|
113510
113526
|
this.authorizationClient = undefined;
|
|
113511
113527
|
this._initialized = false;
|
|
113528
|
+
this.resetFormatsProvider();
|
|
113512
113529
|
this.onAfterStartup.clear();
|
|
113513
113530
|
}
|
|
113514
113531
|
/** Controls how frequently the application polls for changes that may require a new animation frame to be requested.
|
|
@@ -113759,6 +113776,13 @@ class IModelApp {
|
|
|
113759
113776
|
}
|
|
113760
113777
|
return this.localization.getLocalizedString(`iModelJs:${key.scope}.${key.val}`, key);
|
|
113761
113778
|
}
|
|
113779
|
+
/**
|
|
113780
|
+
* Resets the formatsProvider back to the default [[QuantityTypeFormatsProvider]].
|
|
113781
|
+
* @beta
|
|
113782
|
+
*/
|
|
113783
|
+
static resetFormatsProvider() {
|
|
113784
|
+
this.formatsProvider = new _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_19__.QuantityTypeFormatsProvider();
|
|
113785
|
+
}
|
|
113762
113786
|
/**
|
|
113763
113787
|
* Creates an instance of the ExtensionAdmin
|
|
113764
113788
|
* and registers an event to execute after startup is complete
|
|
@@ -115112,6 +115136,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
115112
115136
|
*/
|
|
115113
115137
|
class IpcApp {
|
|
115114
115138
|
static _ipc;
|
|
115139
|
+
static _removeAppNotify;
|
|
115115
115140
|
/** Get the implementation of the [[IpcSocketFrontend]] interface. */
|
|
115116
115141
|
static get ipc() { return this._ipc; }
|
|
115117
115142
|
/** Determine whether Ipc is available for this frontend. This will only be true if [[startup]] has been called on this class. */
|
|
@@ -115218,11 +115243,12 @@ class IpcApp {
|
|
|
115218
115243
|
* @note this should not be called directly. It is called by NativeApp.startup */
|
|
115219
115244
|
static async startup(ipc, opts) {
|
|
115220
115245
|
this._ipc = ipc;
|
|
115221
|
-
IpcAppNotifyHandler.register(); // receives notifications from backend
|
|
115246
|
+
this._removeAppNotify = IpcAppNotifyHandler.register(); // receives notifications from backend
|
|
115222
115247
|
await _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.startup(opts?.iModelApp);
|
|
115223
115248
|
}
|
|
115224
115249
|
/** @internal */
|
|
115225
115250
|
static async shutdown() {
|
|
115251
|
+
this._removeAppNotify?.();
|
|
115226
115252
|
this._ipc = undefined;
|
|
115227
115253
|
await _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.shutdown();
|
|
115228
115254
|
}
|
|
@@ -136672,6 +136698,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
136672
136698
|
/* harmony export */ FlashMode: () => (/* reexport safe */ _FlashSettings__WEBPACK_IMPORTED_MODULE_22__.FlashMode),
|
|
136673
136699
|
/* harmony export */ FlashSettings: () => (/* reexport safe */ _FlashSettings__WEBPACK_IMPORTED_MODULE_22__.FlashSettings),
|
|
136674
136700
|
/* harmony export */ FlyViewTool: () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_114__.FlyViewTool),
|
|
136701
|
+
/* harmony export */ FormatsProviderManager: () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_72__.FormatsProviderManager),
|
|
136675
136702
|
/* harmony export */ FormattedQuantityDescription: () => (/* reexport safe */ _properties_FormattedQuantityDescription__WEBPACK_IMPORTED_MODULE_70__.FormattedQuantityDescription),
|
|
136676
136703
|
/* harmony export */ FrontendLoggerCategory: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_10__.FrontendLoggerCategory),
|
|
136677
136704
|
/* harmony export */ Frustum2d: () => (/* reexport safe */ _Frustum2d__WEBPACK_IMPORTED_MODULE_24__.Frustum2d),
|
|
@@ -136800,6 +136827,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
136800
136827
|
/* harmony export */ QuadId: () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_99__.QuadId),
|
|
136801
136828
|
/* harmony export */ QuantityFormatter: () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_72__.QuantityFormatter),
|
|
136802
136829
|
/* harmony export */ QuantityType: () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_72__.QuantityType),
|
|
136830
|
+
/* harmony export */ QuantityTypeFormatsProvider: () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_72__.QuantityTypeFormatsProvider),
|
|
136803
136831
|
/* harmony export */ RealityDataError: () => (/* reexport safe */ _RealityDataSource__WEBPACK_IMPORTED_MODULE_121__.RealityDataError),
|
|
136804
136832
|
/* harmony export */ RealityDataSource: () => (/* reexport safe */ _RealityDataSource__WEBPACK_IMPORTED_MODULE_121__.RealityDataSource),
|
|
136805
136833
|
/* harmony export */ RealityDataSourceProviderRegistry: () => (/* reexport safe */ _RealityDataSource__WEBPACK_IMPORTED_MODULE_121__.RealityDataSourceProviderRegistry),
|
|
@@ -137871,7 +137899,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
137871
137899
|
* @internal
|
|
137872
137900
|
*/
|
|
137873
137901
|
async function loadScript(jsUrl) {
|
|
137874
|
-
const module = await
|
|
137902
|
+
const module = await import(/* webpackIgnore: true */ /* @vite-ignore */ jsUrl);
|
|
137875
137903
|
return execute(module);
|
|
137876
137904
|
}
|
|
137877
137905
|
/** attempts to execute an extension module */
|
|
@@ -170212,8 +170240,9 @@ function createClassifierTileTreeReference(classifiers, classifiedTree, iModel,
|
|
|
170212
170240
|
return new ClassifierTreeReference(classifiers, classifiedTree, iModel, source);
|
|
170213
170241
|
}
|
|
170214
170242
|
function createClassifierId(classifier, source) {
|
|
170243
|
+
const disablePolyfaceDecimation = _IModelApp__WEBPACK_IMPORTED_MODULE_2__.IModelApp.tileAdmin.disablePolyfaceDecimation;
|
|
170215
170244
|
if (undefined === classifier)
|
|
170216
|
-
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 };
|
|
170245
|
+
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 };
|
|
170217
170246
|
const type = classifier.flags.isVolumeClassifier ? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.VolumeClassifier : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.PlanarClassifier;
|
|
170218
170247
|
const scriptInfo = _IModelApp__WEBPACK_IMPORTED_MODULE_2__.IModelApp.tileAdmin.getScriptInfoForTreeId(classifier.modelId, source ? source[_common_internal_Symbols__WEBPACK_IMPORTED_MODULE_5__._scheduleScriptReference] : undefined);
|
|
170219
170248
|
return {
|
|
@@ -170222,6 +170251,7 @@ function createClassifierId(classifier, source) {
|
|
|
170222
170251
|
expansion: classifier.expand,
|
|
170223
170252
|
animationId: scriptInfo?.animationId,
|
|
170224
170253
|
timeline: scriptInfo?.timeline,
|
|
170254
|
+
disablePolyfaceDecimation,
|
|
170225
170255
|
};
|
|
170226
170256
|
}
|
|
170227
170257
|
|
|
@@ -174230,7 +174260,8 @@ class PrimaryTreeReference extends _tile_internal__WEBPACK_IMPORTED_MODULE_6__.T
|
|
|
174230
174260
|
const edgesRequired = visibleEdges || _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.RenderMode.SmoothShade !== renderMode || _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.alwaysRequestEdges;
|
|
174231
174261
|
const edges = edgesRequired ? _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.edgeOptions : false;
|
|
174232
174262
|
const sectionCut = this._sectionClip?.clipString;
|
|
174233
|
-
|
|
174263
|
+
const disablePolyfaceDecimation = _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.disablePolyfaceDecimation;
|
|
174264
|
+
return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.Primary, edges, animationId, sectionCut, disablePolyfaceDecimation };
|
|
174234
174265
|
}
|
|
174235
174266
|
computeBaseTransform(tree) {
|
|
174236
174267
|
return super.computeTransform(tree);
|
|
@@ -174383,7 +174414,7 @@ class MaskTreeReference extends _tile_internal__WEBPACK_IMPORTED_MODULE_6__.Tile
|
|
|
174383
174414
|
return this._owner;
|
|
174384
174415
|
}
|
|
174385
174416
|
createTreeId() {
|
|
174386
|
-
return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.Primary, edges: false };
|
|
174417
|
+
return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.Primary, edges: false, disablePolyfaceDecimation: _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.disablePolyfaceDecimation };
|
|
174387
174418
|
}
|
|
174388
174419
|
}
|
|
174389
174420
|
function createMaskTreeReference(view, model) {
|
|
@@ -174409,7 +174440,7 @@ class ModelMapLayerTileTreeReference extends _tile_internal__WEBPACK_IMPORTED_MO
|
|
|
174409
174440
|
this._owner = primaryTreeSupplier.getOwner(this._id, this.iModel);
|
|
174410
174441
|
}
|
|
174411
174442
|
createTreeId() {
|
|
174412
|
-
return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.Primary, edges: false };
|
|
174443
|
+
return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.BatchType.Primary, edges: false, disablePolyfaceDecimation: _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.disablePolyfaceDecimation };
|
|
174413
174444
|
}
|
|
174414
174445
|
get treeOwner() {
|
|
174415
174446
|
const newId = this.createTreeId();
|
|
@@ -180266,8 +180297,10 @@ class LocalUnitFormatProvider extends _BaseUnitFormattingSettingsProvider__WEBPA
|
|
|
180266
180297
|
__webpack_require__.r(__webpack_exports__);
|
|
180267
180298
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
180268
180299
|
/* harmony export */ AlternateUnitLabelsRegistry: () => (/* binding */ AlternateUnitLabelsRegistry),
|
|
180300
|
+
/* harmony export */ FormatsProviderManager: () => (/* binding */ FormatsProviderManager),
|
|
180269
180301
|
/* harmony export */ QuantityFormatter: () => (/* binding */ QuantityFormatter),
|
|
180270
180302
|
/* harmony export */ QuantityType: () => (/* binding */ QuantityType),
|
|
180303
|
+
/* harmony export */ QuantityTypeFormatsProvider: () => (/* binding */ QuantityTypeFormatsProvider),
|
|
180271
180304
|
/* harmony export */ getQuantityTypeKey: () => (/* binding */ getQuantityTypeKey),
|
|
180272
180305
|
/* harmony export */ isCustomQuantityTypeDefinition: () => (/* binding */ isCustomQuantityTypeDefinition)
|
|
180273
180306
|
/* harmony export */ });
|
|
@@ -180413,12 +180446,66 @@ class StandardQuantityTypeDefinition {
|
|
|
180413
180446
|
return _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.ParserSpec.create(format, unitsProvider, this.persistenceUnit, alternateUnitLabelsProvider);
|
|
180414
180447
|
}
|
|
180415
180448
|
}
|
|
180449
|
+
/**
|
|
180450
|
+
* A default formatsProvider, that provides a limited set of [[FormatDefinition]], associated to a few [[KindOfQuantity]].
|
|
180451
|
+
* Maps each KindOfQuantity to a [[QuantityType]].
|
|
180452
|
+
* When retrieving a valid [[KindOfQuantity]], returns the [[FormatProps]] for the associated [[QuantityType]].
|
|
180453
|
+
* @internal
|
|
180454
|
+
*/
|
|
180455
|
+
class QuantityTypeFormatsProvider {
|
|
180456
|
+
onFormatsChanged = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
180457
|
+
constructor() {
|
|
180458
|
+
_IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.quantityFormatter.onActiveFormattingUnitSystemChanged.addListener(() => {
|
|
180459
|
+
this.onFormatsChanged.raiseEvent({ formatsChanged: "all" });
|
|
180460
|
+
});
|
|
180461
|
+
}
|
|
180462
|
+
_kindOfQuantityMap = new Map([
|
|
180463
|
+
["AecUnits.LENGTH", QuantityType.Length],
|
|
180464
|
+
["AecUnits.ANGLE", QuantityType.Angle],
|
|
180465
|
+
["AecUnits.AREA", QuantityType.Area],
|
|
180466
|
+
["AecUnits.VOLUME", QuantityType.Volume],
|
|
180467
|
+
["RoadRailUnits.STATION", QuantityType.Stationing],
|
|
180468
|
+
["RoadRailUnits.LENGTH", QuantityType.LengthSurvey],
|
|
180469
|
+
]);
|
|
180470
|
+
async getFormat(name) {
|
|
180471
|
+
const quantityType = this._kindOfQuantityMap.get(name);
|
|
180472
|
+
if (!quantityType)
|
|
180473
|
+
return undefined;
|
|
180474
|
+
return _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.quantityFormatter.getFormatPropsByQuantityType(quantityType);
|
|
180475
|
+
}
|
|
180476
|
+
}
|
|
180477
|
+
/**
|
|
180478
|
+
* An implementation of the [[FormatsProvider]] interface that forwards calls to getFormats to the underlying FormatsProvider.
|
|
180479
|
+
* Also fires the onFormatsChanged event when the underlying FormatsProvider fires its own onFormatsChanged event.
|
|
180480
|
+
* @internal
|
|
180481
|
+
*/
|
|
180482
|
+
class FormatsProviderManager {
|
|
180483
|
+
_formatsProvider;
|
|
180484
|
+
onFormatsChanged = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
180485
|
+
constructor(_formatsProvider) {
|
|
180486
|
+
this._formatsProvider = _formatsProvider;
|
|
180487
|
+
this._formatsProvider.onFormatsChanged.addListener((args) => {
|
|
180488
|
+
this.onFormatsChanged.raiseEvent(args);
|
|
180489
|
+
});
|
|
180490
|
+
}
|
|
180491
|
+
async getFormat(name) {
|
|
180492
|
+
return this._formatsProvider.getFormat(name);
|
|
180493
|
+
}
|
|
180494
|
+
get formatsProvider() { return this; }
|
|
180495
|
+
set formatsProvider(formatsProvider) {
|
|
180496
|
+
this._formatsProvider = formatsProvider;
|
|
180497
|
+
this._formatsProvider.onFormatsChanged.addListener((args) => {
|
|
180498
|
+
this.onFormatsChanged.raiseEvent(args);
|
|
180499
|
+
});
|
|
180500
|
+
this.onFormatsChanged.raiseEvent({ formatsChanged: "all" });
|
|
180501
|
+
}
|
|
180502
|
+
}
|
|
180416
180503
|
/** Class that supports formatting quantity values into strings and parsing strings into quantity values. This class also maintains
|
|
180417
180504
|
* the "active" unit system and caches FormatterSpecs and ParserSpecs for the "active" unit system to allow synchronous access to
|
|
180418
180505
|
* parsing and formatting values. The support unit systems are defined by [[UnitSystemKey]] and is kept in synch with the unit systems
|
|
180419
180506
|
* provided by the Presentation Manager on the backend. The QuantityFormatter contains a registry of quantity type definitions. These definitions implement
|
|
180420
|
-
* the [[QuantityTypeDefinition]] interface, which among other things, provide default [FormatProps]
|
|
180421
|
-
* to generate both a [FormatterSpec]
|
|
180507
|
+
* the [[QuantityTypeDefinition]] interface, which among other things, provide default [[FormatProps]], and provide methods
|
|
180508
|
+
* to generate both a [[FormatterSpec]] and a [[ParserSpec]]. There are built-in quantity types that are
|
|
180422
180509
|
* identified by the [[QuantityType]] enum. [[CustomQuantityTypeDefinition]] can be registered to extend the available quantity types available
|
|
180423
180510
|
* by frontend tools. The QuantityFormatter also allows the default formats to be overriden.
|
|
180424
180511
|
*
|
|
@@ -180822,26 +180909,51 @@ class QuantityFormatter {
|
|
|
180822
180909
|
requestedSystem = isImperial ? "imperial" : "metric";
|
|
180823
180910
|
return this.getParserSpecByQuantityTypeAndSystem(type, requestedSystem);
|
|
180824
180911
|
}
|
|
180825
|
-
|
|
180826
|
-
|
|
180827
|
-
|
|
180828
|
-
|
|
180829
|
-
|
|
180830
|
-
|
|
180831
|
-
|
|
180832
|
-
|
|
180833
|
-
|
|
180834
|
-
return
|
|
180912
|
+
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
180913
|
+
formatQuantity(args, spec) {
|
|
180914
|
+
if (typeof args === "number") {
|
|
180915
|
+
/** Format a quantity value. Default FormatterSpec implementation uses Formatter.formatQuantity. */
|
|
180916
|
+
const magnitude = args;
|
|
180917
|
+
if (spec)
|
|
180918
|
+
return spec.applyFormatting(magnitude);
|
|
180919
|
+
return magnitude.toString();
|
|
180920
|
+
}
|
|
180921
|
+
return this.formatQuantityAsync(args);
|
|
180922
|
+
}
|
|
180923
|
+
async formatQuantityAsync(args) {
|
|
180924
|
+
const { value, valueUnitName, kindOfQuantityName } = args;
|
|
180925
|
+
const formatProps = await _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.formatsProvider.getFormat(kindOfQuantityName);
|
|
180926
|
+
if (!formatProps)
|
|
180927
|
+
return value.toString();
|
|
180928
|
+
const formatSpec = await this.createFormatterSpec({
|
|
180929
|
+
persistenceUnitName: valueUnitName,
|
|
180930
|
+
formatProps,
|
|
180931
|
+
formatName: kindOfQuantityName,
|
|
180932
|
+
});
|
|
180933
|
+
return formatSpec.applyFormatting(value);
|
|
180835
180934
|
}
|
|
180836
|
-
|
|
180837
|
-
|
|
180838
|
-
|
|
180839
|
-
|
|
180840
|
-
|
|
180841
|
-
|
|
180842
|
-
|
|
180843
|
-
return
|
|
180844
|
-
|
|
180935
|
+
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
180936
|
+
parseToQuantityValue(args, parserSpec) {
|
|
180937
|
+
if (typeof args === "string") {
|
|
180938
|
+
/** Parse a quantity value. Default ParserSpec implementation uses ParserSpec.parseToQuantityValue. */
|
|
180939
|
+
const inString = args;
|
|
180940
|
+
if (parserSpec)
|
|
180941
|
+
return parserSpec.parseToQuantityValue(inString);
|
|
180942
|
+
return { ok: false, error: _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.ParseError.InvalidParserSpec };
|
|
180943
|
+
}
|
|
180944
|
+
return this.parseToQuantityValueAsync(args);
|
|
180945
|
+
}
|
|
180946
|
+
async parseToQuantityValueAsync(args) {
|
|
180947
|
+
const { value, valueUnitName, kindOfQuantityName } = args;
|
|
180948
|
+
const formatProps = await _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.formatsProvider.getFormat(kindOfQuantityName);
|
|
180949
|
+
if (!formatProps)
|
|
180950
|
+
return { ok: false, error: _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.ParseError.InvalidParserSpec };
|
|
180951
|
+
const parserSpec = await this.createParserSpec({
|
|
180952
|
+
persistenceUnitName: valueUnitName,
|
|
180953
|
+
formatProps,
|
|
180954
|
+
formatName: kindOfQuantityName,
|
|
180955
|
+
});
|
|
180956
|
+
return parserSpec.parseToQuantityValue(value);
|
|
180845
180957
|
}
|
|
180846
180958
|
/**
|
|
180847
180959
|
* Get a UnitSystemKey from a string that may have been entered via a key-in. Supports different variation of
|
|
@@ -180911,6 +181023,28 @@ class QuantityFormatter {
|
|
|
180911
181023
|
async getConversion(fromUnit, toUnit) {
|
|
180912
181024
|
return this._unitsProvider.getConversion(fromUnit, toUnit);
|
|
180913
181025
|
}
|
|
181026
|
+
/**
|
|
181027
|
+
* Creates a [[FormatterSpec]] for a given persistence unit name and format properties, using the [[UnitsProvider]] to resolve the persistence unit.
|
|
181028
|
+
* @beta
|
|
181029
|
+
* @param props - A [[CreateFormattingSpecProps]] interface.
|
|
181030
|
+
*/
|
|
181031
|
+
async createFormatterSpec(props) {
|
|
181032
|
+
const { persistenceUnitName, formatProps, formatName } = props;
|
|
181033
|
+
const persistenceUnitProps = await this._unitsProvider.findUnitByName(persistenceUnitName);
|
|
181034
|
+
const format = await _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.Format.createFromJSON(formatName ?? "temp", this._unitsProvider, formatProps);
|
|
181035
|
+
return _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.FormatterSpec.create(`${format.name}_format_spec`, format, this._unitsProvider, persistenceUnitProps);
|
|
181036
|
+
}
|
|
181037
|
+
/**
|
|
181038
|
+
* Creates a [[ParserSpec]] for a given persistence unit name and format properties, using the [[UnitsProvider]] to resolve the persistence unit.
|
|
181039
|
+
* @beta
|
|
181040
|
+
* @param props - A [[CreateFormattingSpecProps]] object.
|
|
181041
|
+
*/
|
|
181042
|
+
async createParserSpec(props) {
|
|
181043
|
+
const { persistenceUnitName, formatProps, formatName } = props;
|
|
181044
|
+
const persistenceUnitProps = await this._unitsProvider.findUnitByName(persistenceUnitName);
|
|
181045
|
+
const format = await _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.Format.createFromJSON(formatName ?? "temp", this._unitsProvider, formatProps);
|
|
181046
|
+
return _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_1__.ParserSpec.create(format, this._unitsProvider, persistenceUnitProps);
|
|
181047
|
+
}
|
|
180914
181048
|
}
|
|
180915
181049
|
// ========================================================================================================================================
|
|
180916
181050
|
// Default Data
|
|
@@ -187951,6 +188085,8 @@ class TileAdmin {
|
|
|
187951
188085
|
/** @internal */
|
|
187952
188086
|
optimizeBRepProcessing;
|
|
187953
188087
|
/** @internal */
|
|
188088
|
+
disablePolyfaceDecimation;
|
|
188089
|
+
/** @internal */
|
|
187954
188090
|
useLargerTiles;
|
|
187955
188091
|
/** @internal */
|
|
187956
188092
|
maximumLevelsToSkip;
|
|
@@ -188039,6 +188175,7 @@ class TileAdmin {
|
|
|
188039
188175
|
this.useProjectExtents = options.useProjectExtents ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.useProjectExtents;
|
|
188040
188176
|
this.expandProjectExtents = options.expandProjectExtents ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.expandProjectExtents;
|
|
188041
188177
|
this.optimizeBRepProcessing = options.optimizeBRepProcessing ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.optimizeBRepProcessing;
|
|
188178
|
+
this.disablePolyfaceDecimation = options.disablePolyfaceDecimation ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.disablePolyfaceDecimation;
|
|
188042
188179
|
this.useLargerTiles = options.useLargerTiles ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.useLargerTiles;
|
|
188043
188180
|
this.mobileRealityTileMinToleranceRatio = Math.max(options.mobileRealityTileMinToleranceRatio ?? 3.0, 1.0);
|
|
188044
188181
|
this.cesiumIonKey = options.cesiumIonKey;
|
|
@@ -201315,11 +201452,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
201315
201452
|
/* harmony import */ var _IModelApp__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../IModelApp */ "../../core/frontend/lib/esm/IModelApp.js");
|
|
201316
201453
|
/* harmony import */ var _Marker__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Marker */ "../../core/frontend/lib/esm/Marker.js");
|
|
201317
201454
|
/* harmony import */ var _NotificationManager__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../NotificationManager */ "../../core/frontend/lib/esm/NotificationManager.js");
|
|
201318
|
-
/* harmony import */ var
|
|
201319
|
-
/* harmony import */ var
|
|
201320
|
-
/* harmony import */ var
|
|
201321
|
-
/* harmony import */ var
|
|
201322
|
-
/* harmony import */ var _common_render_GraphicType__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../common/render/GraphicType */ "../../core/frontend/lib/esm/common/render/GraphicType.js");
|
|
201455
|
+
/* harmony import */ var _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PrimitiveTool */ "../../core/frontend/lib/esm/tools/PrimitiveTool.js");
|
|
201456
|
+
/* harmony import */ var _Tool__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Tool */ "../../core/frontend/lib/esm/tools/Tool.js");
|
|
201457
|
+
/* harmony import */ var _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ToolAssistance */ "../../core/frontend/lib/esm/tools/ToolAssistance.js");
|
|
201458
|
+
/* harmony import */ var _common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../common/render/GraphicType */ "../../core/frontend/lib/esm/common/render/GraphicType.js");
|
|
201323
201459
|
/*---------------------------------------------------------------------------------------------
|
|
201324
201460
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
201325
201461
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -201340,9 +201476,18 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
201340
201476
|
|
|
201341
201477
|
|
|
201342
201478
|
|
|
201343
|
-
|
|
201344
201479
|
function translateBold(key) {
|
|
201345
|
-
return `<b>${
|
|
201480
|
+
return `<b>${_Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(`Measure.Labels.${key}`)}:</b> `;
|
|
201481
|
+
}
|
|
201482
|
+
async function getFormatterSpecByKoQAndPersistenceUnit(koq, persistenceUnitName) {
|
|
201483
|
+
const formatProps = await _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.formatsProvider.getFormat(koq);
|
|
201484
|
+
if (undefined === formatProps)
|
|
201485
|
+
return undefined;
|
|
201486
|
+
return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.createFormatterSpec({
|
|
201487
|
+
persistenceUnitName,
|
|
201488
|
+
formatProps,
|
|
201489
|
+
formatName: koq
|
|
201490
|
+
});
|
|
201346
201491
|
}
|
|
201347
201492
|
/** @internal */
|
|
201348
201493
|
class MeasureLabel {
|
|
@@ -201406,7 +201551,7 @@ class MeasureMarker extends _Marker__WEBPACK_IMPORTED_MODULE_7__.Marker {
|
|
|
201406
201551
|
onMouseButton(_ev) { return true; } // Never forward event to active tool...
|
|
201407
201552
|
onMouseEnter(ev) {
|
|
201408
201553
|
super.onMouseEnter(ev);
|
|
201409
|
-
if (this.title &&
|
|
201554
|
+
if (this.title && _Tool__WEBPACK_IMPORTED_MODULE_10__.InputSource.Touch === ev.inputSource && ev.viewport)
|
|
201410
201555
|
ev.viewport.openToolTip(this.title, ev.viewPoint, this.tooltipOptions);
|
|
201411
201556
|
}
|
|
201412
201557
|
onMouseLeave() {
|
|
@@ -201443,7 +201588,7 @@ function adjustPoint(ev, segments, locations) {
|
|
|
201443
201588
|
/** Report distance between 2 points using current quantity formatter for length.
|
|
201444
201589
|
* @public
|
|
201445
201590
|
*/
|
|
201446
|
-
class MeasureDistanceTool extends
|
|
201591
|
+
class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.PrimitiveTool {
|
|
201447
201592
|
static toolId = "Measure.Distance";
|
|
201448
201593
|
static iconSpec = "icon-measure-distance";
|
|
201449
201594
|
/** @internal */
|
|
@@ -201461,6 +201606,12 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201461
201606
|
/** @internal */
|
|
201462
201607
|
_lastMotionAdjustedPt;
|
|
201463
201608
|
/** @internal */
|
|
201609
|
+
_lengthFormatterSpec;
|
|
201610
|
+
/** @internal */
|
|
201611
|
+
_angleFormatterSpec;
|
|
201612
|
+
/** @internal */
|
|
201613
|
+
_removeFormatterListener;
|
|
201614
|
+
/** @internal */
|
|
201464
201615
|
allowView(vp) { return vp.view.isSpatialView() || vp.view.isDrawingView(); }
|
|
201465
201616
|
/** @internal */
|
|
201466
201617
|
isCompatibleViewport(vp, isSelectedViewChange) { return (super.isCompatibleViewport(vp, isSelectedViewChange) && undefined !== vp && this.allowView(vp)); }
|
|
@@ -201471,34 +201622,50 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201471
201622
|
/** @internal */
|
|
201472
201623
|
async onPostInstall() {
|
|
201473
201624
|
await super.onPostInstall();
|
|
201625
|
+
this._lengthFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
201626
|
+
this._angleFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.ANGLE", "Units.RAD");
|
|
201627
|
+
this._removeFormatterListener = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.formatsProvider.onFormatsChanged.addListener(async (args) => {
|
|
201628
|
+
if (args.formatsChanged === "all" || args.formatsChanged.includes("AecUnits.LENGTH"))
|
|
201629
|
+
this._lengthFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
201630
|
+
if (args.formatsChanged === "all" || args.formatsChanged.includes("AecUnits.ANGLE"))
|
|
201631
|
+
this._angleFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.ANGLE", "Units.RAD");
|
|
201632
|
+
});
|
|
201474
201633
|
this.setupAndPromptForNextAction();
|
|
201475
201634
|
}
|
|
201476
201635
|
/** @internal */
|
|
201636
|
+
async onCleanup() {
|
|
201637
|
+
if (this._removeFormatterListener) {
|
|
201638
|
+
this._removeFormatterListener();
|
|
201639
|
+
this._removeFormatterListener = undefined;
|
|
201640
|
+
}
|
|
201641
|
+
await super.onCleanup();
|
|
201642
|
+
}
|
|
201643
|
+
/** @internal */
|
|
201477
201644
|
async onUnsuspend() { this.showPrompt(); }
|
|
201478
201645
|
/** @internal */
|
|
201479
201646
|
showPrompt() {
|
|
201480
|
-
const mainInstruction =
|
|
201647
|
+
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"));
|
|
201481
201648
|
const mouseInstructions = [];
|
|
201482
201649
|
const touchInstructions = [];
|
|
201483
|
-
if (!
|
|
201484
|
-
touchInstructions.push(
|
|
201485
|
-
mouseInstructions.push(
|
|
201650
|
+
if (!_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createTouchCursorInstructions(touchInstructions))
|
|
201651
|
+
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));
|
|
201652
|
+
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));
|
|
201486
201653
|
if (0 === this._locationData.length) {
|
|
201487
201654
|
if (this._acceptedSegments.length > 0) {
|
|
201488
|
-
touchInstructions.push(
|
|
201489
|
-
mouseInstructions.push(
|
|
201655
|
+
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));
|
|
201656
|
+
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));
|
|
201490
201657
|
}
|
|
201491
201658
|
}
|
|
201492
201659
|
else {
|
|
201493
|
-
touchInstructions.push(
|
|
201494
|
-
mouseInstructions.push(
|
|
201495
|
-
mouseInstructions.push(
|
|
201496
|
-
mouseInstructions.push(
|
|
201660
|
+
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));
|
|
201661
|
+
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));
|
|
201662
|
+
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));
|
|
201663
|
+
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));
|
|
201497
201664
|
}
|
|
201498
201665
|
const sections = [];
|
|
201499
|
-
sections.push(
|
|
201500
|
-
sections.push(
|
|
201501
|
-
const instructions =
|
|
201666
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(mouseInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
201667
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(touchInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
201668
|
+
const instructions = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstructions(mainInstruction, sections);
|
|
201502
201669
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.setToolAssistance(instructions);
|
|
201503
201670
|
}
|
|
201504
201671
|
/** @internal */
|
|
@@ -201544,8 +201711,8 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201544
201711
|
totalDistance += adjustedPoints[i].distance(adjustedPoints[i + 1]);
|
|
201545
201712
|
if (0.0 === totalDistance)
|
|
201546
201713
|
return;
|
|
201547
|
-
const formatterSpec =
|
|
201548
|
-
if (
|
|
201714
|
+
const formatterSpec = this._lengthFormatterSpec;
|
|
201715
|
+
if (formatterSpec === undefined)
|
|
201549
201716
|
return;
|
|
201550
201717
|
const formattedTotalDistance = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(totalDistance, formatterSpec);
|
|
201551
201718
|
const distDyn = new MeasureLabel(points[points.length - 1], formattedTotalDistance);
|
|
@@ -201559,7 +201726,7 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201559
201726
|
seg.refAxes.multiplyVectorInPlace(xVec);
|
|
201560
201727
|
seg.refAxes.multiplyVectorInPlace(yVec);
|
|
201561
201728
|
seg.refAxes.multiplyVectorInPlace(zVec);
|
|
201562
|
-
const builderAxes = context.createGraphicBuilder(
|
|
201729
|
+
const builderAxes = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldOverlay);
|
|
201563
201730
|
let basePt = seg.start.clone();
|
|
201564
201731
|
if (xVec.magnitude() > 1.0e-5) {
|
|
201565
201732
|
const segPoints = [];
|
|
@@ -201606,12 +201773,12 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201606
201773
|
}
|
|
201607
201774
|
tmpPoints.push(this._lastMotionPt);
|
|
201608
201775
|
tmpAdjustedPoints.push(this._lastMotionAdjustedPt);
|
|
201609
|
-
const builderDynVis = context.createGraphicBuilder(
|
|
201776
|
+
const builderDynVis = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldDecoration);
|
|
201610
201777
|
const colorDynVis = context.viewport.hilite.color;
|
|
201611
201778
|
builderDynVis.setSymbology(colorDynVis, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.black, 3);
|
|
201612
201779
|
builderDynVis.addLineString(tmpPoints);
|
|
201613
201780
|
context.addDecorationFromBuilder(builderDynVis);
|
|
201614
|
-
const builderDynHid = context.createGraphicBuilder(
|
|
201781
|
+
const builderDynHid = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldOverlay);
|
|
201615
201782
|
const colorDynHid = colorDynVis.withAlpha(100);
|
|
201616
201783
|
builderDynHid.setSymbology(colorDynHid, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.black, 1, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.LinePixels.Code2);
|
|
201617
201784
|
builderDynHid.addLineString(tmpPoints);
|
|
@@ -201619,8 +201786,8 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201619
201786
|
this.displayDynamicDistance(context, tmpPoints, tmpAdjustedPoints);
|
|
201620
201787
|
}
|
|
201621
201788
|
if (this._acceptedSegments.length > 0) {
|
|
201622
|
-
const builderAccVis = context.createGraphicBuilder(
|
|
201623
|
-
const builderAccHid = context.createGraphicBuilder(
|
|
201789
|
+
const builderAccVis = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldDecoration);
|
|
201790
|
+
const builderAccHid = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldOverlay);
|
|
201624
201791
|
const colorAccVis = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.white.adjustedForContrast(context.viewport.view.backgroundColor);
|
|
201625
201792
|
const colorAccHid = colorAccVis.withAlpha(100);
|
|
201626
201793
|
builderAccVis.setSymbology(colorAccVis, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.black, 3);
|
|
@@ -201642,7 +201809,7 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201642
201809
|
return;
|
|
201643
201810
|
if (undefined === this._snapGeomId)
|
|
201644
201811
|
this._snapGeomId = this.iModel.transientIds.getNext();
|
|
201645
|
-
const builderSnapPts = context.createGraphicBuilder(
|
|
201812
|
+
const builderSnapPts = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldOverlay, undefined, this._snapGeomId);
|
|
201646
201813
|
const colorAccPts = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.white.adjustedForContrast(context.viewport.view.backgroundColor);
|
|
201647
201814
|
builderSnapPts.setSymbology(colorAccPts, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.black, 7);
|
|
201648
201815
|
builderSnapPts.addPointString(snapPoints);
|
|
@@ -201671,7 +201838,7 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201671
201838
|
reportMeasurements() {
|
|
201672
201839
|
if (undefined === this._totalDistanceMarker)
|
|
201673
201840
|
return;
|
|
201674
|
-
const briefMsg = `${
|
|
201841
|
+
const briefMsg = `${_Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(this._acceptedSegments.length > 1 ? "Measure.Labels.CumulativeDistance" : "Measure.Labels.Distance")}: ${this._totalDistanceMarker.label}`;
|
|
201675
201842
|
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);
|
|
201676
201843
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.outputMessage(msgDetail);
|
|
201677
201844
|
}
|
|
@@ -201682,7 +201849,7 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201682
201849
|
this._totalDistance += seg.distance;
|
|
201683
201850
|
if (0.0 === this._totalDistance)
|
|
201684
201851
|
return;
|
|
201685
|
-
const formatterSpec =
|
|
201852
|
+
const formatterSpec = this._lengthFormatterSpec;
|
|
201686
201853
|
if (undefined === formatterSpec)
|
|
201687
201854
|
return;
|
|
201688
201855
|
const formattedTotalDistance = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._totalDistance, formatterSpec);
|
|
@@ -201693,20 +201860,20 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201693
201860
|
const is3d = (undefined === this.targetView || this.targetView.view.is3d());
|
|
201694
201861
|
const isSpatial = (undefined !== this.targetView && this.targetView.view.isSpatialView());
|
|
201695
201862
|
const toolTip = document.createElement("div");
|
|
201696
|
-
const distanceFormatterSpec =
|
|
201863
|
+
const distanceFormatterSpec = this._lengthFormatterSpec;
|
|
201697
201864
|
if (undefined === distanceFormatterSpec)
|
|
201698
201865
|
return toolTip;
|
|
201699
201866
|
let toolTipHtml = "";
|
|
201700
201867
|
const formattedDistance = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(distance, distanceFormatterSpec);
|
|
201701
201868
|
toolTipHtml += `${translateBold("Distance") + formattedDistance}<br>`;
|
|
201702
201869
|
if (is3d) {
|
|
201703
|
-
const angleFormatterSpec =
|
|
201870
|
+
const angleFormatterSpec = this._angleFormatterSpec;
|
|
201704
201871
|
if (undefined !== angleFormatterSpec) {
|
|
201705
201872
|
const formattedSlope = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(slope, angleFormatterSpec);
|
|
201706
201873
|
toolTipHtml += `${translateBold("Slope") + formattedSlope}<br>`;
|
|
201707
201874
|
}
|
|
201708
201875
|
}
|
|
201709
|
-
const coordFormatterSpec =
|
|
201876
|
+
const coordFormatterSpec = this._lengthFormatterSpec;
|
|
201710
201877
|
if (undefined !== coordFormatterSpec) {
|
|
201711
201878
|
let startAdjusted = start;
|
|
201712
201879
|
let endAdjusted = end;
|
|
@@ -201851,19 +202018,19 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201851
202018
|
this.setupAndPromptForNextAction();
|
|
201852
202019
|
if (undefined !== ev.viewport)
|
|
201853
202020
|
ev.viewport.invalidateDecorations();
|
|
201854
|
-
return
|
|
202021
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
201855
202022
|
}
|
|
201856
202023
|
/** @internal */
|
|
201857
202024
|
async onResetButtonUp(ev) {
|
|
201858
202025
|
if (0 === this._locationData.length) {
|
|
201859
202026
|
await this.onReinitialize();
|
|
201860
|
-
return
|
|
202027
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
201861
202028
|
}
|
|
201862
202029
|
await this.acceptNewSegments();
|
|
201863
202030
|
this.setupAndPromptForNextAction();
|
|
201864
202031
|
if (undefined !== ev.viewport)
|
|
201865
202032
|
ev.viewport.invalidateDecorations();
|
|
201866
|
-
return
|
|
202033
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
201867
202034
|
}
|
|
201868
202035
|
/** @internal */
|
|
201869
202036
|
async onUndoPreviousStep() {
|
|
@@ -201894,7 +202061,7 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201894
202061
|
/** Report spatial coordinate at a point as well as cartographic location for geolocated models using current quantity formatters.
|
|
201895
202062
|
* @public
|
|
201896
202063
|
*/
|
|
201897
|
-
class MeasureLocationTool extends
|
|
202064
|
+
class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.PrimitiveTool {
|
|
201898
202065
|
static toolId = "Measure.Location";
|
|
201899
202066
|
static iconSpec = "icon-measure-location";
|
|
201900
202067
|
/** @internal */
|
|
@@ -201916,20 +202083,20 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201916
202083
|
async onUnsuspend() { this.showPrompt(); }
|
|
201917
202084
|
/** @internal */
|
|
201918
202085
|
showPrompt() {
|
|
201919
|
-
const mainInstruction =
|
|
202086
|
+
const mainInstruction = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(this.iconSpec, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("Measure.Location.Prompts.EnterPoint"));
|
|
201920
202087
|
const mouseInstructions = [];
|
|
201921
202088
|
const touchInstructions = [];
|
|
201922
|
-
if (!
|
|
201923
|
-
touchInstructions.push(
|
|
201924
|
-
mouseInstructions.push(
|
|
202089
|
+
if (!_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createTouchCursorInstructions(touchInstructions))
|
|
202090
|
+
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));
|
|
202091
|
+
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));
|
|
201925
202092
|
if (0 !== this._acceptedLocations.length) {
|
|
201926
|
-
touchInstructions.push(
|
|
201927
|
-
mouseInstructions.push(
|
|
202093
|
+
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));
|
|
202094
|
+
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));
|
|
201928
202095
|
}
|
|
201929
202096
|
const sections = [];
|
|
201930
|
-
sections.push(
|
|
201931
|
-
sections.push(
|
|
201932
|
-
const instructions =
|
|
202097
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(mouseInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
202098
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(touchInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
202099
|
+
const instructions = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstructions(mainInstruction, sections);
|
|
201933
202100
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.setToolAssistance(instructions);
|
|
201934
202101
|
}
|
|
201935
202102
|
/** @internal */
|
|
@@ -201942,7 +202109,7 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201942
202109
|
const isSpatial = (undefined !== this.targetView && this.targetView.view.isSpatialView());
|
|
201943
202110
|
const toolTip = document.createElement("div");
|
|
201944
202111
|
let toolTipHtml = "";
|
|
201945
|
-
const coordFormatterSpec = await
|
|
202112
|
+
const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
201946
202113
|
if (undefined !== coordFormatterSpec) {
|
|
201947
202114
|
let pointAdjusted = point;
|
|
201948
202115
|
if (isSpatial) {
|
|
@@ -201958,15 +202125,15 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
201958
202125
|
toolTipHtml += "<br>";
|
|
201959
202126
|
}
|
|
201960
202127
|
if (isSpatial) {
|
|
201961
|
-
const latLongFormatterSpec = await
|
|
202128
|
+
const latLongFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.ANGLE", "Units.RAD");
|
|
201962
202129
|
if (undefined !== latLongFormatterSpec && undefined !== coordFormatterSpec) {
|
|
201963
202130
|
try {
|
|
201964
202131
|
const cartographic = await this.iModel.spatialToCartographic(point);
|
|
201965
202132
|
const formattedLat = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(Math.abs(cartographic.latitude), latLongFormatterSpec);
|
|
201966
202133
|
const formattedLong = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(Math.abs(cartographic.longitude), latLongFormatterSpec);
|
|
201967
202134
|
const formattedHeight = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(cartographic.height, coordFormatterSpec);
|
|
201968
|
-
const latDir =
|
|
201969
|
-
const longDir =
|
|
202135
|
+
const latDir = _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(cartographic.latitude < 0 ? "Measure.Labels.S" : "Measure.Labels.N");
|
|
202136
|
+
const longDir = _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(cartographic.longitude < 0 ? "Measure.Labels.W" : "Measure.Labels.E");
|
|
201970
202137
|
toolTipHtml += `${translateBold("LatLong") + formattedLat + latDir}, ${formattedLong}${longDir}<br>`;
|
|
201971
202138
|
toolTipHtml += `${translateBold("Altitude") + formattedHeight}<br>`;
|
|
201972
202139
|
}
|
|
@@ -202004,12 +202171,12 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
202004
202171
|
this.setupAndPromptForNextAction();
|
|
202005
202172
|
if (undefined !== ev.viewport)
|
|
202006
202173
|
ev.viewport.invalidateDecorations();
|
|
202007
|
-
return
|
|
202174
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202008
202175
|
}
|
|
202009
202176
|
/** @internal */
|
|
202010
202177
|
async onResetButtonUp(_ev) {
|
|
202011
202178
|
await this.onReinitialize();
|
|
202012
|
-
return
|
|
202179
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202013
202180
|
}
|
|
202014
202181
|
/** @internal */
|
|
202015
202182
|
async onUndoPreviousStep() {
|
|
@@ -202035,7 +202202,7 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.P
|
|
|
202035
202202
|
/** Report area defined by points using current quantity formatter for area.
|
|
202036
202203
|
* @public
|
|
202037
202204
|
*/
|
|
202038
|
-
class MeasureAreaByPointsTool extends
|
|
202205
|
+
class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.PrimitiveTool {
|
|
202039
202206
|
static toolId = "Measure.AreaByPoints";
|
|
202040
202207
|
static iconSpec = "icon-measure-2d";
|
|
202041
202208
|
/** @internal */
|
|
@@ -202064,12 +202231,12 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
202064
202231
|
/** @internal */
|
|
202065
202232
|
static _orientationName = "enumAsOrientation";
|
|
202066
202233
|
/** @internal */
|
|
202067
|
-
static enumAsOrientationMessage(str) { return
|
|
202234
|
+
static enumAsOrientationMessage(str) { return _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(`Settings.Orientation.${str}`); }
|
|
202068
202235
|
/** @internal */
|
|
202069
202236
|
static _getEnumAsOrientationDescription = () => {
|
|
202070
202237
|
return {
|
|
202071
202238
|
name: MeasureAreaByPointsTool._orientationName,
|
|
202072
|
-
displayLabel:
|
|
202239
|
+
displayLabel: _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("Settings.Orientation.Label"),
|
|
202073
202240
|
typename: "enum",
|
|
202074
202241
|
enum: {
|
|
202075
202242
|
choices: [
|
|
@@ -202137,24 +202304,24 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
202137
202304
|
mainMsg += this._isComplete ? "FirstPoint" : "NextPoint";
|
|
202138
202305
|
break;
|
|
202139
202306
|
}
|
|
202140
|
-
const mainInstruction =
|
|
202307
|
+
const mainInstruction = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(this.iconSpec, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(mainMsg));
|
|
202141
202308
|
const mouseInstructions = [];
|
|
202142
202309
|
const touchInstructions = [];
|
|
202143
|
-
const acceptMsg =
|
|
202144
|
-
if (!
|
|
202145
|
-
touchInstructions.push(
|
|
202146
|
-
mouseInstructions.push(
|
|
202147
|
-
const resetMsg =
|
|
202148
|
-
touchInstructions.push(
|
|
202149
|
-
mouseInstructions.push(
|
|
202310
|
+
const acceptMsg = _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(this._isComplete ? "ElementSet.Inputs.Restart" : "ElementSet.Inputs.AcceptPoint");
|
|
202311
|
+
if (!_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createTouchCursorInstructions(touchInstructions))
|
|
202312
|
+
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));
|
|
202313
|
+
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));
|
|
202314
|
+
const resetMsg = _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("ElementSet.Inputs.Restart");
|
|
202315
|
+
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));
|
|
202316
|
+
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));
|
|
202150
202317
|
if (this._points.length > 1)
|
|
202151
|
-
mouseInstructions.push(
|
|
202318
|
+
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));
|
|
202152
202319
|
if (0 !== this._points.length)
|
|
202153
|
-
mouseInstructions.push(
|
|
202320
|
+
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));
|
|
202154
202321
|
const sections = [];
|
|
202155
|
-
sections.push(
|
|
202156
|
-
sections.push(
|
|
202157
|
-
const instructions =
|
|
202322
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(mouseInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
202323
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(touchInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
202324
|
+
const instructions = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstructions(mainInstruction, sections);
|
|
202158
202325
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.setToolAssistance(instructions);
|
|
202159
202326
|
}
|
|
202160
202327
|
/** @internal */
|
|
@@ -202198,7 +202365,7 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
202198
202365
|
let currentPt = _AccuDraw__WEBPACK_IMPORTED_MODULE_3__.AccuDrawHintBuilder.projectPointToPlaneInView(cursorPt, points[0], normal, this.targetView, true);
|
|
202199
202366
|
if (undefined === currentPt)
|
|
202200
202367
|
currentPt = cursorPt.clone();
|
|
202201
|
-
if (2 === points.length && 0 === (_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.toolAdmin.currentInputState.qualifiers &
|
|
202368
|
+
if (2 === points.length && 0 === (_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.toolAdmin.currentInputState.qualifiers & _Tool__WEBPACK_IMPORTED_MODULE_10__.BeModifierKeys.Control)) {
|
|
202202
202369
|
const xDir = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createStartEnd(points[0], points[1]);
|
|
202203
202370
|
const xLen = xDir.magnitude();
|
|
202204
202371
|
xDir.normalizeInPlace();
|
|
@@ -202224,8 +202391,8 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
202224
202391
|
const points = this.getShapePoints(this._lastMotionPt);
|
|
202225
202392
|
if (points.length < 2)
|
|
202226
202393
|
return;
|
|
202227
|
-
const builderAccVis = context.createGraphicBuilder(
|
|
202228
|
-
const builderAccHid = context.createGraphicBuilder(
|
|
202394
|
+
const builderAccVis = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldDecoration);
|
|
202395
|
+
const builderAccHid = context.createGraphicBuilder(_common_render_GraphicType__WEBPACK_IMPORTED_MODULE_12__.GraphicType.WorldOverlay);
|
|
202229
202396
|
const colorAccVis = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.white.adjustedForContrast(context.viewport.view.backgroundColor);
|
|
202230
202397
|
const colorAccHid = colorAccVis.withAlpha(100);
|
|
202231
202398
|
const fillAccVis = context.viewport.hilite.color.withAlpha(50);
|
|
@@ -202262,17 +202429,17 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
202262
202429
|
const isSpatial = (undefined !== this.targetView && this.targetView.view.isSpatialView());
|
|
202263
202430
|
const toolTip = document.createElement("div");
|
|
202264
202431
|
let toolTipHtml = "";
|
|
202265
|
-
const areaFormatterSpec = await
|
|
202432
|
+
const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
|
|
202266
202433
|
if (undefined !== areaFormatterSpec) {
|
|
202267
202434
|
const formattedArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._area, areaFormatterSpec);
|
|
202268
202435
|
toolTipHtml += `${translateBold("Area") + formattedArea}<br>`;
|
|
202269
202436
|
}
|
|
202270
|
-
const perimeterFormatterSpec = await
|
|
202437
|
+
const perimeterFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
202271
202438
|
if (undefined !== perimeterFormatterSpec) {
|
|
202272
202439
|
const formattedPerimeter = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._perimeter, perimeterFormatterSpec);
|
|
202273
202440
|
toolTipHtml += `${translateBold("Perimeter") + formattedPerimeter}<br>`;
|
|
202274
202441
|
}
|
|
202275
|
-
const coordFormatterSpec = await
|
|
202442
|
+
const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
202276
202443
|
if (undefined !== coordFormatterSpec) {
|
|
202277
202444
|
let pointAdjusted = this._centroid.clone();
|
|
202278
202445
|
if (isSpatial) {
|
|
@@ -202293,7 +202460,7 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
202293
202460
|
reportMeasurements() {
|
|
202294
202461
|
if (undefined === this._marker)
|
|
202295
202462
|
return;
|
|
202296
|
-
const briefMsg = `${
|
|
202463
|
+
const briefMsg = `${_Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate("Measure.Labels.Area")}: ${this._marker.label}`;
|
|
202297
202464
|
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);
|
|
202298
202465
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.outputMessage(msgDetail);
|
|
202299
202466
|
}
|
|
@@ -202311,7 +202478,7 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
202311
202478
|
const toolTip = await this.getMarkerToolTip();
|
|
202312
202479
|
this._acceptedMeasurement = new MeasureMarker("1", toolTip, this._centroid, _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point2d.create(25, 25));
|
|
202313
202480
|
this._marker = undefined;
|
|
202314
|
-
const areaFormatterSpec = await
|
|
202481
|
+
const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
|
|
202315
202482
|
if (undefined === areaFormatterSpec)
|
|
202316
202483
|
return;
|
|
202317
202484
|
const formattedTotalArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._area, areaFormatterSpec);
|
|
@@ -202321,23 +202488,23 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
202321
202488
|
/** @internal */
|
|
202322
202489
|
async onDataButtonDown(ev) {
|
|
202323
202490
|
if (undefined === this.targetView)
|
|
202324
|
-
return
|
|
202491
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202325
202492
|
if (this._isComplete)
|
|
202326
202493
|
await this.onReinitialize();
|
|
202327
202494
|
if (this._points.length > 1 && !ev.isControlKey) {
|
|
202328
202495
|
const points = this.getShapePoints(ev.point);
|
|
202329
202496
|
if (points.length < 3)
|
|
202330
|
-
return
|
|
202497
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202331
202498
|
this._isComplete = true;
|
|
202332
202499
|
this._points.length = 0;
|
|
202333
202500
|
for (const pt of points)
|
|
202334
202501
|
this._points.push(pt);
|
|
202335
202502
|
await this.updateTotals();
|
|
202336
202503
|
this.setupAndPromptForNextAction();
|
|
202337
|
-
return
|
|
202504
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202338
202505
|
}
|
|
202339
202506
|
if (undefined === this._matrix && undefined === (this._matrix = _AccuDraw__WEBPACK_IMPORTED_MODULE_3__.AccuDrawHintBuilder.getContextRotation(this.orientation, this.targetView)))
|
|
202340
|
-
return
|
|
202507
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202341
202508
|
const currPt = ev.point.clone();
|
|
202342
202509
|
if (this._points.length > 0) {
|
|
202343
202510
|
const planePt = _AccuDraw__WEBPACK_IMPORTED_MODULE_3__.AccuDrawHintBuilder.projectPointToPlaneInView(currPt, this._points[0], this._matrix.getColumn(2), ev.viewport, true);
|
|
@@ -202346,14 +202513,14 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
202346
202513
|
}
|
|
202347
202514
|
this._points.push(currPt);
|
|
202348
202515
|
this.setupAndPromptForNextAction();
|
|
202349
|
-
return
|
|
202516
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202350
202517
|
}
|
|
202351
202518
|
/** @internal */
|
|
202352
202519
|
async onResetButtonUp(ev) {
|
|
202353
202520
|
if (undefined !== ev.viewport)
|
|
202354
202521
|
ev.viewport.invalidateDecorations();
|
|
202355
202522
|
await this.onReinitialize();
|
|
202356
|
-
return
|
|
202523
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202357
202524
|
}
|
|
202358
202525
|
/** @internal */
|
|
202359
202526
|
async onReinitialize() {
|
|
@@ -202383,7 +202550,7 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10
|
|
|
202383
202550
|
/** Base class for mass properties tools.
|
|
202384
202551
|
* @public
|
|
202385
202552
|
*/
|
|
202386
|
-
class MeasureElementTool extends
|
|
202553
|
+
class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.PrimitiveTool {
|
|
202387
202554
|
/** @internal */
|
|
202388
202555
|
_checkedIds = new Map();
|
|
202389
202556
|
/** @internal */
|
|
@@ -202419,33 +202586,33 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
202419
202586
|
/** @internal */
|
|
202420
202587
|
showPrompt() {
|
|
202421
202588
|
const mainMsg = (this._useSelection ? (0 === this._acceptedMeasurements.length ? "ElementSet.Prompts.ConfirmSelection" : "ElementSet.Prompts.InspectResult") : "ElementSet.Prompts.IdentifyElement");
|
|
202422
|
-
const mainInstruction =
|
|
202589
|
+
const mainInstruction = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstruction(this.iconSpec, _Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(mainMsg));
|
|
202423
202590
|
const mouseInstructions = [];
|
|
202424
202591
|
const touchInstructions = [];
|
|
202425
202592
|
if (this._useSelection) {
|
|
202426
202593
|
if (0 === this._acceptedMeasurements.length) {
|
|
202427
|
-
touchInstructions.push(
|
|
202428
|
-
mouseInstructions.push(
|
|
202429
|
-
touchInstructions.push(
|
|
202430
|
-
mouseInstructions.push(
|
|
202594
|
+
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));
|
|
202595
|
+
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));
|
|
202596
|
+
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));
|
|
202597
|
+
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));
|
|
202431
202598
|
}
|
|
202432
202599
|
else {
|
|
202433
|
-
touchInstructions.push(
|
|
202434
|
-
mouseInstructions.push(
|
|
202600
|
+
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));
|
|
202601
|
+
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));
|
|
202435
202602
|
}
|
|
202436
202603
|
}
|
|
202437
202604
|
else {
|
|
202438
|
-
touchInstructions.push(
|
|
202439
|
-
mouseInstructions.push(
|
|
202605
|
+
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));
|
|
202606
|
+
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));
|
|
202440
202607
|
if (0 !== this._acceptedMeasurements.length) {
|
|
202441
|
-
touchInstructions.push(
|
|
202442
|
-
mouseInstructions.push(
|
|
202608
|
+
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));
|
|
202609
|
+
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));
|
|
202443
202610
|
}
|
|
202444
202611
|
}
|
|
202445
202612
|
const sections = [];
|
|
202446
|
-
sections.push(
|
|
202447
|
-
sections.push(
|
|
202448
|
-
const instructions =
|
|
202613
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(mouseInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
202614
|
+
sections.push(_ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createSection(touchInstructions, _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.inputsLabel));
|
|
202615
|
+
const instructions = _ToolAssistance__WEBPACK_IMPORTED_MODULE_11__.ToolAssistance.createInstructions(mainInstruction, sections);
|
|
202449
202616
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.setToolAssistance(instructions);
|
|
202450
202617
|
}
|
|
202451
202618
|
/** @internal */
|
|
@@ -202482,7 +202649,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
202482
202649
|
default:
|
|
202483
202650
|
return;
|
|
202484
202651
|
}
|
|
202485
|
-
const briefMsg = `${
|
|
202652
|
+
const briefMsg = `${_Tool__WEBPACK_IMPORTED_MODULE_10__.CoreTools.translate(label)}: ${this._totalMarker.label}`;
|
|
202486
202653
|
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);
|
|
202487
202654
|
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.outputMessage(msgDetail);
|
|
202488
202655
|
}
|
|
@@ -202493,7 +202660,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
202493
202660
|
let toolTipHtml = "";
|
|
202494
202661
|
switch (this.getOperation()) {
|
|
202495
202662
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateLengths: {
|
|
202496
|
-
const distanceFormatterSpec = await
|
|
202663
|
+
const distanceFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
202497
202664
|
if (undefined !== distanceFormatterSpec) {
|
|
202498
202665
|
const formattedLength = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.length ? responseProps.length : 0, distanceFormatterSpec);
|
|
202499
202666
|
toolTipHtml += `${translateBold("Length") + formattedLength}<br>`;
|
|
@@ -202501,13 +202668,13 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
202501
202668
|
break;
|
|
202502
202669
|
}
|
|
202503
202670
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateAreas: {
|
|
202504
|
-
const areaFormatterSpec = await
|
|
202671
|
+
const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
|
|
202505
202672
|
if (undefined !== areaFormatterSpec) {
|
|
202506
202673
|
const formattedArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.area ? responseProps.area : 0, areaFormatterSpec);
|
|
202507
202674
|
toolTipHtml += `${translateBold("Area") + formattedArea}<br>`;
|
|
202508
202675
|
}
|
|
202509
202676
|
if (responseProps.perimeter) {
|
|
202510
|
-
const perimeterFormatterSpec = await
|
|
202677
|
+
const perimeterFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
202511
202678
|
if (undefined !== perimeterFormatterSpec) {
|
|
202512
202679
|
const formattedPerimeter = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.perimeter, perimeterFormatterSpec);
|
|
202513
202680
|
toolTipHtml += `${translateBold("Perimeter") + formattedPerimeter}<br>`;
|
|
@@ -202516,13 +202683,13 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
202516
202683
|
break;
|
|
202517
202684
|
}
|
|
202518
202685
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateVolumes: {
|
|
202519
|
-
const volumeFormatterSpec = await
|
|
202686
|
+
const volumeFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.VOLUME", "Units.CUB_M");
|
|
202520
202687
|
if (undefined !== volumeFormatterSpec) {
|
|
202521
202688
|
const formattedVolume = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.volume ? responseProps.volume : 0, volumeFormatterSpec);
|
|
202522
202689
|
toolTipHtml += `${translateBold("Volume") + formattedVolume}<br>`;
|
|
202523
202690
|
}
|
|
202524
202691
|
if (responseProps.area) {
|
|
202525
|
-
const areaFormatterSpec = await
|
|
202692
|
+
const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
|
|
202526
202693
|
if (undefined !== areaFormatterSpec) {
|
|
202527
202694
|
const formattedArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.area, areaFormatterSpec);
|
|
202528
202695
|
toolTipHtml += `${translateBold("Area") + formattedArea}<br>`;
|
|
@@ -202532,7 +202699,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
202532
202699
|
}
|
|
202533
202700
|
}
|
|
202534
202701
|
if (responseProps.centroid) {
|
|
202535
|
-
const coordFormatterSpec = await
|
|
202702
|
+
const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
202536
202703
|
if (undefined !== coordFormatterSpec) {
|
|
202537
202704
|
let pointAdjusted = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point3d.fromJSON(responseProps.centroid);
|
|
202538
202705
|
if (isSpatial) {
|
|
@@ -202583,21 +202750,21 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
202583
202750
|
return;
|
|
202584
202751
|
switch (operation) {
|
|
202585
202752
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateLengths:
|
|
202586
|
-
const distanceFormatterSpec = await
|
|
202753
|
+
const distanceFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
|
|
202587
202754
|
if (undefined === distanceFormatterSpec)
|
|
202588
202755
|
return;
|
|
202589
202756
|
const formattedTotalDistance = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._totalValue, distanceFormatterSpec);
|
|
202590
202757
|
this._totalMarker = new MeasureLabel(labelPt, formattedTotalDistance);
|
|
202591
202758
|
break;
|
|
202592
202759
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateAreas:
|
|
202593
|
-
const areaFormatterSpec = await
|
|
202760
|
+
const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
|
|
202594
202761
|
if (undefined === areaFormatterSpec)
|
|
202595
202762
|
return;
|
|
202596
202763
|
const formattedTotalArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._totalValue, areaFormatterSpec);
|
|
202597
202764
|
this._totalMarker = new MeasureLabel(labelPt, formattedTotalArea);
|
|
202598
202765
|
break;
|
|
202599
202766
|
case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateVolumes:
|
|
202600
|
-
const volumeFormatterSpec = await
|
|
202767
|
+
const volumeFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.VOLUME", "Units.CUB_M");
|
|
202601
202768
|
if (undefined === volumeFormatterSpec)
|
|
202602
202769
|
return;
|
|
202603
202770
|
const formattedTotalVolume = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._totalValue, volumeFormatterSpec);
|
|
@@ -202655,7 +202822,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
202655
202822
|
/** @internal */
|
|
202656
202823
|
async onResetButtonUp(_ev) {
|
|
202657
202824
|
await this.onReinitialize();
|
|
202658
|
-
return
|
|
202825
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202659
202826
|
}
|
|
202660
202827
|
/** @internal */
|
|
202661
202828
|
async onDataButtonDown(ev) {
|
|
@@ -202663,20 +202830,20 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
202663
202830
|
if (0 === this._acceptedMeasurements.length && undefined !== ev.viewport) {
|
|
202664
202831
|
await this.doMeasureSelectedElements(ev.viewport);
|
|
202665
202832
|
if (0 !== this._acceptedMeasurements.length)
|
|
202666
|
-
return
|
|
202667
|
-
_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.notifications.outputMessage(new _NotificationManager__WEBPACK_IMPORTED_MODULE_8__.NotifyMessageDetails(_NotificationManager__WEBPACK_IMPORTED_MODULE_8__.OutputMessagePriority.Error,
|
|
202833
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.Yes;
|
|
202834
|
+
_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")));
|
|
202668
202835
|
await this.onReinitialize();
|
|
202669
202836
|
}
|
|
202670
|
-
return
|
|
202837
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.Yes;
|
|
202671
202838
|
}
|
|
202672
202839
|
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);
|
|
202673
202840
|
if (undefined === hit || !hit.isElementHit)
|
|
202674
|
-
return
|
|
202841
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202675
202842
|
const result = this._checkedIds.get(hit.sourceId);
|
|
202676
202843
|
if (undefined === result)
|
|
202677
|
-
return
|
|
202844
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202678
202845
|
if (-1 !== this._acceptedIds.indexOf(hit.sourceId))
|
|
202679
|
-
return
|
|
202846
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.Yes; // Already accepted, not rejected in filterHit to avoid showing "not" cursor...
|
|
202680
202847
|
const toolTip = await this.getMarkerToolTip(result);
|
|
202681
202848
|
const point = result.centroid ? _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point3d.fromJSON(result.centroid) : ev.point.clone();
|
|
202682
202849
|
const marker = new MeasureMarker((this._acceptedMeasurements.length + 1).toString(), toolTip, point, _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point2d.create(25, 25));
|
|
@@ -202687,7 +202854,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_10__.Pr
|
|
|
202687
202854
|
this.setupAndPromptForNextAction();
|
|
202688
202855
|
if (undefined !== ev.viewport)
|
|
202689
202856
|
ev.viewport.invalidateDecorations();
|
|
202690
|
-
return
|
|
202857
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_10__.EventHandled.No;
|
|
202691
202858
|
}
|
|
202692
202859
|
/** @internal */
|
|
202693
202860
|
async onUndoPreviousStep() {
|
|
@@ -329617,7 +329784,7 @@ class TestContext {
|
|
|
329617
329784
|
this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
|
|
329618
329785
|
const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
|
|
329619
329786
|
await core_frontend_1.NoRenderApp.startup({
|
|
329620
|
-
applicationVersion: "5.1.0-dev.
|
|
329787
|
+
applicationVersion: "5.1.0-dev.15",
|
|
329621
329788
|
applicationId: this.settings.gprid,
|
|
329622
329789
|
authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.serviceAuthToken),
|
|
329623
329790
|
hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
|
|
@@ -332157,28 +332324,6 @@ const getClassName = (obj) => {
|
|
|
332157
332324
|
};
|
|
332158
332325
|
|
|
332159
332326
|
|
|
332160
|
-
/***/ }),
|
|
332161
|
-
|
|
332162
|
-
/***/ "../../core/frontend/lib/esm/extension/providers lazy recursive":
|
|
332163
|
-
/*!******************************************************************************!*\
|
|
332164
|
-
!*** ../../core/frontend/lib/esm/extension/providers/ lazy namespace object ***!
|
|
332165
|
-
\******************************************************************************/
|
|
332166
|
-
/***/ ((module) => {
|
|
332167
|
-
|
|
332168
|
-
function webpackEmptyAsyncContext(req) {
|
|
332169
|
-
// Here Promise.resolve().then() is used instead of new Promise() to prevent
|
|
332170
|
-
// uncaught exception popping up in devtools
|
|
332171
|
-
return Promise.resolve().then(() => {
|
|
332172
|
-
var e = new Error("Cannot find module '" + req + "'");
|
|
332173
|
-
e.code = 'MODULE_NOT_FOUND';
|
|
332174
|
-
throw e;
|
|
332175
|
-
});
|
|
332176
|
-
}
|
|
332177
|
-
webpackEmptyAsyncContext.keys = () => ([]);
|
|
332178
|
-
webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;
|
|
332179
|
-
webpackEmptyAsyncContext.id = "../../core/frontend/lib/esm/extension/providers lazy recursive";
|
|
332180
|
-
module.exports = webpackEmptyAsyncContext;
|
|
332181
|
-
|
|
332182
332327
|
/***/ }),
|
|
332183
332328
|
|
|
332184
332329
|
/***/ "?088e":
|
|
@@ -354685,7 +354830,7 @@ var loadLanguages = instance.loadLanguages;
|
|
|
354685
354830
|
/***/ ((module) => {
|
|
354686
354831
|
|
|
354687
354832
|
"use strict";
|
|
354688
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.1.0-dev.
|
|
354833
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.1.0-dev.15","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"}}');
|
|
354689
354834
|
|
|
354690
354835
|
/***/ }),
|
|
354691
354836
|
|