@itwin/editor-frontend 4.5.0-dev.24 → 4.5.0-dev.27

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 (92) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/README.md +0 -29
  3. package/lib/cjs/CreateElementTool.d.ts +62 -0
  4. package/lib/cjs/CreateElementTool.d.ts.map +1 -1
  5. package/lib/cjs/CreateElementTool.js +62 -0
  6. package/lib/cjs/CreateElementTool.js.map +1 -1
  7. package/lib/cjs/EditTool.d.ts +5 -0
  8. package/lib/cjs/EditTool.d.ts.map +1 -1
  9. package/lib/cjs/EditTool.js +10 -14
  10. package/lib/cjs/EditTool.js.map +1 -1
  11. package/lib/cjs/EditToolIpc.d.ts +1 -5
  12. package/lib/cjs/EditToolIpc.d.ts.map +1 -1
  13. package/lib/cjs/EditToolIpc.js +1 -5
  14. package/lib/cjs/EditToolIpc.js.map +1 -1
  15. package/lib/cjs/TransformElementsTool.d.ts +17 -98
  16. package/lib/cjs/TransformElementsTool.d.ts.map +1 -1
  17. package/lib/cjs/TransformElementsTool.js +15 -412
  18. package/lib/cjs/TransformElementsTool.js.map +1 -1
  19. package/lib/cjs/editor-frontend.d.ts +0 -6
  20. package/lib/cjs/editor-frontend.d.ts.map +1 -1
  21. package/lib/cjs/editor-frontend.js +0 -6
  22. package/lib/cjs/editor-frontend.js.map +1 -1
  23. package/lib/esm/CreateElementTool.d.ts +62 -0
  24. package/lib/esm/CreateElementTool.d.ts.map +1 -1
  25. package/lib/esm/CreateElementTool.js +62 -0
  26. package/lib/esm/CreateElementTool.js.map +1 -1
  27. package/lib/esm/EditTool.d.ts +5 -0
  28. package/lib/esm/EditTool.d.ts.map +1 -1
  29. package/lib/esm/EditTool.js +10 -14
  30. package/lib/esm/EditTool.js.map +1 -1
  31. package/lib/esm/EditToolIpc.d.ts +1 -5
  32. package/lib/esm/EditToolIpc.d.ts.map +1 -1
  33. package/lib/esm/EditToolIpc.js +0 -4
  34. package/lib/esm/EditToolIpc.js.map +1 -1
  35. package/lib/esm/TransformElementsTool.d.ts +17 -98
  36. package/lib/esm/TransformElementsTool.d.ts.map +1 -1
  37. package/lib/esm/TransformElementsTool.js +16 -413
  38. package/lib/esm/TransformElementsTool.js.map +1 -1
  39. package/lib/esm/editor-frontend.d.ts +0 -6
  40. package/lib/esm/editor-frontend.d.ts.map +1 -1
  41. package/lib/esm/editor-frontend.js +0 -6
  42. package/lib/esm/editor-frontend.js.map +1 -1
  43. package/lib/public/locales/en/Editor.json +0 -411
  44. package/package.json +14 -14
  45. package/lib/cjs/DeleteElementsTool.d.ts +0 -14
  46. package/lib/cjs/DeleteElementsTool.d.ts.map +0 -1
  47. package/lib/cjs/DeleteElementsTool.js +0 -42
  48. package/lib/cjs/DeleteElementsTool.js.map +0 -1
  49. package/lib/cjs/ElementGeometryTool.d.ts +0 -148
  50. package/lib/cjs/ElementGeometryTool.d.ts.map +0 -1
  51. package/lib/cjs/ElementGeometryTool.js +0 -705
  52. package/lib/cjs/ElementGeometryTool.js.map +0 -1
  53. package/lib/cjs/ModifyCurveTools.d.ts +0 -140
  54. package/lib/cjs/ModifyCurveTools.d.ts.map +0 -1
  55. package/lib/cjs/ModifyCurveTools.js +0 -777
  56. package/lib/cjs/ModifyCurveTools.js.map +0 -1
  57. package/lib/cjs/SketchTools.d.ts +0 -308
  58. package/lib/cjs/SketchTools.d.ts.map +0 -1
  59. package/lib/cjs/SketchTools.js +0 -1708
  60. package/lib/cjs/SketchTools.js.map +0 -1
  61. package/lib/cjs/SolidModelingTools.d.ts +0 -381
  62. package/lib/cjs/SolidModelingTools.d.ts.map +0 -1
  63. package/lib/cjs/SolidModelingTools.js +0 -1453
  64. package/lib/cjs/SolidModelingTools.js.map +0 -1
  65. package/lib/cjs/SolidPrimitiveTools.d.ts +0 -322
  66. package/lib/cjs/SolidPrimitiveTools.d.ts.map +0 -1
  67. package/lib/cjs/SolidPrimitiveTools.js +0 -1376
  68. package/lib/cjs/SolidPrimitiveTools.js.map +0 -1
  69. package/lib/esm/DeleteElementsTool.d.ts +0 -14
  70. package/lib/esm/DeleteElementsTool.d.ts.map +0 -1
  71. package/lib/esm/DeleteElementsTool.js +0 -39
  72. package/lib/esm/DeleteElementsTool.js.map +0 -1
  73. package/lib/esm/ElementGeometryTool.d.ts +0 -148
  74. package/lib/esm/ElementGeometryTool.d.ts.map +0 -1
  75. package/lib/esm/ElementGeometryTool.js +0 -697
  76. package/lib/esm/ElementGeometryTool.js.map +0 -1
  77. package/lib/esm/ModifyCurveTools.d.ts +0 -140
  78. package/lib/esm/ModifyCurveTools.d.ts.map +0 -1
  79. package/lib/esm/ModifyCurveTools.js +0 -772
  80. package/lib/esm/ModifyCurveTools.js.map +0 -1
  81. package/lib/esm/SketchTools.d.ts +0 -308
  82. package/lib/esm/SketchTools.d.ts.map +0 -1
  83. package/lib/esm/SketchTools.js +0 -1704
  84. package/lib/esm/SketchTools.js.map +0 -1
  85. package/lib/esm/SolidModelingTools.d.ts +0 -381
  86. package/lib/esm/SolidModelingTools.d.ts.map +0 -1
  87. package/lib/esm/SolidModelingTools.js +0 -1445
  88. package/lib/esm/SolidModelingTools.js.map +0 -1
  89. package/lib/esm/SolidPrimitiveTools.d.ts +0 -322
  90. package/lib/esm/SolidPrimitiveTools.d.ts.map +0 -1
  91. package/lib/esm/SolidPrimitiveTools.js +0 -1372
  92. package/lib/esm/SolidPrimitiveTools.js.map +0 -1
