Merge pull request #2401 from freesewing/pr-2357
Updated merge request to re-run tests. Replaces #2357
This commit is contained in:
commit
d3a87ad7d1
6 changed files with 47 additions and 38 deletions
|
@ -5,6 +5,8 @@ Unreleased:
|
||||||
hugo:
|
hugo:
|
||||||
- Support drafting for high bust
|
- Support drafting for high bust
|
||||||
Closes [#802](https://github.com/freesewing/freesewing/issues/802)
|
Closes [#802](https://github.com/freesewing/freesewing/issues/802)
|
||||||
|
plugin-title:
|
||||||
|
- Added support for removing the title via a macro call
|
||||||
|
|
||||||
Changed:
|
Changed:
|
||||||
charlie:
|
charlie:
|
||||||
|
|
|
@ -13,9 +13,12 @@ const config = {
|
||||||
front: 'ursulaFront',
|
front: 'ursulaFront',
|
||||||
back: 'ursulaBack',
|
back: 'ursulaBack',
|
||||||
gusset: 'ursulaGusset',
|
gusset: 'ursulaGusset',
|
||||||
|
front2: 'front',
|
||||||
|
back2: 'back',
|
||||||
|
gusset2: 'gusset',
|
||||||
},
|
},
|
||||||
hide: ['ursulaBack', 'ursulaFront', 'ursulaGusset'],
|
hide: ['ursulaBack', 'ursulaFront', 'ursulaGusset','front', 'back', 'gusset'],
|
||||||
parts: [],
|
parts: ['front','back','gusset','elastic','front2','back2','gusset2'],
|
||||||
optionalMeasurements: ['crossSeam','crossSeamFront'],
|
optionalMeasurements: ['crossSeam','crossSeamFront'],
|
||||||
measurements: ['waist', 'seat', 'waistToSeat', 'waistToUpperLeg','hips','waistToHips'],
|
measurements: ['waist', 'seat', 'waistToSeat', 'waistToUpperLeg','hips','waistToHips'],
|
||||||
optionGroups: {
|
optionGroups: {
|
||||||
|
@ -33,6 +36,10 @@ const config = {
|
||||||
dependencies: {
|
dependencies: {
|
||||||
back: 'front',
|
back: 'front',
|
||||||
gusset: 'back',
|
gusset: 'back',
|
||||||
|
elastic: 'gusset',
|
||||||
|
front2: 'elastic',
|
||||||
|
back2: 'elastic',
|
||||||
|
gusset2: 'elastic',
|
||||||
},
|
},
|
||||||
options: {
|
options: {
|
||||||
...ursulaConfig.options,
|
...ursulaConfig.options,
|
||||||
|
|
|
@ -179,32 +179,23 @@ return part
|
||||||
|
|
||||||
/* Store lengths for use in elastic */
|
/* Store lengths for use in elastic */
|
||||||
|
|
||||||
if (options.backExposure >= 0) {
|
paths.backLegOpening = (options.backExposure >= 0)
|
||||||
store.set(
|
? new Path()
|
||||||
'backLegOpeningLength',
|
|
||||||
new Path()
|
|
||||||
.move(points.backGussetRight)
|
.move(points.backGussetRight)
|
||||||
.curve(points.backGussetRightCp1, points.backLegOpeningRightCp1, points.backLegOpeningRight)
|
.curve(points.backGussetRightCp1, points.backLegOpeningRightCp1, points.backLegOpeningRight)
|
||||||
.length()
|
.setRender(false)
|
||||||
)
|
: new Path()
|
||||||
} else {
|
|
||||||
store.set(
|
|
||||||
'backLegOpeningLength',
|
|
||||||
new Path()
|
|
||||||
.move(points.backGussetRight)
|
.move(points.backGussetRight)
|
||||||
.curve(points.backGussetRightCp1, points.backFlareRightCp2, points.backFlareRight)
|
.curve(points.backGussetRightCp1, points.backFlareRightCp2, points.backFlareRight)
|
||||||
.curve(points.backFlareRightCp1, points.backLegOpeningRightCp1, points.backLegOpeningRight)
|
.curve(points.backFlareRightCp1, points.backLegOpeningRightCp1, points.backLegOpeningRight)
|
||||||
.length()
|
.setRender(false)
|
||||||
)
|
store.set('backLegOpeningLength',paths.backLegOpening.length())
|
||||||
}
|
|
||||||
|
|
||||||
store.set(
|
paths.backWaistBand = new Path()
|
||||||
'backWaistBandLength',
|
|
||||||
new Path()
|
|
||||||
.move(points.backWaistBandRight)
|
.move(points.backWaistBandRight)
|
||||||
.curve(points.backWaistBandRightCp1, points.backWaistBandLeftCp1, points.backWaistBandLeft)
|
.curve(points.backWaistBandRightCp1, points.backWaistBandLeftCp1, points.backWaistBandLeft)
|
||||||
.length()
|
.setRender(false)
|
||||||
)
|
store.set('backWaistBandLength',paths.backWaistBand.length())
|
||||||
|
|
||||||
// Complete?
|
// Complete?
|
||||||
if (complete) {
|
if (complete) {
|
||||||
|
|
|
@ -202,24 +202,25 @@ export default function (part) {
|
||||||
|
|
||||||
/* Store lengths for use in elastic */
|
/* Store lengths for use in elastic */
|
||||||
|
|
||||||
store.set(
|
paths.frontLegOpening = new Path()
|
||||||
'frontLegOpeningLength',
|
|
||||||
new Path()
|
|
||||||
.move(points.frontGussetRight)
|
.move(points.frontGussetRight)
|
||||||
.curve(
|
.curve(
|
||||||
points.frontGussetRightCp1,
|
points.frontGussetRightCp1,
|
||||||
points.frontLegOpeningRightCp1,
|
points.frontLegOpeningRightCp1,
|
||||||
points.frontLegOpeningRight
|
points.frontLegOpeningRight
|
||||||
)
|
)
|
||||||
.length()
|
.setRender(false)
|
||||||
)
|
store.set('frontLegOpeningLength',paths.frontLegOpening.length())
|
||||||
store.set(
|
|
||||||
'frontWaistBandLength',
|
paths.frontWaistBand = new Path()
|
||||||
new Path()
|
|
||||||
.move(points.frontWaistBandRight)
|
.move(points.frontWaistBandRight)
|
||||||
.curve(points.frontWaistBandRightCp1, points.frontWaistBandLeftCp1, points.frontWaistBandLeft)
|
.curve(
|
||||||
.length()
|
points.frontWaistBandRightCp1,
|
||||||
)
|
points.frontWaistBandLeftCp1,
|
||||||
|
points.frontWaistBandLeft
|
||||||
|
)
|
||||||
|
.setRender(false)
|
||||||
|
store.set('frontWaistBandLength',paths.frontWaistBand.length())
|
||||||
|
|
||||||
// Complete?
|
// Complete?
|
||||||
if (complete) {
|
if (complete) {
|
||||||
|
|
|
@ -29,13 +29,11 @@ return part
|
||||||
points.frontMidMid = points.gussetCp1.shiftFractionTowards(points.gussetCp2, 0.5)
|
points.frontMidMid = points.gussetCp1.shiftFractionTowards(points.gussetCp2, 0.5)
|
||||||
|
|
||||||
/* Store lengths for use in elastic */
|
/* Store lengths for use in elastic */
|
||||||
store.set(
|
paths.gussetLegOpening = new Path()
|
||||||
'gussetSideLength',
|
.move(points.backGussetRight)
|
||||||
new Path()
|
.curve(points.backGussetRight, points.gussetCp2, points.frontGussetRight)
|
||||||
.move(points.backGussetRight)
|
.setRender(false)
|
||||||
.curve(points.backGussetRight, points.gussetCp2, points.frontGussetRight)
|
store.set('gussetSideLength', paths.gussetLegOpening.length())
|
||||||
.length()
|
|
||||||
)
|
|
||||||
|
|
||||||
// Draw paths
|
// Draw paths
|
||||||
paths.seam = new Path()
|
paths.seam = new Path()
|
||||||
|
|
|
@ -20,6 +20,16 @@ for (const name of ['Back', 'Front', 'Gusset']) {
|
||||||
Unice.prototype.draftElastic = function (part) {
|
Unice.prototype.draftElastic = function (part) {
|
||||||
return new Ursula(this.settings).draftElastic(part)
|
return new Ursula(this.settings).draftElastic(part)
|
||||||
}
|
}
|
||||||
|
Unice.prototype.draftFront2 = function (part) {
|
||||||
|
return new Ursula(this.settings).draftFront2(part)
|
||||||
|
}
|
||||||
|
Unice.prototype.draftBack2 = function (part) {
|
||||||
|
return new Ursula(this.settings).draftBack2(part)
|
||||||
|
}
|
||||||
|
Unice.prototype.draftGusset2 = function (part) {
|
||||||
|
return new Ursula(this.settings).draftGusset2(part)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Attach our own draft methods to the prototype
|
// Attach our own draft methods to the prototype
|
||||||
Unice.prototype.draftFront = draftFront
|
Unice.prototype.draftFront = draftFront
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue