@itwin/editor-frontend 3.5.0-dev.5 → 3.5.0-dev.51

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 (103) hide show
  1. package/CHANGELOG.md +43 -1
  2. package/lib/cjs/DeleteElementsTool.d.ts +0 -2
  3. package/lib/cjs/DeleteElementsTool.d.ts.map +1 -1
  4. package/lib/cjs/DeleteElementsTool.js +3 -5
  5. package/lib/cjs/DeleteElementsTool.js.map +1 -1
  6. package/lib/cjs/EditTool.d.ts +0 -1
  7. package/lib/cjs/EditTool.d.ts.map +1 -1
  8. package/lib/cjs/EditTool.js +6 -7
  9. package/lib/cjs/EditTool.js.map +1 -1
  10. package/lib/cjs/EditToolIpc.d.ts +18 -0
  11. package/lib/cjs/EditToolIpc.d.ts.map +1 -0
  12. package/lib/cjs/EditToolIpc.js +28 -0
  13. package/lib/cjs/EditToolIpc.js.map +1 -0
  14. package/lib/cjs/ElementGeometryTool.d.ts +2 -3
  15. package/lib/cjs/ElementGeometryTool.d.ts.map +1 -1
  16. package/lib/cjs/ElementGeometryTool.js +8 -10
  17. package/lib/cjs/ElementGeometryTool.js.map +1 -1
  18. package/lib/cjs/ModifyCurveTools.d.ts +19 -43
  19. package/lib/cjs/ModifyCurveTools.d.ts.map +1 -1
  20. package/lib/cjs/ModifyCurveTools.js +127 -188
  21. package/lib/cjs/ModifyCurveTools.js.map +1 -1
  22. package/lib/cjs/ModifyElementTool.d.ts +43 -0
  23. package/lib/cjs/ModifyElementTool.d.ts.map +1 -0
  24. package/lib/cjs/ModifyElementTool.js +161 -0
  25. package/lib/cjs/ModifyElementTool.js.map +1 -0
  26. package/lib/cjs/ProjectLocation/ProjectExtentsDecoration.d.ts +0 -2
  27. package/lib/cjs/ProjectLocation/ProjectExtentsDecoration.d.ts.map +1 -1
  28. package/lib/cjs/ProjectLocation/ProjectExtentsDecoration.js +3 -5
  29. package/lib/cjs/ProjectLocation/ProjectExtentsDecoration.js.map +1 -1
  30. package/lib/cjs/SketchTools.d.ts +2 -4
  31. package/lib/cjs/SketchTools.d.ts.map +1 -1
  32. package/lib/cjs/SketchTools.js +8 -10
  33. package/lib/cjs/SketchTools.js.map +1 -1
  34. package/lib/cjs/SolidModelingTools.d.ts +3 -3
  35. package/lib/cjs/SolidModelingTools.d.ts.map +1 -1
  36. package/lib/cjs/SolidModelingTools.js +30 -29
  37. package/lib/cjs/SolidModelingTools.js.map +1 -1
  38. package/lib/cjs/SolidPrimitiveTools.d.ts +69 -5
  39. package/lib/cjs/SolidPrimitiveTools.d.ts.map +1 -1
  40. package/lib/cjs/SolidPrimitiveTools.js +291 -8
  41. package/lib/cjs/SolidPrimitiveTools.js.map +1 -1
  42. package/lib/cjs/TransformElementsTool.d.ts +3 -5
  43. package/lib/cjs/TransformElementsTool.d.ts.map +1 -1
  44. package/lib/cjs/TransformElementsTool.js +10 -12
  45. package/lib/cjs/TransformElementsTool.js.map +1 -1
  46. package/lib/cjs/UndoRedoTool.js +1 -1
  47. package/lib/cjs/UndoRedoTool.js.map +1 -1
  48. package/lib/cjs/editor-frontend.d.ts +5 -3
  49. package/lib/cjs/editor-frontend.d.ts.map +1 -1
  50. package/lib/cjs/editor-frontend.js +5 -3
  51. package/lib/cjs/editor-frontend.js.map +1 -1
  52. package/lib/esm/DeleteElementsTool.d.ts +0 -2
  53. package/lib/esm/DeleteElementsTool.d.ts.map +1 -1
  54. package/lib/esm/DeleteElementsTool.js +3 -5
  55. package/lib/esm/DeleteElementsTool.js.map +1 -1
  56. package/lib/esm/EditTool.d.ts +0 -1
  57. package/lib/esm/EditTool.d.ts.map +1 -1
  58. package/lib/esm/EditTool.js +7 -8
  59. package/lib/esm/EditTool.js.map +1 -1
  60. package/lib/esm/EditToolIpc.d.ts +18 -0
  61. package/lib/esm/EditToolIpc.d.ts.map +1 -0
  62. package/lib/esm/EditToolIpc.js +24 -0
  63. package/lib/esm/EditToolIpc.js.map +1 -0
  64. package/lib/esm/ElementGeometryTool.d.ts +2 -3
  65. package/lib/esm/ElementGeometryTool.d.ts.map +1 -1
  66. package/lib/esm/ElementGeometryTool.js +8 -10
  67. package/lib/esm/ElementGeometryTool.js.map +1 -1
  68. package/lib/esm/ModifyCurveTools.d.ts +19 -43
  69. package/lib/esm/ModifyCurveTools.d.ts.map +1 -1
  70. package/lib/esm/ModifyCurveTools.js +127 -188
  71. package/lib/esm/ModifyCurveTools.js.map +1 -1
  72. package/lib/esm/ModifyElementTool.d.ts +43 -0
  73. package/lib/esm/ModifyElementTool.d.ts.map +1 -0
  74. package/lib/esm/ModifyElementTool.js +156 -0
  75. package/lib/esm/ModifyElementTool.js.map +1 -0
  76. package/lib/esm/ProjectLocation/ProjectExtentsDecoration.d.ts +0 -2
  77. package/lib/esm/ProjectLocation/ProjectExtentsDecoration.d.ts.map +1 -1
  78. package/lib/esm/ProjectLocation/ProjectExtentsDecoration.js +3 -5
  79. package/lib/esm/ProjectLocation/ProjectExtentsDecoration.js.map +1 -1
  80. package/lib/esm/SketchTools.d.ts +2 -4
  81. package/lib/esm/SketchTools.d.ts.map +1 -1
  82. package/lib/esm/SketchTools.js +8 -10
  83. package/lib/esm/SketchTools.js.map +1 -1
  84. package/lib/esm/SolidModelingTools.d.ts +3 -3
  85. package/lib/esm/SolidModelingTools.d.ts.map +1 -1
  86. package/lib/esm/SolidModelingTools.js +30 -29
  87. package/lib/esm/SolidModelingTools.js.map +1 -1
  88. package/lib/esm/SolidPrimitiveTools.d.ts +69 -5
  89. package/lib/esm/SolidPrimitiveTools.d.ts.map +1 -1
  90. package/lib/esm/SolidPrimitiveTools.js +289 -8
  91. package/lib/esm/SolidPrimitiveTools.js.map +1 -1
  92. package/lib/esm/TransformElementsTool.d.ts +3 -5
  93. package/lib/esm/TransformElementsTool.d.ts.map +1 -1
  94. package/lib/esm/TransformElementsTool.js +10 -12
  95. package/lib/esm/TransformElementsTool.js.map +1 -1
  96. package/lib/esm/UndoRedoTool.js +1 -1
  97. package/lib/esm/UndoRedoTool.js.map +1 -1
  98. package/lib/esm/editor-frontend.d.ts +5 -3
  99. package/lib/esm/editor-frontend.d.ts.map +1 -1
  100. package/lib/esm/editor-frontend.js +5 -3
  101. package/lib/esm/editor-frontend.js.map +1 -1
  102. package/lib/public/locales/en/Editor.json +26 -0
  103. package/package.json +15 -15
