2021-10-17 18:26:00 +02:00
|
|
|
---
|
2022-09-27 18:24:35 +02:00
|
|
|
title: Path.shiftAlong()
|
2021-10-17 18:26:00 +02:00
|
|
|
---
|
2021-08-25 16:09:31 +02:00
|
|
|
|
2022-09-27 18:24:35 +02:00
|
|
|
The `Path.shiftAlong()` method returns a point that lies at distance travelled
|
|
|
|
along the path.
|
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
|
|
|
Point path.shiftAlong(float distance[, int stepsPerMm=10])
|
2021-08-25 16:09:31 +02:00
|
|
|
```
|
|
|
|
|
2022-02-20 14:35:50 +01:00
|
|
|
The second parameter controls the precision by which the path will be _walked_.
|
2022-09-27 18:24:35 +02:00
|
|
|
By default, we'll divide it into 10 steps per mm.
|
2021-08-25 16:09:31 +02:00
|
|
|
|
|
|
|
If you don't need that precision, you can pass a lower number.
|
2022-09-27 18:24:35 +02:00
|
|
|
If you need more precision, you can pass a higher number.
|
|
|
|
For most cases, the default will be fine.
|
|
|
|
|
|
|
|
## Example
|
2021-08-25 16:09:31 +02:00
|
|
|
|
2022-09-27 18:24:35 +02:00
|
|
|
<Example caption="Example of the Path.shiftAlong() method">
|
|
|
|
```js
|
|
|
|
({ Point, points, Path, paths, Snippet, snippets, part }) => {
|
|
|
|
|
2022-09-29 17:50:53 +02:00
|
|
|
points.A = new Point(45, 60)
|
|
|
|
points.B = new Point(10, 30)
|
|
|
|
points.BCp2 = new Point(40, 20)
|
|
|
|
points.C = new Point(90, 30)
|
|
|
|
points.CCp1 = new Point(50, -30)
|
2022-09-27 18:24:35 +02:00
|
|
|
|
|
|
|
paths.example = new Path()
|
|
|
|
.move(points.A)
|
|
|
|
.line(points.B)
|
2022-09-29 17:50:53 +02:00
|
|
|
.curve(points.BCp2, points.CCp1, points.C)
|
2022-09-27 18:24:35 +02:00
|
|
|
|
|
|
|
points.x1 = paths.example
|
|
|
|
.shiftAlong(20)
|
|
|
|
.attr("data-text", "2cm")
|
|
|
|
.attr("data-text-class", "center fill-note")
|
2022-09-29 17:50:53 +02:00
|
|
|
.attr("data-text-lineheight", 6)
|
2022-09-27 18:24:35 +02:00
|
|
|
points.x2 = paths.example
|
|
|
|
.shiftAlong(90)
|
|
|
|
.attr("data-text", "9cm")
|
|
|
|
.attr("data-text-class", "center fill-note")
|
2022-09-29 17:50:53 +02:00
|
|
|
.attr("data-text-lineheight", 6)
|
2022-09-27 18:24:35 +02:00
|
|
|
|
2022-09-29 17:50:53 +02:00
|
|
|
snippets.x1 = new Snippet("notch", points.x1)
|
|
|
|
snippets.x2 = new Snippet("notch", points.x2)
|
2022-09-27 18:24:35 +02:00
|
|
|
|
|
|
|
return part
|
|
|
|
}
|
|
|
|
```
|
|
|
|
</Example>
|