boom: Patterns are classes now and need to be instantiated
This commit is contained in:
parent
a7bd90c3e2
commit
7f7de65ec3
5 changed files with 107 additions and 63 deletions
|
@ -6,43 +6,76 @@
|
|||
</head>
|
||||
<body>
|
||||
<div id="svg"></div>
|
||||
<script type="text/javascript" src="node_modules/freesewing/dist/browser.js"></script>
|
||||
<!-- <script type="text/javascript" src="node_modules/freesewing/dist/browser.js"></script> -->
|
||||
<script type="text/javascript" src="../../freesewing/dist/browser.js"></script>
|
||||
<script type="text/javascript" src="node_modules/@freesewing/plugin-bundle/dist/browser.js"></script>
|
||||
<script type="text/javascript" src="dist/browser.js"></script>
|
||||
<script type="text/javascript" src="node_modules/@freesewing/plugin-theme/dist/browser.js"></script>
|
||||
<!-- <script type="text/javascript" src="node_modules/@freesewing/plugin-theme/dist/browser.js"></script> -->
|
||||
<script type="text/javascript" src="../../plugins/plugin-theme/dist/browser.js"></script>
|
||||
<script type="text/javascript" src="node_modules/@freesewing/plugin-designer/dist/browser.js"></script>
|
||||
<script type="text/javascript" src="node_modules/@freesewing/plugin-debug/dist/browser.js"></script>
|
||||
<script type="text/javascript" src="node_modules/@freesewing/plugin-validate/dist/browser.js"></script>
|
||||
<!-- <script type="text/javascript" src="node_modules/@freesewing/plugin-validate/dist/browser.js"></script> -->
|
||||
<script type="text/javascript" src="../../plugins/plugin-validate/dist/browser.js"></script>
|
||||
<script type="text/javascript" src="node_modules/@freesewing/plugin-i18n/dist/browser.js"></script>
|
||||
<script type="text/javascript" src="node_modules/@freesewing/models/dist/browser.js"></script>
|
||||
<script type="text/javascript" src="node_modules/@freesewing/antman/dist/browser.js"></script>
|
||||
<script>
|
||||
console.log('adding hooks to pattern');
|
||||
var pattern = freesewing.patterns.brian
|
||||
.with(freesewing.plugins.debug)
|
||||
.with(freesewing.plugins.validate)
|
||||
.with(freesewing.plugins.theme)
|
||||
.with(freesewing.plugins.designer)
|
||||
.with(freesewing.plugins.validate)
|
||||
.with(freesewing.plugins.i18n)
|
||||
;
|
||||
pattern.settings.locale = 'nl';
|
||||
pattern.settings.paperless = true;
|
||||
//pattern.on('postSample', function(next) {
|
||||
// console.log('postSample hook');
|
||||
// next();
|
||||
//});
|
||||
//pattern.on('preSample', function(next) {
|
||||
// console.log('preSample hook');
|
||||
// next();
|
||||
//});
|
||||
//pattern.on('preDraft', function(next) {
|
||||
// console.log('preDraft hook');
|
||||
// next();
|
||||
//});
|
||||
//pattern.on('postDraft', function(next) {
|
||||
// console.log('postDraft hook');
|
||||
// next();
|
||||
//});
|
||||
//pattern.settings.locale = 'nl';
|
||||
//pattern.settings.paperless = true;
|
||||
//pattern.settings.complete = false;
|
||||
pattern.settings.measurements = freesewing.models.men.manSize38;
|
||||
pattern.settings.sa = 10;
|
||||
pattern.settings.units = 'metric';
|
||||
pattern.settings.sample = {
|
||||
type: 'models',
|
||||
focus: 'manSize34',
|
||||
models: freesewing.models.men
|
||||
// pattern.settings.measurements = freesewing.models.men.manSize38;
|
||||
pattern.settings.measurements = {
|
||||
bicepsCircumference: 305,
|
||||
centerBackNeckToWaist: 495,
|
||||
chestCircumference: 965,
|
||||
hipsCircumference: 838,
|
||||
naturalWaistToHip: 110,
|
||||
neckCircumference: 391,
|
||||
shoulderSlope: 49,
|
||||
shoulderToShoulder: 444,
|
||||
shoulderToWrist: 680,
|
||||
wristCircumference: 185,
|
||||
}
|
||||
pattern.settings.nly= ['base'];
|
||||
//pattern.settings.sa = 10;
|
||||
//pattern.settings.units = 'metric';
|
||||
//pattern.settings.sample = {
|
||||
// type: 'models',
|
||||
// focus: 'manSize34',
|
||||
// models: freesewing.models.men
|
||||
//}
|
||||
//pattern.settings.nly= ['base'];
|
||||
//pattern.options.brianFitSleeve = false;
|
||||
//pattern.options.brianFitCollar = false;
|
||||
//pattern.sampleOption('shoulderSlopeReduction');
|
||||
//pattern.sampleMeasurement('shoulderSlope');
|
||||
//pattern.sampleModels(freesewing.models.men, 'manSize34');
|
||||
//pattern.sample();
|
||||
pattern.draft();
|
||||
console.log('settings', pattern.settings);
|
||||
console.log('draft return value', pattern.draft());
|
||||
document.getElementById("svg").innerHTML = pattern.render();
|
||||
|
||||
function pointHover(evt) {
|
||||
|
|
14
packages/brian/package-lock.json
generated
14
packages/brian/package-lock.json
generated
|
@ -1627,9 +1627,9 @@
|
|||
}
|
||||
},
|
||||
"bezier-js": {
|
||||
"version": "2.2.15",
|
||||
"resolved": "https://registry.npmjs.org/bezier-js/-/bezier-js-2.2.15.tgz",
|
||||
"integrity": "sha512-T2ayoZLq/wG5tNUj0yNGchWp+CY64bfysnPJ/ESszsI8QVo2fDQDJ/HyFj9cyJSkJFick1E0LsSCod22eU0D8w=="
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/bezier-js/-/bezier-js-2.3.1.tgz",
|
||||
"integrity": "sha512-nFpFL9tuayvlHfWh6xM7OHeTZvwr74+6KnzO3eNZMt0BC0cqb9lCTc9C8OVzrHBvbrNwriTw7XaF2SBsWQJLZA=="
|
||||
},
|
||||
"big.js": {
|
||||
"version": "3.2.0",
|
||||
|
@ -2752,11 +2752,11 @@
|
|||
}
|
||||
},
|
||||
"freesewing": {
|
||||
"version": "0.17.0",
|
||||
"resolved": "https://registry.npmjs.org/freesewing/-/freesewing-0.17.0.tgz",
|
||||
"integrity": "sha512-LanZsKfdAan5LQH7HvTlRwF6cFxr64G666OeCY9Ij7NnZ79/+AEuffT0lrLpRa1dNU3SY7BWPlnkA8SMeiB8+Q==",
|
||||
"version": "0.18.3",
|
||||
"resolved": "https://registry.npmjs.org/freesewing/-/freesewing-0.18.3.tgz",
|
||||
"integrity": "sha512-uXBnN1IRqsH6QhYoM9juNo76GbzO75rSXgWrbMFHZcqSLw4RsCxRLppl5LqOAJ1pEYAWh7W9disxS53j5Eum4Q==",
|
||||
"requires": {
|
||||
"bezier-js": "^2.2.13",
|
||||
"bezier-js": "^2.2.15",
|
||||
"bin-pack": "1.0.2",
|
||||
"hooks": "^0.3.2"
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@freesewing/plugin-bundle": "^0.3",
|
||||
"freesewing": "^0.17"
|
||||
"freesewing": "^0.18.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.0.0-beta.56",
|
||||
|
|
|
@ -16,12 +16,12 @@ export default {
|
|||
commonjs(),
|
||||
babel({
|
||||
exclude: "node_modules/**"
|
||||
}),
|
||||
terser({
|
||||
output: {
|
||||
preamble: `/**\n * ${name} | v${version}\n * ${description}\n * (c) ${new Date().getFullYear()} ${author}\n * @license ${license}\n */`
|
||||
}
|
||||
})
|
||||
// terser({
|
||||
// output: {
|
||||
// preamble: `/**\n * ${name} | v${version}\n * ${description}\n * (c) ${new Date().getFullYear()} ${author}\n * @license ${license}\n */`
|
||||
// }
|
||||
// })
|
||||
],
|
||||
external: ["freesewing", "@freesewing/plugin-bundle"],
|
||||
output: {
|
||||
|
|
|
@ -1,48 +1,59 @@
|
|||
import freesewing from "freesewing";
|
||||
import pluginBundle from "@freesewing/plugin-bundle";
|
||||
|
||||
import config from "../config/config";
|
||||
import { version } from "../package.json";
|
||||
|
||||
import base from "./base";
|
||||
import back from "./back";
|
||||
import front from "./front";
|
||||
import sleevecap from "./sleevecap";
|
||||
import sleeve from "./sleeve";
|
||||
|
||||
var pattern = new freesewing.Pattern({ version: version, ...config }).with(
|
||||
pluginBundle
|
||||
);
|
||||
export default class Brian extends freesewing.Pattern {
|
||||
constructor(settings = false) {
|
||||
super({ version: version, ...config }).with(pluginBundle);
|
||||
if (settings !== false) {
|
||||
for (let key of Object.keys(settings)) {
|
||||
this.settings[key] = settings[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pattern.draft = function() {
|
||||
this.parts.base = this.draftBase(new pattern.Part());
|
||||
_draft() {
|
||||
this.parts.base = this.draftBase(new this.Part());
|
||||
if (!this.needs("base", true)) this.parts.base.render = false;
|
||||
if (this.needs(["back", "front", "sleeve", "sleevecap"])) {
|
||||
this.parts.back = this.draftBack(new pattern.Part().copy(this.parts.base));
|
||||
this.parts.back = this.draftBack(new this.Part().copy(this.parts.base));
|
||||
}
|
||||
if (this.needs(["front", "sleeve", "sleevecap"])) {
|
||||
this.parts.front = this.draftFront(
|
||||
new pattern.Part().copy(this.parts.back)
|
||||
);
|
||||
this.parts.front = this.draftFront(new this.Part().copy(this.parts.back));
|
||||
}
|
||||
if (this.needs(["sleeve", "sleevecap"])) {
|
||||
this.parts.sleevecap = this.draftSleevecap(new pattern.Part());
|
||||
this.parts.sleevecap = this.draftSleevecap(new this.Part());
|
||||
// Don't render sleevecap unless specifically requested
|
||||
if (!this.needs("sleevecap", true)) this.parts.sleevecap.render = false;
|
||||
}
|
||||
if (this.needs("sleeve")) {
|
||||
this.parts.sleeve = this.draftSleeve(
|
||||
new pattern.Part().copy(this.parts.sleevecap)
|
||||
new this.Part().copy(this.parts.sleevecap)
|
||||
);
|
||||
}
|
||||
|
||||
return pattern;
|
||||
};
|
||||
return this;
|
||||
}
|
||||
|
||||
pattern.draftBase = part => base.draft(part);
|
||||
pattern.draftBack = part => back.draft(part);
|
||||
pattern.draftFront = part => front.draft(part);
|
||||
pattern.draftSleevecap = part => sleevecap.draft(part);
|
||||
pattern.draftSleeve = part => sleeve.draft(part);
|
||||
|
||||
export default pattern;
|
||||
draftBase(part) {
|
||||
return base.draft(part);
|
||||
}
|
||||
draftBack(part) {
|
||||
return back.draft(part);
|
||||
}
|
||||
draftFront(part) {
|
||||
return front.draft(part);
|
||||
}
|
||||
draftSleevecap(part) {
|
||||
return sleevecap.draft(part);
|
||||
}
|
||||
draftSleeve(part) {
|
||||
return sleeve.draft(part);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue