This is an extension and not part of the main GoJS library. Note that the API for this class may change at any time. If you intend to use an extension in production, you should copy the code to your own source directory. Extensions can be found in the GoJS kit under the `extensions` (for loading via script tags),`extensionsTS` (UMD modules), or `extensionsJSM` (ES6 modules) folders. See the Extensions intro page for more information.

### Hierarchy

- Tool
  - LinkReshapingTool
    - OrthogonalLinkReshapingTool

The OrthogonalLinkReshapingTool class lets a user drag a tool handle along the link segment, which will move the whole segment.

If you want to experiment with this extension, try the Orthogonal Link Reshaping sample.

## Index

### Constructors

- constructor

### Methods

- doDeactivate
- isApprox
- makeSegmentDragHandle
- reshape

## Inherited Members

### Properties

- LinkReshapingTool.adornedLink
- LinkReshapingTool.handle
- LinkReshapingTool.handleArchetype
- LinkReshapingTool.midHandleArchetype
- LinkReshapingTool.originalPoint
- LinkReshapingTool.originalPoints
- Tool.diagram
- Tool.isActive
- Tool.isEnabled
- Tool.name
- Tool.transactionResult

### Methods

- LinkReshapingTool.canStart
- LinkReshapingTool.computeReshape
- LinkReshapingTool.doActivate
- LinkReshapingTool.doCancel
- LinkReshapingTool.doMouseMove
- LinkReshapingTool.doMouseUp
- LinkReshapingTool.getReshapingBehavior
- LinkReshapingTool.setReshapingBehavior
- LinkReshapingTool.stopTransaction
- LinkReshapingTool.updateAdornments
- Tool.canStartMultiTouch
- Tool.cancelWaitAfter
- Tool.doKeyDown
- Tool.doKeyUp
- Tool.doMouseDown
- Tool.doMouseWheel
- Tool.doStart
- Tool.doStop
- Tool.doWaitAfter
- Tool.findToolHandleAt
- Tool.isBeyondDragSize
- Tool.standardMouseClick
- Tool.standardMouseOver
- Tool.standardMouseSelect
- Tool.standardMouseWheel
- Tool.standardPinchZoomMove
- Tool.standardPinchZoomStart
- Tool.standardWaitAfter
- Tool.startTransaction
- Tool.stopTool

## Constructors

### constructor

- new OrthogonalLinkReshapingTool(): OrthogonalLinkReshapingTool

- Constructs an OrthogonalLinkReshapingTool and sets the name for the tool.

  #### Returns OrthogonalLinkReshapingTool

## Methods

### Override doDeactivate

- doDeactivate(): void

- This stops the current reshaping operation and updates any link handles.

  #### Returns void

### isApprox

- isApprox(x: number, y: number): boolean

- Compare two numbers to ensure they are almost equal. Used in this class for comparing coordinates of Points.

  #### Parameters

  - ##### x: number

  - ##### y: number

  #### Returns boolean

### makeSegmentDragHandle

- makeSegmentDragHandle(link: Link, adornment: Adornment, index: number): void

- Create the segment dragging handles. There are two parts: one invisible handle that spans the segment, and a visible handle at the middle of the segment. These are inserted at the front of the adornment such that the normal handles have priority.

  #### Parameters

  - ##### link: Link

  - ##### adornment: Adornment

  - ##### index: number

  #### Returns void

### Override reshape

- reshape(newpt: Point): void

- Change the route of the adornedLink by moving the segment corresponding to the current handle to be at the given Point.

  #### Parameters

  - ##### newpt: Point

  #### Returns void

Copyright © 1998-2022 by Northwoods Software Corporation.