2021-10-17 18:26:00 +02:00
|
|
|
---
|
2022-09-27 18:24:35 +02:00
|
|
|
title: Path.curve_()
|
2021-10-17 18:26:00 +02:00
|
|
|
---
|
2021-08-25 16:09:31 +02:00
|
|
|
|
2022-12-23 21:56:40 -08:00
|
|
|
The `Path.curve_()` method draws a cubic Bézier curve from the current position
|
2022-09-27 18:24:35 +02:00
|
|
|
via two control points to a given endpoint. However, the end control point is
|
|
|
|
identical to the end point.
|
2021-08-25 16:09:31 +02:00
|
|
|
|
2022-09-27 18:24:35 +02:00
|
|
|
## Signature
|
2021-08-25 16:09:31 +02:00
|
|
|
|
|
|
|
```js
|
2022-09-27 18:24:35 +02:00
|
|
|
Path path.curve_(Point cp1, Point to)
|
2021-08-25 16:09:31 +02:00
|
|
|
```
|
|
|
|
|
2024-09-28 13:13:48 +02:00
|
|
|
:::tipThis method is chainable as it returns the `Path` object:::
|
2021-08-25 16:09:31 +02:00
|
|
|
|
2022-09-27 18:24:35 +02:00
|
|
|
## Example
|
2021-08-25 16:09:31 +02:00
|
|
|
|
2022-09-27 18:24:35 +02:00
|
|
|
|
|
|
|
<Example caption="Example of the Path.curve\_() method">
|
2021-08-25 16:09:31 +02:00
|
|
|
|
|
|
|
```js
|
2022-09-27 18:24:35 +02:00
|
|
|
({ Point, points, Path, paths, part }) => {
|
2021-08-25 16:09:31 +02:00
|
|
|
|
2022-09-29 17:50:53 +02:00
|
|
|
points.from = new Point(10, 20)
|
|
|
|
points.cp1 = new Point(40, 0)
|
|
|
|
points.to = new Point(90, 20)
|
2021-08-25 16:09:31 +02:00
|
|
|
|
|
|
|
paths.line = new Path()
|
|
|
|
.move(points.from)
|
|
|
|
.curve_(points.cp1, points.to)
|
2022-09-27 18:24:35 +02:00
|
|
|
.setText("Path.curve_()", "text-sm center fill-note")
|
|
|
|
.attr("data-text-dy", -1)
|
|
|
|
|
|
|
|
return part
|
|
|
|
}
|
|
|
|
```
|
|
|
|
</Example>
|
|
|
|
|
|
|
|
## Notes
|
|
|
|
|
|
|
|
The main purpose of this method is to save your some typing,
|
|
|
|
as the two following calls yield the same result:
|
|
|
|
|
|
|
|
```js
|
|
|
|
.curve(point1, point2, point2)
|
|
|
|
.curve_(point1, point2)
|
2021-08-25 16:09:31 +02:00
|
|
|
```
|