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

61 lines
1.9 KiB
JavaScript
Raw Normal View History

2018-12-21 18:19:21 +01:00
import freesewing from "freesewing";
import Brian from "@freesewing/brian";
import plugins from "@freesewing/plugin-bundle";
import flipPlugin from "@freesewing/plugin-flip";
import buttonPlugin from "@freesewing/plugin-buttons";
2018-12-21 18:19:21 +01:00
import config from "../config/config";
// Parts
import draftBack from "./back";
2018-12-21 19:38:05 +01:00
import draftFront from "./front";
import draftFrontRight from "./frontright";
2018-12-22 17:30:12 +01:00
import draftButtonPlacket from "./buttonplacket";
2018-12-21 18:19:21 +01:00
//import draftSleevecap from "./sleevecap";
//import draftSleeve from "./sleeve";
// sleeveBlock: ".Sleeve block"
// frontRight: "Front right"
// frontLeft: "Front left"
// buttonPlacket: "Button placket."
// buttonholePlacket: "Buttonhole placket."
// yoke: "Yoke"
// back: "Back"
// sleeve: "Sleeve"
// collarStand: "Collar stand"
// collar: "Collar"
// undercollar: "Undercollar"
// sleevePlacketUnderlap: "Sleeve placket underlap"
// sleevePlacketOverlap: "Sleeve placket overlap"
// barrelCuff: "Barrel cuff"
// frenchCuff: "French cuff"
// Constructor
const Simon = function(settings) {
freesewing.Pattern.call(this, config);
this.use(plugins)
.use(flipPlugin)
.use(buttonPlugin)
.apply(settings);
2018-12-21 18:19:21 +01:00
return this;
};
// Set up inheritance
2018-12-21 18:19:21 +01:00
Simon.prototype = Object.create(freesewing.Pattern.prototype);
Simon.prototype.constructor = Simon;
// Attach per-part draft methods to prototype
Simon.prototype.draftBase = function(part) {
2018-12-21 18:19:21 +01:00
return new Brian(this.settings).draftBase(part);
};
Simon.prototype.draftFrontBase = function(part) {
2018-12-21 18:19:21 +01:00
return new Brian(this.settings).draftFront(part);
};
Simon.prototype.draftBackBase = function(part) {
2018-12-21 18:19:21 +01:00
return new Brian(this.settings).draftBack(part);
};
2018-12-21 18:19:21 +01:00
Simon.prototype.draftBack = draftBack;
2018-12-21 19:38:05 +01:00
Simon.prototype.draftFront = draftFront;
Simon.prototype.draftFrontRight = draftFrontRight;
2018-12-22 17:30:12 +01:00
Simon.prototype.draftButtonPlacket = draftButtonPlacket;
2018-12-21 18:19:21 +01:00
export default Simon;