1
0
Fork 0
freesewing/sites/dev/docs/reference/api/path/smurve
Benjamin Fan ed8a166ea9 fix(reference:api): Revert incorrect Example formatting (#367)
This PR reverts the incorrect lint/prettier changes applied to <Example> code in the reference Core API docs l by the husky pre-commit hook, the problem mentioned in Issue #333.

(These are just the changes for the Core API docs. Additional PRs will be filed for changes in the other reference, howtos, and guides documentation.)

Co-authored-by: Benjamin Fan <ben-git@swinglonga.com>
Reviewed-on: https://codeberg.org/freesewing/freesewing/pulls/367
Reviewed-by: Joost De Cock <joostdecock@noreply.codeberg.org>
Co-authored-by: Benjamin Fan <benjamesben@noreply.codeberg.org>
Co-committed-by: Benjamin Fan <benjamesben@noreply.codeberg.org>
2025-05-19 08:04:05 +02:00
..
readme.mdx fix(reference:api): Revert incorrect Example formatting (#367) 2025-05-19 08:04:05 +02:00

---
title: Path.smurve()
---

The `Path.smurve()` method draws a smooth curve from the current point via a control point to an endpoint.
A smooth curve means it will use the reflection of the end control point of the previous curve.

## Signature

```js
Path path.smurve(Point cp2, Point end)
```

:::tip
This method is chainable as it returns the `Path` object
:::

## Example

<Example caption="Example of the Path.smurve() method">
```js
({ Point, points, Path, paths, part }) => {

  points.aFrom = new Point(10, 10)
  points.aCp1 = new Point(40, 40)
  points.aCp2 = new Point(70, -20)
  points.aTo = new Point(100, 10)

  points.bCp2 = new Point(50,50)
  points.bTo = new Point(10,50)

  paths.smurve = new Path()
    .move(points.aFrom)
    .curve(points.aCp1, points.aCp2,points.aTo)
    .smurve(points.bCp2, points.bTo)
    .reverse() // Puts text at the end
    .setText('Path.smurve()')

  return part
}
```
</Example>