1
0
Fork 0
freesewing/packages/simone/src/index.js

57 lines
1.5 KiB
JavaScript
Raw Normal View History

2019-09-25 18:02:05 +02:00
import freesewing from '@freesewing/core'
import Brian from '@freesewing/brian'
import Simon from '@freesewing/simon'
import plugins from '@freesewing/plugin-bundle'
import flipPlugin from '@freesewing/plugin-flip'
import buttonPlugin from '@freesewing/plugin-buttons'
import bustPlugin from '@freesewing/plugin-bust'
import config from '../config'
// Parts
import draftFbaFront from './fba-front'
// Create design
const Pattern = new freesewing.Design(config, [plugins, flipPlugin, buttonPlugin, bustPlugin])
// Attach draft methods to prototype
Pattern.prototype.draftBase = function(part) {
return new Brian(this.settings).draftBase(part)
}
Pattern.prototype.draftFrontBase = function(part) {
return new Brian(this.settings).draftFront(part)
}
Pattern.prototype.draftBackBase = function(part) {
return new Brian(this.settings).draftBack(part)
}
Pattern.prototype.draftSleeveBase = function(part) {
let brian = new Brian(this.settings)
return brian.draftSleeve(brian.draftSleevecap(part))
}
// Attach draft methods from Simon
let simonParts = [
'Back',
'Front',
'FrontRight',
'ButtonPlacket',
'FrontLeft',
'ButtonholePlacket',
'Yoke',
'Sleeve',
'CollarStand',
'Collar',
'SleevePlacketUnderlap',
'SleevePlacketOverlap',
'Cuff'
]
for (let Part of simonParts) {
Pattern.prototype[`draft${Part}`] = function(part) {
let simon = new Simon(this.settings)
return simon[`draft${Part}`](part)
}
}
Pattern.prototype.draftFbaFront = draftFbaFront
export default Pattern