@itwin/core-frontend 5.4.0-dev.7 → 5.5.0-dev.2

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.
Files changed (74) hide show
  1. package/CHANGELOG.md +36 -1
  2. package/lib/cjs/IModelApp.d.ts +12 -0
  3. package/lib/cjs/IModelApp.d.ts.map +1 -1
  4. package/lib/cjs/IModelApp.js +9 -0
  5. package/lib/cjs/IModelApp.js.map +1 -1
  6. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  7. package/lib/cjs/IModelConnection.js +6 -2
  8. package/lib/cjs/IModelConnection.js.map +1 -1
  9. package/lib/cjs/SheetViewState.d.ts +7 -5
  10. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  11. package/lib/cjs/SheetViewState.js +52 -683
  12. package/lib/cjs/SheetViewState.js.map +1 -1
  13. package/lib/cjs/internal/SheetViewAttachments.d.ts +57 -0
  14. package/lib/cjs/internal/SheetViewAttachments.d.ts.map +1 -0
  15. package/lib/cjs/internal/SheetViewAttachments.js +336 -0
  16. package/lib/cjs/internal/SheetViewAttachments.js.map +1 -0
  17. package/lib/cjs/internal/ViewAttachmentRenderer.d.ts +32 -0
  18. package/lib/cjs/internal/ViewAttachmentRenderer.d.ts.map +1 -0
  19. package/lib/cjs/internal/ViewAttachmentRenderer.js +462 -0
  20. package/lib/cjs/internal/ViewAttachmentRenderer.js.map +1 -0
  21. package/lib/cjs/internal/render/webgl/SceneCompositor.js +1 -1
  22. package/lib/cjs/internal/render/webgl/SceneCompositor.js.map +1 -1
  23. package/lib/cjs/internal/render/webgl/ShaderBuilder.d.ts.map +1 -1
  24. package/lib/cjs/internal/render/webgl/ShaderBuilder.js +8 -1
  25. package/lib/cjs/internal/render/webgl/ShaderBuilder.js.map +1 -1
  26. package/lib/cjs/properties/AngleDescription.js +4 -4
  27. package/lib/cjs/properties/AngleDescription.js.map +1 -1
  28. package/lib/cjs/properties/LengthDescription.js +9 -9
  29. package/lib/cjs/properties/LengthDescription.js.map +1 -1
  30. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  31. package/lib/cjs/quantity-formatting/QuantityFormatter.js +9 -8
  32. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  33. package/lib/cjs/tools/EventController.js +1 -1
  34. package/lib/cjs/tools/EventController.js.map +1 -1
  35. package/lib/cjs/tools/MeasureTool.js +21 -21
  36. package/lib/cjs/tools/MeasureTool.js.map +1 -1
  37. package/lib/esm/IModelApp.d.ts +12 -0
  38. package/lib/esm/IModelApp.d.ts.map +1 -1
  39. package/lib/esm/IModelApp.js +9 -0
  40. package/lib/esm/IModelApp.js.map +1 -1
  41. package/lib/esm/IModelConnection.d.ts.map +1 -1
  42. package/lib/esm/IModelConnection.js +7 -3
  43. package/lib/esm/IModelConnection.js.map +1 -1
  44. package/lib/esm/SheetViewState.d.ts +7 -5
  45. package/lib/esm/SheetViewState.d.ts.map +1 -1
  46. package/lib/esm/SheetViewState.js +55 -686
  47. package/lib/esm/SheetViewState.js.map +1 -1
  48. package/lib/esm/internal/SheetViewAttachments.d.ts +57 -0
  49. package/lib/esm/internal/SheetViewAttachments.d.ts.map +1 -0
  50. package/lib/esm/internal/SheetViewAttachments.js +332 -0
  51. package/lib/esm/internal/SheetViewAttachments.js.map +1 -0
  52. package/lib/esm/internal/ViewAttachmentRenderer.d.ts +32 -0
  53. package/lib/esm/internal/ViewAttachmentRenderer.d.ts.map +1 -0
  54. package/lib/esm/internal/ViewAttachmentRenderer.js +459 -0
  55. package/lib/esm/internal/ViewAttachmentRenderer.js.map +1 -0
  56. package/lib/esm/internal/render/webgl/SceneCompositor.js +1 -1
  57. package/lib/esm/internal/render/webgl/SceneCompositor.js.map +1 -1
  58. package/lib/esm/internal/render/webgl/ShaderBuilder.d.ts.map +1 -1
  59. package/lib/esm/internal/render/webgl/ShaderBuilder.js +8 -1
  60. package/lib/esm/internal/render/webgl/ShaderBuilder.js.map +1 -1
  61. package/lib/esm/properties/AngleDescription.js +4 -4
  62. package/lib/esm/properties/AngleDescription.js.map +1 -1
  63. package/lib/esm/properties/LengthDescription.js +9 -9
  64. package/lib/esm/properties/LengthDescription.js.map +1 -1
  65. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  66. package/lib/esm/quantity-formatting/QuantityFormatter.js +9 -8
  67. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  68. package/lib/esm/tools/EventController.js +1 -1
  69. package/lib/esm/tools/EventController.js.map +1 -1
  70. package/lib/esm/tools/MeasureTool.js +21 -21
  71. package/lib/esm/tools/MeasureTool.js.map +1 -1
  72. package/lib/public/scripts/parse-imdl-worker.js +1 -1
  73. package/lib/workers/webpack/parse-imdl-worker.js +1 -1
  74. package/package.json +21 -21
@@ -23,7 +23,7 @@ class EventController {
23
23
  const element = vp.parentDiv;
24
24
  if (element === undefined)
25
25
  return;
26
- // Put events on the parentDiv to allows us to stopPropagation of events to the view canvas when they are meant for a sibling of view canvas (markup canvas, for example).
26
+ // Put events on the parentDiv to allow us to stopPropagation of events to the view canvas when they are meant for a sibling of view canvas (markup canvas, for example).
27
27
  this.addDomListeners(["mousedown", "mouseup", "mousemove", "mouseover", "mouseout", "wheel", "touchstart", "touchend", "touchcancel", "touchmove"], element);
28
28
  element.oncontextmenu = element.onselectstart = () => false;
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EventController.js","sourceRoot":"","sources":["../../../src/tools/EventController.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,2CAAwC;AAExC;;;;;GAKG;AACH,MAAa,eAAe;IAGP;IAFF,SAAS,GAAmB,EAAE,CAAC;IAEhD,YAAmB,EAAkB;QAAlB,OAAE,GAAF,EAAE,CAAgB;QACnC,MAAM,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;QAC7B,IAAI,OAAO,KAAK,SAAS;YACvB,OAAO;QAET,2KAA2K;QAC3K,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;QAE7J,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;IAC9D,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,OAAiB,EAAE,OAAoB;QAC7D,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,CAAC,EAAS,EAAE,EAAE;YAC7B,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,qBAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACvB,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AApCD,0CAoCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tools\n */\n\nimport { ScreenViewport } from \"../Viewport\";\nimport { ToolAdmin } from \"./ToolAdmin\";\n\n/**\n * An EventController maps user input events from a Viewport to the ToolAdmin so that tools can process them.\n * Viewports are assigned an EventController when they are registered with ViewManager.addViewport and they are destroyed with ViewManager.dropViewport.\n * @public\n * @extensions\n */\nexport class EventController {\n private readonly _removals: VoidFunction[] = [];\n\n constructor(public vp: ScreenViewport) {\n const element = vp.parentDiv;\n if (element === undefined)\n return;\n\n // Put events on the parentDiv to allows us to stopPropagation of events to the view canvas when they are meant for a sibling of view canvas (markup canvas, for example).\n this.addDomListeners([\"mousedown\", \"mouseup\", \"mousemove\", \"mouseover\", \"mouseout\", \"wheel\", \"touchstart\", \"touchend\", \"touchcancel\", \"touchmove\"], element);\n\n element.oncontextmenu = element.onselectstart = () => false;\n }\n\n public destroy() {\n this._removals.forEach((remove) => remove());\n this._removals.length = 0;\n }\n\n /**\n * Call element.addEventListener for each type of DOM event supplied. Creates a listener that will forward the HTML event to ToolAdmin.addEvent.\n * Records the listener in the [[removals]] member so they are removed when this EventController is destroyed.\n * @param domType An array of DOM event types to pass to element.addEventListener\n * @param element The HTML element to which the listeners are added\n */\n private addDomListeners(domType: string[], element: HTMLElement) {\n const vp = this.vp;\n const listener = (ev: Event) => {\n ev.preventDefault();\n ToolAdmin.addEvent(ev, vp);\n };\n domType.forEach((type) => {\n element.addEventListener(type, listener, false);\n this._removals.push(() => element.removeEventListener(type, listener, false));\n });\n }\n}\n"]}
1
+ {"version":3,"file":"EventController.js","sourceRoot":"","sources":["../../../src/tools/EventController.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,2CAAwC;AAExC;;;;;GAKG;AACH,MAAa,eAAe;IAGP;IAFF,SAAS,GAAmB,EAAE,CAAC;IAEhD,YAAmB,EAAkB;QAAlB,OAAE,GAAF,EAAE,CAAgB;QACnC,MAAM,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;QAC7B,IAAI,OAAO,KAAK,SAAS;YACvB,OAAO;QAET,yKAAyK;QACzK,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;QAE7J,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;IAC9D,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,OAAiB,EAAE,OAAoB;QAC7D,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,CAAC,EAAS,EAAE,EAAE;YAC7B,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,qBAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACvB,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AApCD,0CAoCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tools\n */\n\nimport { ScreenViewport } from \"../Viewport\";\nimport { ToolAdmin } from \"./ToolAdmin\";\n\n/**\n * An EventController maps user input events from a Viewport to the ToolAdmin so that tools can process them.\n * Viewports are assigned an EventController when they are registered with ViewManager.addViewport and they are destroyed with ViewManager.dropViewport.\n * @public\n * @extensions\n */\nexport class EventController {\n private readonly _removals: VoidFunction[] = [];\n\n constructor(public vp: ScreenViewport) {\n const element = vp.parentDiv;\n if (element === undefined)\n return;\n\n // Put events on the parentDiv to allow us to stopPropagation of events to the view canvas when they are meant for a sibling of view canvas (markup canvas, for example).\n this.addDomListeners([\"mousedown\", \"mouseup\", \"mousemove\", \"mouseover\", \"mouseout\", \"wheel\", \"touchstart\", \"touchend\", \"touchcancel\", \"touchmove\"], element);\n\n element.oncontextmenu = element.onselectstart = () => false;\n }\n\n public destroy() {\n this._removals.forEach((remove) => remove());\n this._removals.length = 0;\n }\n\n /**\n * Call element.addEventListener for each type of DOM event supplied. Creates a listener that will forward the HTML event to ToolAdmin.addEvent.\n * Records the listener in the [[removals]] member so they are removed when this EventController is destroyed.\n * @param domType An array of DOM event types to pass to element.addEventListener\n * @param element The HTML element to which the listeners are added\n */\n private addDomListeners(domType: string[], element: HTMLElement) {\n const vp = this.vp;\n const listener = (ev: Event) => {\n ev.preventDefault();\n ToolAdmin.addEvent(ev, vp);\n };\n domType.forEach((type) => {\n element.addEventListener(type, listener, false);\n this._removals.push(() => element.removeEventListener(type, listener, false));\n });\n }\n}\n"]}
@@ -167,13 +167,13 @@ class MeasureDistanceTool extends PrimitiveTool_1.PrimitiveTool {
167
167
  /** @internal */
168
168
  async onPostInstall() {
169
169
  await super.onPostInstall();
170
- this._lengthFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
171
- this._angleFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.ANGLE", "Units.RAD");
170
+ this._lengthFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.LENGTH", "Units.M");
171
+ this._angleFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.ANGLE", "Units.RAD");
172
172
  this._removeFormatterListener = IModelApp_1.IModelApp.formatsProvider.onFormatsChanged.addListener(async (args) => {
173
- if (args.formatsChanged === "all" || args.formatsChanged.includes("AecUnits.LENGTH"))
174
- this._lengthFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
175
- if (args.formatsChanged === "all" || args.formatsChanged.includes("AecUnits.ANGLE"))
176
- this._angleFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.ANGLE", "Units.RAD");
173
+ if (args.formatsChanged === "all" || args.formatsChanged.includes("DefaultToolsUnits.LENGTH"))
174
+ this._lengthFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.LENGTH", "Units.M");
175
+ if (args.formatsChanged === "all" || args.formatsChanged.includes("DefaultToolsUnits.ANGLE"))
176
+ this._angleFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.ANGLE", "Units.RAD");
177
177
  });
178
178
  this.setupAndPromptForNextAction();
179
179
  }
@@ -656,7 +656,7 @@ class MeasureLocationTool extends PrimitiveTool_1.PrimitiveTool {
656
656
  const isSpatial = (undefined !== this.targetView && this.targetView.view.isSpatialView());
657
657
  const toolTip = document.createElement("div");
658
658
  let toolTipHtml = "";
659
- const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
659
+ const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.LENGTH_COORDINATE", "Units.M");
660
660
  if (undefined !== coordFormatterSpec) {
661
661
  let pointAdjusted = point;
662
662
  if (isSpatial) {
@@ -672,7 +672,7 @@ class MeasureLocationTool extends PrimitiveTool_1.PrimitiveTool {
672
672
  toolTipHtml += "<br>";
673
673
  }
674
674
  if (isSpatial) {
675
- const latLongFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.ANGLE", "Units.RAD");
675
+ const latLongFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.ANGLE", "Units.RAD");
676
676
  if (undefined !== latLongFormatterSpec && undefined !== coordFormatterSpec) {
677
677
  try {
678
678
  const cartographic = await this.iModel.spatialToCartographic(point);
@@ -977,17 +977,17 @@ class MeasureAreaByPointsTool extends PrimitiveTool_1.PrimitiveTool {
977
977
  const isSpatial = (undefined !== this.targetView && this.targetView.view.isSpatialView());
978
978
  const toolTip = document.createElement("div");
979
979
  let toolTipHtml = "";
980
- const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
980
+ const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.AREA", "Units.SQ_M");
981
981
  if (undefined !== areaFormatterSpec) {
982
982
  const formattedArea = IModelApp_1.IModelApp.quantityFormatter.formatQuantity(this._area, areaFormatterSpec);
983
983
  toolTipHtml += `${translateBold("Area") + formattedArea}<br>`;
984
984
  }
985
- const perimeterFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
985
+ const perimeterFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.LENGTH", "Units.M");
986
986
  if (undefined !== perimeterFormatterSpec) {
987
987
  const formattedPerimeter = IModelApp_1.IModelApp.quantityFormatter.formatQuantity(this._perimeter, perimeterFormatterSpec);
988
988
  toolTipHtml += `${translateBold("Perimeter") + formattedPerimeter}<br>`;
989
989
  }
990
- const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
990
+ const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.LENGTH_COORDINATE", "Units.M");
991
991
  if (undefined !== coordFormatterSpec) {
992
992
  let pointAdjusted = this._centroid.clone();
993
993
  if (isSpatial) {
@@ -1026,7 +1026,7 @@ class MeasureAreaByPointsTool extends PrimitiveTool_1.PrimitiveTool {
1026
1026
  const toolTip = await this.getMarkerToolTip();
1027
1027
  this._acceptedMeasurement = new MeasureMarker("1", toolTip, this._centroid, core_geometry_1.Point2d.create(25, 25));
1028
1028
  this._marker = undefined;
1029
- const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
1029
+ const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.AREA", "Units.SQ_M");
1030
1030
  if (undefined === areaFormatterSpec)
1031
1031
  return;
1032
1032
  const formattedTotalArea = IModelApp_1.IModelApp.quantityFormatter.formatQuantity(this._area, areaFormatterSpec);
@@ -1210,7 +1210,7 @@ class MeasureElementTool extends PrimitiveTool_1.PrimitiveTool {
1210
1210
  let toolTipHtml = "";
1211
1211
  switch (this.getOperation()) {
1212
1212
  case core_common_1.MassPropertiesOperation.AccumulateLengths: {
1213
- const distanceFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
1213
+ const distanceFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.LENGTH", "Units.M");
1214
1214
  if (undefined !== distanceFormatterSpec) {
1215
1215
  const formattedLength = IModelApp_1.IModelApp.quantityFormatter.formatQuantity(responseProps.length ? responseProps.length : 0, distanceFormatterSpec);
1216
1216
  toolTipHtml += `${translateBold("Length") + formattedLength}<br>`;
@@ -1218,13 +1218,13 @@ class MeasureElementTool extends PrimitiveTool_1.PrimitiveTool {
1218
1218
  break;
1219
1219
  }
1220
1220
  case core_common_1.MassPropertiesOperation.AccumulateAreas: {
1221
- const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
1221
+ const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.AREA", "Units.SQ_M");
1222
1222
  if (undefined !== areaFormatterSpec) {
1223
1223
  const formattedArea = IModelApp_1.IModelApp.quantityFormatter.formatQuantity(responseProps.area ? responseProps.area : 0, areaFormatterSpec);
1224
1224
  toolTipHtml += `${translateBold("Area") + formattedArea}<br>`;
1225
1225
  }
1226
1226
  if (responseProps.perimeter) {
1227
- const perimeterFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
1227
+ const perimeterFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.LENGTH", "Units.M");
1228
1228
  if (undefined !== perimeterFormatterSpec) {
1229
1229
  const formattedPerimeter = IModelApp_1.IModelApp.quantityFormatter.formatQuantity(responseProps.perimeter, perimeterFormatterSpec);
1230
1230
  toolTipHtml += `${translateBold("Perimeter") + formattedPerimeter}<br>`;
@@ -1233,13 +1233,13 @@ class MeasureElementTool extends PrimitiveTool_1.PrimitiveTool {
1233
1233
  break;
1234
1234
  }
1235
1235
  case core_common_1.MassPropertiesOperation.AccumulateVolumes: {
1236
- const volumeFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.VOLUME", "Units.CUB_M");
1236
+ const volumeFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.VOLUME", "Units.CUB_M");
1237
1237
  if (undefined !== volumeFormatterSpec) {
1238
1238
  const formattedVolume = IModelApp_1.IModelApp.quantityFormatter.formatQuantity(responseProps.volume ? responseProps.volume : 0, volumeFormatterSpec);
1239
1239
  toolTipHtml += `${translateBold("Volume") + formattedVolume}<br>`;
1240
1240
  }
1241
1241
  if (responseProps.area) {
1242
- const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
1242
+ const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.AREA", "Units.SQ_M");
1243
1243
  if (undefined !== areaFormatterSpec) {
1244
1244
  const formattedArea = IModelApp_1.IModelApp.quantityFormatter.formatQuantity(responseProps.area, areaFormatterSpec);
1245
1245
  toolTipHtml += `${translateBold("Area") + formattedArea}<br>`;
@@ -1249,7 +1249,7 @@ class MeasureElementTool extends PrimitiveTool_1.PrimitiveTool {
1249
1249
  }
1250
1250
  }
1251
1251
  if (responseProps.centroid) {
1252
- const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
1252
+ const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.LENGTH", "Units.M");
1253
1253
  if (undefined !== coordFormatterSpec) {
1254
1254
  let pointAdjusted = core_geometry_1.Point3d.fromJSON(responseProps.centroid);
1255
1255
  if (isSpatial) {
@@ -1300,21 +1300,21 @@ class MeasureElementTool extends PrimitiveTool_1.PrimitiveTool {
1300
1300
  return;
1301
1301
  switch (operation) {
1302
1302
  case core_common_1.MassPropertiesOperation.AccumulateLengths:
1303
- const distanceFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
1303
+ const distanceFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.LENGTH", "Units.M");
1304
1304
  if (undefined === distanceFormatterSpec)
1305
1305
  return;
1306
1306
  const formattedTotalDistance = IModelApp_1.IModelApp.quantityFormatter.formatQuantity(this._totalValue, distanceFormatterSpec);
1307
1307
  this._totalMarker = new MeasureLabel(labelPt, formattedTotalDistance);
1308
1308
  break;
1309
1309
  case core_common_1.MassPropertiesOperation.AccumulateAreas:
1310
- const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
1310
+ const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.AREA", "Units.SQ_M");
1311
1311
  if (undefined === areaFormatterSpec)
1312
1312
  return;
1313
1313
  const formattedTotalArea = IModelApp_1.IModelApp.quantityFormatter.formatQuantity(this._totalValue, areaFormatterSpec);
1314
1314
  this._totalMarker = new MeasureLabel(labelPt, formattedTotalArea);
1315
1315
  break;
1316
1316
  case core_common_1.MassPropertiesOperation.AccumulateVolumes:
1317
- const volumeFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.VOLUME", "Units.CUB_M");
1317
+ const volumeFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.VOLUME", "Units.CUB_M");
1318
1318
  if (undefined === volumeFormatterSpec)
1319
1319
  return;
1320
1320
  const formattedTotalVolume = IModelApp_1.IModelApp.quantityFormatter.formatQuantity(this._totalValue, volumeFormatterSpec);