@itwin/editor-frontend 3.0.0-extension.1 → 3.1.0-dev.6

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 (60) hide show
  1. package/CHANGELOG.md +76 -1
  2. package/LICENSE.md +1 -1
  3. package/lib/cjs/EditTool.d.ts.map +1 -1
  4. package/lib/cjs/EditTool.js +18 -7
  5. package/lib/cjs/EditTool.js.map +1 -1
  6. package/lib/cjs/ElementGeometryTool.d.ts +64 -80
  7. package/lib/cjs/ElementGeometryTool.d.ts.map +1 -1
  8. package/lib/cjs/ElementGeometryTool.js +333 -295
  9. package/lib/cjs/ElementGeometryTool.js.map +1 -1
  10. package/lib/cjs/ProjectLocation/ProjectGeolocation.d.ts +10 -17
  11. package/lib/cjs/ProjectLocation/ProjectGeolocation.d.ts.map +1 -1
  12. package/lib/cjs/ProjectLocation/ProjectGeolocation.js +54 -94
  13. package/lib/cjs/ProjectLocation/ProjectGeolocation.js.map +1 -1
  14. package/lib/cjs/SketchTools.d.ts +21 -9
  15. package/lib/cjs/SketchTools.d.ts.map +1 -1
  16. package/lib/cjs/SketchTools.js +197 -204
  17. package/lib/cjs/SketchTools.js.map +1 -1
  18. package/lib/cjs/SolidModelingTools.d.ts +381 -0
  19. package/lib/cjs/SolidModelingTools.d.ts.map +1 -0
  20. package/lib/cjs/SolidModelingTools.js +1460 -0
  21. package/lib/cjs/SolidModelingTools.js.map +1 -0
  22. package/lib/cjs/TransformElementsTool.d.ts.map +1 -1
  23. package/lib/cjs/TransformElementsTool.js +8 -28
  24. package/lib/cjs/TransformElementsTool.js.map +1 -1
  25. package/lib/cjs/UndoRedoTool.js +1 -1
  26. package/lib/cjs/UndoRedoTool.js.map +1 -1
  27. package/lib/cjs/editor-frontend.d.ts +1 -0
  28. package/lib/cjs/editor-frontend.d.ts.map +1 -1
  29. package/lib/cjs/editor-frontend.js +1 -0
  30. package/lib/cjs/editor-frontend.js.map +1 -1
  31. package/lib/esm/EditTool.d.ts.map +1 -1
  32. package/lib/esm/EditTool.js +14 -3
  33. package/lib/esm/EditTool.js.map +1 -1
  34. package/lib/esm/ElementGeometryTool.d.ts +64 -80
  35. package/lib/esm/ElementGeometryTool.d.ts.map +1 -1
  36. package/lib/esm/ElementGeometryTool.js +334 -290
  37. package/lib/esm/ElementGeometryTool.js.map +1 -1
  38. package/lib/esm/ProjectLocation/ProjectGeolocation.d.ts +10 -17
  39. package/lib/esm/ProjectLocation/ProjectGeolocation.d.ts.map +1 -1
  40. package/lib/esm/ProjectLocation/ProjectGeolocation.js +54 -94
  41. package/lib/esm/ProjectLocation/ProjectGeolocation.js.map +1 -1
  42. package/lib/esm/SketchTools.d.ts +21 -9
  43. package/lib/esm/SketchTools.d.ts.map +1 -1
  44. package/lib/esm/SketchTools.js +198 -205
  45. package/lib/esm/SketchTools.js.map +1 -1
  46. package/lib/esm/SolidModelingTools.d.ts +381 -0
  47. package/lib/esm/SolidModelingTools.d.ts.map +1 -0
  48. package/lib/esm/SolidModelingTools.js +1435 -0
  49. package/lib/esm/SolidModelingTools.js.map +1 -0
  50. package/lib/esm/TransformElementsTool.d.ts.map +1 -1
  51. package/lib/esm/TransformElementsTool.js +8 -28
  52. package/lib/esm/TransformElementsTool.js.map +1 -1
  53. package/lib/esm/UndoRedoTool.js +1 -1
  54. package/lib/esm/UndoRedoTool.js.map +1 -1
  55. package/lib/esm/editor-frontend.d.ts +1 -0
  56. package/lib/esm/editor-frontend.d.ts.map +1 -1
  57. package/lib/esm/editor-frontend.js +1 -0
  58. package/lib/esm/editor-frontend.js.map +1 -1
  59. package/lib/public/locales/en/Editor.json +141 -3
  60. package/package.json +16 -24
package/CHANGELOG.md CHANGED
@@ -1,6 +1,81 @@
1
1
  # Change Log - @itwin/editor-frontend
2
2
 
