Merge with feature.
--HG-- branch : develop
This commit is contained in:
commit
34ee1d783d
|
@ -22,6 +22,7 @@
|
|||
<file>diagrams/Gp6.png</file>
|
||||
<file>diagrams/Gp7.png</file>
|
||||
<file>diagrams/Gp8.png</file>
|
||||
<file>diagrams/Gp9.png</file>
|
||||
<file>diagrams/Hp1.png</file>
|
||||
<file>diagrams/Hp2.png</file>
|
||||
<file>diagrams/Hp3.png</file>
|
||||
|
@ -34,6 +35,7 @@
|
|||
<file>diagrams/Hp10.png</file>
|
||||
<file>diagrams/Hp11.png</file>
|
||||
<file>diagrams/Hp12.png</file>
|
||||
<file>diagrams/Hp13.png</file>
|
||||
<file>diagrams/Ip1.png</file>
|
||||
<file>diagrams/Ip2.png</file>
|
||||
<file>diagrams/Ip3.png</file>
|
||||
|
@ -66,6 +68,7 @@
|
|||
<file>diagrams/Lp7.png</file>
|
||||
<file>diagrams/Lp8.png</file>
|
||||
<file>diagrams/Lp9.png</file>
|
||||
<file>diagrams/Lp10.png</file>
|
||||
<file>diagrams/Mp1.png</file>
|
||||
<file>diagrams/Mp2.png</file>
|
||||
<file>diagrams/Mp3.png</file>
|
||||
|
@ -73,6 +76,7 @@
|
|||
<file>diagrams/Np2.png</file>
|
||||
<file>diagrams/Np3.png</file>
|
||||
<file>diagrams/Np4.png</file>
|
||||
<file>diagrams/Np5.png</file>
|
||||
<file>diagrams/Op1.png</file>
|
||||
<file>diagrams/Op2.png</file>
|
||||
<file>diagrams/Op3.png</file>
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
BIN
src/app/tape/share/resources/diagrams/Gp9.png
Normal file
BIN
src/app/tape/share/resources/diagrams/Gp9.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
BIN
src/app/tape/share/resources/diagrams/Hp13.png
Normal file
BIN
src/app/tape/share/resources/diagrams/Hp13.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
BIN
src/app/tape/share/resources/diagrams/Lp10.png
Normal file
BIN
src/app/tape/share/resources/diagrams/Lp10.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.9 KiB |
BIN
src/app/tape/share/resources/diagrams/Np5.png
Normal file
BIN
src/app/tape/share/resources/diagrams/Np5.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.3 KiB |
|
@ -286,6 +286,7 @@ DIAGRAMS += \
|
|||
$${PWD}/share/resources/diagrams/Gp6.png \
|
||||
$${PWD}/share/resources/diagrams/Gp7.png \
|
||||
$${PWD}/share/resources/diagrams/Gp8.png \
|
||||
$${PWD}/share/resources/diagrams/Gp9.png \
|
||||
$${PWD}/share/resources/diagrams/Hp1.png \
|
||||
$${PWD}/share/resources/diagrams/Hp2.png \
|
||||
$${PWD}/share/resources/diagrams/Hp3.png \
|
||||
|
@ -298,6 +299,7 @@ DIAGRAMS += \
|
|||
$${PWD}/share/resources/diagrams/Hp10.png \
|
||||
$${PWD}/share/resources/diagrams/Hp11.png \
|
||||
$${PWD}/share/resources/diagrams/Hp12.png \
|
||||
$${PWD}/share/resources/diagrams/Hp13.png \
|
||||
$${PWD}/share/resources/diagrams/Ip1.png \
|
||||
$${PWD}/share/resources/diagrams/Ip2.png \
|
||||
$${PWD}/share/resources/diagrams/Ip3.png \
|
||||
|
@ -330,6 +332,7 @@ DIAGRAMS += \
|
|||
$${PWD}/share/resources/diagrams/Lp7.png \
|
||||
$${PWD}/share/resources/diagrams/Lp8.png \
|
||||
$${PWD}/share/resources/diagrams/Lp9.png \
|
||||
$${PWD}/share/resources/diagrams/Lp10.png \
|
||||
$${PWD}/share/resources/diagrams/Mp1.png \
|
||||
$${PWD}/share/resources/diagrams/Mp2.png \
|
||||
$${PWD}/share/resources/diagrams/Mp3.png \
|
||||
|
@ -337,6 +340,7 @@ DIAGRAMS += \
|
|||
$${PWD}/share/resources/diagrams/Np2.png \
|
||||
$${PWD}/share/resources/diagrams/Np3.png \
|
||||
$${PWD}/share/resources/diagrams/Np4.png \
|
||||
$${PWD}/share/resources/diagrams/Np5.png \
|
||||
$${PWD}/share/resources/diagrams/Op1.png \
|
||||
$${PWD}/share/resources/diagrams/Op2.png \
|
||||
$${PWD}/share/resources/diagrams/Op3.png \
|
||||
|
|
|
@ -6,12 +6,15 @@
|
|||
<file>schema/pattern/v0.1.3.xsd</file>
|
||||
<file>schema/pattern/v0.1.4.xsd</file>
|
||||
<file>schema/pattern/v0.2.0.xsd</file>
|
||||
<file>schema/pattern/v0.2.1.xsd</file>
|
||||
<file>schema/standard_measurements/v0.3.0.xsd</file>
|
||||
<file>schema/standard_measurements/v0.4.0.xsd</file>
|
||||
<file>schema/standard_measurements/v0.4.1.xsd</file>
|
||||
<file>schema/standard_measurements/v0.4.2.xsd</file>
|
||||
<file>schema/individual_measurements/v0.2.0.xsd</file>
|
||||
<file>schema/individual_measurements/v0.3.0.xsd</file>
|
||||
<file>schema/individual_measurements/v0.3.1.xsd</file>
|
||||
<file>schema/individual_measurements/v0.3.2.xsd</file>
|
||||
<file>schema/individual_measurements/v0.3.3.xsd</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
72
src/libs/ifc/schema/individual_measurements/v0.3.3.xsd
Normal file
72
src/libs/ifc/schema/individual_measurements/v0.3.3.xsd
Normal file
|
@ -0,0 +1,72 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
|
||||
<xs:element name="vit">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="version" type="formatVersion"></xs:element>
|
||||
<xs:element name="read-only" type="xs:boolean"></xs:element>
|
||||
<xs:element name="notes" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
|
||||
<xs:element name="unit" type="units"></xs:element>
|
||||
<xs:element name="pm_system" type="psCode"></xs:element>
|
||||
<xs:element name="personal">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="family-name" type="xs:string"></xs:element>
|
||||
<xs:element name="given-name" type="xs:string"></xs:element>
|
||||
<xs:element name="birth-date" type="xs:date"></xs:element>
|
||||
<xs:element name="gender" type="gender"></xs:element>
|
||||
<xs:element name="email" type="xs:string"></xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="body-measurements">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="m" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="name" type="shortName" use="required"></xs:attribute>
|
||||
<xs:attribute name="value" type="xs:string" use="required"></xs:attribute>
|
||||
<xs:attribute name="full_name" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="description" type="xs:string"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:unique name="measurementName">
|
||||
<xs:selector xpath="body-measurements/m"/>
|
||||
<xs:field xpath="@name"/>
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
<xs:simpleType name="shortName">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="^([^0-9*/^+\-=\s()?%:;!.,`'\"]){1,1}([^*/^+\-=\s()?%:;!.,`'\"]){0,}$"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="formatVersion">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="^(0|([1-9][0-9]*))\.(0|([1-9][0-9]*))\.(0|([1-9][0-9]*))$"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="units">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="mm"/>
|
||||
<xs:enumeration value="cm"/>
|
||||
<xs:enumeration value="inch"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="gender">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="unknown"/>
|
||||
<xs:enumeration value="male"/>
|
||||
<xs:enumeration value="female"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="psCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="^^(([0-9]|[1-4][0-9]|5[0-4])|998)$"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
329
src/libs/ifc/schema/pattern/v0.2.1.xsd
Normal file
329
src/libs/ifc/schema/pattern/v0.2.1.xsd
Normal file
|
@ -0,0 +1,329 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
|
||||
<!-- XML Schema Generated from XML Document-->
|
||||
<xs:element name="pattern">
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:element name="version" type="formatVersion"></xs:element>
|
||||
<xs:element name="unit" type="units"></xs:element>
|
||||
<xs:element name="author" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
|
||||
<xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
|
||||
<xs:element name="notes" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
|
||||
<xs:element name="gradation" minOccurs="0" maxOccurs="1">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="heights">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="all" type="xs:boolean" use="required"></xs:attribute>
|
||||
<xs:attribute name="h92" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="h98" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="h104" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="h110" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="h116" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="h122" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="h128" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="h134" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="h140" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="h146" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="h152" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="h158" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="h164" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="h170" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="h176" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="h182" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="h188" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="h194" type="xs:boolean"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="sizes">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="all" type="xs:boolean" use="required"></xs:attribute>
|
||||
<xs:attribute name="s22" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="s24" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="s26" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="s28" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="s30" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="s32" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="s34" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="s36" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="s38" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="s40" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="s42" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="s44" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="s46" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="s48" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="s50" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="s52" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="s54" type="xs:boolean"></xs:attribute>
|
||||
<xs:attribute name="s56" type="xs:boolean"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="measurements" type="xs:string"></xs:element>
|
||||
<xs:element name="increments" minOccurs="0" maxOccurs="1">
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="increment" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
|
||||
<xs:attribute name="name" type="shortName" use="required"></xs:attribute>
|
||||
<xs:attribute name="formula" type="xs:string" use="required"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:unique name="incrementName">
|
||||
<xs:selector xpath="increment"/>
|
||||
<xs:field xpath="@name"/>
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
<xs:element name="draw" minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="calculation" minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="point" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:unsignedInt" use="required"></xs:attribute>
|
||||
<xs:attribute name="x" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="y" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="mx" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="my" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="type" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="name" type="shortName"></xs:attribute>
|
||||
<xs:attribute name="firstPoint" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="secondPoint" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="thirdPoint" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="basePoint" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="pShoulder" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="p1Line" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="p2Line" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="length" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="angle" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="typeLine" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="splinePath" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="spline" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="p1Line1" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="p1Line2" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="p2Line1" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="p2Line2" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="center" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="radius" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="axisP1" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="axisP2" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="arc" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="curve" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="lineColor" type="colors"></xs:attribute>
|
||||
<xs:attribute name="color" type="colors"></xs:attribute>
|
||||
<xs:attribute name="firstArc" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="secondArc" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="crossPoint" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="c1Center" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="c2Center" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="c1Radius" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="c2Radius" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="cRadius" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="tangent" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="cCenter" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="name1" type="shortName"></xs:attribute>
|
||||
<xs:attribute name="mx1" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="my1" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="name2" type="shortName"></xs:attribute>
|
||||
<xs:attribute name="mx2" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="my2" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="point1" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="point2" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="dartP1" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="dartP2" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="dartP3" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="baseLineP1" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="baseLineP2" type="xs:unsignedInt"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="line" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:unsignedInt" use="required"></xs:attribute>
|
||||
<xs:attribute name="firstPoint" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="secondPoint" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="typeLine" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="lineColor" type="colors"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="arc" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="angle1" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="id" type="xs:unsignedInt" use="required"></xs:attribute>
|
||||
<xs:attribute name="angle2" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="radius" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="center" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="type" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="color" type="colors"></xs:attribute>
|
||||
<xs:attribute name="length" type="xs:string"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="spline" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="pathPoint" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="kAsm2" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="pSpline" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="angle" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="kAsm1" type="xs:string"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="id" type="xs:unsignedInt" use="required"></xs:attribute>
|
||||
<xs:attribute name="kCurve" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="type" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="kAsm1" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="kAsm2" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="angle1" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="angle2" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="point1" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="point4" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="color" type="colors"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="modeling" minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="point" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:unsignedInt" use="required"></xs:attribute>
|
||||
<xs:attribute name="idObject" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="mx" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="typeObject" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="my" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="type" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="idTool" type="xs:unsignedInt"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="arc" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:unsignedInt" use="required"></xs:attribute>
|
||||
<xs:attribute name="idObject" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="typeObject" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="type" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="idTool" type="xs:unsignedInt"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="spline" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:unsignedInt" use="required"></xs:attribute>
|
||||
<xs:attribute name="idObject" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="typeObject" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="type" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="idTool" type="xs:unsignedInt"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="tools" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="det" minOccurs="2" maxOccurs="2">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="node" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="nodeType" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="idObject" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="mx" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="my" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="type" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="reverse" type="xs:unsignedInt"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="id" type="xs:unsignedInt" use="required"></xs:attribute>
|
||||
<xs:attribute name="type" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="indexD1" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="indexD2" type="xs:unsignedInt"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="details" minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="detail" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="node" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="nodeType" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="idObject" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="mx" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="my" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="type" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="reverse" type="xs:unsignedInt"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="id" type="xs:unsignedInt" use="required"></xs:attribute>
|
||||
<xs:attribute name="supplement" type="xs:unsignedInt"></xs:attribute>
|
||||
<xs:attribute name="mx" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="my" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="width" type="xs:double"></xs:attribute>
|
||||
<xs:attribute name="name" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="closed" type="xs:unsignedInt"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="name" type="xs:string"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:simpleType name="shortName">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="^([^0-9*/^+\-=\s()?%:;!.,`'\"]){1,1}([^*/^+\-=\s()?%:;!.,`'\"]){0,}$"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="units">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="mm"/>
|
||||
<xs:enumeration value="cm"/>
|
||||
<xs:enumeration value="inch"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="measurementsTypes">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="standard"/>
|
||||
<xs:enumeration value="individual"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="formatVersion">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="^(0|([1-9][0-9]*))\.(0|([1-9][0-9]*))\.(0|([1-9][0-9]*))$"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="colors">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="black"/>
|
||||
<xs:enumeration value="green"/>
|
||||
<xs:enumeration value="blue"/>
|
||||
<xs:enumeration value="darkRed"/>
|
||||
<xs:enumeration value="darkGreen"/>
|
||||
<xs:enumeration value="darkBlue"/>
|
||||
<xs:enumeration value="yellow"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
66
src/libs/ifc/schema/standard_measurements/v0.4.2.xsd
Normal file
66
src/libs/ifc/schema/standard_measurements/v0.4.2.xsd
Normal file
|
@ -0,0 +1,66 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
|
||||
<xs:element name="vst">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="version" type="formatVersion"></xs:element>
|
||||
<xs:element name="read-only" type="xs:boolean"></xs:element>
|
||||
<xs:element name="notes" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
|
||||
<xs:element name="unit" type="units"></xs:element>
|
||||
<xs:element name="pm_system" type="psCode"></xs:element>
|
||||
<xs:element name="size">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="base" type="xs:double" use="required"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="height">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="base" type="xs:double" use="required"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="body-measurements">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="m" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="name" type="shortName" use="required"></xs:attribute>
|
||||
<xs:attribute name="base" type="xs:double" use="required"></xs:attribute>
|
||||
<xs:attribute name="height_increase" type="xs:double" use="required"></xs:attribute>
|
||||
<xs:attribute name="size_increase" type="xs:double" use="required"></xs:attribute>
|
||||
<xs:attribute name="full_name" type="xs:string"></xs:attribute>
|
||||
<xs:attribute name="description" type="xs:string"></xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:unique name="measurementName">
|
||||
<xs:selector xpath="body-measurements/m"/>
|
||||
<xs:field xpath="@name"/>
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
<xs:simpleType name="shortName">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="^([^0-9*/^+\-=\s()?%:;!.,`'\"]){1,1}([^*/^+\-=\s()?%:;!.,`'\"]){0,}$"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="units">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="mm"/>
|
||||
<xs:enumeration value="cm"/>
|
||||
<xs:enumeration value="inch"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="formatVersion">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="^(0|([1-9][0-9]*))\.(0|([1-9][0-9]*))\.(0|([1-9][0-9]*))$"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="psCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="^^(([0-9]|[1-4][0-9]|5[0-4])|998)$"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
|
@ -94,10 +94,8 @@ QMultiMap<QString, QString> VAbstractMConverter::OldNamesToNewNames_InV0_3_0()
|
|||
names.insert(QStringLiteral("lowbust_circ"), QStringLiteral("under_bust_girth"));
|
||||
names.insert(QStringLiteral("waist_circ"), QStringLiteral("waist_girth"));
|
||||
names.insert(QStringLiteral("highhip_circ"), QStringLiteral("high_hip_girth"));
|
||||
|
||||
name = QStringLiteral("hip_circ");
|
||||
names.insert(name, QStringLiteral("hips_excluding_protruding_abdomen"));
|
||||
names.insert(name, QStringLiteral("hip_girth"));
|
||||
names.insert(QStringLiteral("hip_circ"), QStringLiteral("hips_excluding_protruding_abdomen"));
|
||||
names.insert(QStringLiteral("hip_circ_with_abdomen"), QStringLiteral("hip_girth"));
|
||||
|
||||
name = QStringLiteral("neck_arc_f");
|
||||
names.insert(name, QStringLiteral("half_girth_neck"));
|
||||
|
@ -129,16 +127,13 @@ QMultiMap<QString, QString> VAbstractMConverter::OldNamesToNewNames_InV0_3_0()
|
|||
QStringLiteral("half_girth_hips_considering_protruding_abdomen"));
|
||||
names.insert(QStringLiteral("body_armfold_circ"), QStringLiteral("shoulder_girth"));
|
||||
names.insert(QStringLiteral("body_torso_circ"), QStringLiteral("trunk_length"));
|
||||
|
||||
name = QStringLiteral("neck_front_to_waist_f");
|
||||
names.insert(name, QStringLiteral("front_waist_length"));
|
||||
names.insert(name, QStringLiteral("center_front_waist_length"));
|
||||
|
||||
names.insert(QStringLiteral("neck_front_to_waist_f"), QStringLiteral("front_waist_length"));
|
||||
names.insert(QStringLiteral("neck_front_to_waist_flat_f"), QStringLiteral("center_front_waist_length"));
|
||||
names.insert(QStringLiteral("armpit_to_waist_side"), QStringLiteral("side_waist_length"));
|
||||
names.insert(QStringLiteral("neck_side_to_waist_b"), QStringLiteral("waist_to_neck_side"));
|
||||
|
||||
name = QStringLiteral("neck_side_to_waist_f");
|
||||
names.insert(name, QStringLiteral("neck_to_front_waist_line"));
|
||||
names.insert(name, QStringLiteral("waist_to_neck_side"));
|
||||
names.insert(name, QStringLiteral("front_shoulder_to_waist_length"));
|
||||
|
||||
names.insert(QStringLiteral("neck_side_to_waist_b"), QStringLiteral("back_shoulder_to_waist_length"));
|
||||
|
@ -159,10 +154,8 @@ QMultiMap<QString, QString> VAbstractMConverter::OldNamesToNewNames_InV0_3_0()
|
|||
names.insert(QStringLiteral("shoulder_length"), QStringLiteral("shoulder_length"));
|
||||
names.insert(QStringLiteral("shoulder_tip_to_shoulder_tip_f"), QStringLiteral("across_front_shoulder_width"));
|
||||
names.insert(QStringLiteral("across_chest_f"), QStringLiteral("upper_front_chest_width"));
|
||||
|
||||
name = QStringLiteral("armfold_to_armfold_f");
|
||||
names.insert(name, QStringLiteral("chest_width"));
|
||||
names.insert(name, QStringLiteral("front_chest_width"));
|
||||
names.insert(QStringLiteral("across_chest_f"), QStringLiteral("chest_width"));
|
||||
names.insert(QStringLiteral("armfold_to_armfold_f"), QStringLiteral("front_chest_width"));
|
||||
|
||||
name = QStringLiteral("shoulder_tip_to_shoulder_tip_b");
|
||||
names.insert(name, QStringLiteral("arc_behind_shoulder_girdle"));
|
||||
|
@ -199,11 +192,8 @@ QMultiMap<QString, QString> VAbstractMConverter::OldNamesToNewNames_InV0_3_0()
|
|||
names.insert(QStringLiteral("armscye_circ"), QStringLiteral("armscye_girth"));
|
||||
names.insert(QStringLiteral("armscye_width"), QStringLiteral("anteroposterior_diameter_hands"));
|
||||
names.insert(QStringLiteral("arm_neck_side_to_finger_tip"), QStringLiteral("neck_to_third_finger"));
|
||||
|
||||
name = QStringLiteral("arm_neck_side_to_wrist");
|
||||
names.insert(name, QStringLiteral("neck_to_radial_point"));
|
||||
names.insert(name, QStringLiteral("shoulder_and_arm_length"));
|
||||
|
||||
names.insert(QStringLiteral("arm_neck_side_to_outer_elbow"), QStringLiteral("neck_to_radial_point"));
|
||||
names.insert(QStringLiteral("arm_neck_side_to_wrist"), QStringLiteral("shoulder_and_arm_length"));
|
||||
names.insert(QStringLiteral("leg_crotch_to_floor"), QStringLiteral("crotch_height"));
|
||||
names.insert(QStringLiteral("leg_waist_side_to_floor"), QStringLiteral("side_waist_to_floor"));
|
||||
names.insert(QStringLiteral("leg_waist_side_to_knee"), QStringLiteral("waist_to_knee"));
|
||||
|
@ -218,9 +208,8 @@ QMultiMap<QString, QString> VAbstractMConverter::OldNamesToNewNames_InV0_3_0()
|
|||
names.insert(name, QStringLiteral("arc_through_groin_area"));
|
||||
names.insert(name, QStringLiteral("crotch_length"));
|
||||
|
||||
name = QStringLiteral("rise_length_side");
|
||||
names.insert(name, QStringLiteral("waist_to_plane_seat"));
|
||||
names.insert(name, QStringLiteral("rise_height"));
|
||||
names.insert(QStringLiteral("rise_length_side_sitting"), QStringLiteral("waist_to_plane_seat"));
|
||||
names.insert(QStringLiteral("rise_length_diag"), QStringLiteral("rise_height"));
|
||||
|
||||
name = QStringLiteral("hand_length");
|
||||
names.insert(name, QStringLiteral("hand_vertical_diameter"));
|
||||
|
@ -239,6 +228,21 @@ QMultiMap<QString, QString> VAbstractMConverter::OldNamesToNewNames_InV0_3_0()
|
|||
names.insert(QStringLiteral("highbust_b_over_shoulder_to_highbust_f"), QStringLiteral("strap_length"));
|
||||
names.insert(QStringLiteral("armscye_arc"), QStringLiteral("arc_through_shoulder_joint"));
|
||||
names.insert(QStringLiteral("head_circ"), QStringLiteral("head_girth"));
|
||||
names.insert(QStringLiteral("arm_elbow_circ"), QStringLiteral("elbow_girth"));
|
||||
names.insert(QStringLiteral("height_gluteal_fold"), QStringLiteral("height_under_buttock_folds"));
|
||||
names.insert(QStringLiteral("neck_back_to_highbust_b"), QStringLiteral("scye_depth"));
|
||||
names.insert(QStringLiteral("across_back_to_waist_b"), QStringLiteral("back_waist_to_upper_chest"));
|
||||
|
||||
return names;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
QMap<QString, QString> VAbstractMConverter::OldNamesToNewNames_InV0_3_3()
|
||||
{
|
||||
// new name, old name
|
||||
QMap<QString, QString> names;
|
||||
|
||||
names.insert(QStringLiteral("rise_length_side_sitting"), QStringLiteral("rise_length_side"));
|
||||
|
||||
return names;
|
||||
}
|
||||
|
|
|
@ -40,6 +40,7 @@ public:
|
|||
protected:
|
||||
void AddRootComment();
|
||||
static QMultiMap<QString, QString> OldNamesToNewNames_InV0_3_0();
|
||||
static QMap<QString, QString> OldNamesToNewNames_InV0_3_3();
|
||||
|
||||
private:
|
||||
Q_DISABLE_COPY(VAbstractMConverter)
|
||||
|
|
|
@ -43,8 +43,8 @@
|
|||
*/
|
||||
|
||||
const QString VPatternConverter::PatternMinVerStr = QStringLiteral("0.1.0");
|
||||
const QString VPatternConverter::PatternMaxVerStr = QStringLiteral("0.2.0");
|
||||
const QString VPatternConverter::CurrentSchema = QStringLiteral("://schema/pattern/v0.2.0.xsd");
|
||||
const QString VPatternConverter::PatternMaxVerStr = QStringLiteral("0.2.1");
|
||||
const QString VPatternConverter::CurrentSchema = QStringLiteral("://schema/pattern/v0.2.1.xsd");
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
VPatternConverter::VPatternConverter(const QString &fileName)
|
||||
|
@ -100,6 +100,8 @@ QString VPatternConverter::XSDSchema(int ver) const
|
|||
case (0x000104):
|
||||
return QStringLiteral("://schema/pattern/v0.1.4.xsd");
|
||||
case (0x000200):
|
||||
return QStringLiteral("://schema/pattern/v0.2.0.xsd");
|
||||
case (0x000201):
|
||||
return CurrentSchema;
|
||||
default:
|
||||
{
|
||||
|
@ -152,6 +154,13 @@ void VPatternConverter::ApplyPatches()
|
|||
V_FALLTHROUGH
|
||||
}
|
||||
case (0x000200):
|
||||
{
|
||||
ToV0_2_1();
|
||||
const QString schema = XSDSchema(0x000201);
|
||||
ValidateXML(schema, fileName);
|
||||
V_FALLTHROUGH
|
||||
}
|
||||
case (0x000201):
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -215,6 +224,14 @@ void VPatternConverter::ToV0_2_0()
|
|||
Save();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VPatternConverter::ToV0_2_1()
|
||||
{
|
||||
SetVersion(QStringLiteral("0.2.1"));
|
||||
ConvertMeasurementsToV0_2_1();
|
||||
Save();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VPatternConverter::TagUnitToV0_2_0()
|
||||
{
|
||||
|
@ -665,6 +682,17 @@ void VPatternConverter::TagMeasurementsToV0_2_0()
|
|||
ms.appendChild(newNodeText);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VPatternConverter::ConvertMeasurementsToV0_2_1()
|
||||
{
|
||||
const QMap<QString, QString> names = OldNamesToNewNames_InV0_2_1();
|
||||
|
||||
// Structure did not change. We can use the same code.
|
||||
ConvertPointExpressionsToV0_2_0(names);
|
||||
ConvertArcExpressionsToV0_2_0(names);
|
||||
ConvertPathPointExpressionsToV0_2_0(names);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
QString VPatternConverter::MUnitV0_1_4() const
|
||||
{
|
||||
|
@ -792,10 +820,8 @@ QMap<QString, QString> VPatternConverter::OldNamesToNewNames_InV0_2_0()
|
|||
names.insert(QStringLiteral("under_bust_girth"), QStringLiteral("lowbust_circ"));
|
||||
names.insert(QStringLiteral("waist_girth"), QStringLiteral("waist_circ"));
|
||||
names.insert(QStringLiteral("high_hip_girth"), QStringLiteral("highhip_circ"));
|
||||
|
||||
name = QStringLiteral("hip_circ");
|
||||
names.insert(QStringLiteral("hips_excluding_protruding_abdomen"), name);
|
||||
names.insert(QStringLiteral("hip_girth"), name);
|
||||
names.insert(QStringLiteral("hips_excluding_protruding_abdomen"), QStringLiteral("hip_circ"));
|
||||
names.insert(QStringLiteral("hip_girth"), QStringLiteral("hip_circ_with_abdomen"));
|
||||
|
||||
name = QStringLiteral("neck_arc_f");
|
||||
names.insert(QStringLiteral("half_girth_neck"), name);
|
||||
|
@ -825,19 +851,15 @@ QMap<QString, QString> VPatternConverter::OldNamesToNewNames_InV0_2_0()
|
|||
names.insert(QStringLiteral("back_hip_arc"), QStringLiteral("hip_arc_b"));
|
||||
names.insert(QStringLiteral("half_girth_hips_considering_protruding_abdomen"),
|
||||
QStringLiteral("hip_with_abdomen_arc_f"));
|
||||
|
||||
names.insert(QStringLiteral("shoulder_girth"), QStringLiteral("body_armfold_circ"));
|
||||
names.insert(QStringLiteral("trunk_length"), QStringLiteral("body_torso_circ"));
|
||||
|
||||
name = QStringLiteral("neck_front_to_waist_f");
|
||||
names.insert(QStringLiteral("front_waist_length"), name);
|
||||
names.insert(QStringLiteral("center_front_waist_length"), name);
|
||||
|
||||
names.insert(QStringLiteral("front_waist_length"), QStringLiteral("neck_front_to_waist_f"));
|
||||
names.insert(QStringLiteral("center_front_waist_length"), QStringLiteral("neck_front_to_waist_flat_f"));
|
||||
names.insert(QStringLiteral("side_waist_length"), QStringLiteral("armpit_to_waist_side"));
|
||||
names.insert(QStringLiteral("waist_to_neck_side"), QStringLiteral("neck_side_to_waist_b"));
|
||||
|
||||
name = QStringLiteral("neck_side_to_waist_f");
|
||||
names.insert(QStringLiteral("neck_to_front_waist_line"), name);
|
||||
names.insert(QStringLiteral("waist_to_neck_side"), name);
|
||||
names.insert(QStringLiteral("front_shoulder_to_waist_length"), name);
|
||||
|
||||
names.insert(QStringLiteral("back_shoulder_to_waist_length"), QStringLiteral("neck_side_to_waist_b"));
|
||||
|
@ -857,10 +879,8 @@ QMap<QString, QString> VPatternConverter::OldNamesToNewNames_InV0_2_0()
|
|||
names.insert(QStringLiteral("shoulder_drop"), QStringLiteral("shoulder_slope_neck_side_length"));
|
||||
names.insert(QStringLiteral("across_front_shoulder_width"), QStringLiteral("shoulder_tip_to_shoulder_tip_f"));
|
||||
names.insert(QStringLiteral("upper_front_chest_width"), QStringLiteral("across_chest_f"));
|
||||
|
||||
name = QStringLiteral("armfold_to_armfold_f");
|
||||
names.insert(QStringLiteral("chest_width"), name);
|
||||
names.insert(QStringLiteral("front_chest_width"), name);
|
||||
names.insert(QStringLiteral("chest_width"), QStringLiteral("across_chest_f"));
|
||||
names.insert(QStringLiteral("front_chest_width"), QStringLiteral("armfold_to_armfold_f"));
|
||||
|
||||
name = QStringLiteral("shoulder_tip_to_shoulder_tip_b");
|
||||
names.insert(QStringLiteral("arc_behind_shoulder_girdle"), name);
|
||||
|
@ -897,11 +917,8 @@ QMap<QString, QString> VPatternConverter::OldNamesToNewNames_InV0_2_0()
|
|||
names.insert(QStringLiteral("armscye_girth"), QStringLiteral("armscye_circ"));
|
||||
names.insert(QStringLiteral("anteroposterior_diameter_hands"), QStringLiteral("armscye_width"));
|
||||
names.insert(QStringLiteral("neck_to_third_finger"), QStringLiteral("arm_neck_side_to_finger_tip"));
|
||||
|
||||
name = QStringLiteral("arm_neck_side_to_wrist");
|
||||
names.insert(QStringLiteral("neck_to_radial_point"), name);
|
||||
names.insert(QStringLiteral("shoulder_and_arm_length"), name);
|
||||
|
||||
names.insert(QStringLiteral("neck_to_radial_point"), QStringLiteral("arm_neck_side_to_outer_elbow"));
|
||||
names.insert(QStringLiteral("shoulder_and_arm_length"), QStringLiteral("arm_neck_side_to_wrist"));
|
||||
names.insert(QStringLiteral("crotch_height"), QStringLiteral("leg_crotch_to_floor"));
|
||||
names.insert(QStringLiteral("side_waist_to_floor"), QStringLiteral("leg_waist_side_to_floor"));
|
||||
names.insert(QStringLiteral("waist_to_knee"), QStringLiteral("leg_waist_side_to_knee"));
|
||||
|
@ -912,11 +929,8 @@ QMap<QString, QString> VPatternConverter::OldNamesToNewNames_InV0_2_0()
|
|||
names.insert(QStringLiteral("ankle_girth"), QStringLiteral("leg_ankle_circ"));
|
||||
names.insert(QStringLiteral("girth_knee_flexed_feet"), QStringLiteral("leg_knee_circ_bent"));
|
||||
names.insert(QStringLiteral("arc_through_groin_area"), QStringLiteral("crotch_length"));
|
||||
|
||||
name = QStringLiteral("rise_length_side");
|
||||
names.insert(QStringLiteral("waist_to_plane_seat"), name);
|
||||
names.insert(QStringLiteral("rise_height"), name);
|
||||
|
||||
names.insert(QStringLiteral("waist_to_plane_seat"), QStringLiteral("rise_length_side_sitting"));
|
||||
names.insert(QStringLiteral("rise_height"), QStringLiteral("rise_length_diag"));
|
||||
names.insert(QStringLiteral("hand_vertical_diameter"), QStringLiteral("hand_length"));
|
||||
names.insert(QStringLiteral("hand_width"), QStringLiteral("hand_palm_width"));
|
||||
names.insert(QStringLiteral("hand_girth"), QStringLiteral("hand_circ"));
|
||||
|
@ -929,6 +943,21 @@ QMap<QString, QString> VPatternConverter::OldNamesToNewNames_InV0_2_0()
|
|||
names.insert(QStringLiteral("strap_length"), QStringLiteral("highbust_b_over_shoulder_to_highbust_f"));
|
||||
names.insert(QStringLiteral("arc_through_shoulder_joint"), QStringLiteral("armscye_arc"));
|
||||
names.insert(QStringLiteral("head_girth"), QStringLiteral("head_circ"));
|
||||
names.insert(QStringLiteral("elbow_girth"), QStringLiteral("arm_elbow_circ"));
|
||||
names.insert(QStringLiteral("height_under_buttock_folds"), QStringLiteral("height_gluteal_fold"));
|
||||
names.insert(QStringLiteral("scye_depth"), QStringLiteral("neck_back_to_highbust_b"));
|
||||
names.insert(QStringLiteral("back_waist_to_upper_chest"), QStringLiteral("across_back_to_waist_b"));
|
||||
|
||||
return names;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
QMap<QString, QString> VPatternConverter::OldNamesToNewNames_InV0_2_1()
|
||||
{
|
||||
// old name, new name
|
||||
QMap<QString, QString> names;
|
||||
|
||||
names.insert(QStringLiteral("rise_length_side"), QStringLiteral("rise_length_side_sitting"));
|
||||
|
||||
return names;
|
||||
}
|
||||
|
|
|
@ -60,12 +60,15 @@ private:
|
|||
void ToV0_1_3();
|
||||
void ToV0_1_4();
|
||||
void ToV0_2_0();
|
||||
void ToV0_2_1();
|
||||
|
||||
void TagUnitToV0_2_0();
|
||||
void TagIncrementToV0_2_0();
|
||||
void ConvertMeasurementsToV0_2_0();
|
||||
void TagMeasurementsToV0_2_0();
|
||||
|
||||
void ConvertMeasurementsToV0_2_1();
|
||||
|
||||
QSet<QString> FixIncrementsToV0_2_0();
|
||||
QString FixIncrementInFormulaToV0_2_0(const QString &formula, const QSet<QString> &names);
|
||||
void FixPointExpressionsToV0_2_0(const QSet<QString> &names);
|
||||
|
@ -83,6 +86,7 @@ private:
|
|||
QStringList ListPathPointExpressionsV0_1_4() const;
|
||||
|
||||
static QMap<QString, QString> OldNamesToNewNames_InV0_2_0();
|
||||
static QMap<QString, QString> OldNamesToNewNames_InV0_2_1();
|
||||
};
|
||||
|
||||
#endif // VPATTERNCONVERTER_H
|
||||
|
|
|
@ -40,8 +40,8 @@
|
|||
*/
|
||||
|
||||
const QString VVITConverter::MeasurementMinVerStr = QStringLiteral("0.2.0");
|
||||
const QString VVITConverter::MeasurementMaxVerStr = QStringLiteral("0.3.2");
|
||||
const QString VVITConverter::CurrentSchema = QStringLiteral("://schema/individual_measurements/v0.3.2.xsd");
|
||||
const QString VVITConverter::MeasurementMaxVerStr = QStringLiteral("0.3.3");
|
||||
const QString VVITConverter::CurrentSchema = QStringLiteral("://schema/individual_measurements/v0.3.3.xsd");
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
VVITConverter::VVITConverter(const QString &fileName)
|
||||
|
@ -93,6 +93,8 @@ QString VVITConverter::XSDSchema(int ver) const
|
|||
case (0x000301):
|
||||
return QStringLiteral("://schema/individual_measurements/v0.3.1.xsd");
|
||||
case (0x000302):
|
||||
return QStringLiteral("://schema/individual_measurements/v0.3.2.xsd");
|
||||
case (0x000303):
|
||||
return CurrentSchema;
|
||||
default:
|
||||
{
|
||||
|
@ -131,6 +133,13 @@ void VVITConverter::ApplyPatches()
|
|||
V_FALLTHROUGH
|
||||
}
|
||||
case (0x000302):
|
||||
{
|
||||
ToV0_3_3();
|
||||
const QString schema = XSDSchema(0x000303);
|
||||
ValidateXML(schema, fileName);
|
||||
V_FALLTHROUGH
|
||||
}
|
||||
case (0x000303):
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -257,6 +266,34 @@ void VVITConverter::PM_SystemV0_3_2()
|
|||
parent.insertBefore(pm_system, personal);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VVITConverter::ConvertMeasurementsToV0_3_3()
|
||||
{
|
||||
const QMap<QString, QString> names = OldNamesToNewNames_InV0_3_3();
|
||||
auto i = names.constBegin();
|
||||
while (i != names.constEnd())
|
||||
{
|
||||
const QDomNodeList nodeList = this->elementsByTagName(QStringLiteral("m"));
|
||||
if (nodeList.isEmpty())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
for (int ii = 0; ii < nodeList.size(); ++ii)
|
||||
{
|
||||
const QString attrName = QStringLiteral("name");
|
||||
QDomElement element = nodeList.at(ii).toElement();
|
||||
const QString name = GetParametrString(element, attrName);
|
||||
if (name == i.value())
|
||||
{
|
||||
SetAttribute(element, attrName, i.key());
|
||||
}
|
||||
}
|
||||
|
||||
++i;
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VVITConverter::ToV0_3_0()
|
||||
{
|
||||
|
@ -282,3 +319,11 @@ void VVITConverter::ToV0_3_2()
|
|||
PM_SystemV0_3_2();
|
||||
Save();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VVITConverter::ToV0_3_3()
|
||||
{
|
||||
SetVersion(QStringLiteral("0.3.3"));
|
||||
ConvertMeasurementsToV0_3_3();
|
||||
Save();
|
||||
}
|
||||
|
|
|
@ -61,10 +61,12 @@ private:
|
|||
QDomElement AddMV0_3_0(const QString &name, qreal value);
|
||||
void GenderV0_3_1();
|
||||
void PM_SystemV0_3_2();
|
||||
void ConvertMeasurementsToV0_3_3();
|
||||
|
||||
void ToV0_3_0();
|
||||
void ToV0_3_1();
|
||||
void ToV0_3_2();
|
||||
void ToV0_3_3();
|
||||
};
|
||||
|
||||
#endif // VVITCONVERTER_H
|
||||
|
|
|
@ -40,8 +40,8 @@
|
|||
*/
|
||||
|
||||
const QString VVSTConverter::MeasurementMinVerStr = QStringLiteral("0.3.0");
|
||||
const QString VVSTConverter::MeasurementMaxVerStr = QStringLiteral("0.4.1");
|
||||
const QString VVSTConverter::CurrentSchema = QStringLiteral("://schema/standard_measurements/v0.4.1.xsd");
|
||||
const QString VVSTConverter::MeasurementMaxVerStr = QStringLiteral("0.4.2");
|
||||
const QString VVSTConverter::CurrentSchema = QStringLiteral("://schema/standard_measurements/v0.4.2.xsd");
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
VVSTConverter::VVSTConverter(const QString &fileName)
|
||||
|
@ -91,6 +91,8 @@ QString VVSTConverter::XSDSchema(int ver) const
|
|||
case (0x000400):
|
||||
return QStringLiteral("://schema/standard_measurements/v0.4.0.xsd");
|
||||
case (0x000401):
|
||||
return QStringLiteral("://schema/standard_measurements/v0.4.1.xsd");
|
||||
case (0x000402):
|
||||
return CurrentSchema;
|
||||
default:
|
||||
{
|
||||
|
@ -122,6 +124,13 @@ void VVSTConverter::ApplyPatches()
|
|||
V_FALLTHROUGH
|
||||
}
|
||||
case (0x000401):
|
||||
{
|
||||
ToV0_4_2();
|
||||
const QString schema = XSDSchema(0x000402);
|
||||
ValidateXML(schema, fileName);
|
||||
V_FALLTHROUGH
|
||||
}
|
||||
case (0x000402):
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -263,6 +272,34 @@ void VVSTConverter::PM_SystemV0_4_1()
|
|||
parent.insertBefore(pm_system, personal);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VVSTConverter::ConvertMeasurementsToV0_4_2()
|
||||
{
|
||||
const QMap<QString, QString> names = OldNamesToNewNames_InV0_3_3();
|
||||
auto i = names.constBegin();
|
||||
while (i != names.constEnd())
|
||||
{
|
||||
const QDomNodeList nodeList = this->elementsByTagName(QStringLiteral("m"));
|
||||
if (nodeList.isEmpty())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
for (int ii = 0; ii < nodeList.size(); ++ii)
|
||||
{
|
||||
const QString attrName = QStringLiteral("name");
|
||||
QDomElement element = nodeList.at(ii).toElement();
|
||||
const QString name = GetParametrString(element, attrName);
|
||||
if (name == i.value())
|
||||
{
|
||||
SetAttribute(element, attrName, i.key());
|
||||
}
|
||||
}
|
||||
|
||||
++i;
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VVSTConverter::ToV0_4_0()
|
||||
{
|
||||
|
@ -281,3 +318,11 @@ void VVSTConverter::ToV0_4_1()
|
|||
PM_SystemV0_4_1();
|
||||
Save();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VVSTConverter::ToV0_4_2()
|
||||
{
|
||||
SetVersion(QStringLiteral("0.4.2"));
|
||||
ConvertMeasurementsToV0_4_2();
|
||||
Save();
|
||||
}
|
||||
|
|
|
@ -60,9 +60,11 @@ private:
|
|||
void ConvertMeasurementsToV0_4_0();
|
||||
QDomElement AddMV0_4_0(const QString &name, qreal value, qreal sizeIncrease, qreal heightIncrease);
|
||||
void PM_SystemV0_4_1();
|
||||
void ConvertMeasurementsToV0_4_2();
|
||||
|
||||
void ToV0_4_0();
|
||||
void ToV0_4_1();
|
||||
void ToV0_4_2();
|
||||
};
|
||||
|
||||
#endif // VMEASUREMENTCONVERTER_H
|
||||
|
|
|
@ -135,6 +135,7 @@ const QString hipWithAbdomenArcF_M = QStringLiteral("hip_with_abdomen_arc_f"); /
|
|||
const QString bodyArmfoldCirc_M = QStringLiteral("body_armfold_circ"); // G43
|
||||
const QString bodyBustCirc_M = QStringLiteral("body_bust_circ"); // G44
|
||||
const QString bodyTorsoCirc_M = QStringLiteral("body_torso_circ"); // G45
|
||||
const QString hipCircWithAbdomen_M = QStringLiteral("hip_circ_with_abdomen"); // G46
|
||||
// H
|
||||
const QString neckFrontToWaistF_M = QStringLiteral("neck_front_to_waist_f"); // H01
|
||||
const QString neckFrontToWaistFlatF_M = QStringLiteral("neck_front_to_waist_flat_f"); // H02
|
||||
|
@ -176,6 +177,8 @@ const QString shoulderSlopeNeckSideLength_M = QStringLiteral("shoulder_slope_n
|
|||
const QString shoulderSlopeNeckBackAngle_M = QStringLiteral("shoulder_slope_neck_back_angle"); // H38
|
||||
const QString shoulderSlopeNeckBackHeight_M = QStringLiteral("shoulder_slope_neck_back_height"); // H39
|
||||
const QString shoulderSlopeShoulderTipAngle_M = QStringLiteral("shoulder_slope_shoulder_tip_angle"); // H40
|
||||
const QString neckBackToAcrossBack_M = QStringLiteral("neck_back_to_across_back"); // H41
|
||||
const QString acrossBackToWaistB_M = QStringLiteral("across_back_to_waist_b"); // H42
|
||||
// I
|
||||
const QString shoulderLength_M = QStringLiteral("shoulder_length"); // I01
|
||||
const QString shoulderTipToShoulderTipF_M = QStringLiteral("shoulder_tip_to_shoulder_tip_f"); // I02
|
||||
|
@ -237,6 +240,7 @@ const QString armNeckSideToFingerTip_M = QStringLiteral("arm_neck_side_to_f
|
|||
const QString armscyeCirc_M = QStringLiteral("armscye_circ"); // L19
|
||||
const QString armscyeLength_M = QStringLiteral("armscye_length"); // L20
|
||||
const QString armscyeWidth_M = QStringLiteral("armscye_width"); // L21
|
||||
const QString armNeckSideToOuterElbow_M = QStringLiteral("arm_neck_side_to_outer_elbow"); // L22
|
||||
// M
|
||||
const QString legCrotchToFloor_M = QStringLiteral("leg_crotch_to_floor"); // M01
|
||||
const QString legWaistSideToFloor_M = QStringLiteral("leg_waist_side_to_floor"); // M02
|
||||
|
@ -253,13 +257,14 @@ const QString legCrotchToAnkle_M = QStringLiteral("leg_crotch_to_ankle");
|
|||
const QString legWaistSideToAnkle_M = QStringLiteral("leg_waist_side_to_ankle"); // M13
|
||||
const QString legWaistSideToKnee_M = QStringLiteral("leg_waist_side_to_knee"); // M14
|
||||
// N
|
||||
const QString crotchLength_M = QStringLiteral("crotch_length"); // N01
|
||||
const QString crotchLengthB_M = QStringLiteral("crotch_length_b"); // N02
|
||||
const QString crotchLengthF_M = QStringLiteral("crotch_length_f"); // N03
|
||||
const QString riseLengthSide_M = QStringLiteral("rise_length_side"); // N04
|
||||
const QString riseLengthDiag_M = QStringLiteral("rise_length_diag"); // N05
|
||||
const QString riseLengthB_M = QStringLiteral("rise_length_b"); // N06
|
||||
const QString riseLengthF_M = QStringLiteral("rise_length_f"); // N07
|
||||
const QString crotchLength_M = QStringLiteral("crotch_length"); // N01
|
||||
const QString crotchLengthB_M = QStringLiteral("crotch_length_b"); // N02
|
||||
const QString crotchLengthF_M = QStringLiteral("crotch_length_f"); // N03
|
||||
const QString riseLengthSideSitting_M = QStringLiteral("rise_length_side_sitting"); // N04
|
||||
const QString riseLengthDiag_M = QStringLiteral("rise_length_diag"); // N05
|
||||
const QString riseLengthB_M = QStringLiteral("rise_length_b"); // N06
|
||||
const QString riseLengthF_M = QStringLiteral("rise_length_f"); // N07
|
||||
const QString riseLengthSide_M = QStringLiteral("rise_length_side"); // N08
|
||||
// O
|
||||
const QString neckBackToWaistFront_M = QStringLiteral("neck_back_to_waist_front"); // O01
|
||||
const QString waistToWaistHalter_M = QStringLiteral("waist_to_waist_halter"); // O02
|
||||
|
@ -662,51 +667,52 @@ QStringList ListGroupF()
|
|||
//---------------------------------------------------------------------------------------------------------------------
|
||||
QStringList ListGroupG()
|
||||
{
|
||||
const QStringList list = QStringList() << neckMidCirc_M // G01
|
||||
<< neckCirc_M // G02
|
||||
<< highbustCirc_M // G03
|
||||
<< bustCirc_M // G04
|
||||
<< lowbustCirc_M // G05
|
||||
<< ribCirc_M // G06
|
||||
<< waistCirc_M // G07
|
||||
<< highhipCirc_M // G08
|
||||
<< hipCirc_M // G09
|
||||
<< neckArcF_M // G10
|
||||
<< highbustArcF_M // G11
|
||||
<< bustArcF_M // G12
|
||||
<< lowbustArcF_M // G13
|
||||
<< ribArcF_M // G14
|
||||
<< waistArcF_M // G15
|
||||
<< highhipArcF_M // G16
|
||||
<< hipArcF_M // G17
|
||||
<< neckArcHalfF_M // G18
|
||||
<< highbustArcHalfF_M // G19
|
||||
<< bustArcHalfF_M // G20
|
||||
<< lowbustArcHalfF_M // G21
|
||||
<< ribArcHalfF_M // G22
|
||||
<< waistArcHalfF_M // G23
|
||||
<< highhipArcHalfF_M // G24
|
||||
<< hipArcHalfF_M // G25
|
||||
<< neckArcB_M // G26
|
||||
<< highbustArcB_M // G27
|
||||
<< bustArcB_M // G28
|
||||
<< lowbustArcB_M // G29
|
||||
<< ribArcB_M // G30
|
||||
<< waistArcB_M // G31
|
||||
<< highhipArcB_M // G32
|
||||
<< hipArcB_M // G33
|
||||
<< neckArcHalfB_M // G34
|
||||
<< highbustArcHalfB_M // G35
|
||||
<< bustArcHalfB_M // G36
|
||||
<< lowbustArcHalfB_M // G37
|
||||
<< ribArcHalfB_M // G38
|
||||
<< waistArcHalfB_M // G39
|
||||
<< highhipArcHalfB_M // G40
|
||||
<< hipArcHalfB_M // G41
|
||||
<< hipWithAbdomenArcF_M // G42
|
||||
<< bodyArmfoldCirc_M // G43
|
||||
<< bodyBustCirc_M // G44
|
||||
<< bodyTorsoCirc_M; // G45
|
||||
const QStringList list = QStringList() << neckMidCirc_M // G01
|
||||
<< neckCirc_M // G02
|
||||
<< highbustCirc_M // G03
|
||||
<< bustCirc_M // G04
|
||||
<< lowbustCirc_M // G05
|
||||
<< ribCirc_M // G06
|
||||
<< waistCirc_M // G07
|
||||
<< highhipCirc_M // G08
|
||||
<< hipCirc_M // G09
|
||||
<< neckArcF_M // G10
|
||||
<< highbustArcF_M // G11
|
||||
<< bustArcF_M // G12
|
||||
<< lowbustArcF_M // G13
|
||||
<< ribArcF_M // G14
|
||||
<< waistArcF_M // G15
|
||||
<< highhipArcF_M // G16
|
||||
<< hipArcF_M // G17
|
||||
<< neckArcHalfF_M // G18
|
||||
<< highbustArcHalfF_M // G19
|
||||
<< bustArcHalfF_M // G20
|
||||
<< lowbustArcHalfF_M // G21
|
||||
<< ribArcHalfF_M // G22
|
||||
<< waistArcHalfF_M // G23
|
||||
<< highhipArcHalfF_M // G24
|
||||
<< hipArcHalfF_M // G25
|
||||
<< neckArcB_M // G26
|
||||
<< highbustArcB_M // G27
|
||||
<< bustArcB_M // G28
|
||||
<< lowbustArcB_M // G29
|
||||
<< ribArcB_M // G30
|
||||
<< waistArcB_M // G31
|
||||
<< highhipArcB_M // G32
|
||||
<< hipArcB_M // G33
|
||||
<< neckArcHalfB_M // G34
|
||||
<< highbustArcHalfB_M // G35
|
||||
<< bustArcHalfB_M // G36
|
||||
<< lowbustArcHalfB_M // G37
|
||||
<< ribArcHalfB_M // G38
|
||||
<< waistArcHalfB_M // G39
|
||||
<< highhipArcHalfB_M // G40
|
||||
<< hipArcHalfB_M // G41
|
||||
<< hipWithAbdomenArcF_M // G42
|
||||
<< bodyArmfoldCirc_M // G43
|
||||
<< bodyBustCirc_M // G44
|
||||
<< bodyTorsoCirc_M // G45
|
||||
<< hipCircWithAbdomen_M; // G46
|
||||
|
||||
return list;
|
||||
}
|
||||
|
@ -753,7 +759,9 @@ QStringList ListGroupH()
|
|||
<< shoulderSlopeNeckSideLength_M // H37
|
||||
<< shoulderSlopeNeckBackAngle_M // H38
|
||||
<< shoulderSlopeNeckBackHeight_M // H39
|
||||
<< shoulderSlopeShoulderTipAngle_M; // H40
|
||||
<< shoulderSlopeShoulderTipAngle_M // H40
|
||||
<< neckBackToAcrossBack_M // H41
|
||||
<< acrossBackToWaistB_M; // H42
|
||||
|
||||
return list;
|
||||
}
|
||||
|
@ -838,7 +846,8 @@ QStringList ListGroupL()
|
|||
<< armNeckSideToFingerTip_M // L18
|
||||
<< armscyeCirc_M // L19
|
||||
<< armscyeLength_M // L20
|
||||
<< armscyeWidth_M; // L21
|
||||
<< armscyeWidth_M // L21
|
||||
<< armNeckSideToOuterElbow_M; // L22
|
||||
|
||||
return list;
|
||||
}
|
||||
|
@ -867,13 +876,14 @@ QStringList ListGroupM()
|
|||
//---------------------------------------------------------------------------------------------------------------------
|
||||
QStringList ListGroupN()
|
||||
{
|
||||
const QStringList list = QStringList() << crotchLength_M // N01
|
||||
<< crotchLengthB_M // N02
|
||||
<< crotchLengthF_M // N03
|
||||
<< riseLengthSide_M // N04
|
||||
<< riseLengthDiag_M // N05
|
||||
<< riseLengthB_M // N06
|
||||
<< riseLengthF_M; // N07
|
||||
const QStringList list = QStringList() << crotchLength_M // N01
|
||||
<< crotchLengthB_M // N02
|
||||
<< crotchLengthF_M // N03
|
||||
<< riseLengthSideSitting_M // N04
|
||||
<< riseLengthDiag_M // N05
|
||||
<< riseLengthB_M // N06
|
||||
<< riseLengthF_M // N07
|
||||
<< riseLengthSide_M; // N08
|
||||
|
||||
return list;
|
||||
}
|
||||
|
@ -1302,6 +1312,8 @@ QString MapDiagrams(const QString &number)
|
|||
return QStringLiteral("Gp7");
|
||||
case 44: // G45
|
||||
return QStringLiteral("Gp8");
|
||||
case 45: // G46
|
||||
return QStringLiteral("Gp9");
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -1389,6 +1401,10 @@ QString MapDiagrams(const QString &number)
|
|||
return QStringLiteral("Hp11");
|
||||
case 39: // H40
|
||||
return QStringLiteral("Hp12");
|
||||
case 40: // H41
|
||||
V_FALLTHROUGH
|
||||
case 41: // H42
|
||||
return QStringLiteral("Hp13");
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -1531,6 +1547,8 @@ QString MapDiagrams(const QString &number)
|
|||
return QStringLiteral("Lp8");
|
||||
case 20: // L21
|
||||
return QStringLiteral("Lp9");
|
||||
case 21: // L22
|
||||
return QStringLiteral("Lp10");
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -1587,6 +1605,8 @@ QString MapDiagrams(const QString &number)
|
|||
V_FALLTHROUGH
|
||||
case 6: // N07
|
||||
return QStringLiteral("Np4");
|
||||
case 7: // N08
|
||||
return QStringLiteral("Np5");
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -291,6 +291,7 @@ extern const QString hipWithAbdomenArcF_M; // G42
|
|||
extern const QString bodyArmfoldCirc_M; // G43
|
||||
extern const QString bodyBustCirc_M; // G44
|
||||
extern const QString bodyTorsoCirc_M; // G45
|
||||
extern const QString hipCircWithAbdomen_M; // G46
|
||||
// H
|
||||
extern const QString neckFrontToWaistF_M; // H01
|
||||
extern const QString neckFrontToWaistFlatF_M; // H02
|
||||
|
@ -332,6 +333,8 @@ extern const QString shoulderSlopeNeckSideLength_M; // H37
|
|||
extern const QString shoulderSlopeNeckBackAngle_M; // H38
|
||||
extern const QString shoulderSlopeNeckBackHeight_M; // H39
|
||||
extern const QString shoulderSlopeShoulderTipAngle_M; // H40
|
||||
extern const QString neckBackToAcrossBack_M; // H41
|
||||
extern const QString acrossBackToWaistB_M; // H42
|
||||
// I
|
||||
extern const QString shoulderLength_M; // I01
|
||||
extern const QString shoulderTipToShoulderTipF_M; // I02
|
||||
|
@ -393,6 +396,7 @@ extern const QString armNeckSideToFingerTip_M; // L18
|
|||
extern const QString armscyeCirc_M; // L19
|
||||
extern const QString armscyeLength_M; // L20
|
||||
extern const QString armscyeWidth_M; // L21
|
||||
extern const QString armNeckSideToOuterElbow_M; // L22
|
||||
// M
|
||||
extern const QString legCrotchToFloor_M; // M01
|
||||
extern const QString legWaistSideToFloor_M; // M02
|
||||
|
@ -409,13 +413,14 @@ extern const QString legCrotchToAnkle_M; // M12
|
|||
extern const QString legWaistSideToAnkle_M; // M13
|
||||
extern const QString legWaistSideToKnee_M; // M14
|
||||
// N
|
||||
extern const QString crotchLength_M; // N01
|
||||
extern const QString crotchLengthB_M; // N02
|
||||
extern const QString crotchLengthF_M; // N03
|
||||
extern const QString riseLengthSide_M; // N04
|
||||
extern const QString riseLengthDiag_M; // N05
|
||||
extern const QString riseLengthB_M; // N06
|
||||
extern const QString riseLengthF_M; // N07
|
||||
extern const QString crotchLength_M; // N01
|
||||
extern const QString crotchLengthB_M; // N02
|
||||
extern const QString crotchLengthF_M; // N03
|
||||
extern const QString riseLengthSideSitting_M; // N04
|
||||
extern const QString riseLengthDiag_M; // N05
|
||||
extern const QString riseLengthB_M; // N06
|
||||
extern const QString riseLengthF_M; // N07
|
||||
extern const QString riseLengthSide_M; // N08
|
||||
// O
|
||||
extern const QString neckBackToWaistFront_M; // O01
|
||||
extern const QString waistToWaistHalter_M; // O02
|
||||
|
|
|
@ -904,6 +904,14 @@ void VTranslateMeasurements::InitGroupG()
|
|||
"Full measurement description.");
|
||||
InitMeasurement(bodyTorsoCirc_M, m, g, d, "G45");
|
||||
//=================================================================================================================
|
||||
m = translate("VTranslateMeasurements", "hip_circ_with_abdomen",
|
||||
"Name in a formula. Don't use math symbols and space in name!!!!");
|
||||
g = translate("VTranslateMeasurements", "Hip circumference, including Abdomen", "Full measurement name.");
|
||||
d = translate("VTranslateMeasurements",
|
||||
"Measurement at Hip level, including the depth of the Abdomen. (Hip arc, back + Hip arc with "
|
||||
"abdomen, front).", "Full measurement description.");
|
||||
InitMeasurement(hipCircWithAbdomen_M, m, g, d, "G46", "(hip_arc_b + hip_with_abdomen_arc_f)");
|
||||
//=================================================================================================================
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -1195,6 +1203,20 @@ void VTranslateMeasurements::InitGroupH()
|
|||
"Full measurement description.");
|
||||
InitMeasurement(shoulderSlopeShoulderTipAngle_M, m, g, d, "H40");
|
||||
//=================================================================================================================
|
||||
m = translate("VTranslateMeasurements", "neck_back_to_across_back",
|
||||
"Name in a formula. Don't use math symbols and space in name!!!!");
|
||||
g = translate("VTranslateMeasurements", "Neck Back to Across Back", "Full measurement name.");
|
||||
d = translate("VTranslateMeasurements", "From neck back, down to level of Across Back measurement.",
|
||||
"Full measurement description.");
|
||||
InitMeasurement(neckBackToAcrossBack_M, m, g, d, "H41");
|
||||
//=================================================================================================================
|
||||
m = translate("VTranslateMeasurements", "across_back_to_waist_b",
|
||||
"Name in a formula. Don't use math symbols and space in name!!!!");
|
||||
g = translate("VTranslateMeasurements", "Across Back to Waist back", "Full measurement name.");
|
||||
d = translate("VTranslateMeasurements", "From middle of Across Back down to Waist back.",
|
||||
"Full measurement description.");
|
||||
InitMeasurement(acrossBackToWaistB_M, m, g, d, "H42", "(neck_back_to_waist_b - neck_back_to_across_back)");
|
||||
//=================================================================================================================
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -1646,6 +1668,13 @@ void VTranslateMeasurements::InitGroupL()
|
|||
"Full measurement description.");
|
||||
InitMeasurement(armscyeWidth_M, m, g, d, "L21");
|
||||
//=================================================================================================================
|
||||
m = translate("VTranslateMeasurements", "arm_neck_side_to_outer_elbow",
|
||||
"Name in a formula. Don't use math symbols and space in name!!!!");
|
||||
g = translate("VTranslateMeasurements", "Arm: Neck side to Elbow", "Full measurement name.");
|
||||
d = translate("VTranslateMeasurements", "From Neck Side over Shoulder Tip down to Elbow. (Shoulder length + "
|
||||
"Arm: Shoulder Tip to Elbow).", "Full measurement description.");
|
||||
InitMeasurement(armNeckSideToOuterElbow_M, m, g, d, "L22", "(shoulder_length + arm_shoulder_tip_to_elbow)");
|
||||
//=================================================================================================================
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -1792,12 +1821,15 @@ void VTranslateMeasurements::InitGroupN()
|
|||
"Full measurement description.");
|
||||
InitMeasurement(crotchLengthF_M, m, g, d, "N03", "(crotch_length - crotch_length_b)");
|
||||
//=================================================================================================================
|
||||
m = translate("VTranslateMeasurements", "rise_length_side",
|
||||
m = translate("VTranslateMeasurements", "rise_length_side_sitting",
|
||||
"Name in a formula. Don't use math symbols and space in name!!!!");
|
||||
g = translate("VTranslateMeasurements", "Rise length, side", "Full measurement name.");
|
||||
d = translate("VTranslateMeasurements", "From Waist Side down to surface, while seated on hard surface.",
|
||||
g = translate("VTranslateMeasurements",
|
||||
"Sit on hard surface. Rise length, side, taken from waist over hip curve down to surface",
|
||||
"Full measurement name.");
|
||||
d = translate("VTranslateMeasurements",
|
||||
"From Waist Side around hp curve down to surface, while seated on hard surface.",
|
||||
"Full measurement description.");
|
||||
InitMeasurement(riseLengthSide_M, m, g, d, "N04");
|
||||
InitMeasurement(riseLengthSideSitting_M, m, g, d, "N04");
|
||||
//=================================================================================================================
|
||||
m = translate("VTranslateMeasurements", "rise_length_diag",
|
||||
"Name in a formula. Don't use math symbols and space in name!!!!");
|
||||
|
@ -1820,6 +1852,13 @@ void VTranslateMeasurements::InitGroupN()
|
|||
"Full measurement description.");
|
||||
InitMeasurement(riseLengthF_M, m, g, d, "N07");
|
||||
//=================================================================================================================
|
||||
m = translate("VTranslateMeasurements", "rise_length_side",
|
||||
"Name in a formula. Don't use math symbols and space in name!!!!");
|
||||
g = translate("VTranslateMeasurements", "Rise length, side", "Full measurement name.");
|
||||
d = translate("VTranslateMeasurements", "Vertical distance from Waist side down to Crotch level. Use formula "
|
||||
"(Height: Waist side - Leg: Crotch to floor).", "Full measurement description.");
|
||||
InitMeasurement(riseLengthSide_M, m, g, d, "N08");
|
||||
//=================================================================================================================
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
|
|
@ -212,6 +212,7 @@ void TST_MeasurementRegExp::TestCorrectOrderMeasurement_data()
|
|||
QTest::newRow("G43") << bodyArmfoldCirc_M << "body_armfold_circ";
|
||||
QTest::newRow("G44") << bodyBustCirc_M << "body_bust_circ";
|
||||
QTest::newRow("G45") << bodyTorsoCirc_M << "body_torso_circ";
|
||||
QTest::newRow("G46") << hipCircWithAbdomen_M << "hip_circ_with_abdomen";
|
||||
QTest::newRow("H01") << neckFrontToWaistF_M << "neck_front_to_waist_f";
|
||||
QTest::newRow("H02") << neckFrontToWaistFlatF_M << "neck_front_to_waist_flat_f";
|
||||
QTest::newRow("H03") << armpitToWaistSide_M << "armpit_to_waist_side";
|
||||
|
@ -252,6 +253,8 @@ void TST_MeasurementRegExp::TestCorrectOrderMeasurement_data()
|
|||
QTest::newRow("H38") << shoulderSlopeNeckBackAngle_M << "shoulder_slope_neck_back_angle";
|
||||
QTest::newRow("H39") << shoulderSlopeNeckBackHeight_M << "shoulder_slope_neck_back_height";
|
||||
QTest::newRow("H40") << shoulderSlopeShoulderTipAngle_M << "shoulder_slope_shoulder_tip_angle";
|
||||
QTest::newRow("H41") << neckBackToAcrossBack_M << "neck_back_to_across_back";
|
||||
QTest::newRow("H42") << acrossBackToWaistB_M << "across_back_to_waist_b";
|
||||
QTest::newRow("I01") << shoulderLength_M << "shoulder_length";
|
||||
QTest::newRow("I02") << shoulderTipToShoulderTipF_M << "shoulder_tip_to_shoulder_tip_f";
|
||||
QTest::newRow("I03") << acrossChestF_M << "across_chest_f";
|
||||
|
@ -309,6 +312,7 @@ void TST_MeasurementRegExp::TestCorrectOrderMeasurement_data()
|
|||
QTest::newRow("L19") << armscyeCirc_M << "armscye_circ";
|
||||
QTest::newRow("L20") << armscyeLength_M << "armscye_length";
|
||||
QTest::newRow("L21") << armscyeWidth_M << "armscye_width";
|
||||
QTest::newRow("L22") << armNeckSideToOuterElbow_M << "arm_neck_side_to_outer_elbow";
|
||||
QTest::newRow("M01") << legCrotchToFloor_M << "leg_crotch_to_floor";
|
||||
QTest::newRow("M02") << legWaistSideToFloor_M << "leg_waist_side_to_floor";
|
||||
QTest::newRow("M03") << legThighUpperCirc_M << "leg_thigh_upper_circ";
|
||||
|
@ -326,10 +330,11 @@ void TST_MeasurementRegExp::TestCorrectOrderMeasurement_data()
|
|||
QTest::newRow("N01") << crotchLength_M << "crotch_length";
|
||||
QTest::newRow("N02") << crotchLengthB_M << "crotch_length_b";
|
||||
QTest::newRow("N03") << crotchLengthF_M << "crotch_length_f";
|
||||
QTest::newRow("N04") << riseLengthSide_M << "rise_length_side";
|
||||
QTest::newRow("N04") << riseLengthSideSitting_M << "rise_length_side_sitting";
|
||||
QTest::newRow("N05") << riseLengthDiag_M << "rise_length_diag";
|
||||
QTest::newRow("N06") << riseLengthB_M << "rise_length_b";
|
||||
QTest::newRow("N07") << riseLengthF_M << "rise_length_f";
|
||||
QTest::newRow("N08") << riseLengthSide_M << "rise_length_side";
|
||||
QTest::newRow("O01") << neckBackToWaistFront_M << "neck_back_to_waist_front";
|
||||
QTest::newRow("O02") << waistToWaistHalter_M << "waist_to_waist_halter";
|
||||
QTest::newRow("O03") << waistNaturalCirc_M << "waist_natural_circ";
|
||||
|
@ -350,7 +355,8 @@ void TST_MeasurementRegExp::TestCorrectOrderMeasurement_data()
|
|||
QTest::newRow("P04") << highbustBackOverShoulderToArmfoldFront_M << "highbust_back_over_shoulder_to_armfold_front";
|
||||
QTest::newRow("P05") << highbustBackOverShoulderToWaistFront_M << "highbust_back_over_shoulder_to_waist_front";
|
||||
QTest::newRow("P06") << neckBackToArmfoldFrontToNeckBack_M << "neck_back_to_armfold_front_to_neck_back";
|
||||
QTest::newRow("P07") << acrossBackCenterToArmfoldFrontToAcrossBackCenter_M << "across_back_center_to_armfold_front_to_across_back_center";
|
||||
QTest::newRow("P07") << acrossBackCenterToArmfoldFrontToAcrossBackCenter_M
|
||||
<< "across_back_center_to_armfold_front_to_across_back_center";
|
||||
QTest::newRow("P08") << neckBackToArmfoldFrontToHighbustBack_M << "neck_back_to_armfold_front_to_highbust_back";
|
||||
QTest::newRow("P09") << armfoldToArmfoldBust_M << "armfold_to_armfold_bust";
|
||||
QTest::newRow("P10") << armfoldToBustFront_M << "armfold_to_bust_front";
|
||||
|
|
Loading…
Reference in New Issue
Block a user