@itwin/editor-frontend 4.0.0-dev.24 → 4.0.0-dev.28

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 (93) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/lib/cjs/CreateElementTool.d.ts +100 -100
  3. package/lib/cjs/CreateElementTool.js +325 -327
  4. package/lib/cjs/CreateElementTool.js.map +1 -1
  5. package/lib/cjs/DeleteElementsTool.d.ts +13 -13
  6. package/lib/cjs/DeleteElementsTool.js +38 -38
  7. package/lib/cjs/DeleteElementsTool.js.map +1 -1
  8. package/lib/cjs/EditTool.d.ts +38 -38
  9. package/lib/cjs/EditTool.js +80 -81
  10. package/lib/cjs/EditTool.js.map +1 -1
  11. package/lib/cjs/EditToolIpc.d.ts +18 -18
  12. package/lib/cjs/EditToolIpc.js +28 -28
  13. package/lib/cjs/EditToolIpc.js.map +1 -1
  14. package/lib/cjs/ElementGeometryTool.d.ts +147 -147
  15. package/lib/cjs/ElementGeometryTool.js +704 -709
  16. package/lib/cjs/ElementGeometryTool.js.map +1 -1
  17. package/lib/cjs/ModifyCurveTools.d.ts +139 -139
  18. package/lib/cjs/ModifyCurveTools.js +776 -784
  19. package/lib/cjs/ModifyCurveTools.js.map +1 -1
  20. package/lib/cjs/ModifyElementTool.d.ts +47 -47
  21. package/lib/cjs/ModifyElementTool.js +177 -177
  22. package/lib/cjs/ModifyElementTool.js.map +1 -1
  23. package/lib/cjs/ProjectLocation/ProjectExtentsDecoration.d.ts +135 -135
  24. package/lib/cjs/ProjectLocation/ProjectExtentsDecoration.js +822 -822
  25. package/lib/cjs/ProjectLocation/ProjectExtentsDecoration.js.map +1 -1
  26. package/lib/cjs/ProjectLocation/ProjectGeolocation.d.ts +135 -135
  27. package/lib/cjs/ProjectLocation/ProjectGeolocation.js +532 -532
  28. package/lib/cjs/ProjectLocation/ProjectGeolocation.js.map +1 -1
  29. package/lib/cjs/SketchTools.d.ts +304 -304
  30. package/lib/cjs/SketchTools.js +1704 -1705
  31. package/lib/cjs/SketchTools.js.map +1 -1
  32. package/lib/cjs/SolidModelingTools.d.ts +380 -380
  33. package/lib/cjs/SolidModelingTools.js +1452 -1462
  34. package/lib/cjs/SolidModelingTools.js.map +1 -1
  35. package/lib/cjs/SolidPrimitiveTools.d.ts +318 -318
  36. package/lib/cjs/SolidPrimitiveTools.js +1372 -1378
  37. package/lib/cjs/SolidPrimitiveTools.js.map +1 -1
  38. package/lib/cjs/TransformElementsTool.d.ts +164 -164
  39. package/lib/cjs/TransformElementsTool.js +652 -652
  40. package/lib/cjs/TransformElementsTool.js.map +1 -1
  41. package/lib/cjs/UndoRedoTool.d.ts +16 -16
  42. package/lib/cjs/UndoRedoTool.js +41 -42
  43. package/lib/cjs/UndoRedoTool.js.map +1 -1
  44. package/lib/cjs/editor-frontend.d.ts +17 -17
  45. package/lib/cjs/editor-frontend.js +33 -33
  46. package/lib/cjs/editor-frontend.js.map +1 -1
  47. package/lib/esm/CreateElementTool.d.ts +100 -100
  48. package/lib/esm/CreateElementTool.js +317 -319
  49. package/lib/esm/CreateElementTool.js.map +1 -1
  50. package/lib/esm/DeleteElementsTool.d.ts +13 -13
  51. package/lib/esm/DeleteElementsTool.js +34 -34
  52. package/lib/esm/DeleteElementsTool.js.map +1 -1
  53. package/lib/esm/EditTool.d.ts +38 -38
  54. package/lib/esm/EditTool.js +76 -77
  55. package/lib/esm/EditTool.js.map +1 -1
  56. package/lib/esm/EditToolIpc.d.ts +18 -18
  57. package/lib/esm/EditToolIpc.js +24 -24
  58. package/lib/esm/EditToolIpc.js.map +1 -1
  59. package/lib/esm/ElementGeometryTool.d.ts +147 -147
  60. package/lib/esm/ElementGeometryTool.js +696 -701
  61. package/lib/esm/ElementGeometryTool.js.map +1 -1
  62. package/lib/esm/ModifyCurveTools.d.ts +139 -139
  63. package/lib/esm/ModifyCurveTools.js +767 -775
  64. package/lib/esm/ModifyCurveTools.js.map +1 -1
  65. package/lib/esm/ModifyElementTool.d.ts +47 -47
  66. package/lib/esm/ModifyElementTool.js +172 -172
  67. package/lib/esm/ModifyElementTool.js.map +1 -1
  68. package/lib/esm/ProjectLocation/ProjectExtentsDecoration.d.ts +135 -135
  69. package/lib/esm/ProjectLocation/ProjectExtentsDecoration.js +814 -814
  70. package/lib/esm/ProjectLocation/ProjectExtentsDecoration.js.map +1 -1
  71. package/lib/esm/ProjectLocation/ProjectGeolocation.d.ts +135 -135
  72. package/lib/esm/ProjectLocation/ProjectGeolocation.js +526 -526
  73. package/lib/esm/ProjectLocation/ProjectGeolocation.js.map +1 -1
  74. package/lib/esm/SketchTools.d.ts +304 -304
  75. package/lib/esm/SketchTools.js +1694 -1695
  76. package/lib/esm/SketchTools.js.map +1 -1
  77. package/lib/esm/SolidModelingTools.d.ts +380 -380
  78. package/lib/esm/SolidModelingTools.js +1427 -1437
  79. package/lib/esm/SolidModelingTools.js.map +1 -1
  80. package/lib/esm/SolidPrimitiveTools.d.ts +318 -318
  81. package/lib/esm/SolidPrimitiveTools.js +1361 -1367
  82. package/lib/esm/SolidPrimitiveTools.js.map +1 -1
  83. package/lib/esm/TransformElementsTool.d.ts +164 -164
  84. package/lib/esm/TransformElementsTool.js +644 -644
  85. package/lib/esm/TransformElementsTool.js.map +1 -1
  86. package/lib/esm/UndoRedoTool.d.ts +16 -16
  87. package/lib/esm/UndoRedoTool.js +35 -36
  88. package/lib/esm/UndoRedoTool.js.map +1 -1
  89. package/lib/esm/editor-frontend.d.ts +17 -17
  90. package/lib/esm/editor-frontend.js +21 -21
  91. package/lib/esm/editor-frontend.js.map +1 -1
  92. package/lib/public/locales/en/Editor.json +490 -490
  93. package/package.json +13 -13