3
- This log was last generated on Tue, 21 Sep 2021 21:06:40 GMT and should not be manually modified.
3
+ This log was last generated on Wed, 12 Jan 2022 14:52:38 GMT and should not be manually modified.
4
+
5
+ ## 2.19.28
6
+ Wed, 12 Jan 2022 14:52:38 GMT
7
+
8
+ _Version update only_
9
+
10
+ ## 2.19.27
11
+ Wed, 05 Jan 2022 20:07:20 GMT
12
+
13
+ _Version update only_
14
+
15
+ ## 2.19.26
16
+ Wed, 08 Dec 2021 20:54:52 GMT
17
+
18
+ _Version update only_
19
+
20
+ ## 2.19.25
21
+ Fri, 03 Dec 2021 20:05:49 GMT
22
+
23
+ _Version update only_
24
+
25
+ ## 2.19.24
26
+ Mon, 29 Nov 2021 18:44:31 GMT
27
+
28
+ _Version update only_
29
+
30
+ ## 2.19.23
31
+ Mon, 22 Nov 2021 20:41:39 GMT
32
+
33
+ _Version update only_
34
+
35
+ ## 2.19.22
36
+ Wed, 17 Nov 2021 01:23:26 GMT
37
+
38
+ _Version update only_
39
+
40
+ ## 2.19.21
41
+ Wed, 10 Nov 2021 10:58:24 GMT
42
+
43
+ _Version update only_
44
+
45
+ ## 2.19.20
46
+ Fri, 29 Oct 2021 16:14:22 GMT
47
+
48
+ _Version update only_
49
+
50
+ ## 2.19.19
51
+ Mon, 25 Oct 2021 16:16:25 GMT
52
+
53
+ _Version update only_
54
+
55
+ ## 2.19.18
56
+ Thu, 21 Oct 2021 20:59:44 GMT
57
+
58
+ _Version update only_
59
+
60
+ ## 2.19.17
61
+ Thu, 14 Oct 2021 21:19:43 GMT
62
+
63
+ _Version update only_
64
+
65
+ ## 2.19.16
66
+ Mon, 11 Oct 2021 17:37:46 GMT
67
+
68
+ _Version update only_
69
+
70
+ ## 2.19.15
71
+ Fri, 08 Oct 2021 16:44:23 GMT
72
+
73
+ _Version update only_
74
+
75
+ ## 2.19.14
76
+ Fri, 01 Oct 2021 13:07:03 GMT
77
+
78
+ _Version update only_
4
79
 
5
80
  ## 2.19.13
6
81
  Tue, 21 Sep 2021 21:06:40 GMT
package/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # MIT License
2
2
 
3
- Copyright © 2017-2021 Bentley Systems, Incorporated. All rights reserved.
3
+ Copyright © 2017-2022 Bentley Systems, Incorporated. All rights reserved.
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"EditTool.d.ts","sourceRoot":"","sources":["../../src/EditTool.ts"],"names":[],"mappings":"AAIA;;GAEG;AAYH,mDAAmD;AACnD,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACpC,uDAAuD;IACvD,qBAAqB,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACzC,0FAA0F;IAC1F,4BAA4B,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAChD,gEAAgE;IAChE,8BAA8B,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAClD,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACvC,4DAA4D;IAC5D,0BAA0B,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CAC/C;AAED,uGAAuG;AACvG,qBAAa,SAAS;IACpB,OAAc,SAAS,SAAY;IACnC,OAAc,KAAK,SAAmB;IACtC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAS;WAEhB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;WAIjF,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjF,gBAAgB;WACF,SAAS,CAAC,MAAM,EAAE,MAAM;IAEtC;;;;;;OAMG;WACiB,UAAU,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CAgFvE"}
1
+ {"version":3,"file":"EditTool.d.ts","sourceRoot":"","sources":["../../src/EditTool.ts"],"names":[],"mappings":"AAIA;;GAEG;AAYH,mDAAmD;AACnD,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACpC,uDAAuD;IACvD,qBAAqB,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACzC,0FAA0F;IAC1F,4BAA4B,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAChD,gEAAgE;IAChE,8BAA8B,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAClD,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACvC,4DAA4D;IAC5D,0BAA0B,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CAC/C;AAED,uGAAuG;AACvG,qBAAa,SAAS;IACpB,OAAc,SAAS,SAAY;IACnC,OAAc,KAAK,SAAmB;IACtC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAS;WAEhB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;WAIjF,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjF,gBAAgB;WACF,SAAS,CAAC,MAAM,EAAE,MAAM;IAEtC;;;;;;OAMG;WACiB,UAAU,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CA2FvE"}
@@ -11,7 +11,7 @@ exports.EditTools = void 0;
11
11
  const editor_common_1 = require("@itwin/editor-common");
12
12
  const core_frontend_1 = require("@itwin/core-frontend");
13
13
  const DeleteElementsTool_1 = require("./DeleteElementsTool");
14
- const ElementGeometryTool_1 = require("./ElementGeometryTool");
14
+ const SolidModelingTools_1 = require("./SolidModelingTools");
15
15
  const ProjectExtentsDecoration_1 = require("./ProjectLocation/ProjectExtentsDecoration");
