1
0
Fork 0
freesewing/packages/examples/src/path_intersects.js

37 lines
1 KiB
JavaScript
Raw Normal View History

2019-01-27 12:54:18 +01:00
export default part => {
2019-08-03 15:03:33 +02:00
let { Point, points, Path, paths, Snippet, snippets } = part.shorthand()
2019-01-27 12:54:18 +01:00
2019-08-03 15:03:33 +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)
points.D = new Point(50, 130)
points.DCp1 = new Point(150, 30)
2019-01-27 12:54:18 +01:00
2019-08-03 15:03:33 +02:00
points._A = new Point(55, 40)
points._B = new Point(0, 55)
points._BCp2 = new Point(40, -20)
points._C = new Point(90, 40)
points._CCp1 = new Point(50, -30)
points._D = new Point(40, 120)
points._DCp1 = new Point(180, 40)
2019-01-27 12:54:18 +01:00
2019-01-28 15:39:33 +01:00
paths.demo1 = new Path()
2019-01-27 12:54:18 +01:00
.move(points.A)
.line(points.B)
.curve(points.BCp2, points.CCp1, points.C)
2019-08-03 15:03:33 +02:00
.curve(points.DCp1, points.DCp1, points.D)
2019-01-28 15:39:33 +01:00
paths.demo2 = new Path()
2019-01-27 12:54:18 +01:00
.move(points._A)
.line(points._B)
.curve(points._BCp2, points._CCp1, points._C)
2019-08-03 15:03:33 +02:00
.curve(points._DCp1, points._DCp1, points._D)
2019-01-27 12:54:18 +01:00
2019-01-30 14:21:59 +01:00
for (let p of paths.demo1.intersects(paths.demo2)) {
2019-08-03 15:03:33 +02:00
snippets[part.getId()] = new Snippet('notch', p)
2019-01-30 14:21:59 +01:00
}
2019-01-27 12:54:18 +01:00
2019-08-03 15:03:33 +02:00
return part
}