@@ -1,9 +1,9 @@
1
- import { GeometryQuery, Matrix3d, Point3d } from "@itwin/core-geometry";
1
+ import { DialogItem, DialogProperty, DialogPropertySyncItem } from "@itwin/appui-abstract";
2
2
  import { ElementGeometryBuilderParams, FlatBufferGeometryStream, GeometricElementProps, JsonGeometryStream, PlacementProps } from "@itwin/core-common";
3
- import { BeButtonEvent, ToolAssistanceInstruction, Viewport } from "@itwin/core-frontend";
4
- import { BasicManipulationCommandIpc } from "@itwin/editor-common";
3
+ import { BeButtonEvent, DynamicsContext, EventHandled, ToolAssistanceInstruction, Viewport } from "@itwin/core-frontend";
4
+ import { CurveCollection, CurvePrimitive, GeometryQuery, Matrix3d, Point3d } from "@itwin/core-geometry";
5
5
  import { CreateElementWithDynamicsTool } from "./CreateElementTool";
6
- import { DialogItem, DialogProperty, DialogPropertySyncItem } from "@itwin/appui-abstract";
6
+ import { ModifyCurveTool } from "./ModifyCurveTools";
7
7
  /** @alpha Base class for creating a capped or uncapped SolidPrimitive. */
