Path.rotate()
The Path.rotate()
returns a path that is a rotated copy of this path.
This method behaves like calling Point.rotate on all nodes of this path.
Signature
Path path.rotate(number deg, Point rotationOrigin, cloneAttributes = false)
If you pass a truthy value to the cloneAttributes parameter, it will return a deep clone of the path, including its attributes. By default, it will return a shallow copy, without the attributes.
Example
- Preview
- Code
- X-Ray
({ Point, points, Path, Snippet, paths, snippets, part }) => {
points.B = new Point(10, 30)
points.BCp2 = new Point(40, 20)
points.C = new Point(90, 30)
points.CCp1 = new Point(50, -30)
points.origin = new Point(6, 34)
snippets.origin = new Snippet('notch', points.origin)
paths.example = new Path()
.move(points.B)
.curve(points.BCp2, points.CCp1, points.C)
.setText("FreeSewing rocks", "text-xs fill-note center")
paths.rotated = paths.example
.rotate(180, points.origin, true)
.attr("class", "dotted")
return part
}
Notes
The rotated path is a shallow copy. It will in other words not inherit the attributes of the original path.
If you want a deep copy, including the attributes, set the third parameter to true:
Path.rotate(deg, origin, true)