55 lines
1.4 KiB
JavaScript
55 lines
1.4 KiB
JavaScript
import freesewing from '@freesewing/core'
|
|
import plugins from '@freesewing/plugin-bundle'
|
|
import bust from '@freesewing/plugin-bust'
|
|
import Bent from '@freesewing/bent'
|
|
import Carlton from '@freesewing/carlton'
|
|
import config from '../config'
|
|
// Parts
|
|
import draftFront from './front'
|
|
import draftSide from './side'
|
|
|
|
// Create new design
|
|
const Pattern = new freesewing.Design(config, [plugins, bust])
|
|
|
|
let fromBent = ['Base', 'Front', 'Back', 'Sleeve', 'TopSleeve', 'UnderSleeve']
|
|
|
|
// Attach draft methods from Bent to prototype
|
|
for (let m of fromBent) {
|
|
Pattern.prototype['draftBent' + m] = function (part) {
|
|
return new Bent(this.settings)['draft' + m](part)
|
|
}
|
|
}
|
|
|
|
// Attach draft methods from Carlton to prototype
|
|
for (let m of [
|
|
'draftBack',
|
|
'draftTail',
|
|
'draftTopSleeve',
|
|
'draftUnderSleeve',
|
|
'draftBelt',
|
|
'draftCollarStand',
|
|
'draftCollar',
|
|
'draftCuffFacing',
|
|
'draftPocket',
|
|
'draftPocketFlap',
|
|
'draftPocketLining',
|
|
'draftChestPocketWelt',
|
|
'draftChestPocketBag',
|
|
'draftInnerPocketWelt',
|
|
'draftInnerPocketBag',
|
|
'draftInnerPocketTab',
|
|
]) {
|
|
Pattern.prototype[m] = function (part) {
|
|
return new Carlton(this.settings)[m](part)
|
|
}
|
|
}
|
|
|
|
Pattern.prototype.draftCarltonFront = function (part) {
|
|
return new Carlton(this.settings).draftFront(part)
|
|
}
|
|
|
|
// Attach own draft methods to prototype
|
|
Pattern.prototype.draftFront = draftFront
|
|
Pattern.prototype.draftSide = draftSide
|
|
|
|
export default Pattern
|