@itwin/editor-frontend 3.2.0-dev.6 → 3.2.0-dev.62

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 (39) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/lib/cjs/CreateElementTool.d.ts.map +1 -1
  3. package/lib/cjs/CreateElementTool.js +10 -6
  4. package/lib/cjs/CreateElementTool.js.map +1 -1
  5. package/lib/cjs/EditTool.d.ts.map +1 -1
  6. package/lib/cjs/EditTool.js +4 -0
  7. package/lib/cjs/EditTool.js.map +1 -1
  8. package/lib/cjs/ModifyCurveTools.d.ts +119 -0
  9. package/lib/cjs/ModifyCurveTools.d.ts.map +1 -0
  10. package/lib/cjs/ModifyCurveTools.js +669 -0
  11. package/lib/cjs/ModifyCurveTools.js.map +1 -0
  12. package/lib/cjs/SketchTools.d.ts +6 -6
  13. package/lib/cjs/SketchTools.d.ts.map +1 -1
  14. package/lib/cjs/SketchTools.js +6 -6
  15. package/lib/cjs/SketchTools.js.map +1 -1
  16. package/lib/cjs/editor-frontend.d.ts +1 -0
  17. package/lib/cjs/editor-frontend.d.ts.map +1 -1
  18. package/lib/cjs/editor-frontend.js +1 -0
  19. package/lib/cjs/editor-frontend.js.map +1 -1
  20. package/lib/esm/CreateElementTool.d.ts.map +1 -1
  21. package/lib/esm/CreateElementTool.js +10 -6
  22. package/lib/esm/CreateElementTool.js.map +1 -1
  23. package/lib/esm/EditTool.d.ts.map +1 -1
  24. package/lib/esm/EditTool.js +4 -0
  25. package/lib/esm/EditTool.js.map +1 -1
  26. package/lib/esm/ModifyCurveTools.d.ts +119 -0
  27. package/lib/esm/ModifyCurveTools.d.ts.map +1 -0
  28. package/lib/esm/ModifyCurveTools.js +661 -0
  29. package/lib/esm/ModifyCurveTools.js.map +1 -0
  30. package/lib/esm/SketchTools.d.ts +6 -6
  31. package/lib/esm/SketchTools.d.ts.map +1 -1
  32. package/lib/esm/SketchTools.js +6 -6
  33. package/lib/esm/SketchTools.js.map +1 -1
  34. package/lib/esm/editor-frontend.d.ts +1 -0
  35. package/lib/esm/editor-frontend.d.ts.map +1 -1
  36. package/lib/esm/editor-frontend.js +1 -0
  37. package/lib/esm/editor-frontend.js.map +1 -1
  38. package/lib/public/locales/en/Editor.json +25 -0
  39. package/package.json +12 -13
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModifyCurveTools.js","sourceRoot":"","sources":["../../src/ModifyCurveTools.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\nimport { AccuDrawHintBuilder, BeButtonEvent, DynamicsContext, ElementSetTool, FeatureOverrideProvider, FeatureSymbology, HitDetail, IModelApp, LengthDescription, LocateResponse, NotifyMessageDetails, OutputMessagePriority, ToolAssistanceInstruction, Viewport } from \"@itwin/core-frontend\";\r\nimport { BentleyError, Code, ElementGeometry, ElementGeometryInfo, ElementGeometryOpcode, FeatureAppearance, FlatBufferGeometryStream, GeometricElementProps, GeometryParams, JsonGeometryStream } from \"@itwin/core-common\";\r\nimport { EditTools } from \"./EditTool\";\r\nimport { AngleSweep, Arc3d, AxisOrder, CurveCollection, CurvePrimitive, FrameBuilder, Geometry, JointOptions, LineSegment3d, LineString3d, Loop, Matrix3d, Path, RegionOps, Vector3d } from \"@itwin/core-geometry\";\r\nimport { BasicManipulationCommandIpc, editorBuiltInCmdIds } from \"@itwin/editor-common\";\r\nimport { computeChordToleranceFromPoint, DynamicGraphicsProvider } from \"./CreateElementTool\";\r\nimport { DialogItem, DialogProperty, DialogPropertySyncItem, PropertyDescriptionHelper } from \"@itwin/appui-abstract\";\r\nimport { Id64, Id64String } from \"@itwin/core-bentley\";\r\n\r\n/** @alpha */\r\nexport class CurveData {\r\n public props: GeometricElementProps;\r\n public params: GeometryParams;\r\n public geom: CurveCollection | CurvePrimitive;\r\n\r\n constructor(props: GeometricElementProps, params: GeometryParams, geom: CurveCollection | CurvePrimitive) {\r\n this.props = props;\r\n this.params = params;\r\n this.geom = geom;\r\n }\r\n}\r\n\r\n/** @alpha Base class for applying an offset to path and loops. */\r\nexport abstract class ModifyCurveTool extends ElementSetTool implements FeatureOverrideProvider {\r\n protected _startedCmd?: string;\r\n protected readonly _checkedIds = new Map<Id64String, boolean>();\r\n protected curveData?: CurveData;\r\n protected _graphicsProvider?: DynamicGraphicsProvider;\r\n protected _firstResult = true;\r\n protected _agendaAppearanceDefault?: FeatureAppearance;\r\n protected _agendaAppearanceDynamic?: FeatureAppearance;\r\n\r\n protected allowView(_vp: Viewport) { return true; }\r\n public override isCompatibleViewport(vp: Viewport | undefined, isSelectedViewChange: boolean): boolean { return (super.isCompatibleViewport(vp, isSelectedViewChange) && undefined !== vp && this.allowView(vp)); }\r\n\r\n protected async startCommand(): Promise<string> {\r\n if (undefined !== this._startedCmd)\r\n return this._startedCmd;\r\n return EditTools.startCommand<string>(editorBuiltInCmdIds.cmdBasicManipulation, this.iModel.key);\r\n }\r\n\r\n public static callCommand<T extends keyof BasicManipulationCommandIpc>(method: T, ...args: Parameters<BasicManipulationCommandIpc[T]>): ReturnType<BasicManipulationCommandIpc[T]> {\r\n return EditTools.callCommand(method, ...args) as ReturnType<BasicManipulationCommandIpc[T]>;\r\n }\r\n\r\n protected agendaAppearance(isDynamics: boolean): FeatureAppearance {\r\n if (isDynamics) {\r\n if (undefined === this._agendaAppearanceDynamic)\r\n this._agendaAppearanceDynamic = FeatureAppearance.fromTransparency(0.0);\r\n\r\n return this._agendaAppearanceDynamic;\r\n }\r\n\r\n if (undefined === this._agendaAppearanceDefault)\r\n this._agendaAppearanceDefault = FeatureAppearance.fromTransparency(0.9);\r\n\r\n return this._agendaAppearanceDefault;\r\n }\r\n\r\n protected get wantAgendaAppearanceOverride(): boolean { return false; }\r\n\r\n public addFeatureOverrides(overrides: FeatureSymbology.Overrides, _vp: Viewport): void {\r\n if (this.agenda.isEmpty)\r\n return;\r\n\r\n const appearance = this.agendaAppearance(false);\r\n this.agenda.elements.forEach((elementId) => { overrides.override({ elementId, appearance }); });\r\n }\r\n\r\n protected updateAgendaAppearanceProvider(drop?: true): void {\r\n if (!this.wantAgendaAppearanceOverride)\r\n return;\r\n\r\n for (const vp of IModelApp.viewManager) {\r\n if (!this.allowView(vp))\r\n continue;\r\n\r\n if (drop || this.agenda.isEmpty)\r\n vp.dropFeatureOverrideProvider(this);\r\n else if (!vp.addFeatureOverrideProvider(this))\r\n vp.setFeatureOverrideProviderChanged();\r\n }\r\n }\r\n\r\n protected clearGraphics(): void {\r\n if (undefined === this._graphicsProvider)\r\n return;\r\n this._graphicsProvider.cleanupGraphic();\r\n this._graphicsProvider = undefined;\r\n }\r\n\r\n protected async createGraphics(ev: BeButtonEvent): Promise<void> {\r\n if (!IModelApp.viewManager.inDynamicsMode)\r\n return; // Don't need to create graphic if dynamics aren't yet active...\r\n\r\n const geometry = this.getGeometryProps(ev, false);\r\n if (undefined === geometry)\r\n return;\r\n\r\n const elemProps = this.getElementProps(ev);\r\n if (undefined === elemProps?.placement)\r\n return;\r\n\r\n if (undefined === this._graphicsProvider) {\r\n if (this._firstResult) {\r\n this.updateAgendaAppearanceProvider();\r\n this._firstResult = false;\r\n }\r\n this._graphicsProvider = new DynamicGraphicsProvider(this.iModel, this.toolId);\r\n }\r\n\r\n // Set chord tolerance for non-linear curve primitives...\r\n if (ev.viewport)\r\n this._graphicsProvider.chordTolerance = computeChordToleranceFromPoint(ev.viewport, ev.point);\r\n\r\n await this._graphicsProvider.createGraphic(elemProps.category, elemProps.placement, geometry);\r\n }\r\n\r\n public static isSingleCurve(info: ElementGeometryInfo): { curve: CurveCollection | CurvePrimitive, params: GeometryParams } | undefined {\r\n const it = new ElementGeometry.Iterator(info);\r\n it.requestWorldCoordinates();\r\n\r\n for (const entry of it) {\r\n const geom = entry.toGeometryQuery();\r\n if (undefined === geom)\r\n return;\r\n\r\n if (\"curvePrimitive\" === geom.geometryCategory) {\r\n return { curve: geom as CurvePrimitive, params: entry.geomParams };\r\n } else if (\"curveCollection\" === geom.geometryCategory) {\r\n return { curve: geom as CurveCollection, params: entry.geomParams };\r\n }\r\n\r\n break;\r\n }\r\n\r\n return;\r\n }\r\n\r\n protected acceptCurve(_curve: CurveCollection | CurvePrimitive): boolean { return true; }\r\n protected modifyCurve(_ev: BeButtonEvent, _isAccept: boolean): CurveCollection | CurvePrimitive | undefined { return undefined; }\r\n\r\n protected async getCurveData(id: Id64String): Promise<CurveData | undefined> {\r\n try {\r\n this._startedCmd = await this.startCommand();\r\n const reject: ElementGeometryOpcode[] = [ElementGeometryOpcode.Polyface, ElementGeometryOpcode.SolidPrimitive, ElementGeometryOpcode.BsplineSurface, ElementGeometryOpcode.BRep ];\r\n const info = await ModifyCurveTool.callCommand(\"requestElementGeometry\", id, { maxDisplayable: 1, reject, geometry: { curves: true, surfaces: true, solids: false } });\r\n if (undefined === info)\r\n return undefined;\r\n\r\n const data = ModifyCurveTool.isSingleCurve(info);\r\n if (undefined === data)\r\n return undefined;\r\n\r\n if (!this.acceptCurve(data.curve))\r\n return undefined;\r\n\r\n const props = await this.iModel.elements.loadProps(id) as GeometricElementProps;\r\n if (undefined === props)\r\n return undefined;\r\n\r\n return new CurveData(props, data.params, data.curve);\r\n } catch (err) {\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, BentleyError.getErrorMessage(err)));\r\n return undefined;\r\n }\r\n }\r\n\r\n protected onGeometryFilterChanged(): void { this._checkedIds.clear(); }\r\n\r\n protected async acceptElementForOperation(id: Id64String): Promise<boolean> {\r\n if (Id64.isInvalid(id) || Id64.isTransient(id))\r\n return false;\r\n\r\n let accept = this._checkedIds.get(id);\r\n\r\n if (undefined === accept) {\r\n if (this.agenda.isEmpty && this._checkedIds.size > 1000)\r\n this._checkedIds.clear(); // Limit auto-locate cache size to something reasonable...\r\n\r\n accept = (undefined !== await this.getCurveData(id));\r\n this._checkedIds.set(id, accept);\r\n }\r\n\r\n return accept;\r\n }\r\n\r\n protected override async isElementValidForOperation(hit: HitDetail, out?: LocateResponse): Promise<boolean> {\r\n if (!await super.isElementValidForOperation(hit, out))\r\n return false;\r\n\r\n return this.acceptElementForOperation(hit.sourceId);\r\n }\r\n\r\n protected override async onAgendaModified(): Promise<void> {\r\n this.curveData = undefined;\r\n if (this.agenda.isEmpty)\r\n return;\r\n\r\n const id = this.agenda.elements[this.agenda.length-1];\r\n this.curveData = await this.getCurveData(id);\r\n }\r\n\r\n public override onDynamicFrame(_ev: BeButtonEvent, context: DynamicsContext): void {\r\n if (undefined !== this._graphicsProvider)\r\n this._graphicsProvider.addGraphic(context);\r\n }\r\n\r\n public override async onMouseMotion(ev: BeButtonEvent): Promise<void> {\r\n return this.createGraphics(ev);\r\n }\r\n\r\n protected setupAccuDraw(): void {\r\n const hints = new AccuDrawHintBuilder();\r\n\r\n hints.enableSmartRotation = true;\r\n hints.sendHints(false);\r\n }\r\n\r\n protected override setupAndPromptForNextAction(): void {\r\n this.setupAccuDraw();\r\n super.setupAndPromptForNextAction();\r\n }\r\n\r\n protected getGeometryProps(ev: BeButtonEvent, isAccept: boolean): JsonGeometryStream | FlatBufferGeometryStream | undefined {\r\n if (undefined === this.curveData)\r\n return;\r\n\r\n const offset = this.modifyCurve(ev, isAccept);\r\n if (undefined === offset)\r\n return;\r\n\r\n const builder = new ElementGeometry.Builder();\r\n builder.setLocalToWorldFromPlacement(this.curveData.props.placement!);\r\n\r\n if (!builder.appendGeometryParamsChange(this.curveData.params))\r\n return;\r\n\r\n if (!builder.appendGeometryQuery(offset))\r\n return;\r\n\r\n return { format: \"flatbuffer\", data: builder.entries };\r\n }\r\n\r\n protected getElementProps(ev: BeButtonEvent): GeometricElementProps | undefined {\r\n if (undefined === this.curveData)\r\n return;\r\n\r\n if (!this.wantModifyOriginal) {\r\n // Create result as new element with same model and category as original...\r\n const classFullName = (ev.viewport?.view.is3d() ? \"Generic:PhysicalObject\" : \"BisCore:DrawingGraphic\");\r\n return { classFullName, model: this.curveData.props.model, category: this.curveData.props.category, code: Code.createEmpty(), placement: this.curveData.props.placement };\r\n }\r\n\r\n return this.curveData.props;\r\n }\r\n\r\n protected async applyAgendaOperation(ev: BeButtonEvent): Promise<boolean> {\r\n const geometry = this.getGeometryProps(ev, true);\r\n if (undefined === geometry)\r\n return false;\r\n\r\n const elemProps = this.getElementProps(ev);\r\n if (undefined === elemProps)\r\n return false;\r\n\r\n if (\"flatbuffer\" === geometry.format)\r\n elemProps.elementGeometryBuilderParams = { entryArray: geometry.data };\r\n else\r\n elemProps.geom = geometry.data;\r\n\r\n try {\r\n this._startedCmd = await this.startCommand();\r\n if (undefined === elemProps.id) {\r\n const repeatOperation = this.wantContinueWithPreviousResult;\r\n if (repeatOperation)\r\n this.agenda.clear();\r\n\r\n const newId = await ModifyCurveTool.callCommand(\"insertGeometricElement\", elemProps);\r\n\r\n if (repeatOperation && this.agenda.add(newId))\r\n await this.onAgendaModified();\r\n } else {\r\n await ModifyCurveTool.callCommand(\"updateGeometricElement\", elemProps);\r\n }\r\n return true;\r\n } catch (err) {\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, BentleyError.getErrorMessage(err) || \"An unknown error occurred.\"));\r\n return false;\r\n }\r\n }\r\n\r\n public override async processAgenda(ev: BeButtonEvent): Promise<void> {\r\n if (await this.applyAgendaOperation(ev))\r\n return this.saveChanges();\r\n }\r\n\r\n protected get wantModifyOriginal(): boolean { return true; }\r\n protected get wantContinueWithPreviousResult(): boolean { return false; }\r\n\r\n public override async onProcessComplete(): Promise<void> {\r\n // Don't restart tool want to continue operation using previous result...\r\n if (this.wantContinueWithPreviousResult && !this.agenda.isEmpty && undefined !== this.curveData)\r\n return;\r\n return super.onProcessComplete();\r\n }\r\n\r\n public override async onUnsuspend(): Promise<void> {\r\n if (!this._firstResult)\r\n this.updateAgendaAppearanceProvider();\r\n return super.onUnsuspend();\r\n }\r\n\r\n public override async onSuspend(): Promise<void> {\r\n if (!this._firstResult)\r\n this.updateAgendaAppearanceProvider(true);\r\n return super.onSuspend();\r\n }\r\n\r\n public override async onPostInstall(): Promise<void> {\r\n await super.onPostInstall();\r\n if (this.wantAgendaAppearanceOverride)\r\n this.agenda.manageHiliteState = false;\r\n }\r\n\r\n public override async onCleanup(): Promise<void> {\r\n this.clearGraphics();\r\n this.updateAgendaAppearanceProvider(true);\r\n return super.onCleanup();\r\n }\r\n}\r\n\r\n/** @alpha Tool for applying an offset to paths and loops. */\r\nexport class OffsetCurveTool extends ModifyCurveTool {\r\n public static override toolId = \"OffsetCurve\";\r\n public static override iconSpec = \"icon-scale\"; // Need better icon...\r\n\r\n protected override get wantAccuSnap(): boolean { return true; }\r\n protected override get wantDynamics(): boolean { return true; }\r\n\r\n private _useDistanceProperty: DialogProperty<boolean> | undefined;\r\n public get useDistanceProperty() {\r\n if (!this._useDistanceProperty)\r\n this._useDistanceProperty = new DialogProperty<boolean>(PropertyDescriptionHelper.buildLockPropertyDescription(\"useOffsetDistance\"), false);\r\n return this._useDistanceProperty;\r\n }\r\n\r\n public get useDistance(): boolean { return this.useDistanceProperty.value; }\r\n public set useDistance(value: boolean) { this.useDistanceProperty.value = value; }\r\n\r\n private _distanceProperty: DialogProperty<number> | undefined;\r\n public get distanceProperty() {\r\n if (!this._distanceProperty)\r\n this._distanceProperty = new DialogProperty<number>(new LengthDescription(\"offsetDistance\", EditTools.translate(\"OffsetCurve.Label.Distance\")), 0.1, undefined, !this.useDistance);\r\n return this._distanceProperty;\r\n }\r\n\r\n public get distance(): number { return this.distanceProperty.value; }\r\n public set distance(value: number) { this.distanceProperty.value = value; }\r\n\r\n private _makeCopyProperty: DialogProperty<boolean> | undefined;\r\n public get makeCopyProperty() {\r\n if (!this._makeCopyProperty)\r\n this._makeCopyProperty = new DialogProperty<boolean>(\r\n PropertyDescriptionHelper.buildToggleDescription(\"offsetCopy\", EditTools.translate(\"OffsetCurve.Label.MakeCopy\")), false);\r\n return this._makeCopyProperty;\r\n }\r\n\r\n public get makeCopy(): boolean { return this.makeCopyProperty.value; }\r\n public set makeCopy(value: boolean) { this.makeCopyProperty.value = value; }\r\n\r\n protected override getToolSettingPropertyLocked(property: DialogProperty<any>): DialogProperty<any> | undefined {\r\n return (property === this.useDistanceProperty ? this.distanceProperty : undefined);\r\n }\r\n\r\n public override async applyToolSettingPropertyChange(updatedValue: DialogPropertySyncItem): Promise<boolean> {\r\n return this.changeToolSettingPropertyValue(updatedValue);\r\n }\r\n\r\n public override supplyToolSettingsProperties(): DialogItem[] | undefined {\r\n this.initializeToolSettingPropertyValues([this.makeCopyProperty, this.useDistanceProperty, this.distanceProperty]);\r\n\r\n const toolSettings = new Array<DialogItem>();\r\n\r\n // ensure controls are enabled/disabled based on current lock property state\r\n this.distanceProperty.isDisabled = !this.useDistance;\r\n const useDistanceLock = this.useDistanceProperty.toDialogItem({ rowPriority: 1, columnIndex: 0 });\r\n toolSettings.push(this.distanceProperty.toDialogItem({ rowPriority: 1, columnIndex: 1 }, useDistanceLock));\r\n toolSettings.push(this.makeCopyProperty.toDialogItem({ rowPriority: 2, columnIndex: 0 }));\r\n\r\n return toolSettings;\r\n }\r\n\r\n protected override acceptCurve(curve: CurveCollection | CurvePrimitive): boolean {\r\n if (\"curvePrimitive\" === curve.geometryCategory)\r\n return true;\r\n\r\n switch (curve.curveCollectionType) {\r\n case \"path\":\r\n case \"loop\":\r\n return true;\r\n\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n protected override modifyCurve(ev: BeButtonEvent, isAccept: boolean): CurveCollection | CurvePrimitive | undefined {\r\n if (undefined === ev.viewport)\r\n return undefined;\r\n\r\n const geom = this.curveData?.geom;\r\n if (undefined === geom)\r\n return undefined;\r\n\r\n const matrix = AccuDrawHintBuilder.getCurrentRotation(ev.viewport, true, true);\r\n const localToWorld = FrameBuilder.createRightHandedFrame(matrix?.getColumn(2), geom);\r\n if (undefined === localToWorld)\r\n return undefined;\r\n\r\n const worldToLocal = localToWorld.inverse();\r\n if (undefined === worldToLocal)\r\n return undefined;\r\n\r\n const geomXY = ((geom instanceof CurvePrimitive) ? Path.create(geom) : geom).cloneTransformed(worldToLocal);\r\n if (undefined === geomXY)\r\n return undefined;\r\n\r\n const spacePoint = AccuDrawHintBuilder.projectPointToPlaneInView(ev.point, localToWorld.getOrigin(), localToWorld.matrix.getColumn(2), ev.viewport);\r\n if (undefined === spacePoint)\r\n return undefined;\r\n\r\n worldToLocal.multiplyPoint3d(spacePoint, spacePoint);\r\n spacePoint.z = 0.0;\r\n\r\n const closeDetail = geomXY.closestPoint(spacePoint);\r\n if (undefined === closeDetail?.curve)\r\n return undefined;\r\n\r\n const unitZ = Vector3d.unitZ();\r\n const unitX = closeDetail.curve.fractionToPointAndUnitTangent(closeDetail.fraction).direction;\r\n const unitY = unitZ.unitCrossProduct(unitX);\r\n\r\n if (undefined === unitY)\r\n return undefined;\r\n\r\n let distance = closeDetail.point.distance(spacePoint);\r\n const refDir = Vector3d.createStartEnd(closeDetail.point, spacePoint);\r\n\r\n if (refDir.dotProduct(unitY) < 0.0)\r\n distance = -distance;\r\n\r\n let offset = 0.0;\r\n\r\n if (this.useDistance) {\r\n offset = this.distance;\r\n if ((offset < 0.0 && distance > 0.0) || (offset > 0.0 && distance < 0.0))\r\n offset = -offset;\r\n } else {\r\n offset = distance;\r\n }\r\n\r\n if (Math.abs(offset) < Geometry.smallMetricDistance)\r\n return undefined;\r\n\r\n if (offset !== this.distance) {\r\n this.distance = offset;\r\n this.syncToolSettingPropertyValue(this.distanceProperty);\r\n if (isAccept)\r\n this.saveToolSettingPropertyValue(this.distanceProperty, this.distanceProperty.dialogItemValue);\r\n }\r\n\r\n const jointOptions = new JointOptions(offset);\r\n jointOptions.preserveEllipticalArcs = true;\r\n\r\n const offsetGeom = RegionOps.constructCurveXYOffset(geomXY as Path | Loop, jointOptions);\r\n if (undefined === offsetGeom)\r\n return undefined;\r\n\r\n if (!offsetGeom.tryTransformInPlace(localToWorld))\r\n return undefined;\r\n\r\n if (geom instanceof CurvePrimitive && offsetGeom instanceof Path && 1 === offsetGeom.children.length)\r\n return offsetGeom.getChild(0); // Don't create path for offset of single open curve...\r\n\r\n return offsetGeom;\r\n }\r\n\r\n protected override get wantModifyOriginal(): boolean {\r\n return !this.makeCopy;\r\n }\r\n\r\n protected override get wantContinueWithPreviousResult(): boolean {\r\n return !this.wantModifyOriginal;\r\n }\r\n\r\n protected override setupAccuDraw(): void {\r\n const hints = new AccuDrawHintBuilder();\r\n\r\n if (this.agenda.isEmpty) {\r\n hints.enableSmartRotation = true;\r\n } else if (undefined !== this.anchorPoint && undefined !== this.targetView) {\r\n const geom = this.curveData?.geom;\r\n const closeDetail = (geom instanceof CurvePrimitive) ? geom.closestPoint(this.anchorPoint, false) : geom?.closestPoint(this.anchorPoint);\r\n\r\n if (undefined !== closeDetail?.curve) {\r\n const unitX = closeDetail.curve.fractionToPointAndUnitTangent(closeDetail.fraction).direction;\r\n\r\n if (undefined !== unitX) {\r\n const matrix = AccuDrawHintBuilder.getCurrentRotation(this.targetView, true, true);\r\n const localToWorld = FrameBuilder.createRightHandedFrame(matrix?.getColumn(2), geom);\r\n\r\n if (undefined !== localToWorld) {\r\n const unitZ = localToWorld.matrix.getColumn(2);\r\n const frame = Matrix3d.createRigidFromColumns(unitX, unitZ, AxisOrder.XZY);\r\n\r\n if (undefined !== frame) {\r\n hints.setOrigin(closeDetail.point);\r\n hints.setMatrix(frame);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n hints.sendHints(false);\r\n }\r\n\r\n protected override provideToolAssistance(_mainInstrText?: string, _additionalInstr?: ToolAssistanceInstruction[]): void {\r\n let mainMsg;\r\n if (!this.agenda.isEmpty)\r\n mainMsg = EditTools.translate(\"OffsetCurve.Prompts.DefineOffset\");\r\n super.provideToolAssistance(mainMsg);\r\n }\r\n\r\n public async onRestartTool(): Promise<void> {\r\n const tool = new OffsetCurveTool();\r\n if (!await tool.run())\r\n return this.exitTool();\r\n }\r\n}\r\n\r\n/** @alpha Tool for opening loops and splitting paths. */\r\nexport class BreakCurveTool extends ModifyCurveTool {\r\n public static override toolId = \"BreakCurve\";\r\n public static override iconSpec = \"icon-scale\"; // Need better icon...\r\n\r\n protected resultA?: CurveCollection | CurvePrimitive;\r\n protected resultB?: CurveCollection | CurvePrimitive;\r\n protected modifyOriginal = true;\r\n\r\n protected override get wantAccuSnap(): boolean { return true; }\r\n protected override get wantModifyOriginal(): boolean { return this.modifyOriginal; }\r\n\r\n protected override acceptCurve(curve: CurveCollection | CurvePrimitive): boolean {\r\n if (\"curvePrimitive\" === curve.geometryCategory)\r\n return true;\r\n\r\n switch (curve.curveCollectionType) {\r\n case \"path\":\r\n case \"loop\":\r\n return true;\r\n\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n protected doBreakCurve(ev: BeButtonEvent): void {\r\n this.resultA = this.resultB = undefined;\r\n\r\n if (undefined === ev.viewport)\r\n return;\r\n\r\n const geom = this.curveData?.geom;\r\n if (undefined === geom)\r\n return;\r\n\r\n const closeDetail = (geom instanceof CurvePrimitive) ? geom.closestPoint(ev.point, false) : geom.closestPoint(ev.point);\r\n if (undefined === closeDetail?.curve)\r\n return;\r\n\r\n const selectedStart = (closeDetail.fraction <= Geometry.smallFraction);\r\n const selectedEnd = (closeDetail.fraction >= (1.0 - Geometry.smallFraction));\r\n\r\n if (geom instanceof CurvePrimitive) {\r\n if (selectedStart || selectedEnd)\r\n return; // split is no-op...\r\n\r\n this.resultA = geom.clonePartialCurve(0.0, closeDetail.fraction);\r\n this.resultB = geom.clonePartialCurve(closeDetail.fraction, 1.0);\r\n return;\r\n } else if (geom instanceof Path) {\r\n const firstCurve = geom.children[0];\r\n const lastCurve = geom.children[geom.children.length-1];\r\n\r\n if ((closeDetail.curve === firstCurve && selectedStart) || (closeDetail.curve === lastCurve && selectedEnd))\r\n return; // split is no-op...\r\n\r\n let beforeCurve = true;\r\n const resultA = Path.create();\r\n const resultB = Path.create();\r\n\r\n for (const curve of geom.children) {\r\n if (curve === closeDetail.curve) {\r\n if (selectedStart) {\r\n resultB.children.push(curve.clone());\r\n } else if (selectedEnd) {\r\n resultA.children.push(curve.clone());\r\n } else {\r\n const curveA = curve.clonePartialCurve(0.0, closeDetail.fraction);\r\n if (undefined !== curveA)\r\n resultA.children.push(curveA);\r\n\r\n const curveB = curve.clonePartialCurve(closeDetail.fraction, 1.0);\r\n if (undefined !== curveB)\r\n resultB.children.push(curveB);\r\n }\r\n beforeCurve = false;\r\n } else {\r\n if (beforeCurve)\r\n resultA.children.push(curve.clone());\r\n else\r\n resultB.children.push(curve.clone());\r\n }\r\n }\r\n\r\n this.resultA = resultA;\r\n this.resultB = resultB;\r\n } else if (geom instanceof Loop) {\r\n const closeIndex = geom.children.findIndex((child) => child === closeDetail.curve);\r\n if (-1 === closeIndex)\r\n return;\r\n\r\n const endIndex = closeIndex + geom.children.length;\r\n const resultA = Path.create(); // Result is always a single path...\r\n\r\n if (selectedStart) {\r\n resultA.children.push(closeDetail.curve.clone());\r\n } else if (!selectedEnd) {\r\n const curveB = closeDetail.curve.clonePartialCurve(closeDetail.fraction, 1.0);\r\n if (undefined !== curveB)\r\n resultA.children.push(curveB);\r\n }\r\n\r\n for (let index = closeIndex; index < endIndex; ++index) {\r\n const curve = geom.cyclicCurvePrimitive(index);\r\n if (undefined === curve || curve === closeDetail.curve)\r\n continue;\r\n\r\n resultA.children.push(curve.clone());\r\n }\r\n\r\n if (selectedEnd) {\r\n resultA.children.push(closeDetail.curve.clone());\r\n } else if (!selectedStart) {\r\n const curveA = closeDetail.curve.clonePartialCurve(0.0, closeDetail.fraction);\r\n if (undefined !== curveA)\r\n resultA.children.push(curveA);\r\n }\r\n\r\n this.resultA = resultA;\r\n }\r\n }\r\n\r\n protected override modifyCurve(_ev: BeButtonEvent, _isAccept: boolean): CurveCollection | CurvePrimitive | undefined {\r\n return (this.wantModifyOriginal ? this.resultA : this.resultB);\r\n }\r\n\r\n public override async processAgenda(ev: BeButtonEvent): Promise<void> {\r\n this.doBreakCurve(ev);\r\n if (undefined === this.resultA || !await this.applyAgendaOperation(ev))\r\n return;\r\n\r\n if (undefined !== this.resultB) {\r\n this.modifyOriginal = false;\r\n await this.applyAgendaOperation(ev);\r\n }\r\n\r\n return this.saveChanges();\r\n }\r\n\r\n protected override provideToolAssistance(_mainInstrText?: string, _additionalInstr?: ToolAssistanceInstruction[]): void {\r\n let mainMsg;\r\n if (this.agenda.isEmpty)\r\n mainMsg = EditTools.translate(\"BreakCurve.Prompts.IdentifyBreak\");\r\n super.provideToolAssistance(mainMsg);\r\n }\r\n\r\n public async onRestartTool(): Promise<void> {\r\n const tool = new BreakCurveTool();\r\n if (!await tool.run())\r\n return this.exitTool();\r\n }\r\n}\r\n\r\n/** @alpha Tool for extending/shortening curves. */\r\nexport class ExtendCurveTool extends ModifyCurveTool {\r\n public static override toolId = \"ExtendCurve\";\r\n public static override iconSpec = \"icon-scale\"; // Need better icon...\r\n\r\n protected override get wantAccuSnap(): boolean { return true; }\r\n protected override get wantDynamics(): boolean { return true; }\r\n protected override get wantAgendaAppearanceOverride(): boolean { return true; }\r\n\r\n protected override acceptCurve(curve: CurveCollection | CurvePrimitive): boolean {\r\n if (\"curvePrimitive\" !== curve.geometryCategory)\r\n return false;\r\n\r\n return curve.isExtensibleFractionSpace;\r\n }\r\n\r\n protected override modifyCurve(ev: BeButtonEvent, _isAccept: boolean): CurveCollection | CurvePrimitive | undefined {\r\n if (undefined === ev.viewport || undefined === this.anchorPoint)\r\n return undefined;\r\n\r\n const geom = this.curveData?.geom;\r\n if (undefined === geom)\r\n return undefined;\r\n\r\n const matrix = AccuDrawHintBuilder.getCurrentRotation(ev.viewport, true, true);\r\n const localToWorld = FrameBuilder.createRightHandedFrame(matrix?.getColumn(2), geom);\r\n if (undefined === localToWorld)\r\n return undefined;\r\n\r\n const worldToLocal = localToWorld.inverse();\r\n if (undefined === worldToLocal)\r\n return undefined;\r\n\r\n const spacePoint = AccuDrawHintBuilder.projectPointToPlaneInView(ev.point, localToWorld.getOrigin(), localToWorld.matrix.getColumn(2), ev.viewport);\r\n if (undefined === spacePoint)\r\n return undefined;\r\n\r\n const pickDetail = geom.closestPoint(this.anchorPoint, false);\r\n if (undefined === pickDetail?.curve)\r\n return undefined;\r\n\r\n const closeDetail = geom.closestPoint(spacePoint, true);\r\n if (undefined === closeDetail?.curve)\r\n return undefined;\r\n\r\n if (closeDetail.curve instanceof Arc3d) {\r\n if (pickDetail.fraction > 0.5 && closeDetail.fraction < 0.0) {\r\n const smallArc = closeDetail.curve.clonePartialCurve(closeDetail.fraction, 0.0);\r\n smallArc.sweep.cloneComplement(false, smallArc.sweep);\r\n return smallArc;\r\n } else if (pickDetail.fraction <= 0.5 && closeDetail.fraction > 1.0) {\r\n const smallArc = closeDetail.curve.clonePartialCurve(1.0, closeDetail.fraction);\r\n smallArc.sweep.cloneComplement(false, smallArc.sweep);\r\n return smallArc;\r\n } else if (Math.abs(pickDetail.fraction > 0.5 ? closeDetail.fraction : 1.0 - closeDetail.fraction) < Geometry.smallFraction) {\r\n const fullArc = closeDetail.curve.clone();\r\n fullArc.sweep = AngleSweep.create360();\r\n return fullArc;\r\n }\r\n }\r\n\r\n return closeDetail.curve.clonePartialCurve(pickDetail.fraction > 0.5 ? 0.0 : 1.0, closeDetail.fraction);\r\n }\r\n\r\n protected override setupAccuDraw(): void {\r\n const hints = new AccuDrawHintBuilder();\r\n\r\n if (this.agenda.isEmpty) {\r\n hints.enableSmartRotation = true;\r\n } else {\r\n const geom = this.curveData?.geom;\r\n if (undefined === geom || \"curvePrimitive\" !== geom.geometryCategory)\r\n return;\r\n\r\n if (geom instanceof Arc3d) {\r\n const matrix = geom.matrixClone();\r\n matrix.normalizeColumnsInPlace();\r\n\r\n hints.setOrigin(geom.center);\r\n hints.setMatrix(matrix);\r\n hints.setModePolar();\r\n } else if (geom instanceof LineSegment3d) {\r\n const pickDetail = (undefined !== this.anchorPoint ? geom.closestPoint(this.anchorPoint, false) : undefined);\r\n if (undefined !== pickDetail?.curve) {\r\n hints.setOrigin(pickDetail.fraction > 0.5 ? geom.point0Ref : geom.point1Ref);\r\n hints.setXAxis(Vector3d.createStartEnd(pickDetail.fraction > 0.5 ? geom.point0Ref : geom.point1Ref, pickDetail.fraction > 0.5 ? geom.point1Ref : geom.point0Ref));\r\n }\r\n hints.setModeRectangular();\r\n } else if (geom instanceof LineString3d) {\r\n const pickDetail = (undefined !== this.anchorPoint ? geom.closestPoint(this.anchorPoint, false) : undefined);\r\n if (undefined !== pickDetail?.curve && geom.numPoints() > 1) {\r\n hints.setOrigin(geom.packedPoints.getPoint3dAtUncheckedPointIndex(pickDetail.fraction > 0.5 ? geom.numPoints()-2 : 1));\r\n hints.setXAxis(Vector3d.createStartEnd(geom.packedPoints.getPoint3dAtUncheckedPointIndex(pickDetail.fraction > 0.5 ? geom.numPoints()-2 : 1), geom.packedPoints.getPoint3dAtUncheckedPointIndex(pickDetail.fraction > 0.5 ? geom.numPoints()-1 : 0)));\r\n }\r\n hints.setModeRectangular();\r\n }\r\n }\r\n hints.sendHints(false);\r\n }\r\n\r\n protected override provideToolAssistance(_mainInstrText?: string, _additionalInstr?: ToolAssistanceInstruction[]): void {\r\n let mainMsg;\r\n if (this.agenda.isEmpty)\r\n mainMsg = EditTools.translate(\"ExtendCurve.Prompts.IdentifyEnd\");\r\n super.provideToolAssistance(mainMsg);\r\n }\r\n\r\n public async onRestartTool(): Promise<void> {\r\n const tool = new ExtendCurveTool();\r\n if (!await tool.run())\r\n return this.exitTool();\r\n }\r\n}\r\n"]}
@@ -104,7 +104,7 @@ export declare abstract class CreateOrContinuePathTool extends CreateElementTool
104
104
  onUndoPreviousStep(): Promise<boolean>;
105
105
  onCleanup(): Promise<void>;
106
106
  }
107
- /** @alpha Creates a line string or shape. Uses model and category from ToolAdmin.ActiveSettings. */
107
+ /** @alpha Creates a line string or shape. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
108
108
  export declare class CreateLineStringTool extends CreateOrContinuePathTool {
109
109
  static toolId: string;
110
110
  static iconSpec: string;
@@ -123,7 +123,7 @@ export declare enum ArcMethod {
123
123
  StartMidEnd = 2,
124
124
  StartEndMid = 3
125
125
  }
126
- /** @alpha Creates an arc. Uses model and category from ToolAdmin.ActiveSettings. */
126
+ /** @alpha Creates an arc. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
127
127
  export declare class CreateArcTool extends CreateOrContinuePathTool {
128
128
  static toolId: string;
129
129
  static iconSpec: string;
@@ -176,7 +176,7 @@ export declare enum CircleMethod {
176
176
  Center = 0,
177
177
  Edge = 1
178
178
  }
179
- /** @alpha Creates a circle. Uses model and category from ToolAdmin.ActiveSettings. */
179
+ /** @alpha Creates a circle. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
180
180
  export declare class CreateCircleTool extends CreateOrContinuePathTool {
181
181
  static toolId: string;
182
182
  static iconSpec: string;
@@ -217,7 +217,7 @@ export declare class CreateCircleTool extends CreateOrContinuePathTool {
217
217
  */
