@itwin/editor-frontend 3.6.0-dev.8 → 3.6.0

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 (98) hide show
  1. package/CHANGELOG.md +34 -1
  2. package/LICENSE.md +1 -1
  3. package/lib/cjs/CreateElementTool.d.ts +100 -100
  4. package/lib/cjs/CreateElementTool.js +327 -327
  5. package/lib/cjs/CreateElementTool.js.map +1 -1
  6. package/lib/cjs/DeleteElementsTool.d.ts +13 -13
  7. package/lib/cjs/DeleteElementsTool.js +38 -38
  8. package/lib/cjs/DeleteElementsTool.js.map +1 -1
  9. package/lib/cjs/EditTool.d.ts +38 -36
  10. package/lib/cjs/EditTool.d.ts.map +1 -1
  11. package/lib/cjs/EditTool.js +81 -135
  12. package/lib/cjs/EditTool.js.map +1 -1
  13. package/lib/cjs/EditToolIpc.d.ts +18 -17
  14. package/lib/cjs/EditToolIpc.d.ts.map +1 -1
  15. package/lib/cjs/EditToolIpc.js +28 -27
  16. package/lib/cjs/EditToolIpc.js.map +1 -1
  17. package/lib/cjs/ElementGeometryTool.d.ts +147 -147
  18. package/lib/cjs/ElementGeometryTool.js +709 -709
  19. package/lib/cjs/ElementGeometryTool.js.map +1 -1
  20. package/lib/cjs/ModifyCurveTools.d.ts +139 -139
  21. package/lib/cjs/ModifyCurveTools.js +784 -784
  22. package/lib/cjs/ModifyCurveTools.js.map +1 -1
  23. package/lib/cjs/ModifyElementTool.d.ts +47 -47
  24. package/lib/cjs/ModifyElementTool.js +177 -177
  25. package/lib/cjs/ModifyElementTool.js.map +1 -1
  26. package/lib/cjs/ProjectLocation/ProjectExtentsDecoration.d.ts +135 -135
  27. package/lib/cjs/ProjectLocation/ProjectExtentsDecoration.js +822 -822
  28. package/lib/cjs/ProjectLocation/ProjectExtentsDecoration.js.map +1 -1
  29. package/lib/cjs/ProjectLocation/ProjectGeolocation.d.ts +135 -135
  30. package/lib/cjs/ProjectLocation/ProjectGeolocation.js +532 -532
  31. package/lib/cjs/ProjectLocation/ProjectGeolocation.js.map +1 -1
  32. package/lib/cjs/SketchTools.d.ts +304 -304
  33. package/lib/cjs/SketchTools.js +1705 -1705
  34. package/lib/cjs/SketchTools.js.map +1 -1
  35. package/lib/cjs/SolidModelingTools.d.ts +380 -380
  36. package/lib/cjs/SolidModelingTools.js +1462 -1462
  37. package/lib/cjs/SolidModelingTools.js.map +1 -1
  38. package/lib/cjs/SolidPrimitiveTools.d.ts +318 -318
  39. package/lib/cjs/SolidPrimitiveTools.js +1378 -1378
  40. package/lib/cjs/SolidPrimitiveTools.js.map +1 -1
  41. package/lib/cjs/TransformElementsTool.d.ts +164 -164
  42. package/lib/cjs/TransformElementsTool.js +652 -652
  43. package/lib/cjs/TransformElementsTool.js.map +1 -1
  44. package/lib/cjs/UndoRedoTool.d.ts +16 -16
  45. package/lib/cjs/UndoRedoTool.js +42 -42
  46. package/lib/cjs/UndoRedoTool.js.map +1 -1
  47. package/lib/cjs/editor-frontend.d.ts +17 -17
  48. package/lib/cjs/editor-frontend.js +33 -33
  49. package/lib/cjs/editor-frontend.js.map +1 -1
  50. package/lib/esm/CreateElementTool.d.ts +100 -100
  51. package/lib/esm/CreateElementTool.js +319 -319
  52. package/lib/esm/CreateElementTool.js.map +1 -1
  53. package/lib/esm/DeleteElementsTool.d.ts +13 -13
  54. package/lib/esm/DeleteElementsTool.js +34 -34
  55. package/lib/esm/DeleteElementsTool.js.map +1 -1
  56. package/lib/esm/EditTool.d.ts +38 -36
  57. package/lib/esm/EditTool.d.ts.map +1 -1
  58. package/lib/esm/EditTool.js +77 -131
  59. package/lib/esm/EditTool.js.map +1 -1
  60. package/lib/esm/EditToolIpc.d.ts +18 -17
  61. package/lib/esm/EditToolIpc.d.ts.map +1 -1
  62. package/lib/esm/EditToolIpc.js +24 -23
  63. package/lib/esm/EditToolIpc.js.map +1 -1
  64. package/lib/esm/ElementGeometryTool.d.ts +147 -147
  65. package/lib/esm/ElementGeometryTool.js +701 -701
  66. package/lib/esm/ElementGeometryTool.js.map +1 -1
  67. package/lib/esm/ModifyCurveTools.d.ts +139 -139
  68. package/lib/esm/ModifyCurveTools.js +775 -775
  69. package/lib/esm/ModifyCurveTools.js.map +1 -1
  70. package/lib/esm/ModifyElementTool.d.ts +47 -47
  71. package/lib/esm/ModifyElementTool.js +172 -172
  72. package/lib/esm/ModifyElementTool.js.map +1 -1
  73. package/lib/esm/ProjectLocation/ProjectExtentsDecoration.d.ts +135 -135
  74. package/lib/esm/ProjectLocation/ProjectExtentsDecoration.js +814 -814
  75. package/lib/esm/ProjectLocation/ProjectExtentsDecoration.js.map +1 -1
  76. package/lib/esm/ProjectLocation/ProjectGeolocation.d.ts +135 -135
  77. package/lib/esm/ProjectLocation/ProjectGeolocation.js +526 -526
  78. package/lib/esm/ProjectLocation/ProjectGeolocation.js.map +1 -1
  79. package/lib/esm/SketchTools.d.ts +304 -304
  80. package/lib/esm/SketchTools.js +1695 -1695
  81. package/lib/esm/SketchTools.js.map +1 -1
  82. package/lib/esm/SolidModelingTools.d.ts +380 -380
  83. package/lib/esm/SolidModelingTools.js +1437 -1437
  84. package/lib/esm/SolidModelingTools.js.map +1 -1
  85. package/lib/esm/SolidPrimitiveTools.d.ts +318 -318
  86. package/lib/esm/SolidPrimitiveTools.js +1367 -1367
  87. package/lib/esm/SolidPrimitiveTools.js.map +1 -1
  88. package/lib/esm/TransformElementsTool.d.ts +164 -164
  89. package/lib/esm/TransformElementsTool.js +644 -644
  90. package/lib/esm/TransformElementsTool.js.map +1 -1
  91. package/lib/esm/UndoRedoTool.d.ts +16 -16
  92. package/lib/esm/UndoRedoTool.js +36 -36
  93. package/lib/esm/UndoRedoTool.js.map +1 -1
  94. package/lib/esm/editor-frontend.d.ts +17 -17
  95. package/lib/esm/editor-frontend.js +21 -21
  96. package/lib/esm/editor-frontend.js.map +1 -1
  97. package/lib/public/locales/en/Editor.json +490 -490
  98. package/package.json +15 -15