16
16
  const ProjectGeolocation_1 = require("./ProjectLocation/ProjectGeolocation");
17
17
  const SketchTools_1 = require("./SketchTools");
@@ -89,12 +89,23 @@ class EditTools {
89
89
  }
90
90
  if (registerAllTools || (options === null || options === void 0 ? void 0 : options.registerSolidModelingTools)) {
91
91
  const tools = [
92
- ElementGeometryTool_1.OffsetFacesTool,
93
- ElementGeometryTool_1.HollowFacesTool,
94
- ElementGeometryTool_1.UniteSolidElementsTool,
95
- ElementGeometryTool_1.SubtractSolidElementsTool,
96
- ElementGeometryTool_1.IntersectSolidElementsTool,
97
- ElementGeometryTool_1.SewSheetElementsTool,
92
+ SolidModelingTools_1.UniteSolidElementsTool,
93
+ SolidModelingTools_1.SubtractSolidElementsTool,
94
+ SolidModelingTools_1.IntersectSolidElementsTool,
95
+ SolidModelingTools_1.SewSheetElementsTool,
96
+ SolidModelingTools_1.ThickenSheetElementsTool,
97
+ SolidModelingTools_1.CutSolidElementsTool,
98
+ SolidModelingTools_1.EmbossSolidElementsTool,
99
+ SolidModelingTools_1.ImprintSolidElementsTool,
100
+ SolidModelingTools_1.SweepAlongPathTool,
101
+ SolidModelingTools_1.LoftProfilesTool,
102
+ SolidModelingTools_1.OffsetFacesTool,
103
+ SolidModelingTools_1.HollowFacesTool,
104
+ SolidModelingTools_1.SweepFacesTool,
105
+ SolidModelingTools_1.SpinFacesTool,
106
+ SolidModelingTools_1.RoundEdgesTool,
107
+ SolidModelingTools_1.ChamferEdgesTool,
108
+ SolidModelingTools_1.DeleteSubEntitiesTool,
98
109
  ];
99
110
  for (const tool of tools)
100
111
  tool.register(this.namespace);
@@ -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 { editorChannel } from \"@itwin/editor-common\";\r\nimport { IModelApp, IpcApp } from \"@itwin/core-frontend\";\r\nimport { DeleteElementsTool } from \"./DeleteElementsTool\";\r\nimport { HollowFacesTool, IntersectSolidElementsTool, OffsetFacesTool, SewSheetElementsTool, SubtractSolidElementsTool, UniteSolidElementsTool } from \"./ElementGeometryTool\";\r\nimport { ProjectLocationCancelTool, ProjectLocationHideTool, ProjectLocationSaveTool, ProjectLocationShowTool } from \"./ProjectLocation/ProjectExtentsDecoration\";\r\nimport { ProjectGeolocationMoveTool, ProjectGeolocationNorthTool, ProjectGeolocationPointTool } from \"./ProjectLocation/ProjectGeolocation\";\r\nimport { CreateArcTool, CreateBCurveTool, CreateCircleTool, CreateEllipseTool, CreateLineStringTool, CreateRectangleTool } from \"./SketchTools\";\r\nimport { MoveElementsTool, RotateElementsTool } from \"./TransformElementsTool\";\r\nimport { RedoTool, UndoAllTool, UndoTool } from \"./UndoRedoTool\";\r\n\r\n/** @alpha Options for [[EditTools.initialize]]. */\r\nexport interface EditorOptions {\r\n /** If true, all tools will be registered. */\r\n registerAllTools?: true | undefined;\r\n /** If true, tools for undo/redo will be registered. */\r\n registerUndoRedoTools?: true | undefined;\r\n /** If true, tools for updating the project extents and geolocation will be registered. */\r\n registerProjectLocationTools?: true | undefined;\r\n /** If true, tools for basic manipulation will be registered. */\r\n registerBasicManipulationTools?: true | undefined;\r\n /** If true, tools for sketching will be registered. */\r\n registerSketchTools?: true | undefined;\r\n /** If true, tools for solid modeling will be registered. */\r\n registerSolidModelingTools?: true | undefined;\r\n}\r\n\r\n/** @alpha functions to support PrimitiveTool and InputCollector sub-classes with using EditCommand. */\r\nexport class EditTools {\r\n public static namespace = \"Editor\";\r\n public static tools = \"Editor:tools.\";\r\n private static _initialized = false;\r\n\r\n public static async startCommand<T>(commandId: string, iModelKey: string, ...args: any[]): Promise<T> {\r\n return IpcApp.callIpcChannel(editorChannel, \"startCommand\", commandId, iModelKey, ...args) as Promise<T>;\r\n }\r\n\r\n public static async callCommand(methodName: string, ...args: any[]): Promise<any> {\r\n return IpcApp.callIpcChannel(editorChannel, \"callMethod\", methodName, ...args);\r\n }\r\n\r\n /** @internal */\r\n public static translate(prompt: string) { return IModelApp.localization.getLocalizedString(this.tools + prompt); }\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(options?: EditorOptions): Promise<void> {\r\n if (this._initialized)\r\n return;\r\n\r\n // NOTE: We should clear the active command whenever a new PrimitiveTool is installed.\r\n // As tool run/install isn't currently async ToolAdmin.activeToolChanged can't be used at this time.\r\n // The active command will be cleared whenever another edit tool calls startCommand.\r\n this._initialized = true;\r\n\r\n const namespacePromise = IModelApp.localization.registerNamespace(this.namespace);\r\n const registerAllTools = options?.registerAllTools;\r\n\r\n // Register requested tools...\r\n if (registerAllTools || options?.registerUndoRedoTools) {\r\n const tools = [\r\n UndoAllTool,\r\n UndoTool,\r\n RedoTool,\r\n ];\r\n\r\n for (const tool of tools)\r\n tool.register(this.namespace);\r\n }\r\n\r\n if (registerAllTools || options?.registerProjectLocationTools) {\r\n const tools = [\r\n ProjectLocationShowTool,\r\n ProjectLocationHideTool,\r\n ProjectLocationCancelTool,\r\n ProjectLocationSaveTool,\r\n ProjectGeolocationMoveTool,\r\n ProjectGeolocationPointTool,\r\n ProjectGeolocationNorthTool,\r\n ];\r\n\r\n for (const tool of tools)\r\n tool.register(this.namespace);\r\n }\r\n\r\n if (registerAllTools || options?.registerBasicManipulationTools) {\r\n const tools = [\r\n DeleteElementsTool,\r\n MoveElementsTool,\r\n RotateElementsTool,\r\n ];\r\n\r\n for (const tool of tools)\r\n tool.register(this.namespace);\r\n }\r\n\r\n if (registerAllTools || options?.registerSketchTools) {\r\n const tools = [\r\n CreateArcTool,\r\n CreateBCurveTool,\r\n CreateCircleTool,\r\n CreateEllipseTool,\r\n CreateLineStringTool,\r\n CreateRectangleTool,\r\n ];\r\n\r\n for (const tool of tools)\r\n tool.register(this.namespace);\r\n }\r\n\r\n if (registerAllTools || options?.registerSolidModelingTools) {\r\n const tools = [\r\n OffsetFacesTool,\r\n HollowFacesTool,\r\n UniteSolidElementsTool,\r\n SubtractSolidElementsTool,\r\n IntersectSolidElementsTool,\r\n SewSheetElementsTool,\r\n ];\r\n\r\n for (const tool of tools)\r\n tool.register(this.namespace);\r\n }\r\n\r\n return namespacePromise;\r\n }\r\n}\r\n"]}
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 { editorChannel } from \"@itwin/editor-common\";\r\nimport { IModelApp, IpcApp } from \"@itwin/core-frontend\";\r\nimport { DeleteElementsTool } from \"./DeleteElementsTool\";\r\nimport { ChamferEdgesTool, CutSolidElementsTool, DeleteSubEntitiesTool, EmbossSolidElementsTool, HollowFacesTool, ImprintSolidElementsTool, IntersectSolidElementsTool, LoftProfilesTool, OffsetFacesTool, RoundEdgesTool, SewSheetElementsTool, SpinFacesTool, SubtractSolidElementsTool, SweepAlongPathTool, SweepFacesTool, ThickenSheetElementsTool, UniteSolidElementsTool } from \"./SolidModelingTools\";\r\nimport { ProjectLocationCancelTool, ProjectLocationHideTool, ProjectLocationSaveTool, ProjectLocationShowTool } from \"./ProjectLocation/ProjectExtentsDecoration\";\r\nimport { ProjectGeolocationMoveTool, ProjectGeolocationNorthTool, ProjectGeolocationPointTool } from \"./ProjectLocation/ProjectGeolocation\";\r\nimport { CreateArcTool, CreateBCurveTool, CreateCircleTool, CreateEllipseTool, CreateLineStringTool, CreateRectangleTool } from \"./SketchTools\";\r\nimport { MoveElementsTool, RotateElementsTool } from \"./TransformElementsTool\";\r\nimport { RedoTool, UndoAllTool, UndoTool } from \"./UndoRedoTool\";\r\n\r\n/** @alpha Options for [[EditTools.initialize]]. */\r\nexport interface EditorOptions {\r\n /** If true, all tools will be registered. */\r\n registerAllTools?: true | undefined;\r\n /** If true, tools for undo/redo will be registered. */\r\n registerUndoRedoTools?: true | undefined;\r\n /** If true, tools for updating the project extents and geolocation will be registered. */\r\n registerProjectLocationTools?: true | undefined;\r\n /** If true, tools for basic manipulation will be registered. */\r\n registerBasicManipulationTools?: true | undefined;\r\n /** If true, tools for sketching will be registered. */\r\n registerSketchTools?: true | undefined;\r\n /** If true, tools for solid modeling will be registered. */\r\n registerSolidModelingTools?: true | undefined;\r\n}\r\n\r\n/** @alpha functions to support PrimitiveTool and InputCollector sub-classes with using EditCommand. */\r\nexport class EditTools {\r\n public static namespace = \"Editor\";\r\n public static tools = \"Editor:tools.\";\r\n private static _initialized = false;\r\n\r\n public static async startCommand<T>(commandId: string, iModelKey: string, ...args: any[]): Promise<T> {\r\n return IpcApp.callIpcChannel(editorChannel, \"startCommand\", commandId, iModelKey, ...args) as Promise<T>;\r\n }\r\n\r\n public static async callCommand(methodName: string, ...args: any[]): Promise<any> {\r\n return IpcApp.callIpcChannel(editorChannel, \"callMethod\", methodName, ...args);\r\n }\r\n\r\n /** @internal */\r\n public static translate(prompt: string) { return IModelApp.localization.getLocalizedString(this.tools + prompt); }\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(options?: EditorOptions): Promise<void> {\r\n if (this._initialized)\r\n return;\r\n\r\n // NOTE: We should clear the active command whenever a new PrimitiveTool is installed.\r\n // As tool run/install isn't currently async ToolAdmin.activeToolChanged can't be used at this time.\r\n // The active command will be cleared whenever another edit tool calls startCommand.\r\n this._initialized = true;\r\n\r\n const namespacePromise = IModelApp.localization.registerNamespace(this.namespace);\r\n const registerAllTools = options?.registerAllTools;\r\n\r\n // Register requested tools...\r\n if (registerAllTools || options?.registerUndoRedoTools) {\r\n const tools = [\r\n UndoAllTool,\r\n UndoTool,\r\n RedoTool,\r\n ];\r\n\r\n for (const tool of tools)\r\n tool.register(this.namespace);\r\n }\r\n\r\n if (registerAllTools || options?.registerProjectLocationTools) {\r\n const tools = [\r\n ProjectLocationShowTool,\r\n ProjectLocationHideTool,\r\n ProjectLocationCancelTool,\r\n ProjectLocationSaveTool,\r\n ProjectGeolocationMoveTool,\r\n ProjectGeolocationPointTool,\r\n ProjectGeolocationNorthTool,\r\n ];\r\n\r\n for (const tool of tools)\r\n tool.register(this.namespace);\r\n }\r\n\r\n if (registerAllTools || options?.registerBasicManipulationTools) {\r\n const tools = [\r\n DeleteElementsTool,\r\n MoveElementsTool,\r\n RotateElementsTool,\r\n ];\r\n\r\n for (const tool of tools)\r\n tool.register(this.namespace);\r\n }\r\n\r\n if (registerAllTools || options?.registerSketchTools) {\r\n const tools = [\r\n CreateArcTool,\r\n CreateBCurveTool,\r\n CreateCircleTool,\r\n CreateEllipseTool,\r\n CreateLineStringTool,\r\n CreateRectangleTool,\r\n ];\r\n\r\n for (const tool of tools)\r\n tool.register(this.namespace);\r\n }\r\n\r\n if (registerAllTools || options?.registerSolidModelingTools) {\r\n const tools = [\r\n UniteSolidElementsTool,\r\n SubtractSolidElementsTool,\r\n IntersectSolidElementsTool,\r\n SewSheetElementsTool,\r\n ThickenSheetElementsTool,\r\n CutSolidElementsTool,\r\n EmbossSolidElementsTool,\r\n ImprintSolidElementsTool,\r\n SweepAlongPathTool,\r\n LoftProfilesTool,\r\n OffsetFacesTool,\r\n HollowFacesTool,\r\n SweepFacesTool,\r\n SpinFacesTool,\r\n RoundEdgesTool,\r\n ChamferEdgesTool,\r\n DeleteSubEntitiesTool,\r\n ];\r\n\r\n for (const tool of tools)\r\n tool.register(this.namespace);\r\n }\r\n\r\n return namespacePromise;\r\n }\r\n}\r\n"]}
@@ -2,10 +2,10 @@
2
2
  * @module Editing
