Add missing descriptions for titan waistband balance (#7234)
* Add i18n descriptions for Titan angled waistband Fix code style * Add docusaurus documentation for waistband option * Lily i18n doesn't inherit from Titan, so duplicate strings here
This commit is contained in:
parent
ee72ce3117
commit
7fb499fd2b
5 changed files with 77 additions and 17 deletions
|
@ -11,7 +11,7 @@
|
||||||
"adjustEase.d": "Knee, seat and waist ease should be set to fabric stretch * -1/10; click the button to adjust all three.",
|
"adjustEase.d": "Knee, seat and waist ease should be set to fabric stretch * -1/10; click the button to adjust all three.",
|
||||||
"adjustEase": "adjust ease"
|
"adjustEase": "adjust ease"
|
||||||
},
|
},
|
||||||
"o": {
|
"o": {
|
||||||
"lengthReduction": {
|
"lengthReduction": {
|
||||||
"t": "Length reduction",
|
"t": "Length reduction",
|
||||||
"d": "Controls how much the leggings are shortened with respect to ankle length"
|
"d": "Controls how much the leggings are shortened with respect to ankle length"
|
||||||
|
@ -75,6 +75,26 @@
|
||||||
"waistbandWidth": {
|
"waistbandWidth": {
|
||||||
"t": "Waistband width",
|
"t": "Waistband width",
|
||||||
"d": "The width of the waistband"
|
"d": "The width of the waistband"
|
||||||
|
},
|
||||||
|
"waistAngle": {
|
||||||
|
"t": "Waistband angle",
|
||||||
|
"d": "Change the angle of the waistband when viewed from the side"
|
||||||
|
},
|
||||||
|
"useWaistAngleFor": {
|
||||||
|
"t": "Use waistband angle for",
|
||||||
|
"d": "Apply the waistband angle to the front, back or both"
|
||||||
|
},
|
||||||
|
"useWaistAngleFor.both": {
|
||||||
|
"t": "Both",
|
||||||
|
"d": "Apply the waistband angle to the front and back"
|
||||||
|
},
|
||||||
|
"useWaistAngleFor.backOnly": {
|
||||||
|
"t": "Back",
|
||||||
|
"d": "Apply the waistband angle only to the back"
|
||||||
|
},
|
||||||
|
"useWaistAngleFor.frontOnly": {
|
||||||
|
"t": "Front",
|
||||||
|
"d": "Apply the waistband angle only to the front"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,6 +88,26 @@
|
||||||
"t": "Waist ease",
|
"t": "Waist ease",
|
||||||
"d": "Controls the amount of ease at your waist"
|
"d": "Controls the amount of ease at your waist"
|
||||||
},
|
},
|
||||||
|
"waistAngle": {
|
||||||
|
"t": "Waistband angle",
|
||||||
|
"d": "Change the angle of the waistband when viewed from the side"
|
||||||
|
},
|
||||||
|
"useWaistAngleFor": {
|
||||||
|
"t": "Use waistband angle for",
|
||||||
|
"d": "Apply the waistband angle to the front, back or both"
|
||||||
|
},
|
||||||
|
"useWaistAngleFor.both": {
|
||||||
|
"t": "Both",
|
||||||
|
"d": "Apply the waistband angle to the front and back"
|
||||||
|
},
|
||||||
|
"useWaistAngleFor.backOnly": {
|
||||||
|
"t": "Back",
|
||||||
|
"d": "Apply the waistband angle only to the back"
|
||||||
|
},
|
||||||
|
"useWaistAngleFor.frontOnly": {
|
||||||
|
"t": "Front",
|
||||||
|
"d": "Apply the waistband angle only to the front"
|
||||||
|
},
|
||||||
"grainlinePosition": {
|
"grainlinePosition": {
|
||||||
"t": "Grainline position",
|
"t": "Grainline position",
|
||||||
"d": "Controls the horizontal position of the leg relative to the seat"
|
"d": "Controls the horizontal position of the leg relative to the seat"
|
||||||
|
|
|
@ -200,7 +200,7 @@ function titanBack({
|
||||||
// Revert back to the previous rotation.
|
// Revert back to the previous rotation.
|
||||||
for (const i of rotate) {
|
for (const i of rotate) {
|
||||||
points[i] = saved[i]
|
points[i] = saved[i]
|
||||||
}
|
}
|
||||||
points.fork = saved.fork
|
points.fork = saved.fork
|
||||||
points.forkCp2 = saved.forkCp2
|
points.forkCp2 = saved.forkCp2
|
||||||
}
|
}
|
||||||
|
@ -238,24 +238,31 @@ function titanBack({
|
||||||
points.styleWaistIn = points.waistIn.clone()
|
points.styleWaistIn = points.waistIn.clone()
|
||||||
points.styleWaistOut = points.waistOut.clone()
|
points.styleWaistOut = points.waistOut.clone()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Now angle the waist (if requested)
|
// Now angle the waist (if requested)
|
||||||
// create a backup of the unangled position, for use in dependent patterns
|
// create a backup of the unangled position, for use in dependent patterns
|
||||||
points.styleWaistInNoAngle = points.styleWaistIn.clone()
|
points.styleWaistInNoAngle = points.styleWaistIn.clone()
|
||||||
if (options.waistAngle != 0 && (options.useWaistAngleFor === 'both' || options.useWaistAngleFor === 'backOnly') ) {
|
if (
|
||||||
|
options.waistAngle !== 0 &&
|
||||||
|
(options.useWaistAngleFor === 'both' || options.useWaistAngleFor === 'backOnly')
|
||||||
|
) {
|
||||||
// calculate how much to add/subtract
|
// calculate how much to add/subtract
|
||||||
// assume that from the crossSeamCurveStart upwards, the crotch seam will be vertical
|
// assume that from the crossSeamCurveStart upwards, the crotch seam will be vertical
|
||||||
// base of the triangle is then horizontal distance from crossSeamCurveStart to fork
|
// base of the triangle is then horizontal distance from crossSeamCurveStart to fork
|
||||||
let triangleBase, triangleHeight
|
let triangleBase, triangleHeight
|
||||||
// use positive value for triangleBase: positive angle means higher back
|
// use positive value for triangleBase: positive angle means higher back
|
||||||
triangleBase = points.fork.dx(points.crossSeamCurveStart)
|
triangleBase = points.fork.dx(points.crossSeamCurveStart)
|
||||||
// length of opposite side is length of adjacent side times tangent of the angle
|
// length of opposite side is length of adjacent side times tangent of the angle
|
||||||
triangleHeight = Math.tan(options.waistAngle * Math.PI/180) * triangleBase
|
triangleHeight = Math.tan((options.waistAngle * Math.PI) / 180) * triangleBase
|
||||||
|
|
||||||
// top of cross seam is a straight line, so just extend
|
// top of cross seam is a straight line, so just extend
|
||||||
points.styleWaistIn = points.crossSeamCurveStart.shiftOutwards(points.styleWaistIn,triangleHeight)
|
points.styleWaistIn = points.crossSeamCurveStart.shiftOutwards(
|
||||||
|
points.styleWaistIn,
|
||||||
|
triangleHeight
|
||||||
|
)
|
||||||
|
|
||||||
// report the change in height
|
// report the change in height
|
||||||
log.info(['additionalHeightCenterBack',units(triangleHeight)])
|
log.info(['additionalHeightCenterBack', units(triangleHeight)])
|
||||||
}
|
}
|
||||||
// Adapt the vertical placement of the seat control point to the lowered waist
|
// Adapt the vertical placement of the seat control point to the lowered waist
|
||||||
points.seatOutCp2.y = points.seatOut.y - points.styleWaistOut.dy(points.seatOut) / 2
|
points.seatOutCp2.y = points.seatOut.y - points.styleWaistOut.dy(points.seatOut) / 2
|
||||||
|
@ -447,13 +454,9 @@ export const back = {
|
||||||
fitKnee: { bool: false, menu: 'style' },
|
fitKnee: { bool: false, menu: 'style' },
|
||||||
waistAngle: { deg: 0, min: -20, max: 20, menu: 'style' },
|
waistAngle: { deg: 0, min: -20, max: 20, menu: 'style' },
|
||||||
useWaistAngleFor: {
|
useWaistAngleFor: {
|
||||||
dflt: "both",
|
dflt: 'both',
|
||||||
list: [
|
list: ['both', 'backOnly', 'frontOnly'],
|
||||||
"both",
|
menu: 'style',
|
||||||
"backOnly",
|
|
||||||
"frontOnly",
|
|
||||||
],
|
|
||||||
menu: 'style'
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// Advanced
|
// Advanced
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
title: 'Use waistband angle for'
|
||||||
|
---
|
||||||
|
|
||||||
|
Determines if the Waistband angle setting is applied to the back part, the front part or both.
|
||||||
|
|
||||||
|
Note that applying the setting to only one of the parts can create an angle at the sideseam.
|
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
title: 'Waistband angle'
|
||||||
|
---
|
||||||
|
|
||||||
|
Controls the angle of the waistband when the garment is viewed from the side.
|
||||||
|
|
||||||
|
Increasing this option will raise the back of the pants and lower the waistband in the front.
|
||||||
|
This is ideal for those with a curvy body who want the waistband to sit below the belly in the front, but above the butt in the back.
|
||||||
|
|
||||||
|
If you're setting the waistband angle to a larger value, it's also a good idea to increase the waist height to make sure you've got enough coverage in the front.
|
Loading…
Add table
Add a link
Reference in a new issue