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

74 lines
2.4 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-23 12:13:37 +01:00
import draftFrontLeft from "./frontleft";
2018-12-23 13:57:40 +01:00
import draftButtonholePlacket from "./buttonholeplacket";
2018-12-23 14:54:34 +01:00
import draftYoke from "./yoke";
2018-12-23 17:25:53 +01:00
import draftSleeve from "./sleeve";
2018-12-21 18:19:21 +01:00
// 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-23 17:25:53 +01:00
Simon.prototype.draftSleeveBase = function(part) {
let brian = new Brian(this.settings);
return brian.draftSleeve(brian.draftSleevecap(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-23 12:13:37 +01:00
Simon.prototype.draftFrontLeft = draftFrontLeft;
2018-12-23 13:57:40 +01:00
Simon.prototype.draftButtonholePlacket = draftButtonholePlacket;
2018-12-23 14:54:34 +01:00
Simon.prototype.draftYoke = draftYoke;
2018-12-23 17:25:53 +01:00
Simon.prototype.draftSleeve = draftSleeve;
2018-12-21 18:19:21 +01:00
export default Simon;
2018-12-23 12:13:37 +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"