package/CHANGELOG.md CHANGED
@@ -10,6 +10,11 @@ Wed, 08 Feb 2023 14:58:40 GMT
10
10
  - add EditTools.busyRetry
11
11
  - Added RegionBooleanTool to unite, subtract, or intersect planar regions.
12
12
 
13
+ ## 3.5.6
14
+ Fri, 24 Feb 2023 16:02:47 GMT
15
+
16
+ _Version update only_
17
+
13
18
  ## 3.5.5
14
19
  Thu, 26 Jan 2023 22:53:27 GMT
15
20
 
@@ -237,7 +242,7 @@ Mon, 24 Jan 2022 14:00:52 GMT
237
242
  - Replace usage of I18N with generic Localization interface.
238
243
  - remove ClientRequestContext.current
239
244
  - Update to use new tool setting helper methods.
240
- - New solid modeling ipc interface
245
+ - New solid modeling ipc interface
241
246
  - More solid modeling functionality.
242
247
  - Add tool settings for solid modeling tools.
243
248
  - New tools to sweep/spin faces and delete faces/imprinted edges.
@@ -1,101 +1,101 @@
1
- import { Id64String } from "@itwin/core-bentley";
2
- import { Point3d, Range3d, Transform } from "@itwin/core-geometry";
3
- import { ElementGeometryBuilderParams, FlatBufferGeometryStream, GeometricElementProps, JsonGeometryStream, PlacementProps } from "@itwin/core-common";
4
- import { BeButtonEvent, DynamicsContext, EventHandled, IModelConnection, PrimitiveTool, RenderGraphicOwner, ToolAssistanceInstruction, Viewport } from "@itwin/core-frontend";
5
- /** @alpha */
6
- export declare function computeChordToleranceFromPoint(vp: Viewport, pt: Point3d, radius?: number): number;
7
- /** @alpha */
8
- export declare function computeChordToleranceFromRange(vp: Viewport, range: Range3d): number;
9
- /** @alpha */
10
- export declare class DynamicGraphicsProvider {
11
- readonly iModel: IModelConnection;
12
- readonly prefix: string;
13
- graphic?: RenderGraphicOwner;
14
- /** Current request for graphic */
15
- private _graphicPromise?;
16
- /** Optional element id generated graphics will be associated to */
17
- elementId?: Id64String;
18
- /** Optional model id generated graphics will be associated to */
19
- modelId?: Id64String;
20
- /** Chord tolerance to use to stroke the element's geometry in meters */
21
- chordTolerance: number;
22
- constructor(iModel: IModelConnection, prefix: string);
23
- private getRequestId;
24
- private getToleranceLog10;
25
- private createRequest;
26
- /** Call to request a RenderGraphic for the supplied geometry and placement.
27
- * @see [[cleanupGraphic]] Must be called when the tool exits.
28
- */
29
- createGraphic(categoryId: Id64String, placement: PlacementProps, geometry: JsonGeometryStream | FlatBufferGeometryStream): Promise<boolean>;
30
- /** Call to request a RenderGraphic for the supplied geometry and trigger a dynamic update upon fulfillment.
31
- * @note May be useful to update a dynamic preview outside of normal button and motion events, ex. modifier key change.
32
- * @see [[cleanupGraphic]] Must be called when the tool exits.
33
- */
34
- createGraphicAndUpdateDynamics(ev: BeButtonEvent, categoryId: Id64String, placement: PlacementProps, geometry: JsonGeometryStream | FlatBufferGeometryStream): void;
35
- /** Call to dispose of [[RenderGraphic]] held by [[RenderGraphicOwner]].
36
- * @note Must be called when the tool exits to avoid leaks of graphics memory or other webgl resources.
37
- */
38
- cleanupGraphic(): void;
39
- addGraphic(context: DynamicsContext, transform?: Transform): void;
40
- }
41
- /** @alpha Placement tool base class for creating new elements. */
42
- export declare abstract class CreateElementTool extends PrimitiveTool {
43
- get targetCategory(): Id64String;
44
- get targetModelId(): Id64String;
45
- isCompatibleViewport(vp: Viewport | undefined, isSelectedViewChange: boolean): boolean;
46
- /** Whether [[setupAndPromptForNextAction]] should call [[AccuSnap.enableSnap]] for current tool phase.
47
- * @return true to enable snapping to elements.
48
- */
49
- protected get wantAccuSnap(): boolean;
50
- /** Whether to automatically start element dynamics on button event.
51
- * @return true if tool will implement [[InteractiveTool.onDynamicFrame]] to show element dynamics.
52
- */
53
- protected get wantDynamics(): boolean;
54
- /** Whether tool is ready to insert the new element.
55
- * @return true to call [[createElement]].
56
- */
57
- protected isComplete(_ev: BeButtonEvent): boolean;
58
- /** Insert new element and call [[saveChanges]] */
59
- protected abstract createElement(): Promise<void>;
60
- /** Orchestrates advancing the internal state of the tool on a data button event.
61
- * - Gather input: Initiates element dynamics and accepts additional points as required.
62
- * - Complete operation: Create new element, restart or exit tool.
63
- * @returns EventHandled.Yes if onReinitialize was called to restart or exit tool.
64
- */
65
- protected processDataButton(ev: BeButtonEvent): Promise<EventHandled>;
66
- onDataButtonDown(ev: BeButtonEvent): Promise<EventHandled>;
67
- onResetButtonUp(_ev: BeButtonEvent): Promise<EventHandled>;
68
- /** Setup initial tool state, prompts, etc. */
69
- onPostInstall(): Promise<void>;
70
- /** Restore tool assistance after no longer being suspended by either a [[ViewTool]] or [[InputCollector]]. */
71
- onUnsuspend(): Promise<void>;
72
- /** Setup auto-locate, AccuSnap, AccuDraw, and supply tool assistance. */
73
- protected setupAndPromptForNextAction(): void;
74
- /** Sub-classes should override to provide tool specific instructions. */
75
- protected provideToolAssistance(mainInstrText?: string, additionalInstr?: ToolAssistanceInstruction[]): void;
76
- }
77
- /** @alpha Placement tool base class for creating new elements that use dynamics to show intermediate results. */
78
- export declare abstract class CreateElementWithDynamicsTool extends CreateElementTool {
79
- protected _graphicsProvider?: DynamicGraphicsProvider;
80
- protected get wantAccuSnap(): boolean;
81
- protected get wantDynamics(): boolean;
82
- protected clearGraphics(): void;
83
- protected createGraphics(ev: BeButtonEvent): Promise<void>;
84
- onDynamicFrame(_ev: BeButtonEvent, context: DynamicsContext): void;
85
- onMouseMotion(ev: BeButtonEvent): Promise<void>;
86
- protected abstract getPlacementProps(): PlacementProps | undefined;
87
- protected abstract getGeometryProps(placement: PlacementProps): JsonGeometryStream | FlatBufferGeometryStream | undefined;
88
- protected abstract getElementProps(placement: PlacementProps): GeometricElementProps | undefined;
89
- protected doCreateElement(_props: GeometricElementProps, _data?: ElementGeometryBuilderParams): Promise<void>;
90
- protected updateElementData(_ev: BeButtonEvent, _isDynamics: boolean): Promise<void>;
91
- protected updateDynamicData(ev: BeButtonEvent): Promise<boolean>;
92
- protected createElement(): Promise<void>;
93
- protected setupAccuDraw(): void;
94
- protected setupAndPromptForNextAction(): void;
95
- protected acceptPoint(ev: BeButtonEvent): Promise<boolean>;
96
- onDataButtonDown(ev: BeButtonEvent): Promise<EventHandled>;
97
- protected cancelPoint(_ev: BeButtonEvent): Promise<boolean>;
98
- onResetButtonUp(ev: BeButtonEvent): Promise<EventHandled>;
99
- onCleanup(): Promise<void>;
100
- }
1
+ import { Id64String } from "@itwin/core-bentley";
2
+ import { Point3d, Range3d, Transform } from "@itwin/core-geometry";
3
+ import { ElementGeometryBuilderParams, FlatBufferGeometryStream, GeometricElementProps, JsonGeometryStream, PlacementProps } from "@itwin/core-common";
4
+ import { BeButtonEvent, DynamicsContext, EventHandled, IModelConnection, PrimitiveTool, RenderGraphicOwner, ToolAssistanceInstruction, Viewport } from "@itwin/core-frontend";
5
+ /** @alpha */
6
+ export declare function computeChordToleranceFromPoint(vp: Viewport, pt: Point3d, radius?: number): number;
7
+ /** @alpha */
8
+ export declare function computeChordToleranceFromRange(vp: Viewport, range: Range3d): number;
9
+ /** @alpha */
10
+ export declare class DynamicGraphicsProvider {
11
+ readonly iModel: IModelConnection;
12
+ readonly prefix: string;
13
+ graphic?: RenderGraphicOwner;
14
+ /** Current request for graphic */
15
+ private _graphicPromise?;
16
+ /** Optional element id generated graphics will be associated to */
17
+ elementId?: Id64String;
18
+ /** Optional model id generated graphics will be associated to */
19
+ modelId?: Id64String;
20
+ /** Chord tolerance to use to stroke the element's geometry in meters */
21
+ chordTolerance: number;
22
+ constructor(iModel: IModelConnection, prefix: string);
23
+ private getRequestId;
24
+ private getToleranceLog10;
25
+ private createRequest;
26
+ /** Call to request a RenderGraphic for the supplied geometry and placement.
27
+ * @see [[cleanupGraphic]] Must be called when the tool exits.
28
+ */
29
+ createGraphic(categoryId: Id64String, placement: PlacementProps, geometry: JsonGeometryStream | FlatBufferGeometryStream): Promise<boolean>;
30
+ /** Call to request a RenderGraphic for the supplied geometry and trigger a dynamic update upon fulfillment.
31
+ * @note May be useful to update a dynamic preview outside of normal button and motion events, ex. modifier key change.
32
+ * @see [[cleanupGraphic]] Must be called when the tool exits.
33
+ */
34
+ createGraphicAndUpdateDynamics(ev: BeButtonEvent, categoryId: Id64String, placement: PlacementProps, geometry: JsonGeometryStream | FlatBufferGeometryStream): void;
35
+ /** Call to dispose of [[RenderGraphic]] held by [[RenderGraphicOwner]].
36
+ * @note Must be called when the tool exits to avoid leaks of graphics memory or other webgl resources.
37
+ */
38
+ cleanupGraphic(): void;
39
+ addGraphic(context: DynamicsContext, transform?: Transform): void;
40
+ }
41
+ /** @alpha Placement tool base class for creating new elements. */
42
+ export declare abstract class CreateElementTool extends PrimitiveTool {
43
+ get targetCategory(): Id64String;
44
+ get targetModelId(): Id64String;
45
+ isCompatibleViewport(vp: Viewport | undefined, isSelectedViewChange: boolean): boolean;
46
+ /** Whether [[setupAndPromptForNextAction]] should call [[AccuSnap.enableSnap]] for current tool phase.
47
+ * @return true to enable snapping to elements.
48
+ */
49
+ protected get wantAccuSnap(): boolean;
50
+ /** Whether to automatically start element dynamics on button event.
51
+ * @return true if tool will implement [[InteractiveTool.onDynamicFrame]] to show element dynamics.
52
+ */
53
+ protected get wantDynamics(): boolean;
54
+ /** Whether tool is ready to insert the new element.
55
+ * @return true to call [[createElement]].
56
+ */
57
+ protected isComplete(_ev: BeButtonEvent): boolean;
58
+ /** Insert new element and call [[saveChanges]] */
59
+ protected abstract createElement(): Promise<void>;
60
+ /** Orchestrates advancing the internal state of the tool on a data button event.
61
+ * - Gather input: Initiates element dynamics and accepts additional points as required.
62
+ * - Complete operation: Create new element, restart or exit tool.
63
+ * @returns EventHandled.Yes if onReinitialize was called to restart or exit tool.
64
+ */
65
+ protected processDataButton(ev: BeButtonEvent): Promise<EventHandled>;
66
+ onDataButtonDown(ev: BeButtonEvent): Promise<EventHandled>;
67
+ onResetButtonUp(_ev: BeButtonEvent): Promise<EventHandled>;
68
+ /** Setup initial tool state, prompts, etc. */
69
+ onPostInstall(): Promise<void>;
70
+ /** Restore tool assistance after no longer being suspended by either a [[ViewTool]] or [[InputCollector]]. */
71
+ onUnsuspend(): Promise<void>;
72
+ /** Setup auto-locate, AccuSnap, AccuDraw, and supply tool assistance. */
73
+ protected setupAndPromptForNextAction(): void;
74
+ /** Sub-classes should override to provide tool specific instructions. */
75
+ protected provideToolAssistance(mainInstrText?: string, additionalInstr?: ToolAssistanceInstruction[]): void;
76
+ }
77
+ /** @alpha Placement tool base class for creating new elements that use dynamics to show intermediate results. */
78
+ export declare abstract class CreateElementWithDynamicsTool extends CreateElementTool {
79
+ protected _graphicsProvider?: DynamicGraphicsProvider;
80
+ protected get wantAccuSnap(): boolean;
81
+ protected get wantDynamics(): boolean;
82
+ protected clearGraphics(): void;
83
+ protected createGraphics(ev: BeButtonEvent): Promise<void>;
84
+ onDynamicFrame(_ev: BeButtonEvent, context: DynamicsContext): void;
85
+ onMouseMotion(ev: BeButtonEvent): Promise<void>;
86
+ protected abstract getPlacementProps(): PlacementProps | undefined;
87
+ protected abstract getGeometryProps(placement: PlacementProps): JsonGeometryStream | FlatBufferGeometryStream | undefined;
88
+ protected abstract getElementProps(placement: PlacementProps): GeometricElementProps | undefined;
89
+ protected doCreateElement(_props: GeometricElementProps, _data?: ElementGeometryBuilderParams): Promise<void>;
90
+ protected updateElementData(_ev: BeButtonEvent, _isDynamics: boolean): Promise<void>;
91
+ protected updateDynamicData(ev: BeButtonEvent): Promise<boolean>;
92
+ protected createElement(): Promise<void>;
93
+ protected setupAccuDraw(): void;
94
+ protected setupAndPromptForNextAction(): void;
95
+ protected acceptPoint(ev: BeButtonEvent): Promise<boolean>;
96
+ onDataButtonDown(ev: BeButtonEvent): Promise<EventHandled>;
97
+ protected cancelPoint(_ev: BeButtonEvent): Promise<boolean>;
98
+ onResetButtonUp(ev: BeButtonEvent): Promise<EventHandled>;
99
+ onCleanup(): Promise<void>;
100
+ }
101
101
  //# sourceMappingURL=CreateElementTool.d.ts.map