diff --git a/ChangeLog.txt b/ChangeLog.txt
index 000b9e4c2..2bf64be20 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,4 +1,5 @@
# Version 0.4.4
+- Updated description measurements N06 and N07. Add new measurements A23 and J10.
- Fixed GUI issue. After full parse some widgets was incorrectly reseted.
- [#464] Crash. Issue with modeling node objects.
- [#463] Wrong export to DXF format.
diff --git a/src/app/tape/share/resources/diagrams.qrc b/src/app/tape/share/resources/diagrams.qrc
index 16ac8df59..1eb0d234d 100644
--- a/src/app/tape/share/resources/diagrams.qrc
+++ b/src/app/tape/share/resources/diagrams.qrc
@@ -48,6 +48,7 @@
diagrams/Jp3.svg
diagrams/Jp4.svg
diagrams/Jp5.svg
+ diagrams/Jp6.svg
diagrams/Kp1.svg
diagrams/Kp2.svg
diagrams/Kp3.svg
diff --git a/src/app/tape/share/resources/diagrams/Ap2.svg b/src/app/tape/share/resources/diagrams/Ap2.svg
index 268f1559f..33c5b2b0f 100644
--- a/src/app/tape/share/resources/diagrams/Ap2.svg
+++ b/src/app/tape/share/resources/diagrams/Ap2.svg
@@ -9,14 +9,15 @@
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="279.51462"
- height="712.23822"
- id="svg5309"
+ width="86.524971mm"
+ height="200.87267mm"
+ viewBox="0 0 306.58454 711.75354"
+ id="svg6365"
version="1.1"
- inkscape:version="0.48.4 r9939"
- sodipodi:docname="Новий документ 2">
+ inkscape:version="0.91 r"
+ sodipodi:docname="Ap2.svg">
+ id="defs6367" />
+ id="metadata6370">
@@ -55,233 +56,258 @@
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
- transform="translate(-200.24268,-127.67166)">
-
-
-
-
-
-
-
-
-
-
- 18
-
-
-
- 19
-
-
-
- 20
-
-
+ transform="translate(-192.422,-147.914)">
+
+
+
+
+
+
+
+
+
+ 18
+
+
+
+ 19
+
+
+
+ 20
+
+ d="m 292.80496,811.41395 1.6,8 c 0,5 0.8,4 -3.20001,7"
+ style="display:inline;fill:none;stroke:#dba981;stroke-width:2.41849995;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ d="m 365.20496,822.41395 -0.3,-140"
+ style="display:inline;fill:none;stroke:#7dc832;stroke-width:2.41860008;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker7359);marker-end:url(#marker7359)" />
21
+ x="357.90363"
+ y="727.67224">21
+ d="m 295.90496,822.41395 69,0"
+ style="display:inline;fill:none;stroke:#dba981;stroke-width:1.61240005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4.8372, 1.6124;stroke-dashoffset:0;stroke-opacity:1" />
+ sodipodi:open="true" />
22
+ x="361.45764"
+ y="345.53897">22
+
+
+
+ 23
diff --git a/src/app/tape/share/resources/diagrams/Jp6.svg b/src/app/tape/share/resources/diagrams/Jp6.svg
new file mode 100644
index 000000000..a152c9e0d
--- /dev/null
+++ b/src/app/tape/share/resources/diagrams/Jp6.svg
@@ -0,0 +1,183 @@
+
+
+
+
diff --git a/src/app/tape/tape.pro b/src/app/tape/tape.pro
index 2167b1d88..7adb6ab83 100644
--- a/src/app/tape/tape.pro
+++ b/src/app/tape/tape.pro
@@ -99,6 +99,7 @@ DIAGRAMS += \
$${PWD}/share/resources/diagrams/Jp3.svg \
$${PWD}/share/resources/diagrams/Jp4.svg \
$${PWD}/share/resources/diagrams/Jp5.svg \
+ $${PWD}/share/resources/diagrams/Jp6.svg \
$${PWD}/share/resources/diagrams/Kp1.svg \
$${PWD}/share/resources/diagrams/Kp2.svg \
$${PWD}/share/resources/diagrams/Kp3.svg \
diff --git a/src/libs/vmisc/def.cpp b/src/libs/vmisc/def.cpp
index 7ae5c44b3..263d3328f 100644
--- a/src/libs/vmisc/def.cpp
+++ b/src/libs/vmisc/def.cpp
@@ -60,6 +60,7 @@ const QString heightWaistSideToKnee_M = QStringLiteral("height_waist_side_to
const QString heightWaistSideToHip_M = QStringLiteral("height_waist_side_to_hip"); // A20
const QString heightKneeToAnkle_M = QStringLiteral("height_knee_to_ankle"); // A21
const QString heightNeckBackToWaistSide_M = QStringLiteral("height_neck_back_to_waist_side"); // A22
+const QString heightWaistBack_M = QStringLiteral("height_waist_back"); // A23
// B
const QString widthShoulder_M = QStringLiteral("width_shoulder"); // B01
const QString widthBust_M = QStringLiteral("width_bust"); // B02
@@ -203,6 +204,7 @@ const QString bustpointNeckSideToWaist_M = QStringLiteral("bustpoint_neck_side
const QString bustpointToShoulderTip_M = QStringLiteral("bustpoint_to_shoulder_tip"); // J07
const QString bustpointToWaistFront_M = QStringLiteral("bustpoint_to_waist_front"); // J08
const QString bustpointToBustpointHalter_M = QStringLiteral("bustpoint_to_bustpoint_halter"); // J09
+const QString bustpointToShoulderCenter_M = QStringLiteral("bustpoint_to_shoulder_center"); // J10
// K
const QString shoulderTipToWaistFront_M = QStringLiteral("shoulder_tip_to_waist_front"); // K01
const QString neckFrontToWaistSide_M = QStringLiteral("neck_front_to_waist_side"); // K02
@@ -601,7 +603,8 @@ QStringList ListGroupA()
<< heightWaistSideToKnee_M // A19
<< heightWaistSideToHip_M // A20
<< heightKneeToAnkle_M // A21
- << heightNeckBackToWaistSide_M; // A22
+ << heightNeckBackToWaistSide_M // A22
+ << heightWaistBack_M; // A23
return list;
}
@@ -797,7 +800,8 @@ QStringList ListGroupJ()
<< bustpointNeckSideToWaist_M // J06
<< bustpointToShoulderTip_M // J07
<< bustpointToWaistFront_M // J08
- << bustpointToBustpointHalter_M; // J09
+ << bustpointToBustpointHalter_M // J09
+ << bustpointToShoulderCenter_M; // J10
return list;
}
@@ -1132,6 +1136,8 @@ QString MapDiagrams(const QString &number)
case 20: // A21
V_FALLTHROUGH
case 21: // A22
+ V_FALLTHROUGH
+ case 22: // A23
return QStringLiteral("Ap2");
default:
break;
@@ -1464,6 +1470,8 @@ QString MapDiagrams(const QString &number)
return QStringLiteral("Jp4");
case 8: // J09
return QStringLiteral("Jp5");
+ case 9: // J10
+ return QStringLiteral("Jp6");
default:
break;
}
diff --git a/src/libs/vmisc/def.h b/src/libs/vmisc/def.h
index d060a765f..81c6b5343 100644
--- a/src/libs/vmisc/def.h
+++ b/src/libs/vmisc/def.h
@@ -216,6 +216,7 @@ extern const QString heightWaistSideToKnee_M; // A19
extern const QString heightWaistSideToHip_M; // A20
extern const QString heightKneeToAnkle_M; // A21
extern const QString heightNeckBackToWaistSide_M; // A22
+extern const QString heightWaistBack_M; // A23
// B
extern const QString widthShoulder_M; // B01
extern const QString widthBust_M; // B02
@@ -359,6 +360,7 @@ extern const QString bustpointNeckSideToWaist_M; // J06
extern const QString bustpointToShoulderTip_M; // J07
extern const QString bustpointToWaistFront_M; // J08
extern const QString bustpointToBustpointHalter_M; // J09
+extern const QString bustpointToShoulderCenter_M; // J10
// K
extern const QString shoulderTipToWaistFront_M; // K01
extern const QString neckFrontToWaistSide_M; // K02
diff --git a/src/libs/vpatterndb/vtranslatemeasurements.cpp b/src/libs/vpatterndb/vtranslatemeasurements.cpp
index f0d67b5ac..2f8762dd8 100644
--- a/src/libs/vpatterndb/vtranslatemeasurements.cpp
+++ b/src/libs/vpatterndb/vtranslatemeasurements.cpp
@@ -341,6 +341,13 @@ void VTranslateMeasurements::InitGroupA()
"'Height: Waist Side').", "Full measurement description.");
InitMeasurement(heightNeckBackToWaistSide_M, m, g, d, "A22", "(height_neck_back - height_waist_side)");
//=================================================================================================================
+ m = translate("VTranslateMeasurements", "height_waist_back",
+ "Name in a formula. Don't use math symbols and space in name!!!!");
+ g = translate("VTranslateMeasurements", "Height: Waist Back", "Full measurement name.");
+ d = translate("VTranslateMeasurements", "Vertical height from Waist Back to floor. ('Height: Waist Front'' - "
+ "'Leg: Crotch to floor'').", "Full measurement description.");
+ InitMeasurement(heightWaistBack_M, m, g, d, "A23", "(height_waist_front - leg_crotch_to_floor)");
+ //=================================================================================================================
}
//---------------------------------------------------------------------------------------------------------------------
@@ -1403,6 +1410,12 @@ void VTranslateMeasurements::InitGroupJ()
"Full measurement description.");
InitMeasurement(bustpointToBustpointHalter_M, m, g, d, "J09");
//=================================================================================================================
+ m = translate("VTranslateMeasurements", "bustpoint_to_shoulder_center",
+ "Name in a formula. Don't use math symbols and space in name!!!!");
+ g = translate("VTranslateMeasurements", "Bustpoint to Shoulder Center", "Full measurement name.");
+ d = translate("VTranslateMeasurements", "From center of Shoulder to Bustpoint.", "Full measurement description.");
+ InitMeasurement(bustpointToShoulderCenter_M, m, g, d, "J10");
+ //=================================================================================================================
}
//---------------------------------------------------------------------------------------------------------------------
@@ -1840,16 +1853,16 @@ void VTranslateMeasurements::InitGroupN()
m = translate("VTranslateMeasurements", "rise_length_b",
"Name in a formula. Don't use math symbols and space in name!!!!");
g = translate("VTranslateMeasurements", "Rise length, back", "Full measurement name.");
- d = translate("VTranslateMeasurements", "Vertical distance from Waist Back to Crotch level.",
- "Full measurement description.");
- InitMeasurement(riseLengthB_M, m, g, d, "N06");
+ d = translate("VTranslateMeasurements", "Vertical distance from Waist Back to Crotch level. "
+ "('Height: Waist Back' - 'Leg: Crotch to Floor')", "Full measurement description.");
+ InitMeasurement(riseLengthB_M, m, g, d, "N06", "(height_waist_back - leg_crotch_to_floor)");
//=================================================================================================================
m = translate("VTranslateMeasurements", "rise_length_f",
"Name in a formula. Don't use math symbols and space in name!!!!");
g = translate("VTranslateMeasurements", "Rise length, front", "Full measurement name.");
- d = translate("VTranslateMeasurements", "Vertical Distance from Waist Front to Crotch level.",
- "Full measurement description.");
- InitMeasurement(riseLengthF_M, m, g, d, "N07");
+ d = translate("VTranslateMeasurements", "Vertical Distance from Waist Front to Crotch level. "
+ "('Height: Waist Front' - 'Leg: Crotch to Floor')", "Full measurement description.");
+ InitMeasurement(riseLengthF_M, m, g, d, "N07", "(height_waist_front - leg_crotch_to_floor)");
//=================================================================================================================
m = translate("VTranslateMeasurements", "rise_length_side",
"Name in a formula. Don't use math symbols and space in name!!!!");
diff --git a/src/test/ValentinaTest/tst_measurementregexp.cpp b/src/test/ValentinaTest/tst_measurementregexp.cpp
index ea040a686..535bfc61f 100644
--- a/src/test/ValentinaTest/tst_measurementregexp.cpp
+++ b/src/test/ValentinaTest/tst_measurementregexp.cpp
@@ -140,6 +140,7 @@ void TST_MeasurementRegExp::TestCorrectOrderMeasurement_data()
QTest::newRow("A20") << heightWaistSideToHip_M << "height_waist_side_to_hip";
QTest::newRow("A21") << heightKneeToAnkle_M << "height_knee_to_ankle";
QTest::newRow("A22") << heightNeckBackToWaistSide_M << "height_neck_back_to_waist_side";
+ QTest::newRow("A23") << heightWaistBack_M << "height_waist_back";
QTest::newRow("B01") << widthShoulder_M << "width_shoulder";
QTest::newRow("B02") << widthBust_M << "width_bust";
QTest::newRow("B03") << widthWaist_M << "width_waist";
@@ -274,6 +275,7 @@ void TST_MeasurementRegExp::TestCorrectOrderMeasurement_data()
QTest::newRow("J07") << bustpointToShoulderTip_M << "bustpoint_to_shoulder_tip";
QTest::newRow("J08") << bustpointToWaistFront_M << "bustpoint_to_waist_front";
QTest::newRow("J09") << bustpointToBustpointHalter_M << "bustpoint_to_bustpoint_halter";
+ QTest::newRow("J10") << bustpointToShoulderCenter_M << "bustpoint_to_shoulder_center";
QTest::newRow("K01") << shoulderTipToWaistFront_M << "shoulder_tip_to_waist_front";
QTest::newRow("K02") << neckFrontToWaistSide_M << "neck_front_to_waist_side";
QTest::newRow("K03") << neckSideToWaistSideF_M << "neck_side_to_waist_side_f";