@@ -32,8 +32,13 @@ export declare class EditTools {
32
32
  * IModelApp.startup();
33
33
  * await EditorTools.initialize();
34
34
  * ```
35
+ * @note This registers tools for element undo and redo.
35
36
  */
36
37
  static initialize(): Promise<void>;
38
+ /** Can be called after initialize to register tools for changing project extents and geolocation.
39
+ * @note Requires backend to register BasicManipulationCommand with EditCommandAdmin.
40
+ */
41
+ static registerProjectLocationTools(): void;
37
42
  private static shutdown;
38
43
  }
39
44
  //# sourceMappingURL=EditTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditTool.d.ts","sourceRoot":"","sources":["../../src/EditTool.ts"],"names":[],"mappings":"AAIA;;GAEG;AAgBH,YAAY;AACZ,yBAAiB,SAAS,CAAC;IACzB,UAAiB,SAAS;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB;IACD;;;;OAIG;IACH,KAAY,SAAS,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACvF;AAED;;;GAGG;AACH,qBAAa,SAAS;IACpB,gBAAuB,SAAS,YAAY;IAC5C,gBAAuB,KAAK,mBAAmB;IAC/C,OAAc,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC;IAC9C,OAAO,CAAC,MAAM,CAAC,YAAY,CAAS;WAEhB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAcjG,gBAAgB;WACF,SAAS,CAAC,MAAM,EAAE,MAAM;IAItC;;;;;;OAMG;WACiB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B/C,OAAO,CAAC,MAAM,CAAC,QAAQ;CAGxB"}
1
+ {"version":3,"file":"EditTool.d.ts","sourceRoot":"","sources":["../../src/EditTool.ts"],"names":[],"mappings":"AAIA;;GAEG;AAUH,YAAY;AACZ,yBAAiB,SAAS,CAAC;IACzB,UAAiB,SAAS;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB;IACD;;;;OAIG;IACH,KAAY,SAAS,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACvF;AAED;;;GAGG;AACH,qBAAa,SAAS;IACpB,gBAAuB,SAAS,YAAY;IAC5C,gBAAuB,KAAK,mBAAmB;IAC/C,OAAc,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC;IAC9C,OAAO,CAAC,MAAM,CAAC,YAAY,CAAS;WAEhB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAcjG,gBAAgB;WACF,SAAS,CAAC,MAAM,EAAE,MAAM;IAItC;;;;;;;OAOG;WACiB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB/C;;OAEG;WACW,4BAA4B,IAAI,IAAI;IAQlD,OAAO,CAAC,MAAM,CAAC,QAAQ;CAGxB"}
@@ -9,14 +9,8 @@ import { BeDuration } from "@itwin/core-bentley";
9
9
  import { IModelApp, IpcApp } from "@itwin/core-frontend";
10
10
  import { editorIpcStrings } from "@itwin/editor-common";
11
11
  import * as UndoRedoTools from "./UndoRedoTool";
12
- import * as DeleteElementsTool from "./DeleteElementsTool";
13
- import * as ModifyCurveTools from "./ModifyCurveTools";
14
12
  import * as ProjectLocation from "./ProjectLocation/ProjectExtentsDecoration";
15
13
  import * as ProjectGeoLocation from "./ProjectLocation/ProjectGeolocation";
16
- import * as SketchTools from "./SketchTools";
17
- import * as SolidModelingTools from "./SolidModelingTools";
18
- import * as SolidPrimitiveTools from "./SolidPrimitiveTools";
19
- import * as TransformTools from "./TransformElementsTool";
20
14
  /**
21
15
  * Supports PrimitiveTool and InputCollector sub-classes.
22
16
  * @beta
@@ -46,6 +40,7 @@ class EditTools {
46
40
  * IModelApp.startup();
47
41
  * await EditorTools.initialize();
48
42
  * ```
43
+ * @note This registers tools for element undo and redo.
49
44
  */
50
45
  static async initialize() {
51
46
  if (this._initialized)
@@ -56,16 +51,17 @@ class EditTools {
56
51
  const namespacePromise = IModelApp.localization.registerNamespace(this.namespace);
57
52
  const tools = IModelApp.tools;
58
53
  tools.registerModule(UndoRedoTools, this.namespace);
59
- // TODO: TEMPORARY - Register tools for testing. To be moved into apps.
54
+ return namespacePromise;
55
+ }
56
+ /** Can be called after initialize to register tools for changing project extents and geolocation.
57
+ * @note Requires backend to register BasicManipulationCommand with EditCommandAdmin.
58
+ */
59
+ static registerProjectLocationTools() {
60
+ if (!this._initialized)
61
+ return;
62
+ const tools = IModelApp.tools;
60
63
  tools.registerModule(ProjectLocation, this.namespace);
61
64
  tools.registerModule(ProjectGeoLocation, this.namespace);
62
- tools.registerModule(SketchTools, this.namespace);
63
- tools.registerModule(SolidModelingTools, this.namespace);
64
- tools.registerModule(SolidPrimitiveTools, this.namespace);
65
- tools.registerModule(TransformTools, this.namespace);
66
- tools.registerModule(DeleteElementsTool, this.namespace);
67
- tools.registerModule(ModifyCurveTools, this.namespace);
68
- return namespacePromise;
69
65
  }
70
66
  static shutdown() {
71
67
  this._initialized = false;
@@ -1 +1 @@
1
- {"version":3,"file":"EditTool.js","sourceRoot":"","sources":["../../src/EditTool.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Editing\r\n */\r\n\r\nimport { BeDuration } from \"@itwin/core-bentley\";\r\nimport { IModelApp, IpcApp } from \"@itwin/core-frontend\";\r\nimport { editorIpcStrings } from \"@itwin/editor-common\";\r\n\r\nimport * as UndoRedoTools from \"./UndoRedoTool\";\r\nimport * as DeleteElementsTool from \"./DeleteElementsTool\";\r\nimport * as ModifyCurveTools from \"./ModifyCurveTools\";\r\nimport * as ProjectLocation from \"./ProjectLocation/ProjectExtentsDecoration\";\r\nimport * as ProjectGeoLocation from \"./ProjectLocation/ProjectGeolocation\";\r\nimport * as SketchTools from \"./SketchTools\";\r\nimport * as SolidModelingTools from \"./SolidModelingTools\";\r\nimport * as SolidPrimitiveTools from \"./SolidPrimitiveTools\";\r\nimport * as TransformTools from \"./TransformElementsTool\";\r\n\r\n/** @beta */\r\nexport namespace EditTools {\r\n export interface StartArgs {\r\n commandId: string;\r\n iModelKey: string;\r\n }\r\n /** handler for retries when an EditTool attempts to start but a backend command is busy and can't finish its work.\r\n * @param attempt the number of times this handler was previously called for this EditTool\r\n * @param msg the message about what's happening from the currently busy EditCommand.\r\n * @returns the delay (in milliseconds) before attempting again. If `undefined` use default (usually 1 second)\r\n */\r\n export type BusyRetry = (attempt: number, msg: string) => Promise<number | undefined>;\r\n}\r\n\r\n/**\r\n * Supports PrimitiveTool and InputCollector sub-classes.\r\n * @beta\r\n */\r\nexport class EditTools {\r\n public static readonly namespace = \"Editor\";\r\n public static readonly tools = \"Editor:tools.\";\r\n public static busyRetry?: EditTools.BusyRetry;\r\n private static _initialized = false;\r\n\r\n public static async startCommand<T>(startArg: EditTools.StartArgs, ...cmdArgs: any[]): Promise<T> {\r\n let attempt = 0;\r\n while (true) {\r\n try {\r\n return await (IpcApp.callIpcChannel(editorIpcStrings.channel, \"startCommand\", startArg.commandId, startArg.iModelKey, ...cmdArgs) as Promise<T>);\r\n } catch (e: any) {\r\n if (e.name !== editorIpcStrings.commandBusy)\r\n throw e; // unknown backend error\r\n const delay = await this.busyRetry?.(attempt++, e.message) ?? 1000;\r\n await BeDuration.fromMilliseconds(delay).wait();\r\n }\r\n }\r\n }\r\n\r\n /** @internal */\r\n public static translate(prompt: string) {\r\n return IModelApp.localization.getLocalizedString(this.tools + prompt);\r\n }\r\n\r\n /** Call this before using the package (e.g., before attempting to use any of its tools.)\r\n * To initialize when starting up your app:\r\n * ```ts\r\n * IModelApp.startup();\r\n * await EditorTools.initialize();\r\n * ```\r\n */\r\n public static async initialize(): Promise<void> {\r\n if (this._initialized)\r\n return;\r\n\r\n this._initialized = true;\r\n\r\n // clean up if we're being shut down\r\n IModelApp.onBeforeShutdown.addListener(() => this.shutdown());\r\n\r\n const namespacePromise = IModelApp.localization.registerNamespace(this.namespace);\r\n\r\n const tools = IModelApp.tools;\r\n tools.registerModule(UndoRedoTools, this.namespace);\r\n\r\n // TODO: TEMPORARY - Register tools for testing. To be moved into apps.\r\n tools.registerModule(ProjectLocation, this.namespace);\r\n tools.registerModule(ProjectGeoLocation, this.namespace);\r\n tools.registerModule(SketchTools, this.namespace);\r\n tools.registerModule(SolidModelingTools, this.namespace);\r\n tools.registerModule(SolidPrimitiveTools, this.namespace);\r\n tools.registerModule(TransformTools, this.namespace);\r\n tools.registerModule(DeleteElementsTool, this.namespace);\r\n tools.registerModule(ModifyCurveTools, this.namespace);\r\n\r\n return namespacePromise;\r\n }\r\n\r\n private static shutdown() {\r\n this._initialized = false;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"EditTool.js","sourceRoot":"","sources":["../../src/EditTool.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,eAAe,MAAM,4CAA4C,CAAC;AAC9E,OAAO,KAAK,kBAAkB,MAAM,sCAAsC,CAAC;AAgB3E;;;GAGG;AACH,MAAa,SAAS;IAMb,MAAM,CAAC,KAAK,CAAC,YAAY,CAAI,QAA6B,EAAE,GAAG,OAAc;QAClF,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,OAAO,IAAI,EAAE;YACX,IAAI;gBACF,OAAO,MAAO,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,GAAG,OAAO,CAAgB,CAAC;aAClJ;YAAC,OAAO,CAAM,EAAE;gBACf,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,WAAW;oBACzC,MAAM,CAAC,CAAC,CAAC,wBAAwB;gBACnC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;gBACnE,MAAM,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;aACjD;SACF;IACH,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,SAAS,CAAC,MAAc;QACpC,OAAO,SAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,KAAK,CAAC,UAAU;QAC5B,IAAI,IAAI,CAAC,YAAY;YACnB,OAAO;QAET,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,oCAAoC;QACpC,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE9D,MAAM,gBAAgB,GAAG,SAAS,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAElF,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QAC9B,KAAK,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAEpD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,4BAA4B;QACxC,IAAI,CAAC,IAAI,CAAC,YAAY;YACpB,OAAO;QACT,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QAC9B,KAAK,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,KAAK,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;IAEO,MAAM,CAAC,QAAQ;QACrB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;;AA9DsB,mBAAS,GAAG,QAAQ,CAAC;AACrB,eAAK,GAAG,eAAe,CAAC;AAEhC,sBAAY,GAAG,KAAK,CAAC;SAJzB,SAAS","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Editing\r\n */\r\n\r\nimport { BeDuration } from \"@itwin/core-bentley\";\r\nimport { IModelApp, IpcApp } from \"@itwin/core-frontend\";\r\nimport { editorIpcStrings } from \"@itwin/editor-common\";\r\n\r\nimport * as UndoRedoTools from \"./UndoRedoTool\";\r\nimport * as ProjectLocation from \"./ProjectLocation/ProjectExtentsDecoration\";\r\nimport * as ProjectGeoLocation from \"./ProjectLocation/ProjectGeolocation\";\r\n\r\n/** @beta */\r\nexport namespace EditTools {\r\n export interface StartArgs {\r\n commandId: string;\r\n iModelKey: string;\r\n }\r\n /** handler for retries when an EditTool attempts to start but a backend command is busy and can't finish its work.\r\n * @param attempt the number of times this handler was previously called for this EditTool\r\n * @param msg the message about what's happening from the currently busy EditCommand.\r\n * @returns the delay (in milliseconds) before attempting again. If `undefined` use default (usually 1 second)\r\n */\r\n export type BusyRetry = (attempt: number, msg: string) => Promise<number | undefined>;\r\n}\r\n\r\n/**\r\n * Supports PrimitiveTool and InputCollector sub-classes.\r\n * @beta\r\n */\r\nexport class EditTools {\r\n public static readonly namespace = \"Editor\";\r\n public static readonly tools = \"Editor:tools.\";\r\n public static busyRetry?: EditTools.BusyRetry;\r\n private static _initialized = false;\r\n\r\n public static async startCommand<T>(startArg: EditTools.StartArgs, ...cmdArgs: any[]): Promise<T> {\r\n let attempt = 0;\r\n while (true) {\r\n try {\r\n return await (IpcApp.callIpcChannel(editorIpcStrings.channel, \"startCommand\", startArg.commandId, startArg.iModelKey, ...cmdArgs) as Promise<T>);\r\n } catch (e: any) {\r\n if (e.name !== editorIpcStrings.commandBusy)\r\n throw e; // unknown backend error\r\n const delay = await this.busyRetry?.(attempt++, e.message) ?? 1000;\r\n await BeDuration.fromMilliseconds(delay).wait();\r\n }\r\n }\r\n }\r\n\r\n /** @internal */\r\n public static translate(prompt: string) {\r\n return IModelApp.localization.getLocalizedString(this.tools + prompt);\r\n }\r\n\r\n /** Call this before using the package (e.g., before attempting to use any of its tools.)\r\n * To initialize when starting up your app:\r\n * ```ts\r\n * IModelApp.startup();\r\n * await EditorTools.initialize();\r\n * ```\r\n * @note This registers tools for element undo and redo.\r\n */\r\n public static async initialize(): Promise<void> {\r\n if (this._initialized)\r\n return;\r\n\r\n this._initialized = true;\r\n\r\n // clean up if we're being shut down\r\n IModelApp.onBeforeShutdown.addListener(() => this.shutdown());\r\n\r\n const namespacePromise = IModelApp.localization.registerNamespace(this.namespace);\r\n\r\n const tools = IModelApp.tools;\r\n tools.registerModule(UndoRedoTools, this.namespace);\r\n\r\n return namespacePromise;\r\n }\r\n\r\n /** Can be called after initialize to register tools for changing project extents and geolocation.\r\n * @note Requires backend to register BasicManipulationCommand with EditCommandAdmin.\r\n */\r\n public static registerProjectLocationTools(): void {\r\n if (!this._initialized)\r\n return;\r\n const tools = IModelApp.tools;\r\n tools.registerModule(ProjectLocation, this.namespace);\r\n tools.registerModule(ProjectGeoLocation, this.namespace);\r\n }\r\n\r\n private static shutdown() {\r\n this._initialized = false;\r\n }\r\n}\r\n"]}
@@ -2,7 +2,7 @@
2
2
  * @module Editing
3
3
  */
4
4
  import { PickAsyncMethods } from "@itwin/core-bentley";
5
- import { BasicManipulationCommandIpc, EditCommandIpc, SolidModelingCommandIpc } from "@itwin/editor-common";
5
+ import { BasicManipulationCommandIpc, EditCommandIpc } from "@itwin/editor-common";
6
6
  /**
7
7
  * Create a type safe Proxy object to make IPC calls from [[EditTools]] to methods of an `EditCommandIpc` interface of the current `EditCommand`.
8
8
  * @beta
@@ -12,8 +12,4 @@ export declare function makeEditToolIpc<K extends EditCommandIpc>(): PickAsyncMe
12
12
  * @internal
13
13
  */
14
14
  export declare const basicManipulationIpc: PickAsyncMethods<BasicManipulationCommandIpc>;
15
- /** Proxy for calling methods in `SolidModelingCommandIpc`
16
- * @internal
17
- */
18
- export declare const solidModelingIpc: PickAsyncMethods<SolidModelingCommandIpc>;
19
15
  //# sourceMappingURL=EditToolIpc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditToolIpc.d.ts","sourceRoot":"","sources":["../../src/EditToolIpc.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,2BAA2B,EAAE,cAAc,EAAoB,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE9H;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,cAAc,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAE/E;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,+CAAiD,CAAC;AACnF;;EAEE;AACF,eAAO,MAAM,gBAAgB,2CAA6C,CAAC"}
1
+ {"version":3,"file":"EditToolIpc.d.ts","sourceRoot":"","sources":["../../src/EditToolIpc.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,2BAA2B,EAAE,cAAc,EAAoB,MAAM,sBAAsB,CAAC;AAErG;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,cAAc,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAE/E;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,+CAAiD,CAAC"}
@@ -18,8 +18,4 @@ export function makeEditToolIpc() {
18
18
  * @internal
19
19
  */
20
20
  export const basicManipulationIpc = makeEditToolIpc();
21
- /** Proxy for calling methods in `SolidModelingCommandIpc`
22
- * @internal
23
- */
24
- export const solidModelingIpc = makeEditToolIpc();
25
21
  //# sourceMappingURL=EditToolIpc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditToolIpc.js","sourceRoot":"","sources":["../../src/EditToolIpc.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAA+C,gBAAgB,EAA2B,MAAM,sBAAsB,CAAC;AAE9H;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,MAAM,CAAC,oBAAoB,CAAI,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,EAA+B,CAAC;AACnF;;EAEE;AACF,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,EAA2B,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Editing\r\n */\r\n\r\nimport { PickAsyncMethods } from \"@itwin/core-bentley\";\r\nimport { IpcApp } from \"@itwin/core-frontend\";\r\nimport { BasicManipulationCommandIpc, EditCommandIpc, editorIpcStrings, SolidModelingCommandIpc } from \"@itwin/editor-common\";\r\n\r\n/**\r\n * Create a type safe Proxy object to make IPC calls from [[EditTools]] to methods of an `EditCommandIpc` interface of the current `EditCommand`.\r\n * @beta\r\n */\r\nexport function makeEditToolIpc<K extends EditCommandIpc>(): PickAsyncMethods<K> {\r\n return IpcApp.makeIpcFunctionProxy<K>(editorIpcStrings.channel, \"callMethod\");\r\n}\r\n\r\n/** Proxy for calling methods in `BasicManipulationCommandIpc`\r\n * @internal\r\n */\r\nexport const basicManipulationIpc = makeEditToolIpc<BasicManipulationCommandIpc>();\r\n/** Proxy for calling methods in `SolidModelingCommandIpc`\r\n* @internal\r\n*/\r\nexport const solidModelingIpc = makeEditToolIpc<SolidModelingCommandIpc>();\r\n"]}
1
+ {"version":3,"file":"EditToolIpc.js","sourceRoot":"","sources":["../../src/EditToolIpc.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAA+C,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAErG;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,MAAM,CAAC,oBAAoB,CAAI,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,EAA+B,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Editing\r\n */\r\n\r\nimport { PickAsyncMethods } from \"@itwin/core-bentley\";\r\nimport { IpcApp } from \"@itwin/core-frontend\";\r\nimport { BasicManipulationCommandIpc, EditCommandIpc, editorIpcStrings } from \"@itwin/editor-common\";\r\n\r\n/**\r\n * Create a type safe Proxy object to make IPC calls from [[EditTools]] to methods of an `EditCommandIpc` interface of the current `EditCommand`.\r\n * @beta\r\n */\r\nexport function makeEditToolIpc<K extends EditCommandIpc>(): PickAsyncMethods<K> {\r\n return IpcApp.makeIpcFunctionProxy<K>(editorIpcStrings.channel, \"callMethod\");\r\n}\r\n\r\n/** Proxy for calling methods in `BasicManipulationCommandIpc`\r\n * @internal\r\n */\r\nexport const basicManipulationIpc = makeEditToolIpc<BasicManipulationCommandIpc>();\r\n\r\n"]}
@@ -1,11 +1,10 @@
1
1
  /** @packageDocumentation
2
2
  * @module Editing
3
3
  */
4
- import { DialogItem, DialogProperty, DialogPropertySyncItem } from "@itwin/appui-abstract";
5
- import { Id64Arg, Id64Array, Id64String } from "@itwin/core-bentley";
4
+ import { Id64Arg, Id64String } from "@itwin/core-bentley";
6
5
  import { Placement } from "@itwin/core-common";
7
- import { BeButtonEvent, DynamicsContext, ElementSetTool, IModelConnection, RenderGraphic, RenderGraphicOwner, ToolAssistanceInstruction } from "@itwin/core-frontend";
8
- import { Point3d, Transform } from "@itwin/core-geometry";
6
+ import { BeButtonEvent, DynamicsContext, ElementSetTool, IModelConnection, RenderGraphic, RenderGraphicOwner } from "@itwin/core-frontend";
7
+ import { Transform } from "@itwin/core-geometry";
9
8
  /** Geometric element id, placement, and RenderGraphic managed by [[TransformGraphicsProvider]].
10
9
  * @beta
11
10
  */
@@ -48,6 +47,20 @@ export declare class TransformGraphicsProvider {
48
47
  addGraphics(transform: Transform, context: DynamicsContext): void;
49
48
  }
50
49
  /** Edit tool base class for applying a transform to element placements.
50
+ * Example of a tool that would translate elements:
51
+ * ```ts
52
+ * class SampleMoveElementsTool extends TransformElementsTool {
53
+ * public static override toolId = "SampleMoveElements";
54
+ * public static override iconSpec = "icon-move";
55
+ * protected calculateTransform(ev: BeButtonEvent): Transform | undefined {
56
+ * return (this.anchorPoint ? Transform.createTranslation(ev.point.minus(this.anchorPoint)) : undefined);
57
+ * }
58
+ * public async onRestartTool(): Promise<void> {
59
+ * const tool = new SampleMoveElementsTool();
60
+ * if (!await tool.run()) return this.exitTool();
61
+ * }
62
+ * }
63
+ * ```
51
64
  * @beta
52
65
  */
53
66
  export declare abstract class TransformElementsTool extends ElementSetTool {
@@ -77,98 +90,4 @@ export declare abstract class TransformElementsTool extends ElementSetTool {
77
90
  onProcessComplete(): Promise<void>;
78
91
  onCleanup(): Promise<void>;
79
92
  }
80
- /** @alpha Move elements by applying translation to placement. */
81
- export declare class MoveElementsTool extends TransformElementsTool {
82
- static toolId: string;
83
- static iconSpec: string;
84
- protected calculateTransform(ev: BeButtonEvent): Transform | undefined;
85
- protected provideToolAssistance(_mainInstrText?: string, _additionalInstr?: ToolAssistanceInstruction[]): void;
86
- onRestartTool(): Promise<void>;
87
- }
88
- /** Create new elements with translation applied to placement.
89
- * This is a brute force implementation strictly for example and testing purposes.
90
- * The new elements are Generic:PhysicalObject or BisCore:DrawingGraphic using the model and category of original.
91
- * Does not preserve assemblies and geometric elements without geometry are not copied.
92
- * Using loadProps to return json format geometry to the frontend for each element in the tool agenda is very inefficient.
93
- * Applications that wish to support copy are expected to sub-class TransformElementsTool and register their
94
- * own EditCommand that can correctly copy their application elements.
95
- * @alpha
96
- */
97
- export declare class CopyElementsTool extends MoveElementsTool {
98
- static toolId: string;
99
- static iconSpec: string;
100
- static get minArgs(): number;
101
- static get maxArgs(): number;
102
- private _numCopiesProperty;
103
- get numCopiesProperty(): DialogProperty<number>;
104
- get numCopies(): number;
105
- set numCopies(value: number);
106
- protected get wantMakeCopy(): boolean;
107
- protected updateAnchorLocation(transform: Transform): void;
108
- protected doTransformedCopy(ids: Id64Array, transform: Transform, numCopies: number): Promise<Id64Arg | undefined>;
109
- protected transformAndCopyAgenda(transform: Transform): Promise<Id64Arg | undefined>;
110
- applyToolSettingPropertyChange(updatedValue: DialogPropertySyncItem): Promise<boolean>;
111
- supplyToolSettingsProperties(): DialogItem[] | undefined;
112
- onRestartTool(): Promise<void>;
113
- /** The keyin takes the following arguments, all of which are optional:
114
- * - `numCopies=number` Number of copies of each element to create, default is 1.
115
- */
116
- parseAndRun(...inputArgs: string[]): Promise<boolean>;
117
- }
118
- /** @alpha */
119
- export declare enum RotateMethod {
120
- By3Points = 0,
121
- ByAngle = 1
122
- }
123
- /** @alpha */
124
- export declare enum RotateAbout {
125
- Point = 0,
126
- Origin = 1,
127
- Center = 2
128
- }
129
- /** @alpha Rotate elements by applying transform to placement. */
130
- export declare class RotateElementsTool extends TransformElementsTool {
131
- static toolId: string;
132
- static iconSpec: string;
133
- protected xAxisPoint?: Point3d;
134
- protected havePivotPoint: boolean;
135
- protected haveFinalPoint: boolean;
136
- static get minArgs(): number;
137
- static get maxArgs(): number;
138
- private static methodMessage;
139
- private static getMethodChoices;
140
- private _methodProperty;
141
- get methodProperty(): DialogProperty<number>;
142
- get rotateMethod(): RotateMethod;
143
- set rotateMethod(method: RotateMethod);
144
- private static aboutMessage;
145
- private static getAboutChoices;
146
- private _aboutProperty;
147
- get aboutProperty(): DialogProperty<number>;
148
- get rotateAbout(): RotateAbout;
149
- set rotateAbout(method: RotateAbout);
150
- private _angleProperty;
151
- get angleProperty(): DialogProperty<number>;
152
- get rotateAngle(): number;
153
- set rotateAngle(value: number);
154
- protected get requireAcceptForSelectionSetDynamics(): boolean;
155
- protected calculateTransform(ev: BeButtonEvent): Transform | undefined;
156
- protected transformAgendaDynamics(transform: Transform, context: DynamicsContext): void;
157
- protected transformAgenda(transform: Transform): Promise<void>;
158
- onDynamicFrame(ev: BeButtonEvent, context: DynamicsContext): void;
159
- protected get wantAdditionalInput(): boolean;
160
- protected wantProcessAgenda(ev: BeButtonEvent): boolean;
161
- protected setupAndPromptForNextAction(): void;
162
- protected provideToolAssistance(_mainInstrText?: string, _additionalInstr?: ToolAssistanceInstruction[]): void;
163
- applyToolSettingPropertyChange(updatedValue: DialogPropertySyncItem): Promise<boolean>;
164
- supplyToolSettingsProperties(): DialogItem[] | undefined;
165
- onRestartTool(): Promise<void>;
166
- onInstall(): Promise<boolean>;
167
- /** The keyin takes the following arguments, all of which are optional:
168
- * - `method=0|1` How rotate angle will be specified. 0 for by 3 points, 1 for by specified angle.
169
- * - `about=0|1|2` Location to rotate about. 0 for point, 1 for placement origin, and 2 for center of range.
170
- * - `angle=number` Rotation angle in degrees when not defining angle by points.
171
- */
172
- parseAndRun(...inputArgs: string[]): Promise<boolean>;
173
- }
174
93
  //# sourceMappingURL=TransformElementsTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransformElementsTool.d.ts","sourceRoot":"","sources":["../../src/TransformElementsTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransformElementsTool.d.ts","sourceRoot":"","sources":["../../src/TransformElementsTool.ts"],"names":[],"mappings":"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"}