3
3
  */
4
4
  import { Id64Arg, Id64String } from "@itwin/core-bentley";
5
- import { BooleanMode, ElementGeometryCacheFilter, ElementGeometryResultProps, SolidModelingCommandIpc, SubEntityFilter, SubEntityGeometryProps, SubEntityLocationProps, SubEntityProps, SubEntityType } from "@itwin/editor-common";
5
+ import { BRepEntityType, ElementGeometryCacheFilter, ElementGeometryResultProps, SolidModelingCommandIpc, SubEntityFilter, SubEntityGeometryProps, SubEntityLocationProps, SubEntityProps, SubEntityType } from "@itwin/editor-common";
6
6
  import { FeatureAppearance } from "@itwin/core-common";
7
7
  import { Point3d, Ray3d, Transform } from "@itwin/core-geometry";
8
- import { BeButtonEvent, DecorateContext, DynamicsContext, ElementSetTool, EventHandled, FeatureOverrideProvider, FeatureSymbology, GraphicBranchOptions, GraphicType, HitDetail, IModelConnection, LocateResponse, RenderGraphicOwner, SelectionMethod, SelectionSet, Viewport } from "@itwin/core-frontend";
8
+ import { BeButtonEvent, BeModifierKeys, CoordinateLockOverrides, DecorateContext, DynamicsContext, ElementSetTool, EventHandled, FeatureOverrideProvider, FeatureSymbology, GraphicBranchOptions, GraphicType, HitDetail, IModelConnection, LocateResponse, RenderGraphicOwner, SelectionMethod, SelectionSet, ToolAssistanceInstruction, Viewport } from "@itwin/core-frontend";
9
9
  /** @alpha */
