1
0
Fork 0

feat(plugintest): Added plugin-flip

This commit is contained in:
Joost De Cock 2022-01-18 09:03:16 +01:00
parent 12433ae11e
commit 4d358dfc52
3 changed files with 52 additions and 7 deletions

View file

@ -36,6 +36,7 @@ export default {
'dimensionEndMarker', 'dimensionEndMarker',
'dimensionStartMarker', 'dimensionStartMarker',
], ],
flip: [ 'flipAxis' ],
}, },
measurements: [], measurements: [],
parts: [ parts: [
@ -44,7 +45,7 @@ export default {
'buttons', 'buttons',
'cutonfold', 'cutonfold',
'dimension', 'dimension',
//'flip', 'flip',
//'gore', //'gore',
//'grainline', //'grainline',
//'i18n', //'i18n',
@ -63,7 +64,7 @@ export default {
], ],
options: { options: {
plugin: { plugin: {
dflt: 'dimension', dflt: 'flip',
list: [ list: [
'all', 'all',
'banner', 'banner',
@ -109,5 +110,7 @@ export default {
dimensionD: { count: 10, min: -20, max: 20 }, dimensionD: { count: 10, min: -20, max: 20 },
dimensionEndMarker: { bool: true }, dimensionEndMarker: { bool: true },
dimensionStartMarker: { bool: true }, dimensionStartMarker: { bool: true },
}, // Flip options
flipAxis: { dflt: 'x', list: ['x', 'y'] },
}
} }

View file

@ -6,7 +6,7 @@ import bartack from '@freesewing/plugin-bartack'
import buttons from '@freesewing/plugin-buttons' import buttons from '@freesewing/plugin-buttons'
import cutonfold from '@freesewing/plugin-cutonfold' import cutonfold from '@freesewing/plugin-cutonfold'
import dimension from '@freesewing/plugin-dimension' import dimension from '@freesewing/plugin-dimension'
//import flip from '@freesewing/plugin-flip' import flip from '@freesewing/plugin-flip'
//import gore from '@freesewing/plugin-gore' //import gore from '@freesewing/plugin-gore'
//import grainline from '@freesewing/plugin-grainline' //import grainline from '@freesewing/plugin-grainline'
//import i18n from '@freesewing/plugin-i18n' //import i18n from '@freesewing/plugin-i18n'
@ -28,7 +28,7 @@ import draftBartack from './plugin-bartack'
import draftButtons from './plugin-buttons' import draftButtons from './plugin-buttons'
import draftCutonfold from './plugin-cutonfold' import draftCutonfold from './plugin-cutonfold'
import draftDimension from './plugin-dimension' import draftDimension from './plugin-dimension'
//import draftFlip from './plugin-flip' import draftFlip from './plugin-flip'
//import draftGore from './plugin-gore' //import draftGore from './plugin-gore'
//import draftGrainline from './plugin-grainline' //import draftGrainline from './plugin-grainline'
//import draftI18n from './plugin-i18n' //import draftI18n from './plugin-i18n'
@ -55,7 +55,7 @@ const plugins = [
buttons, buttons,
cutonfold, cutonfold,
dimension, dimension,
// flip, flip,
// gore, // gore,
// grainline, // grainline,
// i18n, // i18n,
@ -79,7 +79,7 @@ const methods = {
draftButtons, draftButtons,
draftCutonfold, draftCutonfold,
draftDimension, draftDimension,
// draftFlip, draftFlip,
// draftGore, // draftGore,
// draftGrainline, // draftGrainline,
// draftI18n, // draftI18n,

View file

@ -0,0 +1,42 @@
const draftDimension = part => {
const { points, Point, paths, Path, snippets, Snippet, options, macro } = part.shorthand()
if (['flip', 'all'].indexOf(options.plugin) !== -1) {
points.mirrorA = new Point(50,0)
points.mirrorB = new Point(0,0)
points.mirrorC = new Point(0,50)
paths.mirror = new Path()
.move(points.mirrorA)
.line(points.mirrorB)
.line(points.mirrorC)
.attr("class", "dashed note")
points.b1 = new Point(10,10).attr('data-text', 1)
points.h2 = new Point(20,10).attr('data-text', 2)
points.h3 = new Point(30,10).attr('data-text', 3)
points.v2 = new Point(10,20).attr('data-text', 2)
points.v3 = new Point(10,30).attr('data-text', 3)
points.a = new Point(10,0)
points.b = new Point(30,30)
points.c = new Point(50,50)
points.d = new Point(12,34)
points.e = new Point(54,34)
snippets.a = new Snippet('button', points.b)
paths.a = new Path()
.move(points.a)
.line(points.b)
paths.b = new Path()
.move(points.e)
.curve(points.a, points.d, points.c)
macro('flip', { axis: options.flipAxis })
}
return part
}
export default draftDimension