8
8
  export declare abstract class SolidPrimitiveTool extends CreateElementWithDynamicsTool {
9
9
  protected readonly accepted: Point3d[];
@@ -13,7 +13,6 @@ export declare abstract class SolidPrimitiveTool extends CreateElementWithDynami
13
13
  protected allowView(vp: Viewport): boolean;
14
14
  isCompatibleViewport(vp: Viewport | undefined, isSelectedViewChange: boolean): boolean;
15
15
  protected startCommand(): Promise<string>;
16
- static callCommand<T extends keyof BasicManipulationCommandIpc>(method: T, ...args: Parameters<BasicManipulationCommandIpc[T]>): ReturnType<BasicManipulationCommandIpc[T]>;
17
16
  protected getPlacementProps(): PlacementProps | undefined;
18
17
  protected getGeometryProps(placement: PlacementProps): JsonGeometryStream | FlatBufferGeometryStream | undefined;
19
18
  protected getElementProps(placement: PlacementProps): GeometricElementProps | undefined;
@@ -252,4 +251,69 @@ export declare class CreateTorusTool extends SolidPrimitiveTool {
252
251
  supplyToolSettingsProperties(): DialogItem[] | undefined;
253
252
  onRestartTool(): Promise<void>;
254
253
  }
254
+ /** @alpha Tool for extruding paths and regions. */
255
+ export declare class ExtrudeCurveTool extends ModifyCurveTool {
256
+ static toolId: string;
257
+ static iconSpec: string;
258
+ protected allowView(vp: Viewport): boolean;
259
+ private _useLengthProperty;
260
+ get useLengthProperty(): DialogProperty<boolean>;
261
+ get useLength(): boolean;
262
+ set useLength(value: boolean);
263
+ private _lengthProperty;
264
+ get lengthProperty(): DialogProperty<number>;
265
+ get length(): number;
266
+ set length(value: number);
267
+ private _cappedProperty;
268
+ get cappedProperty(): DialogProperty<boolean>;
269
+ get capped(): boolean;
270
+ set capped(value: boolean);
271
+ private _orthogonalProperty;
272
+ get orthogonalProperty(): DialogProperty<boolean>;
273
+ get orthogonal(): boolean;
274
+ set orthogonal(value: boolean);
275
+ private _keepProfileProperty;
276
+ get keepProfileProperty(): DialogProperty<boolean>;
277
+ get keepProfile(): boolean;
278
+ set keepProfile(value: boolean);
279
+ protected getToolSettingPropertyLocked(property: DialogProperty<any>): DialogProperty<any> | undefined;
280
+ applyToolSettingPropertyChange(updatedValue: DialogPropertySyncItem): Promise<boolean>;
281
+ supplyToolSettingsProperties(): DialogItem[] | undefined;
282
+ protected acceptCurve(curve: CurveCollection | CurvePrimitive): boolean;
283
+ protected modifyCurve(ev: BeButtonEvent, isAccept: boolean): GeometryQuery | undefined;
284
+ protected get wantModifyOriginal(): boolean;
285
+ protected setupAccuDraw(): void;
286
+ protected provideToolAssistance(_mainInstrText?: string, _additionalInstr?: ToolAssistanceInstruction[]): void;
287
+ onRestartTool(): Promise<void>;
288
+ }
289
+ /** @alpha Tool for revolving paths and regions. */
290
+ export declare class RevolveCurveTool extends ModifyCurveTool {
291
+ static toolId: string;
292
+ static iconSpec: string;
293
+ protected points: Point3d[];
294
+ protected allowView(vp: Viewport): boolean;
295
+ private _angleProperty;
296
+ get angleProperty(): DialogProperty<number>;
297
+ get angle(): number;
298
+ set angle(value: number);
299
+ private _cappedProperty;
300
+ get cappedProperty(): DialogProperty<boolean>;
301
+ get capped(): boolean;
302
+ set capped(value: boolean);
303
+ private _keepProfileProperty;
304
+ get keepProfileProperty(): DialogProperty<boolean>;
305
+ get keepProfile(): boolean;
306
+ set keepProfile(value: boolean);
307
+ applyToolSettingPropertyChange(updatedValue: DialogPropertySyncItem): Promise<boolean>;
308
+ supplyToolSettingsProperties(): DialogItem[] | undefined;
309
+ protected acceptCurve(curve: CurveCollection | CurvePrimitive): boolean;
310
+ protected modifyCurve(ev: BeButtonEvent, isAccept: boolean): GeometryQuery | undefined;
311
+ onDynamicFrame(ev: BeButtonEvent, context: DynamicsContext): void;
312
+ protected get wantModifyOriginal(): boolean;
313
+ protected get wantAdditionalInput(): boolean;
314
+ protected gatherInput(ev: BeButtonEvent): Promise<EventHandled | undefined>;
315
+ protected setupAccuDraw(): void;
316
+ protected provideToolAssistance(_mainInstrText?: string, _additionalInstr?: ToolAssistanceInstruction[]): void;
317
+ onRestartTool(): Promise<void>;
318
+ }
255
319
  //# sourceMappingURL=SolidPrimitiveTools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidPrimitiveTools.d.ts","sourceRoot":"","sources":["../../src/SolidPrimitiveTools.ts"],"names":[],"mappings":"AAKA,OAAO,EAAyC,aAAa,EAAqC,QAAQ,EAAE,OAAO,EAAmE,MAAM,sBAAsB,CAAC;AACnN,OAAO,EAAyB,4BAA4B,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC9K,OAAO,EAAyC,aAAa,EAA6E,yBAAyB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC5M,OAAO,EAAE,2BAA2B,EAAuB,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,sBAAsB,EAA6B,MAAM,uBAAuB,CAAC;AAEtH,0EAA0E;AAC1E,8BAAsB,kBAAmB,SAAQ,6BAA6B;IAC5E,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAM;IAC5C,SAAS,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC;IAClC,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IAClC,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE/B,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ;IAChB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,GAAG,SAAS,EAAE,oBAAoB,EAAE,OAAO,GAAG,OAAO;cAEtF,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;WAMjC,WAAW,CAAC,CAAC,SAAS,MAAM,2BAA2B,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;IAIlL,SAAS,CAAC,iBAAiB,IAAI,cAAc,GAAG,SAAS;IAgBzD,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,GAAG,kBAAkB,GAAG,wBAAwB,GAAG,SAAS;IAahH,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,cAAc,GAAG,qBAAqB,GAAG,SAAS;cAO9D,eAAe,CAAC,KAAK,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;CAS3H;AAED,wGAAwG;AACxG,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD,OAAuB,MAAM,SAAkB;IAC/C,OAAuB,QAAQ,SAAiB;cAE7B,qBAAqB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,yBAAyB,EAAE,GAAG,IAAI;cAKlG,aAAa,IAAI,IAAI;IAcxC,OAAO,CAAC,kBAAkB,CAAsC;IAChE,IAAW,iBAAiB,4BAI3B;IAED,IAAW,SAAS,IAAI,OAAO,CAAyC;IACxE,IAAW,SAAS,CAAC,KAAK,EAAE,OAAO,EAA2C;IAE9E,OAAO,CAAC,eAAe,CAAqC;IAC5D,IAAW,cAAc,2BAIxB;IAED,IAAW,MAAM,IAAI,MAAM,CAAsC;IACjE,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAAwC;IAEvE,OAAO,CAAC,eAAe,CAAsC;IAC7D,IAAW,cAAc,4BAKxB;IAED,IAAW,MAAM,IAAI,OAAO,CAAsC;IAClE,IAAW,MAAM,CAAC,KAAK,EAAE,OAAO,EAAwC;cAErD,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO;cAIjC,iBAAiB,CAAC,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;cAwC9E,4BAA4B,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS;IAIzF,8BAA8B,CAAC,YAAY,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5F,4BAA4B,IAAI,UAAU,EAAE,GAAG,SAAS;IAa3D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAK5C;AAED,2DAA2D;AAC3D,oBAAY,mBAAmB;IAC7B,kDAAkD;IAClD,UAAU,IAAA;IACV,uDAAuD;IACvD,YAAY,IAAA;IACZ,kDAAkD;IAClD,YAAY,IAAA;IACZ,0CAA0C;IAC1C,YAAY,IAAA;CACb;AAED,0GAA0G;AAC1G,qBAAa,kBAAmB,SAAQ,kBAAkB;IACxD,OAAuB,MAAM,SAAoB;IACjD,OAAuB,QAAQ,SAAiB;IAEhD,SAAS,CAAC,WAAW,sBAAkC;cAEpC,qBAAqB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,yBAAyB,EAAE,GAAG,IAAI;cAgBlG,aAAa,IAAI,IAAI;IAwBxC,OAAO,CAAC,kBAAkB,CAAsC;IAChE,IAAW,iBAAiB,4BAI3B;IAED,IAAW,SAAS,IAAI,OAAO,CAAyC;IACxE,IAAW,SAAS,CAAC,KAAK,EAAE,OAAO,EAA2C;IAE9E,OAAO,CAAC,eAAe,CAAqC;IAC5D,IAAW,cAAc,2BAIxB;IAED,IAAW,MAAM,IAAI,MAAM,CAAsC;IACjE,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAAwC;IAEvE,OAAO,CAAC,kBAAkB,CAAsC;IAChE,IAAW,iBAAiB,4BAI3B;IAED,IAAW,SAAS,IAAI,OAAO,CAAyC;IACxE,IAAW,SAAS,CAAC,KAAK,EAAE,OAAO,EAA2C;IAE9E,OAAO,CAAC,eAAe,CAAqC;IAC5D,IAAW,cAAc,2BAIxB;IAED,IAAW,MAAM,IAAI,MAAM,CAAsC;IACjE,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAAwC;IAEvE,OAAO,CAAC,eAAe,CAAsC;IAC7D,IAAW,cAAc,4BAKxB;IAED,IAAW,MAAM,IAAI,OAAO,CAAsC;IAClE,IAAW,MAAM,CAAC,KAAK,EAAE,OAAO,EAAwC;IAExE,OAAO,CAAC,mBAAmB,CAAsC;IACjE,IAAW,kBAAkB,4BAK5B;IAED,IAAW,UAAU,IAAI,OAAO,CAA0C;IAC1E,IAAW,UAAU,CAAC,KAAK,EAAE,OAAO,EAA4C;cAE7D,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO;cAIjC,iBAAiB,CAAC,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;cAwF9E,4BAA4B,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS;IAQzF,8BAA8B,CAAC,YAAY,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5F,4BAA4B,IAAI,UAAU,EAAE,GAAG,SAAS;IAmB3D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAK5C;AAED,uDAAuD;AACvD,oBAAY,eAAe;IACzB,kDAAkD;IAClD,UAAU,IAAA;IACV,4DAA4D;IAC5D,gBAAgB,IAAA;IAChB,kDAAkD;IAClD,YAAY,IAAA;IACZ,8CAA8C;IAC9C,eAAe,IAAA;IACf,0CAA0C;IAC1C,YAAY,IAAA;CACb;AAED,sGAAsG;AACtG,qBAAa,cAAe,SAAQ,kBAAkB;IACpD,OAAuB,MAAM,SAAgB;IAC7C,OAAuB,QAAQ,SAAiB;IAEhD,SAAS,CAAC,WAAW,kBAA8B;cAEhC,qBAAqB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,yBAAyB,EAAE,GAAG,IAAI;cAmBlG,aAAa,IAAI,IAAI;IA4BxC,OAAO,CAAC,sBAAsB,CAAsC;IACpE,IAAW,qBAAqB,4BAI/B;IAED,IAAW,aAAa,IAAI,OAAO,CAA6C;IAChF,IAAW,aAAa,CAAC,KAAK,EAAE,OAAO,EAA+C;IAEtF,OAAO,CAAC,mBAAmB,CAAqC;IAChE,IAAW,kBAAkB,2BAI5B;IAED,IAAW,UAAU,IAAI,MAAM,CAA0C;IACzE,IAAW,UAAU,CAAC,KAAK,EAAE,MAAM,EAA4C;IAE/E,OAAO,CAAC,qBAAqB,CAAsC;IACnE,IAAW,oBAAoB,4BAI9B;IAED,IAAW,YAAY,IAAI,OAAO,CAA4C;IAC9E,IAAW,YAAY,CAAC,KAAK,EAAE,OAAO,EAA8C;IAEpF,OAAO,CAAC,kBAAkB,CAAqC;IAC/D,IAAW,iBAAiB,2BAI3B;IAED,IAAW,SAAS,IAAI,MAAM,CAAyC;IACvE,IAAW,SAAS,CAAC,KAAK,EAAE,MAAM,EAA2C;IAE7E,OAAO,CAAC,kBAAkB,CAAsC;IAChE,IAAW,iBAAiB,4BAI3B;IAED,IAAW,SAAS,IAAI,OAAO,CAAyC;IACxE,IAAW,SAAS,CAAC,KAAK,EAAE,OAAO,EAA2C;IAE9E,OAAO,CAAC,eAAe,CAAqC;IAC5D,IAAW,cAAc,2BAIxB;IAED,IAAW,MAAM,IAAI,MAAM,CAAsC;IACjE,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAAwC;IAEvE,OAAO,CAAC,eAAe,CAAsC;IAC7D,IAAW,cAAc,4BAKxB;IAED,IAAW,MAAM,IAAI,OAAO,CAAsC;IAClE,IAAW,MAAM,CAAC,KAAK,EAAE,OAAO,EAAwC;IAExE,OAAO,CAAC,mBAAmB,CAAsC;IACjE,IAAW,kBAAkB,4BAK5B;IAED,IAAW,UAAU,IAAI,OAAO,CAA0C;IAC1E,IAAW,UAAU,CAAC,KAAK,EAAE,OAAO,EAA4C;cAE7D,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO;cAIjC,iBAAiB,CAAC,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;cAmH9E,4BAA4B,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS;IAUzF,8BAA8B,CAAC,YAAY,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5F,4BAA4B,IAAI,UAAU,EAAE,GAAG,SAAS;IAuB3D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAK5C;AAED,qGAAqG;AACrG,qBAAa,aAAc,SAAQ,kBAAkB;IACnD,OAAuB,MAAM,SAAe;IAC5C,OAAuB,QAAQ,SAAiB;cAE7B,qBAAqB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,yBAAyB,EAAE,GAAG,IAAI;cAmBlG,aAAa,IAAI,IAAI;IA4BxC,OAAO,CAAC,kBAAkB,CAAsC;IAChE,IAAW,iBAAiB,4BAI3B;IAED,IAAW,SAAS,IAAI,OAAO,CAAyC;IACxE,IAAW,SAAS,CAAC,KAAK,EAAE,OAAO,EAA2C;IAE9E,OAAO,CAAC,eAAe,CAAqC;IAC5D,IAAW,cAAc,2BAIxB;IAED,IAAW,MAAM,IAAI,MAAM,CAAsC;IACjE,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAAwC;IAEvE,OAAO,CAAC,iBAAiB,CAAsC;IAC/D,IAAW,gBAAgB,4BAI1B;IAED,IAAW,QAAQ,IAAI,OAAO,CAAwC;IACtE,IAAW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAA0C;IAE5E,OAAO,CAAC,cAAc,CAAqC;IAC3D,IAAW,aAAa,2BAIvB;IAED,IAAW,KAAK,IAAI,MAAM,CAAqC;IAC/D,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAAuC;IAErE,OAAO,CAAC,kBAAkB,CAAsC;IAChE,IAAW,iBAAiB,4BAI3B;IAED,IAAW,SAAS,IAAI,OAAO,CAAyC;IACxE,IAAW,SAAS,CAAC,KAAK,EAAE,OAAO,EAA2C;IAE9E,OAAO,CAAC,eAAe,CAAqC;IAC5D,IAAW,cAAc,2BAIxB;IAED,IAAW,MAAM,IAAI,MAAM,CAAsC;IACjE,IAAW,MAAM,CAAC,KAAK,EAAE,MAAM,EAAwC;IAEvE,OAAO,CAAC,eAAe,CAAsC;IAC7D,IAAW,cAAc,4BAKxB;IAED,IAAW,MAAM,IAAI,OAAO,CAAsC;IAClE,IAAW,MAAM,CAAC,KAAK,EAAE,OAAO,EAAwC;IAExE,OAAO,CAAC,mBAAmB,CAAsC;IACjE,IAAW,kBAAkB,4BAK5B;IAED,IAAW,UAAU,IAAI,OAAO,CAA0C;IAC1E,IAAW,UAAU,CAAC,KAAK,EAAE,OAAO,EAA4C;cAE7D,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO;cAIjC,iBAAiB,CAAC,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;cAyH9E,4BAA4B,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS;IAUzF,8BAA8B,CAAC,YAAY,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5F,4BAA4B,IAAI,UAAU,EAAE,GAAG,SAAS;IAuB3D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAK5C;AAED,wDAAwD;AACxD,oBAAY,gBAAgB;IAC1B,+CAA+C;IAC/C,WAAW,IAAA;IACX,gDAAgD;IAChD,YAAY,IAAA;IACZ,qDAAqD;IACrD,qBAAqB,IAAA;IACrB,+CAA+C;IAC/C,WAAW,IAAA;IACX,0CAA0C;IAC1C,YAAY,IAAA;CACb;AAED,4GAA4G;AAC5G,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,OAAuB,MAAM,SAAiB;IAC9C,OAAuB,QAAQ,SAAiB;IAEhD,SAAS,CAAC,WAAW,mBAAgC;cAElC,qBAAqB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,yBAAyB,EAAE,GAAG,IAAI;cAmBlG,aAAa,IAAI,IAAI;IA0BxC,OAAO,CAAC,yBAAyB,CAAsC;IACvE,IAAW,wBAAwB,4BAIlC;IAED,IAAW,gBAAgB,IAAI,OAAO,CAAgD;IACtF,IAAW,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAkD;IAE5F,OAAO,CAAC,sBAAsB,CAAqC;IACnE,IAAW,qBAAqB,2BAI/B;IAED,IAAW,aAAa,IAAI,MAAM,CAA6C;IAC/E,IAAW,aAAa,CAAC,KAAK,EAAE,MAAM,EAA+C;IAErF,OAAO,CAAC,2BAA2B,CAAsC;IACzE,IAAW,0BAA0B,4BAIpC;IAED,IAAW,kBAAkB,IAAI,OAAO,CAAkD;IAC1F,IAAW,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAoD;IAEhG,OAAO,CAAC,wBAAwB,CAAqC;IACrE,IAAW,uBAAuB,2BAIjC;IAED,IAAW,eAAe,IAAI,MAAM,CAA+C;IACnF,IAAW,eAAe,CAAC,KAAK,EAAE,MAAM,EAAiD;IAEzF,OAAO,CAAC,iBAAiB,CAAsC;IAC/D,IAAW,gBAAgB,4BAI1B;IAED,IAAW,QAAQ,IAAI,OAAO,CAAwC;IACtE,IAAW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAA0C;IAE5E,OAAO,CAAC,cAAc,CAAqC;IAC3D,IAAW,aAAa,2BAIvB;IAED,IAAW,KAAK,IAAI,MAAM,CAAqC;IAC/D,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAAuC;IAErE,OAAO,CAAC,eAAe,CAAsC;IAC7D,IAAW,cAAc,4BAKxB;IAED,IAAW,MAAM,IAAI,OAAO,CAAsC;IAClE,IAAW,MAAM,CAAC,KAAK,EAAE,OAAO,EAAwC;cAErD,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO;cAIjC,iBAAiB,CAAC,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;cA+I9E,4BAA4B,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS;IAUzF,8BAA8B,CAAC,YAAY,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5F,4BAA4B,IAAI,UAAU,EAAE,GAAG,SAAS;IAsB3D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAK5C"}
1
+ {"version":3,"file":"SolidPrimitiveTools.d.ts","sourceRoot":"","sources":["../../src/SolidPrimitiveTools.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,20 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CreateTorusTool = exports.CreateTorusPhase = exports.CreateBoxTool = exports.CreateConeTool = exports.CreateConePhase = exports.CreateCylinderTool = exports.CreateCylinderPhase = exports.CreateSphereTool = exports.SolidPrimitiveTool = void 0;
4
2
  /*---------------------------------------------------------------------------------------------
5
3
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
6
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
7
5
  *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.RevolveCurveTool = exports.ExtrudeCurveTool = exports.CreateTorusTool = exports.CreateTorusPhase = exports.CreateBoxTool = exports.CreateConeTool = exports.CreateConePhase = exports.CreateCylinderTool = exports.CreateCylinderPhase = exports.CreateSphereTool = exports.SolidPrimitiveTool = void 0;
8
+ const appui_abstract_1 = require("@itwin/appui-abstract");
8
9
  const core_bentley_1 = require("@itwin/core-bentley");
9
- const core_geometry_1 = require("@itwin/core-geometry");
10
10
  const core_common_1 = require("@itwin/core-common");
11
11
  const core_frontend_1 = require("@itwin/core-frontend");
12
+ const core_geometry_1 = require("@itwin/core-geometry");
12
13
  const editor_common_1 = require("@itwin/editor-common");
13
14
  const CreateElementTool_1 = require("./CreateElementTool");
14
15
  const EditTool_1 = require("./EditTool");
15
- const appui_abstract_1 = require("@itwin/appui-abstract");
16
+ const EditToolIpc_1 = require("./EditToolIpc");
17
+ const ModifyCurveTools_1 = require("./ModifyCurveTools");
16
18
  /** @alpha Base class for creating a capped or uncapped SolidPrimitive. */
17
19
  class SolidPrimitiveTool extends CreateElementTool_1.CreateElementWithDynamicsTool {
18
20
  constructor() {
@@ -26,9 +28,6 @@ class SolidPrimitiveTool extends CreateElementTool_1.CreateElementWithDynamicsTo
26
28
  return this._startedCmd;
27
29
  return EditTool_1.EditTools.startCommand(editor_common_1.editorBuiltInCmdIds.cmdBasicManipulation, this.iModel.key);
28
30
  }
29
- static callCommand(method, ...args) {
30
- return EditTool_1.EditTools.callCommand(method, ...args);
31
- }
32
31
  getPlacementProps() {
33
32
  var _a;
34
33
  if (undefined === this.current)
@@ -58,7 +57,7 @@ class SolidPrimitiveTool extends CreateElementTool_1.CreateElementWithDynamicsTo
58
57
  async doCreateElement(props, data) {
59
58
  try {
60
59
  this._startedCmd = await this.startCommand();
61
- await SolidPrimitiveTool.callCommand("insertGeometricElement", props, data);
60
+ await EditToolIpc_1.basicManipulationIpc.insertGeometricElement(props, data);
62
61
  await this.saveChanges();
63
62
  }
64
63
  catch (err) {
@@ -1093,4 +1092,288 @@ class CreateTorusTool extends SolidPrimitiveTool {
1093
1092
  exports.CreateTorusTool = CreateTorusTool;
1094
1093
  CreateTorusTool.toolId = "CreateTorus";
1095
1094
  CreateTorusTool.iconSpec = "icon-circle"; // TODO: Need better icon...
1095
+ /** @alpha Tool for extruding paths and regions. */
1096
+ class ExtrudeCurveTool extends ModifyCurveTools_1.ModifyCurveTool {
1097
+ allowView(vp) { return vp.view.is3d(); }
1098
+ get useLengthProperty() {
1099
+ if (!this._useLengthProperty)
1100
+ this._useLengthProperty = new appui_abstract_1.DialogProperty(appui_abstract_1.PropertyDescriptionHelper.buildLockPropertyDescription("useExtrudeLength"), false);
1101
+ return this._useLengthProperty;
1102
+ }
1103
+ get useLength() { return this.useLengthProperty.value; }
1104
+ set useLength(value) { this.useLengthProperty.value = value; }
1105
+ get lengthProperty() {
1106
+ if (!this._lengthProperty)
1107
+ this._lengthProperty = new appui_abstract_1.DialogProperty(new core_frontend_1.LengthDescription("extrudeLength", EditTool_1.EditTools.translate("ExtrudeCurve.Label.Length")), 0.1, undefined, !this.useLength);
1108
+ return this._lengthProperty;
1109
+ }
1110
+ get length() { return this.lengthProperty.value; }
1111
+ set length(value) { this.lengthProperty.value = value; }
1112
+ get cappedProperty() {
1113
+ if (!this._cappedProperty)
1114
+ this._cappedProperty = new appui_abstract_1.DialogProperty(appui_abstract_1.PropertyDescriptionHelper.buildToggleDescription("extrudeCapped", EditTool_1.EditTools.translate("ExtrudeCurve.Label.Capped")), true);
1115
+ return this._cappedProperty;
1116
+ }
1117
+ get capped() { return this.cappedProperty.value; }
1118
+ set capped(value) { this.cappedProperty.value = value; }
1119
+ get orthogonalProperty() {
1120
+ if (!this._orthogonalProperty)
1121
+ this._orthogonalProperty = new appui_abstract_1.DialogProperty(appui_abstract_1.PropertyDescriptionHelper.buildToggleDescription("extrudeOrthogonal", EditTool_1.EditTools.translate("ExtrudeCurve.Label.Orthogonal")), true);
1122
+ return this._orthogonalProperty;
1123
+ }
1124
+ get orthogonal() { return this.orthogonalProperty.value; }
1125
+ set orthogonal(value) { this.orthogonalProperty.value = value; }
1126
+ get keepProfileProperty() {
1127
+ if (!this._keepProfileProperty)
1128
+ this._keepProfileProperty = new appui_abstract_1.DialogProperty(appui_abstract_1.PropertyDescriptionHelper.buildToggleDescription("extrudeKeepProfile", EditTool_1.EditTools.translate("ExtrudeCurve.Label.KeepProfile")), false);
1129
+ return this._keepProfileProperty;
1130
+ }
1131
+ get keepProfile() { return this.keepProfileProperty.value; }
1132
+ set keepProfile(value) { this.keepProfileProperty.value = value; }
1133
+ getToolSettingPropertyLocked(property) {
1134
+ return (property === this.useLengthProperty ? this.lengthProperty : undefined);
1135
+ }
1136
+ async applyToolSettingPropertyChange(updatedValue) {
1137
+ return this.changeToolSettingPropertyValue(updatedValue);
1138
+ }
1139
+ supplyToolSettingsProperties() {
1140
+ this.initializeToolSettingPropertyValues([this.keepProfileProperty, this.orthogonalProperty, this.cappedProperty, this.useLengthProperty, this.lengthProperty]);
1141
+ const toolSettings = new Array();
1142
+ // ensure controls are enabled/disabled based on current lock property state
1143
+ this.lengthProperty.isDisabled = !this.useLength;
1144
+ const useLengthLock = this.useLengthProperty.toDialogItem({ rowPriority: 1, columnIndex: 0 });
1145
+ toolSettings.push(this.lengthProperty.toDialogItem({ rowPriority: 1, columnIndex: 1 }, useLengthLock));
1146
+ toolSettings.push(this.orthogonalProperty.toDialogItem({ rowPriority: 2, columnIndex: 0 }));
1147
+ toolSettings.push(this.cappedProperty.toDialogItem({ rowPriority: 3, columnIndex: 0 }));
1148
+ toolSettings.push(this.keepProfileProperty.toDialogItem({ rowPriority: 4, columnIndex: 0 }));
1149
+ return toolSettings;
1150
+ }
1151
+ acceptCurve(curve) {
1152
+ if ("curvePrimitive" === curve.geometryCategory)
1153
+ return true;
1154
+ switch (curve.curveCollectionType) {
1155
+ case "path":
1156
+ case "loop":
1157
+ case "parityRegion":
1158
+ return true;
1159
+ default:
1160
+ return false;
1161
+ }
1162
+ }
1163
+ modifyCurve(ev, isAccept) {
1164
+ var _a;
1165
+ if (undefined === ev.viewport || undefined === this.anchorPoint)
1166
+ return undefined;
1167
+ const geom = (_a = this.curveData) === null || _a === void 0 ? void 0 : _a.geom;
1168
+ if (undefined === geom)
1169
+ return undefined;
1170
+ const matrix = core_frontend_1.AccuDrawHintBuilder.getCurrentRotation(ev.viewport, true, true);
1171
+ const localToWorld = core_geometry_1.FrameBuilder.createRightHandedFrame(matrix === null || matrix === void 0 ? void 0 : matrix.getColumn(2), geom);
1172
+ if (undefined === localToWorld)
1173
+ return undefined;
1174
+ const spacePoint = this.orthogonal ? core_frontend_1.AccuDrawHintBuilder.projectPointToLineInView(ev.point, this.anchorPoint, localToWorld.matrix.getColumn(2), ev.viewport, true) : ev.point;
1175
+ if (undefined === spacePoint)
1176
+ return undefined;
1177
+ const direction = core_geometry_1.Vector3d.createStartEnd(this.anchorPoint, spacePoint);
1178
+ if (this.useLength && undefined === direction.scaleToLength(this.length, direction))
1179
+ return undefined;
1180
+ if (direction.magnitude() < core_geometry_1.Geometry.smallMetricDistance)
1181
+ return undefined;
1182
+ if (!this.useLength) {
1183
+ this.length = direction.magnitude();
1184
+ this.syncToolSettingPropertyValue(this.lengthProperty);
1185
+ if (isAccept)
1186
+ this.saveToolSettingPropertyValue(this.lengthProperty, this.lengthProperty.dialogItemValue);
1187
+ }
1188
+ const contour = (geom instanceof core_geometry_1.CurvePrimitive) ? core_geometry_1.Path.create(geom) : geom;
1189
+ return core_geometry_1.LinearSweep.create(contour, direction, this.capped && contour.isAnyRegionType);
1190
+ }
1191
+ get wantModifyOriginal() {
1192
+ return !this.keepProfile;
1193
+ }
1194
+ setupAccuDraw() {
1195
+ var _a;
1196
+ const hints = new core_frontend_1.AccuDrawHintBuilder();
1197
+ if (this.agenda.isEmpty) {
1198
+ hints.enableSmartRotation = true;
1199
+ }
1200
+ else if (undefined !== this.anchorPoint && undefined !== this.targetView) {
1201
+ const geom = (_a = this.curveData) === null || _a === void 0 ? void 0 : _a.geom;
1202
+ const matrix = core_frontend_1.AccuDrawHintBuilder.getCurrentRotation(this.targetView, true, true);
1203
+ const localToWorld = core_geometry_1.FrameBuilder.createRightHandedFrame(matrix === null || matrix === void 0 ? void 0 : matrix.getColumn(2), geom);
1204
+ hints.setModeRectangular();
1205
+ hints.setOrigin(this.anchorPoint);
1206
+ hints.setOriginFixed = true;
1207
+ if (undefined !== localToWorld) {
1208
+ hints.setXAxis2(localToWorld.matrix.getColumn(2));
1209
+ if (this.orthogonal) {
1210
+ hints.setLockY = true;
1211
+ hints.setLockZ = true;
1212
+ }
1213
+ }
1214
+ }
1215
+ hints.sendHints(false);
1216
+ }
1217
+ provideToolAssistance(_mainInstrText, _additionalInstr) {
1218
+ let mainMsg;
1219
+ if (!this.agenda.isEmpty)
1220
+ mainMsg = EditTool_1.EditTools.translate("ExtrudeCurve.Prompts.DefineLength");
1221
+ super.provideToolAssistance(mainMsg);
1222
+ }
1223
+ async onRestartTool() {
1224
+ const tool = new ExtrudeCurveTool();
1225
+ if (!await tool.run())
1226
+ return this.exitTool();
1227
+ }
1228
+ }
1229
+ exports.ExtrudeCurveTool = ExtrudeCurveTool;
1230
+ ExtrudeCurveTool.toolId = "ExtrudeCurve";
1231
+ ExtrudeCurveTool.iconSpec = "icon-scale"; // Need better icon...
1232
+ /** @alpha Tool for revolving paths and regions. */
1233
+ class RevolveCurveTool extends ModifyCurveTools_1.ModifyCurveTool {
1234
+ constructor() {
1235
+ super(...arguments);
1236
+ this.points = [];
1237
+ }
1238
+ allowView(vp) { return vp.view.is3d(); }
1239
+ get angleProperty() {
1240
+ if (!this._angleProperty)
1241
+ this._angleProperty = new appui_abstract_1.DialogProperty(new core_frontend_1.AngleDescription("revolveAngle", EditTool_1.EditTools.translate("RevolveCurve.Label.Angle")), core_geometry_1.Angle.piOver2Radians, undefined, false);
1242
+ return this._angleProperty;
1243
+ }
1244
+ get angle() { return this.angleProperty.value; }
1245
+ set angle(value) { this.angleProperty.value = value; }
1246
+ get cappedProperty() {
1247
+ if (!this._cappedProperty)
1248
+ this._cappedProperty = new appui_abstract_1.DialogProperty(appui_abstract_1.PropertyDescriptionHelper.buildToggleDescription("revolveCapped", EditTool_1.EditTools.translate("RevolveCurve.Label.Capped")), true);
1249
+ return this._cappedProperty;
1250
+ }
1251
+ get capped() { return this.cappedProperty.value; }
1252
+ set capped(value) { this.cappedProperty.value = value; }
1253
+ get keepProfileProperty() {
1254
+ if (!this._keepProfileProperty)
1255
+ this._keepProfileProperty = new appui_abstract_1.DialogProperty(appui_abstract_1.PropertyDescriptionHelper.buildToggleDescription("revolveKeepProfile", EditTool_1.EditTools.translate("RevolveCurve.Label.KeepProfile")), false);
1256
+ return this._keepProfileProperty;
1257
+ }
1258
+ get keepProfile() { return this.keepProfileProperty.value; }
1259
+ set keepProfile(value) { this.keepProfileProperty.value = value; }
1260
+ async applyToolSettingPropertyChange(updatedValue) {
1261
+ return this.changeToolSettingPropertyValue(updatedValue);
1262
+ }
1263
+ supplyToolSettingsProperties() {
1264
+ this.initializeToolSettingPropertyValues([this.keepProfileProperty, this.cappedProperty, this.angleProperty]);
1265
+ const toolSettings = new Array();
1266
+ toolSettings.push(this.angleProperty.toDialogItem({ rowPriority: 1, columnIndex: 1 }));
1267
+ toolSettings.push(this.cappedProperty.toDialogItem({ rowPriority: 3, columnIndex: 0 }));
1268
+ toolSettings.push(this.keepProfileProperty.toDialogItem({ rowPriority: 4, columnIndex: 0 }));
1269
+ return toolSettings;
1270
+ }
1271
+ acceptCurve(curve) {
1272
+ if ("curvePrimitive" === curve.geometryCategory)
1273
+ return true;
1274
+ switch (curve.curveCollectionType) {
1275
+ case "path":
1276
+ case "loop":
1277
+ case "parityRegion":
1278
+ return true;
1279
+ default:
1280
+ return false;
1281
+ }
1282
+ }
1283
+ modifyCurve(ev, isAccept) {
1284
+ var _a;
1285
+ if (undefined === ev.viewport || this.points.length < (isAccept ? 2 : 1))
1286
+ return undefined;
1287
+ const geom = (_a = this.curveData) === null || _a === void 0 ? void 0 : _a.geom;
1288
+ if (undefined === geom)
1289
+ return undefined;
1290
+ const direction = core_geometry_1.Vector3d.createStartEnd(this.points[0], isAccept ? this.points[1] : ev.point);
1291
+ if (direction.magnitude() < core_geometry_1.Geometry.smallMetricDistance)
1292
+ return undefined;
1293
+ const axis = core_geometry_1.Ray3d.create(this.points[0], direction);
1294
+ const angle = core_geometry_1.Angle.createRadians(this.angle);
1295
+ const contour = (geom instanceof core_geometry_1.CurvePrimitive) ? core_geometry_1.Path.create(geom) : geom;
1296
+ const sweep = core_geometry_1.RotationalSweep.create(contour, axis, angle, this.capped && contour.isAnyRegionType);
1297
+ // TODO: Detect and reject a self-intersection...PlaneAltitudeRangeContext method being added...
1298
+ // const localToWorld = sweep?.getConstructiveFrame();
1299
+ // if (undefined === localToWorld)
1300
+ // return undefined;
1301
+ // const xVec = localToWorld.matrix.getColumn(0);
1302
+ // const xAxis = Ray3d.create(this.points[0], xVec);
1303
+ // Check parameter range of radial axis ray, if low or high is less than zero don't accept this result...
1304
+ // Range1d paramRange = curve->ProjectedParameterRange(xAxis);
1305
+ // if (paramRange.low < 0.0 || paramRange.high < 0.0)
1306
+ // return undefined;
1307
+ return sweep;
1308
+ }
1309
+ onDynamicFrame(ev, context) {
1310
+ if (0 === this.points.length)
1311
+ return;
1312
+ const pts = this.points.slice();
1313
+ pts.push(ev.point.clone());
1314
+ const builder = context.createGraphic({ type: core_frontend_1.GraphicType.WorldOverlay });
1315
+ builder.setSymbology(context.viewport.getContrastToBackgroundColor(), core_common_1.ColorDef.black, 3);
1316
+ builder.addLineString(pts);
1317
+ context.addGraphic(builder.finish());
1318
+ super.onDynamicFrame(ev, context);
1319
+ }
1320
+ get wantModifyOriginal() {
1321
+ return !this.keepProfile;
1322
+ }
1323
+ get wantAdditionalInput() {
1324
+ return this.points.length < 2;
1325
+ }
1326
+ async gatherInput(ev) {
1327
+ if (undefined !== this.anchorPoint)
1328
+ this.points.push(ev.point.clone());
1329
+ return super.gatherInput(ev);
1330
+ }
1331
+ setupAccuDraw() {
1332
+ var _a;
1333
+ const hints = new core_frontend_1.AccuDrawHintBuilder();
1334
+ if (this.agenda.isEmpty) {
1335
+ hints.enableSmartRotation = true;
1336
+ }
1337
+ else if (0 !== this.points.length) {
1338
+ hints.setOrigin(this.points[0]);
1339
+ hints.setOriginFixed = true;
1340
+ hints.setLockZ = true;
1341
+ }
1342
+ else if (undefined !== this.anchorPoint && undefined !== this.targetView) {
1343
+ const geom = (_a = this.curveData) === null || _a === void 0 ? void 0 : _a.geom;
1344
+ const closeDetail = (geom instanceof core_geometry_1.CurvePrimitive) ? geom.closestPoint(this.anchorPoint, false) : geom === null || geom === void 0 ? void 0 : geom.closestPoint(this.anchorPoint);
1345
+ if (undefined === (closeDetail === null || closeDetail === void 0 ? void 0 : closeDetail.curve))
1346
+ return;
1347
+ const unitX = closeDetail.curve.fractionToPointAndUnitTangent(closeDetail.fraction).direction;
1348
+ if (undefined === unitX)
1349
+ return;
1350
+ const matrix = core_frontend_1.AccuDrawHintBuilder.getCurrentRotation(this.targetView, true, true);
1351
+ const localToWorld = core_geometry_1.FrameBuilder.createRightHandedFrame(matrix === null || matrix === void 0 ? void 0 : matrix.getColumn(2), geom);
1352
+ if (undefined === localToWorld)
1353
+ return;
1354
+ const unitZ = localToWorld.matrix.getColumn(2);
1355
+ const frame = core_geometry_1.Matrix3d.createRigidFromColumns(unitX, unitZ, core_geometry_1.AxisOrder.XZY);
1356
+ if (undefined === frame)
1357
+ return;
1358
+ hints.setModeRectangular();
1359
+ hints.setOrigin(closeDetail.point);
1360
+ hints.setMatrix(frame);
1361
+ }
1362
+ hints.sendHints(false);
1363
+ }
1364
+ provideToolAssistance(_mainInstrText, _additionalInstr) {
1365
+ let mainMsg;
1366
+ if (!this.agenda.isEmpty)
1367
+ mainMsg = EditTool_1.EditTools.translate(0 === this.points.length ? "RevolveCurve.Prompts.AxisPoint" : "RevolveCurve.Prompts.AxisDirection");
1368
+ super.provideToolAssistance(mainMsg);
1369
+ }
1370
+ async onRestartTool() {
1371
+ const tool = new RevolveCurveTool();
1372
+ if (!await tool.run())
1373
+ return this.exitTool();
1374
+ }
1375
+ }
1376
+ exports.RevolveCurveTool = RevolveCurveTool;
1377
+ RevolveCurveTool.toolId = "RevolveCurve";
1378
+ RevolveCurveTool.iconSpec = "icon-scale"; // Need better icon...
1096
1379
  //# sourceMappingURL=SolidPrimitiveTools.js.map