10
10
  export declare class ElementGeometryGraphicsProvider {
11
11
  readonly iModel: IModelConnection;
@@ -23,10 +23,19 @@ export declare class ElementGeometryGraphicsProvider {
23
23
  addDecoration(context: DecorateContext, type: GraphicType, transform?: Transform, opts?: GraphicBranchOptions): void;
24
24
  }
25
25
  /** @alpha */
26
+ export declare function isSameSubEntity(a: SubEntityProps, b: SubEntityProps): boolean;
27
+ /** @alpha */
26
28
  export declare class SubEntityData {
27
- info?: SubEntityProps;
28
- geom?: SubEntityGeometryProps;
29
- protected _graphicsProvider?: ElementGeometryGraphicsProvider;
29
+ toolData?: any;
30
+ chordTolerance?: number;
31
+ private _props;
32
+ private _geometry?;
33
+ private _graphicsProvider?;
34
+ constructor(props: SubEntityProps);
35
+ get props(): SubEntityProps;
36
+ set props(value: SubEntityProps);
37
+ get geometry(): SubEntityGeometryProps | undefined;
38
+ set geometry(value: SubEntityGeometryProps | undefined);
30
39
  isSame(other: SubEntityProps): boolean;
31
40
  getAppearance(vp: Viewport, accepted: boolean): FeatureAppearance;
32
41
  createGraphic(iModel: IModelConnection): Promise<boolean>;
@@ -41,15 +50,19 @@ export declare abstract class ElementGeometryCacheTool extends ElementSetTool im
41
50
  protected _graphicsProvider?: ElementGeometryGraphicsProvider;
42
51
  protected _graphicsPending?: true;
43
52
  protected _firstResult: boolean;
53
+ protected _agendaAppearanceDefault?: FeatureAppearance;
54
+ protected _agendaAppearanceDynamic?: FeatureAppearance;
44
55
  protected allowView(vp: Viewport): boolean;
45
56
  isCompatibleViewport(vp: Viewport | undefined, isSelectedViewChange: boolean): boolean;
46
57
  protected startCommand(): Promise<string>;
47
58
  static callCommand<T extends keyof SolidModelingCommandIpc>(method: T, ...args: Parameters<SolidModelingCommandIpc[T]>): ReturnType<SolidModelingCommandIpc[T]>;
48
- protected get agendaAppearance(): FeatureAppearance;
59
+ protected agendaAppearance(isDynamics: boolean): FeatureAppearance;
49
60
  protected get wantAgendaAppearanceOverride(): boolean;
50
61
  addFeatureOverrides(overrides: FeatureSymbology.Overrides, _vp: Viewport): void;
51
62
  protected updateAgendaAppearanceProvider(drop?: true): void;
52
63
  protected get geometryCacheFilter(): ElementGeometryCacheFilter | undefined;
64
+ protected onGeometryCacheFilterChanged(): void;
65
+ protected createElementGeometryCache(id: Id64String): Promise<boolean>;
53
66
  protected acceptElementForOperation(id: Id64String): Promise<boolean>;
54
67
  protected isElementValidForOperation(hit: HitDetail, out?: LocateResponse): Promise<boolean>;
55
68
  protected postFilterIds(arg: Id64Arg): Promise<Id64Arg>;
@@ -68,98 +81,69 @@ export declare abstract class ElementGeometryCacheTool extends ElementSetTool im
68
81
  onPostInstall(): Promise<void>;
69
82
  onCleanup(): Promise<void>;
70
83
  }
71
- /** @alpha Base class for tools that perform boolean operations on a set of elements. */
72
- export declare abstract class BooleanOperationTool extends ElementGeometryCacheTool {
73
- protected abstract get mode(): BooleanMode;
74
- protected get allowSelectionSet(): boolean;
75
- protected get allowDragSelect(): boolean;
76
- protected get controlKeyContinuesSelection(): boolean;
77
- protected get requiredElementCount(): number;
78
- protected get geometryCacheFilter(): ElementGeometryCacheFilter | undefined;
79
- protected onAgendaModified(): Promise<void>;
80
- protected applyAgendaOperation(): Promise<ElementGeometryResultProps | undefined>;
81
- processAgenda(_ev: BeButtonEvent): Promise<void>;
82
- }
83
- /** @alpha Perform boolean union of solid geometry. */
84
- export declare class UniteSolidElementsTool extends BooleanOperationTool {
85
- static toolId: string;
86
- static iconSpec: string;
87
- protected get mode(): BooleanMode;
88
- onRestartTool(): Promise<void>;
89
- }
90
- /** @alpha Perform boolean subtract of solid geometry. */
91
- export declare class SubtractSolidElementsTool extends BooleanOperationTool {
92
- static toolId: string;
93
- static iconSpec: string;
94
- protected get mode(): BooleanMode;
95
- onRestartTool(): Promise<void>;
96
- }
97
- /** @alpha Perform boolean intersection of solid geometry. */
98
- export declare class IntersectSolidElementsTool extends BooleanOperationTool {
99
- static toolId: string;
100
- static iconSpec: string;
101
- protected get mode(): BooleanMode;
102
- onRestartTool(): Promise<void>;
103
- }
104
- /** @alpha Perform sew operation on surface geometry. */
105
- export declare class SewSheetElementsTool extends ElementGeometryCacheTool {
106
- static toolId: string;
107
- static iconSpec: string;
108
- protected get allowSelectionSet(): boolean;
109
- protected get allowDragSelect(): boolean;
110
- protected get controlKeyContinuesSelection(): boolean;
111
- protected get requiredElementCount(): number;
112
- protected get geometryCacheFilter(): ElementGeometryCacheFilter | undefined;
113
- protected applyAgendaOperation(): Promise<ElementGeometryResultProps | undefined>;
114
- processAgenda(_ev: BeButtonEvent): Promise<void>;
115
- onRestartTool(): Promise<void>;
116
- }
117
84
  /** @alpha Base class for tools that need to locate faces, edges, and vertices. */
118
85
  export declare abstract class LocateSubEntityTool extends ElementGeometryCacheTool {
119
86
  protected _currentSubEntity?: SubEntityData;
120
- protected _acceptedSubEntity?: SubEntityLocationProps;
121
- protected wantSubEntityType(type: SubEntityType): boolean;
122
- protected getMaximumSubEntityHits(type: SubEntityType): 0 | 25;
87
+ protected _acceptedSubEntities: SubEntityData[];
88
+ protected _locatedSubEntities?: SubEntityLocationProps[];
89
+ protected _subEntityGraphicPending?: true;
90
+ protected readonly _summaryIds: Map<string, BRepEntityType[]>;
91
+ protected provideToolAssistance(mainInstrText?: string, additionalInstr?: ToolAssistanceInstruction[]): void;
123
92
  protected get wantAgendaAppearanceOverride(): boolean;
93
+ protected get wantGeometrySummary(): boolean;
94
+ protected get wantSubEntitySnap(): boolean;
95
+ protected wantSubEntityType(type: SubEntityType): boolean;
96
+ protected getMaximumSubEntityHits(type: SubEntityType): number;
97
+ protected get requiredSubEntityCount(): number;
98
+ protected get haveAcceptedSubEntities(): boolean;
99
+ protected get inhibitSubEntityDisplay(): boolean;
100
+ protected get allowSubEntityControlSelect(): boolean;
101
+ protected get allowSubEntityControlDeselect(): boolean;
102
+ protected get allowSubEntitySelectNext(): boolean;
103
+ protected getBRepEntityTypeForSubEntity(id: Id64String, subEntity: SubEntityProps): BRepEntityType;
104
+ protected createElementGeometrySummary(id: Id64String): Promise<boolean>;
105
+ protected createElementGeometryCache(id: Id64String): Promise<boolean>;
106
+ protected getAcceptedSubEntityData(index?: number): SubEntityData | undefined;
107
+ protected getAcceptedSubEntities(): SubEntityProps[];
108
+ protected drawSubEntity(context: DecorateContext, subEntity: SubEntityData, accepted: boolean): void;
109
+ protected drawAcceptedSubEntities(context: DecorateContext): void;
124
110
  decorate(context: DecorateContext): void;
111
+ decorateSuspended(context: DecorateContext): void;
125
112
  protected getLocateAperture(ev: BeButtonEvent): number;
126
113
  protected getMaxRayDistance(ev: BeButtonEvent, aperture: number): number;
114
+ protected getRayOrigin(ev: BeButtonEvent): Point3d;
115
+ protected wantHiddenEdges(vp: Viewport): boolean;
127
116
  protected getSubEntityFilter(): SubEntityFilter | undefined;
128
117
  protected pickSubEntities(id: Id64String, boresite: Ray3d, maxFace: number, maxEdge: number, maxVertex: number, maxDistance: number, hiddenEdgesVisible: boolean, filter?: SubEntityFilter): Promise<SubEntityLocationProps[] | undefined>;
129
118
  protected doPickSubEntities(id: Id64String, ev: BeButtonEvent): Promise<SubEntityLocationProps[] | undefined>;
119
+ protected createSubEntityData(id: Id64String, hit: SubEntityLocationProps): Promise<SubEntityData>;
120
+ /** Append specified sub-entity to accepted array. */
121
+ protected addSubEntity(id: Id64String, props: SubEntityLocationProps): Promise<void>;
122
+ /** Remove specified sub-entity from accepted array, or pop last sub-entity if undefined. */
123
+ protected removeSubEntity(_id: Id64String, props?: SubEntityLocationProps): Promise<void>;
124
+ /** Locate sub-entities for the most recently added (last) agenda entry. Tool sub-classes that wish to identity
125
+ * sub-entities from multiple elements are responsible for maintaining the sub-entities per-element.
126
+ */
130
127
  protected doLocateSubEntity(ev: BeButtonEvent, newSearch: boolean): Promise<boolean>;
131
128
  protected chooseNextHit(ev: BeButtonEvent): Promise<EventHandled>;
129
+ protected get wantAdditionalSubEntities(): boolean;
132
130
  protected gatherInput(ev: BeButtonEvent): Promise<EventHandled | undefined>;
133
- protected get wantAdditionalInput(): boolean;
134
- protected setCurrentSubEntity(id?: Id64String, current?: SubEntityLocationProps, chordTolerance?: number): Promise<boolean>;
135
- protected clearSubEntityGraphic(): void;
136
- protected updateSubEntityGraphic(ev: BeButtonEvent): Promise<boolean>;
131
+ protected getCurrentElement(): Id64String | undefined;
132
+ protected clearCurrentSubEntity(): void;
133
+ protected setCurrentSubEntity(id: Id64String, hit: SubEntityLocationProps, chordTolerance?: number): Promise<boolean>;
134
+ protected changeCurrentSubEntity(id?: Id64String, current?: SubEntityLocationProps, chordTolerance?: number): Promise<boolean>;
135
+ protected updateCurrentSubEntity(ev: BeButtonEvent): Promise<boolean>;
136
+ protected createSubEntityGraphic(id: Id64String, data: SubEntityData, chordTolerance?: number): Promise<boolean>;
137
137
  protected updateGraphic(ev: BeButtonEvent, isDynamics: boolean): Promise<void>;
138
- protected applyAgendaOperation(_ev: BeButtonEvent, _isAccept: boolean): Promise<ElementGeometryResultProps | undefined>;
139
138
  protected getGraphicData(ev: BeButtonEvent): Promise<Uint8Array | undefined>;
139
+ protected applyAgendaOperation(_ev: BeButtonEvent, _isAccept: boolean): Promise<ElementGeometryResultProps | undefined>;
140
140
  processAgenda(ev: BeButtonEvent): Promise<void>;
141
+ onModifierKeyTransition(wentDown: boolean, modifier: BeModifierKeys, event: KeyboardEvent): Promise<EventHandled>;
142
+ changeLocateState(enableLocate: boolean, enableSnap?: boolean, cursor?: string, coordLockOvr?: CoordinateLockOverrides): void;
143
+ protected get shouldEnableSnap(): boolean;
141
144
  protected setupAccuDraw(): void;
142
145
  protected setupAndPromptForNextAction(): void;
146
+ protected clearSubEntityGraphics(): void;
143
147
  onCleanup(): Promise<void>;
144
148
  }
145
- /** @alpha Identify faces of solids and surfaces to offset. */
146
- export declare class OffsetFacesTool extends LocateSubEntityTool {
147
- static toolId: string;
148
- static iconSpec: string;
149
- requireWriteableTarget(): boolean;
150
- protected get wantDynamics(): boolean;
151
- protected get wantAccuSnap(): boolean;
152
- protected get geometryCacheFilter(): ElementGeometryCacheFilter | undefined;
153
- protected applyAgendaOperation(ev: BeButtonEvent, isAccept: boolean): Promise<ElementGeometryResultProps | undefined>;
154
- protected setupAccuDraw(): void;
155
- onRestartTool(): Promise<void>;
156
- }
157
- /** @alpha Identify faces to offset to hollow solids. */
158
- export declare class HollowFacesTool extends LocateSubEntityTool {
159
- static toolId: string;
160
- static iconSpec: string;
161
- protected get geometryCacheFilter(): ElementGeometryCacheFilter | undefined;
162
- protected applyAgendaOperation(ev: BeButtonEvent, isAccept: boolean): Promise<ElementGeometryResultProps | undefined>;
163
- onRestartTool(): Promise<void>;
164
- }
165
149
  //# sourceMappingURL=ElementGeometryTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElementGeometryTool.d.ts","sourceRoot":"","sources":["../../src/ElementGeometryTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ElementGeometryTool.d.ts","sourceRoot":"","sources":["../../src/ElementGeometryTool.ts"],"names":[],"mappings":"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"}