53 lines
1.5 KiB
Text
53 lines
1.5 KiB
Text
---
|
|
title: Pattern.sample()
|
|
---
|
|
|
|
The `Pattern.sample()` method will _sample_ the pattern which means
|
|
to draft multiple variants of the same pattern, and stack them on
|
|
top of each other.
|
|
|
|
:::note
|
|
This method is chainable as it returns the Pattern object
|
|
:::
|
|
|
|
Under the hood, this method will call one of
|
|
[Pattern.sampleOption()](/reference/api/pattern/sampleoption),
|
|
[Pattern.sampleMeasurement()](/reference/api/pattern/samplemeasurement), or
|
|
[Pattern.sampleModels()](/reference/api/pattern/samplemodels) to sample
|
|
an option, a measurement, or different models respectively.
|
|
|
|
Unlike those three methods where you pass the relevant info to to the method,
|
|
this `Pattern.sample()` method will instead read the
|
|
[`settings.sample`](/reference/settings/sample)
|
|
object to determine what needs to be done.
|
|
|
|
See the specific sample methods below for more details:
|
|
|
|
- [Pattern.sampleOption()](/reference/api/pattern/sampleoption)
|
|
- [Pattern.sampleMeasurement()](/reference/api/pattern/samplemeasurement)
|
|
- [Pattern.sampleModels()](/reference/api/pattern/samplemodels)
|
|
|
|
## Pattern.sample() signature
|
|
|
|
```js
|
|
Pattern pattern.sample()
|
|
```
|
|
|
|
## Pattern.sample() example
|
|
|
|
```js
|
|
import { Aaron } from '@freesewing/aaron'
|
|
|
|
// Load some public test measurements from the FreeSewing backend
|
|
const measurements = (
|
|
await (await fetch('https://backend3.freesewing.org/curated-sets/1.json')).json()
|
|
).measurements
|
|
|
|
const pattern = new Aaron({
|
|
sample: {
|
|
models: measurements,
|
|
},
|
|
})
|
|
|
|
const svg = pattern.sample().render()
|
|
```
|