package/CHANGELOG.md CHANGED
@@ -1,6 +1,39 @@
1
1
  # Change Log - @itwin/editor-frontend
2
2
 
3
- This log was last generated on Wed, 07 Dec 2022 19:12:37 GMT and should not be manually modified.
3
+ This log was last generated on Wed, 08 Feb 2023 14:58:40 GMT and should not be manually modified.
4
+
5
+ ## 3.6.0
6
+ Wed, 08 Feb 2023 14:58:40 GMT
7
+
8
+ ### Updates
9
+
10
+ - add EditTools.busyRetry
11
+ - Added RegionBooleanTool to unite, subtract, or intersect planar regions.
12
+
13
+ ## 3.5.5
14
+ Thu, 26 Jan 2023 22:53:27 GMT
15
+
16
+ _Version update only_
17
+
18
+ ## 3.5.4
19
+ Wed, 18 Jan 2023 15:27:15 GMT
20
+
21
+ _Version update only_
22
+
23
+ ## 3.5.3
24
+ Fri, 13 Jan 2023 17:23:07 GMT
25
+
26
+ _Version update only_
27
+
28
+ ## 3.5.2
29
+ Wed, 11 Jan 2023 16:46:30 GMT
30
+
31
+ _Version update only_
32
+
33
+ ## 3.5.1
34
+ Thu, 15 Dec 2022 16:38:29 GMT
35
+
36
+ _Version update only_
4
37
 
5
38
  ## 3.5.0
6
39
  Wed, 07 Dec 2022 19:12:37 GMT
package/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # MIT License
2
2
 
3
- Copyright © 2017-2022 Bentley Systems, Incorporated. All rights reserved.
3
+ Copyright © 2017-2023 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,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