218
218
  parseAndRun(...inputArgs: string[]): Promise<boolean>;
219
219
  }
220
- /** @alpha Creates an ellipse. Uses model and category from ToolAdmin.ActiveSettings. */
220
+ /** @alpha Creates an ellipse. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
221
221
  export declare class CreateEllipseTool extends CreateOrContinuePathTool {
222
222
  static toolId: string;
223
223
  static iconSpec: string;
@@ -228,7 +228,7 @@ export declare class CreateEllipseTool extends CreateOrContinuePathTool {
228
228
  protected createNewCurvePrimitive(ev: BeButtonEvent, isDynamics: boolean): CurvePrimitive | undefined;
229
229
  onRestartTool(): Promise<void>;
230
230
  }
231
- /** @alpha Creates a rectangle by corner points. Uses model and category from ToolAdmin.ActiveSettings. */
231
+ /** @alpha Creates a rectangle by corner points. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
232
232
  export declare class CreateRectangleTool extends CreateOrContinuePathTool {
233
233
  static toolId: string;
234
234
  static iconSpec: string;
@@ -266,7 +266,7 @@ export declare enum BCurveMethod {
266
266
  ControlPoints = 0,
267
267
  ThroughPoints = 1
268
268
  }
269
- /** @alpha Creates a bspline curve by poles or through points. Uses model and category from ToolAdmin.ActiveSettings. */
269
+ /** @alpha Creates a bspline curve by poles or through points. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
270
270
  export declare class CreateBCurveTool extends CreateOrContinuePathTool {
271
271
  static toolId: string;
272
272
  static iconSpec: string;
@@ -1 +1 @@
1
- {"version":3,"file":"SketchTools.d.ts","sourceRoot":"","sources":["../../src/SketchTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SketchTools.d.ts","sourceRoot":"","sources":["../../src/SketchTools.ts"],"names":[],"mappings":"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"}
@@ -591,7 +591,7 @@ class CreateOrContinuePathTool extends CreateElementTool_1.CreateElementTool {
591
591
  }
592
592
  }
593
593
  exports.CreateOrContinuePathTool = CreateOrContinuePathTool;
594
- /** @alpha Creates a line string or shape. Uses model and category from ToolAdmin.ActiveSettings. */
594
+ /** @alpha Creates a line string or shape. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
595
595
  class CreateLineStringTool extends CreateOrContinuePathTool {
596
596
  get wantPickableDynamics() { return true; } // Allow snapping to accepted segments...
597
597
  provideToolAssistance(_mainInstrText, _additionalInstr) {
@@ -659,7 +659,7 @@ var ArcMethod;
659
659
  ArcMethod[ArcMethod["StartMidEnd"] = 2] = "StartMidEnd";
660
660
  ArcMethod[ArcMethod["StartEndMid"] = 3] = "StartEndMid";
661
661
  })(ArcMethod = exports.ArcMethod || (exports.ArcMethod = {}));
662
- /** @alpha Creates an arc. Uses model and category from ToolAdmin.ActiveSettings. */
662
+ /** @alpha Creates an arc. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
663
663
  class CreateArcTool extends CreateOrContinuePathTool {
664
664
  static get minArgs() { return 0; }
665
665
  static get maxArgs() { return 3; } // method, radius, sweep - zero value unlocks associated "use" toggle...
@@ -1063,7 +1063,7 @@ var CircleMethod;
1063
1063
  CircleMethod[CircleMethod["Center"] = 0] = "Center";
1064
1064
  CircleMethod[CircleMethod["Edge"] = 1] = "Edge";
1065
1065
  })(CircleMethod = exports.CircleMethod || (exports.CircleMethod = {}));
1066
- /** @alpha Creates a circle. Uses model and category from ToolAdmin.ActiveSettings. */
1066
+ /** @alpha Creates a circle. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
1067
1067
  class CreateCircleTool extends CreateOrContinuePathTool {
1068
1068
  static get minArgs() { return 0; }
1069
1069
  static get maxArgs() { return 2; } // method, radius - zero value unlocks associated "use" toggle...
@@ -1271,7 +1271,7 @@ CreateCircleTool.getMethodChoices = () => {
1271
1271
  { label: CreateCircleTool.methodMessage("Edge"), value: CircleMethod.Edge },
1272
1272
  ];
1273
1273
  };
1274
- /** @alpha Creates an ellipse. Uses model and category from ToolAdmin.ActiveSettings. */
1274
+ /** @alpha Creates an ellipse. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
1275
1275
  class CreateEllipseTool extends CreateOrContinuePathTool {
1276
1276
  isComplete(_ev) {
1277
1277
  return (3 === this.accepted.length);
@@ -1339,7 +1339,7 @@ class CreateEllipseTool extends CreateOrContinuePathTool {
1339
1339
  exports.CreateEllipseTool = CreateEllipseTool;
1340
1340
  CreateEllipseTool.toolId = "CreateEllipse";
1341
1341
  CreateEllipseTool.iconSpec = "icon-ellipse";
1342
- /** @alpha Creates a rectangle by corner points. Uses model and category from ToolAdmin.ActiveSettings. */
1342
+ /** @alpha Creates a rectangle by corner points. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
1343
1343
  class CreateRectangleTool extends CreateOrContinuePathTool {
1344
1344
  constructor() {
1345
1345
  super(...arguments);
@@ -1474,7 +1474,7 @@ var BCurveMethod;
1474
1474
  BCurveMethod[BCurveMethod["ControlPoints"] = 0] = "ControlPoints";
1475
1475
  BCurveMethod[BCurveMethod["ThroughPoints"] = 1] = "ThroughPoints";
1476
1476
  })(BCurveMethod = exports.BCurveMethod || (exports.BCurveMethod = {}));
1477
- /** @alpha Creates a bspline curve by poles or through points. Uses model and category from ToolAdmin.ActiveSettings. */
1477
+ /** @alpha Creates a bspline curve by poles or through points. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
1478
1478
  class CreateBCurveTool extends CreateOrContinuePathTool {
1479
1479
  constructor() {
1480
1480
  super(...arguments);