1
0
Fork 0
freesewing/markdown/dev/howtos/design/slash-spread/en.md
nikhil 0becd057b2 fix: Broken/misleading links to designs' source code
Some of these links were actually broken, since they expect to find designs under the `packages/` directory in the current `develop` branch. Other links were technically okay, since they link to old commits, but updating those links may still help to reduce confusion.

Also fix a reference to `packages/unice` in a `netlify.toml` file. (Untested, but I don't think this is an actual Netlify configuration.)
2022-08-21 12:31:23 -04:00

46 lines
1 KiB
Markdown

---
title: Slash and spread
for: developers
about: Slash and spread is easy enough on paper, here's how to do it in code
---
<Note>
##### See this example in our source code
- [designs/jaeger/src/front.js](https://github.com/freesewing/freesewing/blob/3ca5d0edfe54c7ac20aaf3af2f3544aee72f9b99/designs/jaeger/src/front.js#L64)
</Note>
When we _slash and spread_ a pattern, we cut out a triangle, and then rotate it
around the tip of the triangle.
And that's exactly what we do in code. We just need to know:
- What point we want to rotate around
- Which points we want to rotate
- By how much we want to rotate
```js
let rotate = [
'splitEdge',
'neckEdge',
'cfNeck',
'cfNeckCp1',
'neckCp2Front',
'neck',
'shoulder',
'shoulderCp1',
'armholePitchCp2',
'armholePitch',
'armholePitchCp1',
'armholeHollowCp2',
'armholeHollow',
'armholeHollowCp1',
'splitCp2',
'frontNeckCpEdge'
]
for (let p of rotate) {
points[p] = points[p].rotate(options.chestShapingMax * options.chestShaping * -1, points.split)
}
```