@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.
- package/CHANGELOG.md +6 -1
- package/README.md +0 -29
- package/lib/cjs/CreateElementTool.d.ts +62 -0
- package/lib/cjs/CreateElementTool.d.ts.map +1 -1
- package/lib/cjs/CreateElementTool.js +62 -0
- package/lib/cjs/CreateElementTool.js.map +1 -1
- package/lib/cjs/EditTool.d.ts +5 -0
- package/lib/cjs/EditTool.d.ts.map +1 -1
- package/lib/cjs/EditTool.js +10 -14
- package/lib/cjs/EditTool.js.map +1 -1
- package/lib/cjs/EditToolIpc.d.ts +1 -5
- package/lib/cjs/EditToolIpc.d.ts.map +1 -1
- package/lib/cjs/EditToolIpc.js +1 -5
- package/lib/cjs/EditToolIpc.js.map +1 -1
- package/lib/cjs/TransformElementsTool.d.ts +17 -98
- package/lib/cjs/TransformElementsTool.d.ts.map +1 -1
- package/lib/cjs/TransformElementsTool.js +15 -412
- package/lib/cjs/TransformElementsTool.js.map +1 -1
- package/lib/cjs/editor-frontend.d.ts +0 -6
- package/lib/cjs/editor-frontend.d.ts.map +1 -1
- package/lib/cjs/editor-frontend.js +0 -6
- package/lib/cjs/editor-frontend.js.map +1 -1
- package/lib/esm/CreateElementTool.d.ts +62 -0
- package/lib/esm/CreateElementTool.d.ts.map +1 -1
- package/lib/esm/CreateElementTool.js +62 -0
- package/lib/esm/CreateElementTool.js.map +1 -1
- package/lib/esm/EditTool.d.ts +5 -0
- package/lib/esm/EditTool.d.ts.map +1 -1
- package/lib/esm/EditTool.js +10 -14
- package/lib/esm/EditTool.js.map +1 -1
- package/lib/esm/EditToolIpc.d.ts +1 -5
- package/lib/esm/EditToolIpc.d.ts.map +1 -1
- package/lib/esm/EditToolIpc.js +0 -4
- package/lib/esm/EditToolIpc.js.map +1 -1
- package/lib/esm/TransformElementsTool.d.ts +17 -98
- package/lib/esm/TransformElementsTool.d.ts.map +1 -1
- package/lib/esm/TransformElementsTool.js +16 -413
- package/lib/esm/TransformElementsTool.js.map +1 -1
- package/lib/esm/editor-frontend.d.ts +0 -6
- package/lib/esm/editor-frontend.d.ts.map +1 -1
- package/lib/esm/editor-frontend.js +0 -6
- package/lib/esm/editor-frontend.js.map +1 -1
- package/lib/public/locales/en/Editor.json +0 -411
- package/package.json +14 -14
- package/lib/cjs/DeleteElementsTool.d.ts +0 -14
- package/lib/cjs/DeleteElementsTool.d.ts.map +0 -1
- package/lib/cjs/DeleteElementsTool.js +0 -42
- package/lib/cjs/DeleteElementsTool.js.map +0 -1
- package/lib/cjs/ElementGeometryTool.d.ts +0 -148
- package/lib/cjs/ElementGeometryTool.d.ts.map +0 -1
- package/lib/cjs/ElementGeometryTool.js +0 -705
- package/lib/cjs/ElementGeometryTool.js.map +0 -1
- package/lib/cjs/ModifyCurveTools.d.ts +0 -140
- package/lib/cjs/ModifyCurveTools.d.ts.map +0 -1
- package/lib/cjs/ModifyCurveTools.js +0 -777
- package/lib/cjs/ModifyCurveTools.js.map +0 -1
- package/lib/cjs/SketchTools.d.ts +0 -308
- package/lib/cjs/SketchTools.d.ts.map +0 -1
- package/lib/cjs/SketchTools.js +0 -1708
- package/lib/cjs/SketchTools.js.map +0 -1
- package/lib/cjs/SolidModelingTools.d.ts +0 -381
- package/lib/cjs/SolidModelingTools.d.ts.map +0 -1
- package/lib/cjs/SolidModelingTools.js +0 -1453
- package/lib/cjs/SolidModelingTools.js.map +0 -1
- package/lib/cjs/SolidPrimitiveTools.d.ts +0 -322
- package/lib/cjs/SolidPrimitiveTools.d.ts.map +0 -1
- package/lib/cjs/SolidPrimitiveTools.js +0 -1376
- package/lib/cjs/SolidPrimitiveTools.js.map +0 -1
- package/lib/esm/DeleteElementsTool.d.ts +0 -14
- package/lib/esm/DeleteElementsTool.d.ts.map +0 -1
- package/lib/esm/DeleteElementsTool.js +0 -39
- package/lib/esm/DeleteElementsTool.js.map +0 -1
- package/lib/esm/ElementGeometryTool.d.ts +0 -148
- package/lib/esm/ElementGeometryTool.d.ts.map +0 -1
- package/lib/esm/ElementGeometryTool.js +0 -697
- package/lib/esm/ElementGeometryTool.js.map +0 -1
- package/lib/esm/ModifyCurveTools.d.ts +0 -140
- package/lib/esm/ModifyCurveTools.d.ts.map +0 -1
- package/lib/esm/ModifyCurveTools.js +0 -772
- package/lib/esm/ModifyCurveTools.js.map +0 -1
- package/lib/esm/SketchTools.d.ts +0 -308
- package/lib/esm/SketchTools.d.ts.map +0 -1
- package/lib/esm/SketchTools.js +0 -1704
- package/lib/esm/SketchTools.js.map +0 -1
- package/lib/esm/SolidModelingTools.d.ts +0 -381
- package/lib/esm/SolidModelingTools.d.ts.map +0 -1
- package/lib/esm/SolidModelingTools.js +0 -1445
- package/lib/esm/SolidModelingTools.js.map +0 -1
- package/lib/esm/SolidPrimitiveTools.d.ts +0 -322
- package/lib/esm/SolidPrimitiveTools.d.ts.map +0 -1
- package/lib/esm/SolidPrimitiveTools.js +0 -1372
- package/lib/esm/SolidPrimitiveTools.js.map +0 -1
package/lib/esm/EditTool.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/lib/esm/EditTool.js
CHANGED
|
@@ -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
|
-
|
|
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;
|
package/lib/esm/EditTool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"]}
|
package/lib/esm/EditToolIpc.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @module Editing
|
|
3
3
|
*/
|
|
4
4
|
import { PickAsyncMethods } from "@itwin/core-bentley";
|
|
5
|
-
import { BasicManipulationCommandIpc, EditCommandIpc
|
|
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,
|
|
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"}
|
package/lib/esm/EditToolIpc.js
CHANGED
|
@@ -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,
|
|
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 {
|
|
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
|
|
8
|
-
import {
|
|
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":"AAKA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"TransformElementsTool.d.ts","sourceRoot":"","sources":["../../src/TransformElementsTool.ts"],"names":[],"mappings":"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"}
|