Fixed issue #915. Valentina produces wrong seam allowance for acute angle.

(grafted from 41a93a0a57ac2dcc731563b7eb759bfa2bc2961e)

--HG--
branch : develop
This commit is contained in:
Roman Telezhynskyi 2018-12-23 18:41:51 +02:00
parent 6403941406
commit 54418925c6
6 changed files with 893 additions and 265 deletions

View File

@ -11,6 +11,7 @@
- [#912] Labels in inactive state return to initial color.
- [#913] Unable to save changes for piece path if it doesn't contain a point.
- [#914] Filtering custom seam allowance paths prevent including more than one.
- [#915] Valentina produces wrong seam allowance for acute angle.
# Version 0.6.1 October 23, 2018
- [#885] Regression. Broken support for multi size measurements.

View File

@ -1,131 +1,134 @@
<?xml version='1.0' encoding='UTF-8'?>
<?xml version="1.0" encoding="UTF-8"?>
<pattern>
<!--Pattern created with Valentina (http://www.valentina-project.org/).-->
<version>0.3.9</version>
<!--Pattern created with Valentina v0.6.2.0 (https://valentinaproject.bitbucket.io/).-->
<version>0.7.12</version>
<unit>cm</unit>
<author>S.L.Spencer</author>
<description>Men's Trousers circa 1830-1870</description>
<notes/>
<patternName>Steampunk Trousers</patternName>
<patternNumber/>
<company>Seamly</company>
<customer/>
<size/>
<showDate>true</showDate>
<showMeasurements>true</showMeasurements>
<patternLabel>
<line alignment="0" bold="true" italic="false" sfIncrement="4" text="%author%"/>
<line alignment="0" bold="false" italic="false" sfIncrement="2" text="%patternName%"/>
<line alignment="0" bold="false" italic="false" sfIncrement="0" text="%mFileName%.%mExt%"/>
<line alignment="0" bold="false" italic="true" sfIncrement="0" text="%date%"/>
</patternLabel>
<measurements>marie_issue_#548.vit</measurements>
<increments>
<increment name="#CM_HEIGHT" description="Original pattern outseam is 112. &#xa;Use CM_HEIGHT for height formulas&#xa;" formula="leg_waist_side_to_floor/112"/>
<increment name="#CM_WIDTH" description="Original pattern's hip circumference is 102.&#xa;Use CM_WIDTH for circumference, arc, or width formulas." formula="hip_circ/102"/>
<increment name="#SCALE" description="Scale = 1/2 seat" formula="hip_circ/2"/>
<increment name="#SCALE_8" description="1/8 Scale" formula="#SCALE/8"/>
<increment name="#SCALE_4" description="1/4 Scale" formula="#SCALE/4"/>
<increment name="#HEM_WIDTH" description="Original pattern's hem width for each piece is 21.5cm" formula="21.5*#CM_WIDTH"/>
<increment name="#HEM_DEPTH" description="" formula="3.5*#CM_HEIGHT"/>
<increment description="Original pattern outseam is 112. &#10;Use CM_HEIGHT for height formulas&#10;" formula="leg_waist_side_to_floor/112" name="#CM_HEIGHT"/>
<increment description="Original pattern's hip circumference is 102.&#10;Use CM_WIDTH for circumference, arc, or width formulas." formula="hip_circ/102" name="#CM_WIDTH"/>
<increment description="Scale = 1/2 seat" formula="hip_circ/2" name="#SCALE"/>
<increment description="1/8 Scale" formula="#SCALE/8" name="#SCALE_8"/>
<increment description="1/4 Scale" formula="#SCALE/4" name="#SCALE_4"/>
<increment description="Original pattern's hem width for each piece is 21.5cm" formula="21.5*#CM_WIDTH" name="#HEM_WIDTH"/>
<increment description="" formula="3.5*#CM_HEIGHT" name="#HEM_DEPTH"/>
</increments>
<previewCalculations/>
<draw name="Front">
<calculation>
<point type="single" x="0.79" y="1.06" id="1" name="A0" mx="-1.58602" my="-0.622091"/>
<point type="endLine" typeLine="none" id="2" name="A1" basePoint="1" mx="-1.62896" lineColor="black" angle="270" my="-0.59059" length="4*#CM_HEIGHT"/>
<point type="alongLine" typeLine="hair" id="3" name="A2" firstPoint="1" secondPoint="2" mx="-1.64399" lineColor="blue" my="-1.11279" length="waist_to_hip_f"/>
<point type="alongLine" typeLine="dotLine" id="4" name="A3" firstPoint="1" secondPoint="2" mx="0.0462226" lineColor="black" my="0.130965" length="rise_length_side_sitting"/>
<point type="endLine" typeLine="dotLine" id="5" name="A4" basePoint="4" mx="-0.704107" lineColor="black" angle="270" my="-1.40822" length="leg_crotch_to_floor/2 - 5*#CM_HEIGHT"/>
<point type="alongLine" typeLine="dotLine" id="6" name="A5" firstPoint="4" secondPoint="5" mx="-0.881496" lineColor="black" my="-0.104292" length="leg_crotch_to_floor"/>
<point type="alongLine" typeLine="none" id="7" name="A6" firstPoint="2" secondPoint="3" mx="-1.74714" lineColor="black" my="-0.433492" length="CurrentLength/2"/>
<point type="normal" typeLine="dotLine" id="8" name="A7" firstPoint="4" secondPoint="3" mx="-3.2506" lineColor="black" angle="0" my="-1.09024" length="#SCALE_8 + 0.5*#CM_WIDTH"/>
<point type="normal" typeLine="hair" id="9" name="A8" firstPoint="4" secondPoint="8" mx="-2.21797" lineColor="black" angle="225" my="-1.23279" length="Line_A3_A7/2"/>
<point type="normal" typeLine="none" id="10" name="A9" firstPoint="5" secondPoint="4" mx="-1.67282" lineColor="black" angle="0" my="-0.710231" length="4*#CM_WIDTH"/>
<point type="normal" typeLine="dotLine" id="11" name="A10" firstPoint="6" secondPoint="5" mx="-2.38494" lineColor="black" angle="0" my="-0.253545" length="2.5*#CM_WIDTH"/>
<line typeLine="hair" id="12" firstPoint="11" secondPoint="10" lineColor="blue"/>
<point type="lineIntersectAxis" typeLine="dotLine" id="13" name="A11" basePoint="10" p2Line="4" mx="-3.95279" lineColor="black" angle="AngleLine_A10_A9" my="-2.39343" p1Line="8"/>
<point type="alongLine" typeLine="none" id="14" name="c1" firstPoint="8" secondPoint="4" mx="-0.549983" lineColor="black" my="0.176842" length="0.6*CurrentLength"/>
<point type="alongLine" typeLine="none" id="15" name="c2" firstPoint="3" secondPoint="4" mx="0.454481" lineColor="black" my="-0.594587" length="0.6*CurrentLength"/>
<spline point4="3" type="cubicBezier" id="16" color="blue" point1="8" point2="14" point3="15"/>
<point type="alongLine" typeLine="none" id="17" name="c3" firstPoint="10" secondPoint="13" mx="0.132292" lineColor="black" my="0.264583" length="CurrentLength/2"/>
<line typeLine="dotLine" id="18" firstPoint="8" secondPoint="17" lineColor="black"/>
<point type="alongLine" typeLine="none" id="19" name="c4" firstPoint="8" secondPoint="17" mx="0.188052" lineColor="black" my="-1.0179" length="CurrentLength/2"/>
<spline point4="8" type="cubicBezier" id="20" color="blue" point1="10" point2="17" point3="19"/>
<point type="normal" typeLine="hair" id="21" name="A12" firstPoint="2" secondPoint="7" mx="0.790977" lineColor="blue" angle="0" my="0.202702" length="waist_arc_f/2"/>
<point type="normal" typeLine="hair" id="22" name="A13" firstPoint="1" secondPoint="2" mx="0.0434438" lineColor="blue" angle="0" my="-0.287348" length="Line_A1_A12 + 0.5*#CM_WIDTH"/>
<line typeLine="hair" id="23" firstPoint="22" secondPoint="21" lineColor="blue"/>
<point type="normal" typeLine="dotLine" id="24" name="A14" firstPoint="7" secondPoint="3" mx="-1.69342" lineColor="black" angle="0" my="-0.0141612" length="highhip_arc_f/2"/>
<point type="normal" typeLine="dotLine" id="25" name="A15" firstPoint="3" secondPoint="4" mx="-1.7388" lineColor="black" angle="0" my="-0.783532" length="hip_arc_f/2"/>
<point type="normal" typeLine="dotLine" id="26" name="A16" firstPoint="4" secondPoint="5" mx="-1.67726" lineColor="black" angle="0" my="-0.0213748" length="leg_thigh_upper_circ/2 - Line_A3_A7"/>
<point type="alongLine" typeLine="dotLine" id="27" name="A17" firstPoint="10" secondPoint="5" mx="-1.40626" lineColor="black" my="-1.09748" length="leg_knee_circ/2"/>
<line typeLine="hair" id="28" firstPoint="5" secondPoint="27" lineColor="yellow"/>
<point type="normal" typeLine="dotLine" id="29" name="A18" firstPoint="6" secondPoint="5" mx="-1.20636" lineColor="black" angle="180" my="-0.172528" length="Line_A4_A17 - 1*#CM_WIDTH"/>
<line typeLine="hair" id="30" firstPoint="29" secondPoint="27" lineColor="blue"/>
<line typeLine="dotLine" id="31" firstPoint="26" secondPoint="27" lineColor="black"/>
<line typeLine="dotLine" id="32" firstPoint="25" secondPoint="27" lineColor="black"/>
<line typeLine="dotLine" id="33" firstPoint="24" secondPoint="26" lineColor="black"/>
<line typeLine="dotLine" id="34" firstPoint="21" secondPoint="25" lineColor="black"/>
<line typeLine="dotLine" id="35" firstPoint="21" secondPoint="24" lineColor="black"/>
<line typeLine="dotLine" id="36" firstPoint="24" secondPoint="25" lineColor="black"/>
<line typeLine="dotLine" id="37" firstPoint="25" secondPoint="26" lineColor="black"/>
<point type="endLine" typeLine="dotLine" id="38" name="c6" basePoint="24" mx="-1.69019" lineColor="black" angle="AngleLine_A12_A15 +180" my="-0.51726" length="Line_A12_A14/3"/>
<line typeLine="dotLine" id="39" firstPoint="21" secondPoint="38" lineColor="black"/>
<point type="alongLine" typeLine="none" id="40" name="c5" firstPoint="21" secondPoint="38" mx="-1.57569" lineColor="blue" my="-0.511301" length="CurrentLength/2"/>
<point type="normal" typeLine="dotLine" id="42" name="c7" firstPoint="24" secondPoint="38" mx="0.278998" lineColor="black" angle="90" my="-0.76236" length="Line_A14_A15/3"/>
<point type="endLine" typeLine="dotLine" id="43" name="c8" basePoint="25" mx="0.389028" lineColor="black" angle="AngleLine_A14_A16 + 180" my="-0.615654" length="Line_A14_A15/3"/>
<point type="normal" typeLine="dotLine" id="45" name="c9" firstPoint="25" secondPoint="43" mx="0.487321" lineColor="black" angle="90" my="-0.800503" length="Line_A15_A16/3"/>
<point type="endLine" typeLine="dotLine" id="46" name="c10" basePoint="26" mx="0.132292" lineColor="black" angle="AngleLine_A15_A17 +180" my="0.264583" length="Line_A15_A16/3"/>
<point type="alongLine" typeLine="none" id="52" name="A19" firstPoint="8" secondPoint="26" mx="-0.711268" lineColor="black" my="0.227906" length="CurrentLength/2"/>
<point type="lineIntersectAxis" typeLine="dotLine" id="53" name="A20" basePoint="52" p2Line="22" mx="-1.32463" lineColor="black" angle="90" my="0.454218" p1Line="1"/>
<point type="lineIntersectAxis" typeLine="dotLine" id="54" name="A21" basePoint="52" p2Line="29" mx="-0.78977" lineColor="black" angle="270" my="0.0729758" p1Line="6"/>
<point type="alongLine" typeLine="none" id="55" name="A22" firstPoint="11" secondPoint="29" mx="-1.59167" lineColor="black" my="0.00473358" length="CurrentLength/2"/>
<point type="normal" typeLine="dotLine" id="56" name="A23" firstPoint="55" secondPoint="29" mx="-1.11031" lineColor="black" angle="0" my="-1.82121" length="2*#CM_HEIGHT"/>
<point type="normal" typeLine="dotLine" id="57" name="c14" firstPoint="56" secondPoint="55" mx="-0.373055" lineColor="black" angle="0" my="-2.26167" length="Line_A5_A18/4"/>
<line typeLine="dotLine" id="58" firstPoint="29" secondPoint="57" lineColor="black"/>
<point type="alongLine" typeLine="none" id="59" name="c13" firstPoint="29" secondPoint="57" mx="0.026228" lineColor="black" my="-1.44578" length="CurrentLength/2"/>
<spline point4="56" type="cubicBezier" id="60" color="blue" point1="29" point2="59" point3="57"/>
<point type="normal" typeLine="dotLine" id="61" name="c15" firstPoint="56" secondPoint="57" mx="-1.82037" lineColor="black" angle="90" my="-1.95435" length="Line_A23_c14"/>
<line typeLine="dotLine" id="62" firstPoint="11" secondPoint="61" lineColor="black"/>
<point type="alongLine" typeLine="none" id="63" name="c16" firstPoint="11" secondPoint="61" mx="-2.21977" lineColor="black" my="-1.24429" length="CurrentLength/2"/>
<spline point4="11" type="cubicBezier" id="64" color="blue" point1="56" point2="61" point3="63"/>
<point type="normal" typeLine="dotLine" id="65" name="c11" firstPoint="26" secondPoint="46" mx="0.132292" lineColor="black" angle="90" my="0.264583" length="Line_A16_A17/3"/>
<point type="normal" typeLine="dotLine" id="66" name="c12" firstPoint="27" secondPoint="59" mx="-1.69256" lineColor="black" angle="90" my="-0.143966" length="Line_A16_A17/3"/>
<point type="endLine" typeLine="dotLine" id="69" name="A24" basePoint="8" mx="-2.20962" lineColor="black" angle="180" my="0.264578" length="3*#CM_WIDTH"/>
<line typeLine="dotLine" id="70" firstPoint="69" secondPoint="17" lineColor="black"/>
<point type="alongLine" typeLine="none" id="71" name="c17" firstPoint="69" secondPoint="17" mx="-2.09811" lineColor="black" my="-0.794856" length="CurrentLength/2"/>
<spline point4="69" type="cubicBezier" id="72" color="darkRed" point1="10" point2="17" point3="71"/>
<point type="alongLine" typeLine="none" id="73" name="A25" firstPoint="7" secondPoint="24" mx="0.132292" lineColor="black" my="0.264583" length="2*#CM_WIDTH"/>
<point type="alongLine" typeLine="none" id="74" name="A26" firstPoint="1" secondPoint="22" mx="-2.99027" lineColor="black" my="-1.96581" length="5*#CM_WIDTH"/>
<line typeLine="hair" id="75" firstPoint="3" secondPoint="73" lineColor="darkRed"/>
<line typeLine="hair" id="76" firstPoint="73" secondPoint="74" lineColor="darkRed"/>
<line typeLine="hair" id="77" firstPoint="3" secondPoint="4" lineColor="yellow"/>
<point type="normal" typeLine="dotLine" id="78" name="c18" firstPoint="3" secondPoint="73" mx="-2.04235" lineColor="black" angle="90" my="-1.46398" length="Line_A2_A3/2"/>
<point type="normal" typeLine="hair" id="80" name="A27" firstPoint="74" secondPoint="73" mx="-1.57043" lineColor="darkRed" angle="90" my="-1.46574" length="2*#CM_HEIGHT"/>
<point type="shoulder" typeLine="dotLine" id="81" name="A28" p2Line="21" pShoulder="80" mx="0.655497" lineColor="darkRed" my="-0.983501" length="waist_arc_b/2 + 2*#CM_WIDTH" p1Line="2"/>
<line typeLine="hair" id="82" firstPoint="80" secondPoint="81" lineColor="darkRed"/>
<point type="endLine" typeLine="hair" id="83" name="A29" basePoint="81" mx="0.634132" lineColor="darkRed" angle="AngleLine_A13_A12 + 180" my="-0.906376" length="Line_A13_A12"/>
<point type="normal" typeLine="hair" id="84" name="A30" firstPoint="80" secondPoint="74" mx="-1.79635" lineColor="darkRed" angle="90" my="-1.18176" length="5*#CM_HEIGHT"/>
<line typeLine="dotLine" id="85" firstPoint="84" secondPoint="83" lineColor="black"/>
<point type="alongLine" typeLine="none" id="86" name="A31" firstPoint="84" secondPoint="83" mx="-1.37323" lineColor="black" my="0.153063" length="4.5*#CM_WIDTH"/>
<point type="normal" typeLine="dotLine" id="87" name="A32" firstPoint="86" secondPoint="84" mx="-0.161375" lineColor="black" angle="180" my="-0.851351" length="2.5*#CM_HEIGHT"/>
<line typeLine="hair" id="88" firstPoint="84" secondPoint="87" lineColor="darkRed"/>
<point type="alongLine" typeLine="none" id="89" name="A33" firstPoint="83" secondPoint="86" mx="0.0803721" lineColor="black" my="-1.27418" length="CurrentLength/3"/>
<point type="normal" typeLine="dotLine" id="90" name="A34" firstPoint="89" secondPoint="86" mx="-0.675292" lineColor="darkRed" angle="0" my="0.147116" length="11.5*#CM_HEIGHT"/>
<point type="alongLine" typeLine="none" id="91" name="A35" firstPoint="89" secondPoint="86" mx="-0.820793" lineColor="black" my="-1.08102" length="0.65*#CM_WIDTH"/>
<point type="alongLine" typeLine="none" id="92" name="A36" firstPoint="89" secondPoint="83" mx="0.562249" lineColor="black" my="-0.653962" length="0.65*#CM_WIDTH"/>
<point type="lineIntersect" id="93" name="A37" p2Line1="81" p2Line2="90" p1Line1="80" p1Line2="89" mx="-0.851496" my="0.132434"/>
<point type="alongLine" typeLine="none" id="94" name="A38" firstPoint="93" secondPoint="80" mx="-0.954275" lineColor="black" my="-0.880717" length="1*#CM_WIDTH"/>
<point type="alongLine" typeLine="none" id="95" name="A39" firstPoint="93" secondPoint="81" mx="0.279125" lineColor="black" my="-0.543001" length="1*#CM_WIDTH"/>
<line typeLine="hair" id="96" firstPoint="90" secondPoint="94" lineColor="darkRed"/>
<line typeLine="hair" id="97" firstPoint="90" secondPoint="95" lineColor="darkRed"/>
<line typeLine="hair" id="98" firstPoint="94" secondPoint="91" lineColor="darkRed"/>
<line typeLine="hair" id="99" firstPoint="95" secondPoint="92" lineColor="darkRed"/>
<point type="alongLine" typeLine="none" id="100" name="c20" firstPoint="91" secondPoint="86" mx="-0.954274" lineColor="black" my="0.000282963" length="Line_A30_A29/6"/>
<line typeLine="dotLine" id="101" firstPoint="87" secondPoint="100" lineColor="darkRed"/>
<point type="alongLine" typeLine="none" id="102" name="c19" firstPoint="87" secondPoint="100" mx="0.146975" lineColor="black" my="-0.866034" length="CurrentLength/2"/>
<spline point4="91" type="cubicBezier" id="103" color="darkRed" point1="87" point2="102" point3="100"/>
<line typeLine="hair" id="104" firstPoint="92" secondPoint="83" lineColor="darkRed"/>
<point type="alongLine" typeLine="none" id="105" name="A40" firstPoint="80" secondPoint="3" mx="0.294622" lineColor="black" my="-0.763509" length="waist_to_hip_b"/>
<point type="normal" typeLine="dotLine" id="106" name="A41" firstPoint="105" secondPoint="80" mx="0.346177" lineColor="darkRed" angle="180" my="-0.529413" length="hip_arc_b/2"/>
<point type="alongLine" typeLine="none" id="107" name="A42" firstPoint="80" secondPoint="105" mx="0.132292" lineColor="black" my="0.264583" length="CurrentLength/2"/>
<point type="normal" typeLine="dotLine" id="108" name="A43" firstPoint="107" secondPoint="105" mx="0.502885" lineColor="black" angle="0" my="-0.53312" length="highhip_arc_b/2"/>
<line typeLine="hair" id="110" firstPoint="29" secondPoint="93" lineColor="yellow"/>
<line typeLine="hair" id="111" firstPoint="29" secondPoint="81" lineColor="yellow"/>
<operation type="rotation" suffix="a5" id="123" center="29" angle="-(AngleLine_A18_A37 - AngleLine_A18_A28)">
<point id="1" mx="-1.58602" my="-0.622091" name="A0" type="single" x="0.79" y="1.06"/>
<point angle="270" basePoint="1" id="2" length="4*#CM_HEIGHT" lineColor="black" mx="-1.62896" my="-0.59059" name="A1" type="endLine" typeLine="none"/>
<point firstPoint="1" id="3" length="waist_to_hip_f" lineColor="blue" mx="-1.64399" my="-1.11279" name="A2" secondPoint="2" type="alongLine" typeLine="hair"/>
<point firstPoint="1" id="4" length="rise_length_side_sitting" lineColor="black" mx="0.0462226" my="0.130965" name="A3" secondPoint="2" type="alongLine" typeLine="dotLine"/>
<point angle="270" basePoint="4" id="5" length="leg_crotch_to_floor/2 - 5*#CM_HEIGHT" lineColor="black" mx="-0.704107" my="-1.40822" name="A4" type="endLine" typeLine="dotLine"/>
<point firstPoint="4" id="6" length="leg_crotch_to_floor" lineColor="black" mx="-0.881496" my="-0.104292" name="A5" secondPoint="5" type="alongLine" typeLine="dotLine"/>
<point firstPoint="2" id="7" length="CurrentLength/2" lineColor="black" mx="-1.74714" my="-0.433492" name="A6" secondPoint="3" type="alongLine" typeLine="none"/>
<point angle="0" firstPoint="4" id="8" length="#SCALE_8 + 0.5*#CM_WIDTH" lineColor="black" mx="-3.2506" my="-1.09024" name="A7" secondPoint="3" type="normal" typeLine="dotLine"/>
<point angle="225" firstPoint="4" id="9" length="Line_A3_A7/2" lineColor="black" mx="-2.21797" my="-1.23279" name="A8" secondPoint="8" type="normal" typeLine="hair"/>
<point angle="0" firstPoint="5" id="10" length="4*#CM_WIDTH" lineColor="black" mx="-1.67282" my="-0.710231" name="A9" secondPoint="4" type="normal" typeLine="none"/>
<point angle="0" firstPoint="6" id="11" length="2.5*#CM_WIDTH" lineColor="black" mx="-2.38494" my="-0.253545" name="A10" secondPoint="5" type="normal" typeLine="dotLine"/>
<line firstPoint="11" id="12" lineColor="blue" secondPoint="10" typeLine="hair"/>
<point angle="AngleLine_A10_A9" basePoint="10" id="13" lineColor="black" mx="-3.95279" my="-2.39343" name="A11" p1Line="8" p2Line="4" type="lineIntersectAxis" typeLine="dotLine"/>
<point firstPoint="8" id="14" length="0.6*CurrentLength" lineColor="black" mx="-0.549983" my="0.176842" name="c1" secondPoint="4" type="alongLine" typeLine="none"/>
<point firstPoint="3" id="15" length="0.6*CurrentLength" lineColor="black" mx="0.454481" my="-0.594587" name="c2" secondPoint="4" type="alongLine" typeLine="none"/>
<spline color="blue" id="16" point1="8" point2="14" point3="15" point4="3" type="cubicBezier"/>
<point firstPoint="10" id="17" length="CurrentLength/2" lineColor="black" mx="0.132292" my="0.264583" name="c3" secondPoint="13" type="alongLine" typeLine="none"/>
<line firstPoint="8" id="18" lineColor="black" secondPoint="17" typeLine="dotLine"/>
<point firstPoint="8" id="19" length="CurrentLength/2" lineColor="black" mx="0.188052" my="-1.0179" name="c4" secondPoint="17" type="alongLine" typeLine="none"/>
<spline color="blue" id="20" point1="10" point2="17" point3="19" point4="8" type="cubicBezier"/>
<point angle="0" firstPoint="2" id="21" length="waist_arc_f/2" lineColor="blue" mx="0.790977" my="0.202702" name="A12" secondPoint="7" type="normal" typeLine="hair"/>
<point angle="0" firstPoint="1" id="22" length="Line_A1_A12 + 0.5*#CM_WIDTH" lineColor="blue" mx="0.0434438" my="-0.287348" name="A13" secondPoint="2" type="normal" typeLine="hair"/>
<line firstPoint="22" id="23" lineColor="blue" secondPoint="21" typeLine="hair"/>
<point angle="0" firstPoint="7" id="24" length="highhip_arc_f/2" lineColor="black" mx="-1.69342" my="-0.0141612" name="A14" secondPoint="3" type="normal" typeLine="dotLine"/>
<point angle="0" firstPoint="3" id="25" length="hip_arc_f/2" lineColor="black" mx="-1.7388" my="-0.783532" name="A15" secondPoint="4" type="normal" typeLine="dotLine"/>
<point angle="0" firstPoint="4" id="26" length="leg_thigh_upper_circ/2 - Line_A3_A7" lineColor="black" mx="-1.67726" my="-0.0213748" name="A16" secondPoint="5" type="normal" typeLine="dotLine"/>
<point firstPoint="10" id="27" length="leg_knee_circ/2" lineColor="black" mx="-1.40626" my="-1.09748" name="A17" secondPoint="5" type="alongLine" typeLine="dotLine"/>
<line firstPoint="5" id="28" lineColor="yellow" secondPoint="27" typeLine="hair"/>
<point angle="180" firstPoint="6" id="29" length="Line_A4_A17 - 1*#CM_WIDTH" lineColor="black" mx="-1.20636" my="-0.172528" name="A18" secondPoint="5" type="normal" typeLine="dotLine"/>
<line firstPoint="29" id="30" lineColor="blue" secondPoint="27" typeLine="hair"/>
<line firstPoint="26" id="31" lineColor="black" secondPoint="27" typeLine="dotLine"/>
<line firstPoint="25" id="32" lineColor="black" secondPoint="27" typeLine="dotLine"/>
<line firstPoint="24" id="33" lineColor="black" secondPoint="26" typeLine="dotLine"/>
<line firstPoint="21" id="34" lineColor="black" secondPoint="25" typeLine="dotLine"/>
<line firstPoint="21" id="35" lineColor="black" secondPoint="24" typeLine="dotLine"/>
<line firstPoint="24" id="36" lineColor="black" secondPoint="25" typeLine="dotLine"/>
<line firstPoint="25" id="37" lineColor="black" secondPoint="26" typeLine="dotLine"/>
<point angle="AngleLine_A12_A15 +180" basePoint="24" id="38" length="Line_A12_A14/3" lineColor="black" mx="-1.69019" my="-0.51726" name="c6" type="endLine" typeLine="dotLine"/>
<line firstPoint="21" id="39" lineColor="black" secondPoint="38" typeLine="dotLine"/>
<point firstPoint="21" id="40" length="CurrentLength/2" lineColor="blue" mx="-1.57569" my="-0.511301" name="c5" secondPoint="38" type="alongLine" typeLine="none"/>
<point angle="90" firstPoint="24" id="42" length="Line_A14_A15/3" lineColor="black" mx="0.278998" my="-0.76236" name="c7" secondPoint="38" type="normal" typeLine="dotLine"/>
<point angle="AngleLine_A14_A16 + 180" basePoint="25" id="43" length="Line_A14_A15/3" lineColor="black" mx="0.389028" my="-0.615654" name="c8" type="endLine" typeLine="dotLine"/>
<point angle="90" firstPoint="25" id="45" length="Line_A15_A16/3" lineColor="black" mx="0.487321" my="-0.800503" name="c9" secondPoint="43" type="normal" typeLine="dotLine"/>
<point angle="AngleLine_A15_A17 +180" basePoint="26" id="46" length="Line_A15_A16/3" lineColor="black" mx="0.132292" my="0.264583" name="c10" type="endLine" typeLine="dotLine"/>
<point firstPoint="8" id="52" length="CurrentLength/2" lineColor="black" mx="-0.711268" my="0.227906" name="A19" secondPoint="26" type="alongLine" typeLine="none"/>
<point angle="90" basePoint="52" id="53" lineColor="black" mx="-1.32463" my="0.454218" name="A20" p1Line="1" p2Line="22" type="lineIntersectAxis" typeLine="dotLine"/>
<point angle="270" basePoint="52" id="54" lineColor="black" mx="-0.78977" my="0.0729758" name="A21" p1Line="6" p2Line="29" type="lineIntersectAxis" typeLine="dotLine"/>
<point firstPoint="11" id="55" length="CurrentLength/2" lineColor="black" mx="-1.59167" my="0.00473358" name="A22" secondPoint="29" type="alongLine" typeLine="none"/>
<point angle="0" firstPoint="55" id="56" length="2*#CM_HEIGHT" lineColor="black" mx="-1.11031" my="-1.82121" name="A23" secondPoint="29" type="normal" typeLine="dotLine"/>
<point angle="0" firstPoint="56" id="57" length="Line_A5_A18/4" lineColor="black" mx="-0.373055" my="-2.26167" name="c14" secondPoint="55" type="normal" typeLine="dotLine"/>
<line firstPoint="29" id="58" lineColor="black" secondPoint="57" typeLine="dotLine"/>
<point firstPoint="29" id="59" length="CurrentLength/2" lineColor="black" mx="0.026228" my="-1.44578" name="c13" secondPoint="57" type="alongLine" typeLine="none"/>
<spline color="blue" id="60" point1="29" point2="59" point3="57" point4="56" type="cubicBezier"/>
<point angle="90" firstPoint="56" id="61" length="Line_A23_c14" lineColor="black" mx="-1.82037" my="-1.95435" name="c15" secondPoint="57" type="normal" typeLine="dotLine"/>
<line firstPoint="11" id="62" lineColor="black" secondPoint="61" typeLine="dotLine"/>
<point firstPoint="11" id="63" length="CurrentLength/2" lineColor="black" mx="-2.21977" my="-1.24429" name="c16" secondPoint="61" type="alongLine" typeLine="none"/>
<spline color="blue" id="64" point1="56" point2="61" point3="63" point4="11" type="cubicBezier"/>
<point angle="90" firstPoint="26" id="65" length="Line_A16_A17/3" lineColor="black" mx="0.132292" my="0.264583" name="c11" secondPoint="46" type="normal" typeLine="dotLine"/>
<point angle="90" firstPoint="27" id="66" length="Line_A16_A17/3" lineColor="black" mx="-1.69256" my="-0.143966" name="c12" secondPoint="59" type="normal" typeLine="dotLine"/>
<point angle="180" basePoint="8" id="69" length="3*#CM_WIDTH" lineColor="black" mx="-2.20962" my="0.264578" name="A24" type="endLine" typeLine="dotLine"/>
<line firstPoint="69" id="70" lineColor="black" secondPoint="17" typeLine="dotLine"/>
<point firstPoint="69" id="71" length="CurrentLength/2" lineColor="black" mx="-2.09811" my="-0.794856" name="c17" secondPoint="17" type="alongLine" typeLine="none"/>
<spline color="darkRed" id="72" point1="10" point2="17" point3="71" point4="69" type="cubicBezier"/>
<point firstPoint="7" id="73" length="2*#CM_WIDTH" lineColor="black" mx="0.132292" my="0.264583" name="A25" secondPoint="24" type="alongLine" typeLine="none"/>
<point firstPoint="1" id="74" length="5*#CM_WIDTH" lineColor="black" mx="-2.99027" my="-1.96581" name="A26" secondPoint="22" type="alongLine" typeLine="none"/>
<line firstPoint="3" id="75" lineColor="darkRed" secondPoint="73" typeLine="hair"/>
<line firstPoint="73" id="76" lineColor="darkRed" secondPoint="74" typeLine="hair"/>
<line firstPoint="3" id="77" lineColor="yellow" secondPoint="4" typeLine="hair"/>
<point angle="90" firstPoint="3" id="78" length="Line_A2_A3/2" lineColor="black" mx="-2.04235" my="-1.46398" name="c18" secondPoint="73" type="normal" typeLine="dotLine"/>
<point angle="90" firstPoint="74" id="80" length="2*#CM_HEIGHT" lineColor="darkRed" mx="-1.57043" my="-1.46574" name="A27" secondPoint="73" type="normal" typeLine="hair"/>
<point id="81" length="waist_arc_b/2 + 2*#CM_WIDTH" lineColor="darkRed" mx="0.655497" my="-0.983501" name="A28" p1Line="2" p2Line="21" pShoulder="80" type="shoulder" typeLine="dotLine"/>
<line firstPoint="80" id="82" lineColor="darkRed" secondPoint="81" typeLine="hair"/>
<point angle="AngleLine_A13_A12 + 180" basePoint="81" id="83" length="Line_A13_A12" lineColor="darkRed" mx="0.634132" my="-0.906376" name="A29" type="endLine" typeLine="hair"/>
<point angle="90" firstPoint="80" id="84" length="5*#CM_HEIGHT" lineColor="darkRed" mx="-1.79635" my="-1.18176" name="A30" secondPoint="74" type="normal" typeLine="hair"/>
<line firstPoint="84" id="85" lineColor="black" secondPoint="83" typeLine="dotLine"/>
<point firstPoint="84" id="86" length="4.5*#CM_WIDTH" lineColor="black" mx="-1.37323" my="0.153063" name="A31" secondPoint="83" type="alongLine" typeLine="none"/>
<point angle="180" firstPoint="86" id="87" length="2.5*#CM_HEIGHT" lineColor="black" mx="-0.161375" my="-0.851351" name="A32" secondPoint="84" type="normal" typeLine="dotLine"/>
<line firstPoint="84" id="88" lineColor="darkRed" secondPoint="87" typeLine="hair"/>
<point firstPoint="83" id="89" length="CurrentLength/3" lineColor="black" mx="0.0803721" my="-1.27418" name="A33" secondPoint="86" type="alongLine" typeLine="none"/>
<point angle="0" firstPoint="89" id="90" length="11.5*#CM_HEIGHT" lineColor="darkRed" mx="-0.675292" my="0.147116" name="A34" secondPoint="86" type="normal" typeLine="dotLine"/>
<point firstPoint="89" id="91" length="0.65*#CM_WIDTH" lineColor="black" mx="-0.820793" my="-1.08102" name="A35" secondPoint="86" type="alongLine" typeLine="none"/>
<point firstPoint="89" id="92" length="0.65*#CM_WIDTH" lineColor="black" mx="0.562249" my="-0.653962" name="A36" secondPoint="83" type="alongLine" typeLine="none"/>
<point id="93" mx="-0.851496" my="0.132434" name="A37" p1Line1="80" p1Line2="89" p2Line1="81" p2Line2="90" type="lineIntersect"/>
<point firstPoint="93" id="94" length="1*#CM_WIDTH" lineColor="black" mx="-0.954275" my="-0.880717" name="A38" secondPoint="80" type="alongLine" typeLine="none"/>
<point firstPoint="93" id="95" length="1*#CM_WIDTH" lineColor="black" mx="0.279125" my="-0.543001" name="A39" secondPoint="81" type="alongLine" typeLine="none"/>
<line firstPoint="90" id="96" lineColor="darkRed" secondPoint="94" typeLine="hair"/>
<line firstPoint="90" id="97" lineColor="darkRed" secondPoint="95" typeLine="hair"/>
<line firstPoint="94" id="98" lineColor="darkRed" secondPoint="91" typeLine="hair"/>
<line firstPoint="95" id="99" lineColor="darkRed" secondPoint="92" typeLine="hair"/>
<point firstPoint="91" id="100" length="Line_A30_A29/6" lineColor="black" mx="-0.954274" my="0.000282963" name="c20" secondPoint="86" type="alongLine" typeLine="none"/>
<line firstPoint="87" id="101" lineColor="darkRed" secondPoint="100" typeLine="dotLine"/>
<point firstPoint="87" id="102" length="CurrentLength/2" lineColor="black" mx="0.146975" my="-0.866034" name="c19" secondPoint="100" type="alongLine" typeLine="none"/>
<spline color="darkRed" id="103" point1="87" point2="102" point3="100" point4="91" type="cubicBezier"/>
<line firstPoint="92" id="104" lineColor="darkRed" secondPoint="83" typeLine="hair"/>
<point firstPoint="80" id="105" length="waist_to_hip_b" lineColor="black" mx="0.294622" my="-0.763509" name="A40" secondPoint="3" type="alongLine" typeLine="none"/>
<point angle="180" firstPoint="105" id="106" length="hip_arc_b/2" lineColor="darkRed" mx="0.346177" my="-0.529413" name="A41" secondPoint="80" type="normal" typeLine="dotLine"/>
<point firstPoint="80" id="107" length="CurrentLength/2" lineColor="black" mx="0.132292" my="0.264583" name="A42" secondPoint="105" type="alongLine" typeLine="none"/>
<point angle="0" firstPoint="107" id="108" length="highhip_arc_b/2" lineColor="black" mx="0.502885" my="-0.53312" name="A43" secondPoint="105" type="normal" typeLine="dotLine"/>
<line firstPoint="29" id="110" lineColor="yellow" secondPoint="93" typeLine="hair"/>
<line firstPoint="29" id="111" lineColor="yellow" secondPoint="81" typeLine="hair"/>
<operation angle="-(AngleLine_A18_A37 - AngleLine_A18_A28)" center="29" id="123" suffix="a5" type="rotation">
<source>
<item idObject="27"/>
</source>
@ -133,7 +136,7 @@
<item idObject="124" mx="0.144044" my="-1.24309"/>
</destination>
</operation>
<spline type="cubicBezierPath" id="129" color="blue">
<spline color="blue" id="129" type="cubicBezierPath">
<pathPoint pSpline="21"/>
<pathPoint pSpline="40"/>
<pathPoint pSpline="38"/>
@ -148,19 +151,19 @@
<pathPoint pSpline="66"/>
<pathPoint pSpline="27"/>
</spline>
<line typeLine="dotLine" id="131" firstPoint="27" secondPoint="124" lineColor="black"/>
<point type="lineIntersectAxis" typeLine="hair" id="132" name="A44" basePoint="124" p2Line="29" mx="0.159611" lineColor="darkRed" angle="AngleLine_A18_A17" my="-1.01943" p1Line="11"/>
<point type="endLine" typeLine="dotLine" id="133" name="A45" basePoint="132" mx="0.268889" lineColor="darkRed" angle="270" my="-0.445722" length="2*#CM_HEIGHT"/>
<point type="endLine" typeLine="dotLine" id="134" name="A46" basePoint="11" mx="0.132292" lineColor="darkRed" angle="270" my="0.264583" length="2*#CM_HEIGHT"/>
<line typeLine="dotLine" id="135" firstPoint="134" secondPoint="133" lineColor="darkRed"/>
<point type="alongLine" typeLine="none" id="136" name="A47" firstPoint="133" secondPoint="134" mx="-0.681943" lineColor="black" my="0.756516" length="CurrentLength/2"/>
<point type="alongLine" typeLine="none" id="137" name="c22" firstPoint="136" secondPoint="133" mx="0.132292" lineColor="black" my="0.264583" length="CurrentLength/3"/>
<line typeLine="dotLine" id="138" firstPoint="132" secondPoint="137" lineColor="darkRed"/>
<point type="alongLine" typeLine="none" id="139" name="c21" firstPoint="132" secondPoint="137" mx="0.132292" lineColor="black" my="0.264583" length="CurrentLength/2"/>
<point type="alongLine" typeLine="none" id="140" name="c23" firstPoint="136" secondPoint="134" mx="-0.410531" lineColor="black" my="0.230657" length="CurrentLength/3"/>
<line typeLine="dotLine" id="141" firstPoint="11" secondPoint="140" lineColor="darkRed"/>
<point type="alongLine" typeLine="none" id="142" name="c24" firstPoint="11" secondPoint="140" mx="0.132292" lineColor="black" my="0.264583" length="CurrentLength/2"/>
<spline type="cubicBezierPath" id="143" color="darkRed">
<line firstPoint="27" id="131" lineColor="black" secondPoint="124" typeLine="dotLine"/>
<point angle="AngleLine_A18_A17" basePoint="124" id="132" lineColor="darkRed" mx="0.159611" my="-1.01943" name="A44" p1Line="11" p2Line="29" type="lineIntersectAxis" typeLine="hair"/>
<point angle="270" basePoint="132" id="133" length="2*#CM_HEIGHT" lineColor="darkRed" mx="0.268889" my="-0.445722" name="A45" type="endLine" typeLine="dotLine"/>
<point angle="270" basePoint="11" id="134" length="2*#CM_HEIGHT" lineColor="darkRed" mx="0.132292" my="0.264583" name="A46" type="endLine" typeLine="dotLine"/>
<line firstPoint="134" id="135" lineColor="darkRed" secondPoint="133" typeLine="dotLine"/>
<point firstPoint="133" id="136" length="CurrentLength/2" lineColor="black" mx="-0.681943" my="0.756516" name="A47" secondPoint="134" type="alongLine" typeLine="none"/>
<point firstPoint="136" id="137" length="CurrentLength/3" lineColor="black" mx="0.132292" my="0.264583" name="c22" secondPoint="133" type="alongLine" typeLine="none"/>
<line firstPoint="132" id="138" lineColor="darkRed" secondPoint="137" typeLine="dotLine"/>
<point firstPoint="132" id="139" length="CurrentLength/2" lineColor="black" mx="0.132292" my="0.264583" name="c21" secondPoint="137" type="alongLine" typeLine="none"/>
<point firstPoint="136" id="140" length="CurrentLength/3" lineColor="black" mx="-0.410531" my="0.230657" name="c23" secondPoint="134" type="alongLine" typeLine="none"/>
<line firstPoint="11" id="141" lineColor="darkRed" secondPoint="140" typeLine="dotLine"/>
<point firstPoint="11" id="142" length="CurrentLength/2" lineColor="black" mx="0.132292" my="0.264583" name="c24" secondPoint="140" type="alongLine" typeLine="none"/>
<spline color="darkRed" id="143" type="cubicBezierPath">
<pathPoint pSpline="132"/>
<pathPoint pSpline="139"/>
<pathPoint pSpline="137"/>
@ -169,22 +172,22 @@
<pathPoint pSpline="142"/>
<pathPoint pSpline="11"/>
</spline>
<point type="cutSpline" id="155" name="A48" spline="72" mx="0.132292" my="0.264583" length="Spl_A9_A7"/>
<spline point4="3" type="cubicBezier" id="156" color="darkRed" point1="155" point2="14" point3="78"/>
<line typeLine="dotLine" id="184" firstPoint="81" secondPoint="108" lineColor="darkRed"/>
<line typeLine="dotLine" id="185" firstPoint="81" secondPoint="106" lineColor="darkRed"/>
<line typeLine="dotLine" id="186" firstPoint="108" secondPoint="106" lineColor="darkRed"/>
<line typeLine="dotLine" id="187" firstPoint="108" secondPoint="124" lineColor="darkRed"/>
<point type="endLine" typeLine="dotLine" id="188" name="c31" basePoint="124" mx="0.241238" lineColor="darkRed" angle="AngleLine_A17a5_A44 + 180" my="0.0466903" length="Line_A17_c12"/>
<point type="endLine" typeLine="dotLine" id="189" name="c27" basePoint="108" mx="0.198205" lineColor="darkRed" angle="AngleLine_A28_A41 + 180" my="-0.427499" length="Line_A28_A43/3"/>
<line typeLine="dotLine" id="190" firstPoint="81" secondPoint="189" lineColor="darkRed"/>
<point type="alongLine" typeLine="none" id="191" name="c26" firstPoint="81" secondPoint="189" mx="0.198205" lineColor="black" my="-0.658193" length="CurrentLength/2"/>
<point type="normal" typeLine="dotLine" id="192" name="c28" firstPoint="108" secondPoint="189" mx="0.395942" lineColor="darkRed" angle="90" my="-0.59228" length="Line_A43_A41/3"/>
<line typeLine="dotLine" id="193" firstPoint="108" secondPoint="124" lineColor="darkRed"/>
<point type="endLine" typeLine="dotLine" id="194" name="c29" basePoint="106" mx="0.297073" lineColor="darkRed" angle="AngleLine_A43_A17a5 + 180" my="-0.460455" length="Line_A43_A41/3"/>
<line typeLine="dotLine" id="195" firstPoint="106" secondPoint="124" lineColor="darkRed"/>
<point type="normal" typeLine="dotLine" id="196" name="c30" firstPoint="106" secondPoint="194" mx="0.395942" lineColor="black" angle="90" my="-0.526368" length="Line_A41_A17a5/3"/>
<spline type="cubicBezierPath" id="197" color="darkRed" duplicate="1">
<point id="155" length="Spl_A9_A7" mx="0.132292" my="0.264583" name="A48" spline="72" type="cutSpline"/>
<spline color="darkRed" id="156" point1="155" point2="14" point3="78" point4="3" type="cubicBezier"/>
<line firstPoint="81" id="184" lineColor="darkRed" secondPoint="108" typeLine="dotLine"/>
<line firstPoint="81" id="185" lineColor="darkRed" secondPoint="106" typeLine="dotLine"/>
<line firstPoint="108" id="186" lineColor="darkRed" secondPoint="106" typeLine="dotLine"/>
<line firstPoint="108" id="187" lineColor="darkRed" secondPoint="124" typeLine="dotLine"/>
<point angle="AngleLine_A17a5_A44 + 180" basePoint="124" id="188" length="Line_A17_c12" lineColor="darkRed" mx="0.241238" my="0.0466903" name="c31" type="endLine" typeLine="dotLine"/>
<point angle="AngleLine_A28_A41 + 180" basePoint="108" id="189" length="Line_A28_A43/3" lineColor="darkRed" mx="0.198205" my="-0.427499" name="c27" type="endLine" typeLine="dotLine"/>
<line firstPoint="81" id="190" lineColor="darkRed" secondPoint="189" typeLine="dotLine"/>
<point firstPoint="81" id="191" length="CurrentLength/2" lineColor="black" mx="0.198205" my="-0.658193" name="c26" secondPoint="189" type="alongLine" typeLine="none"/>
<point angle="90" firstPoint="108" id="192" length="Line_A43_A41/3" lineColor="darkRed" mx="0.395942" my="-0.59228" name="c28" secondPoint="189" type="normal" typeLine="dotLine"/>
<line firstPoint="108" id="193" lineColor="darkRed" secondPoint="124" typeLine="dotLine"/>
<point angle="AngleLine_A43_A17a5 + 180" basePoint="106" id="194" length="Line_A43_A41/3" lineColor="darkRed" mx="0.297073" my="-0.460455" name="c29" type="endLine" typeLine="dotLine"/>
<line firstPoint="106" id="195" lineColor="darkRed" secondPoint="124" typeLine="dotLine"/>
<point angle="90" firstPoint="106" id="196" length="Line_A41_A17a5/3" lineColor="black" mx="0.395942" my="-0.526368" name="c30" secondPoint="194" type="normal" typeLine="dotLine"/>
<spline color="darkRed" duplicate="1" id="197" type="cubicBezierPath">
<pathPoint pSpline="81"/>
<pathPoint pSpline="191"/>
<pathPoint pSpline="189"/>
@ -198,24 +201,70 @@
</spline>
</calculation>
<modeling>
<point type="modeling" inUse="true" id="198" idObject="80" mx="-1.57043" my="-1.46574"/>
<point type="modeling" inUse="true" id="199" idObject="94" mx="-1.44115" my="-2.51837"/>
<point type="modeling" inUse="true" id="200" idObject="90" mx="-0.675292" my="0.147116"/>
<point type="modeling" inUse="true" id="201" idObject="95" mx="0.987301" my="-2.53475"/>
<point type="modeling" inUse="true" id="202" idObject="81" mx="0.655497" my="-0.983501"/>
<point type="modeling" inUse="true" id="212" idObject="3" mx="-1.64399" my="-1.11279"/>
<point id="198" idObject="80" inUse="false" mx="-1.57043" my="-1.46574" type="modeling"/>
<point id="199" idObject="94" inUse="false" mx="-1.44115" my="-2.51837" type="modeling"/>
<point id="200" idObject="90" inUse="false" mx="-0.675292" my="0.147116" type="modeling"/>
<point id="201" idObject="95" inUse="false" mx="0.987301" my="-2.53475" type="modeling"/>
<point id="202" idObject="81" inUse="false" mx="0.655497" my="-0.983501" type="modeling"/>
<point id="212" idObject="3" inUse="false" mx="-1.64399" my="-1.11279" type="modeling"/>
<point id="214" idObject="80" inUse="true" mx="-1.57043" my="-1.46574" showLabel="true" type="modeling"/>
<point id="215" idObject="94" inUse="true" mx="-0.954275" my="-0.880717" showLabel="true" type="modeling"/>
<point id="216" idObject="90" inUse="true" mx="-0.675292" my="0.147116" showLabel="true" type="modeling"/>
<point id="217" idObject="95" inUse="true" mx="0.279125" my="-0.543001" showLabel="true" type="modeling"/>
<point id="218" idObject="81" inUse="true" mx="0.655497" my="-0.983501" showLabel="true" type="modeling"/>
<point id="219" idObject="3" inUse="true" mx="-1.64399" my="-1.11279" showLabel="true" type="modeling"/>
<point id="221" idObject="80" inUse="true" mx="-1.57043" my="-1.46574" showLabel="true" type="modeling"/>
<point id="222" idObject="94" inUse="true" mx="-0.954275" my="-0.880717" showLabel="true" type="modeling"/>
<point id="223" idObject="90" inUse="true" mx="-0.675292" my="0.147116" showLabel="true" type="modeling"/>
<point id="224" idObject="95" inUse="true" mx="0.279125" my="-0.543001" showLabel="true" type="modeling"/>
<point id="225" idObject="81" inUse="true" mx="0.655497" my="-0.983501" showLabel="true" type="modeling"/>
<point id="226" idObject="3" inUse="true" mx="-1.64399" my="-1.11279" showLabel="true" type="modeling"/>
</modeling>
<details>
<detail closed="1" id="213" name="Back" forbidFlipping="1" supplement="1" width="2" mx="0" my="0">
<data rotation="0" letter="" fontSize="102" visible="false" mx="-20.0743" width="285.613" my="468.066" height="138.624"/>
<patternInfo rotation="0" fontSize="24" visible="false" mx="70.2595" width="247.137" my="255.613" height="167.063"/>
<grainline arrows="0" rotation="90" visible="false" mx="0" my="0" length="0"/>
<node type="NodePoint" nodeType="Contour" idObject="198" mx="0" my="0"/>
<node type="NodePoint" nodeType="Contour" idObject="199" mx="0" my="0"/>
<node type="NodePoint" nodeType="Contour" idObject="200" mx="0" my="0"/>
<node type="NodePoint" nodeType="Contour" idObject="201" mx="0" my="0"/>
<node type="NodePoint" nodeType="Contour" idObject="202" mx="0" my="0"/>
<node type="NodePoint" nodeType="Contour" idObject="212" mx="0" my="0"/>
<detail closed="1" forbidFlipping="true" forceFlipping="false" hideMainPath="false" id="213" inLayout="true" mx="0" my="0" name="Back" seamAllowance="true" united="false" version="2" width="0.3">
<data annotation="" foldPosition="" fontSize="102" height="3.66776" letter="" mx="-20.0743" my="468.066" onFold="false" orientation="" quantity="1" rotation="0" rotationWay="" tilt="" visible="false" width="7.55684">
<line alignment="4" bold="true" italic="false" sfIncrement="2" text="%pName%"/>
</data>
<patternInfo fontSize="24" height="4.42021" mx="70.2595" my="255.613" rotation="0" visible="false" width="6.53883"/>
<grainline arrows="0" length="0" mx="0" my="0" rotation="90" visible="false"/>
<nodes>
<node idObject="198" type="NodePoint"/>
<node idObject="199" type="NodePoint"/>
<node idObject="200" type="NodePoint"/>
<node idObject="201" type="NodePoint"/>
<node idObject="202" type="NodePoint"/>
<node idObject="212" type="NodePoint"/>
</nodes>
</detail>
<detail forbidFlipping="true" forceFlipping="false" hideMainPath="false" id="220" inLayout="true" mx="21.7242" my="0.323277" name="Back" seamAllowance="true" united="false" version="2" width="1">
<data annotation="" foldPosition="" fontSize="102" height="3.66776" letter="" mx="-20.0743" my="468.066" onFold="false" orientation="" quantity="1" rotation="0" rotationWay="" tilt="" visible="false" width="7.55684">
<line alignment="4" bold="true" italic="false" sfIncrement="2" text="%pName%"/>
</data>
<patternInfo fontSize="24" height="4.42021" mx="70.2595" my="255.613" rotation="0" visible="false" width="6.53883"/>
<grainline arrows="0" length="0" mx="0" my="0" rotation="90" visible="false"/>
<nodes>
<node idObject="214" type="NodePoint"/>
<node idObject="215" type="NodePoint"/>
<node idObject="216" type="NodePoint"/>
<node idObject="217" type="NodePoint"/>
<node idObject="218" type="NodePoint"/>
<node idObject="219" type="NodePoint"/>
</nodes>
</detail>
<detail forbidFlipping="true" forceFlipping="false" hideMainPath="false" id="227" inLayout="true" mx="7.69399" my="15.0001" name="Back" seamAllowance="true" united="false" version="2" width="2">
<data annotation="" foldPosition="" fontSize="102" height="3.66776" letter="" mx="-20.0743" my="468.066" onFold="false" orientation="" quantity="1" rotation="0" rotationWay="" tilt="" visible="false" width="7.55684">
<line alignment="4" bold="true" italic="false" sfIncrement="2" text="%pName%"/>
</data>
<patternInfo fontSize="24" height="4.42021" mx="70.2595" my="255.613" rotation="0" visible="false" width="6.53883"/>
<grainline arrows="0" length="0" mx="0" my="0" rotation="90" visible="false"/>
<nodes>
<node idObject="221" type="NodePoint"/>
<node idObject="222" type="NodePoint"/>
<node idObject="223" type="NodePoint"/>
<node idObject="224" type="NodePoint"/>
<node idObject="225" type="NodePoint"/>
<node idObject="226" type="NodePoint"/>
</nodes>
</detail>
</details>
<groups/>

View File

@ -110,9 +110,9 @@ public:
angle1F('0'),
angle2(180),
angle2F("180"),
length1(0),
length1(ToPixel(0.01, Unit::Mm)),
length1F('0'),
length2(0),
length2(ToPixel(0.01, Unit::Mm)),
length2F('0')
{}
@ -130,7 +130,17 @@ public:
length1F(point.length1F),
length2(point.length2),
length2F(point.length2F)
{}
{
if (qFuzzyIsNull(this->length1))
{
this->length1 = ToPixel(0.01, Unit::Mm);
}
if (qFuzzyIsNull(this->length2))
{
this->length2 = ToPixel(0.01, Unit::Mm);
}
}
virtual ~VSplinePointData();
@ -188,6 +198,16 @@ VSplinePointData::VSplinePointData(VPointF pSpline, qreal angle1, const QString
this->angle1F = QString().number(line.angle());
}
}
if (qFuzzyIsNull(this->length1))
{
this->length1 = ToPixel(0.01, Unit::Mm);
}
if (qFuzzyIsNull(this->length2))
{
this->length2 = ToPixel(0.01, Unit::Mm);
}
}
//---------------------------------------------------------------------------------------------------------------------

View File

@ -235,7 +235,7 @@ QVector<QPointF> AngleByLength(QVector<QPointF> points, QPointF p2, const QLineF
{ // Cutting too long acut angle
line.setLength(localWidth);
QLineF cutLine(line.p2(), sp2); // Cut line is a perpendicular
cutLine.setLength(length); // Decided take this length
cutLine.setLength(length); // Decided to take this length
// We do not check intersection type because intersection must alwayse exist
QPointF px;
@ -245,6 +245,7 @@ QVector<QPointF> AngleByLength(QVector<QPointF> points, QPointF p2, const QLineF
{
qDebug()<<"Couldn't find intersection with cut line.";
}
points.append(sp1);
points.append(px);
cutLine.setAngle(cutLine.angle()-180);
@ -254,6 +255,7 @@ QVector<QPointF> AngleByLength(QVector<QPointF> points, QPointF p2, const QLineF
qDebug()<<"Couldn't find intersection with cut line.";
}
points.append(px);
points.append(sp3);
}
else
{// The point just fine

View File

@ -108,8 +108,6 @@ void TST_VAbstractPiece::EquidistantRemoveLoop_data()
<< 11.338582677165354 // seam allowance width (0.3 cm)
<< OutputPointsIssue548Case1();
// Disabled due to "undefined behavior" problem
#if !defined(Q_OS_WIN) && !defined(Q_CC_CLANG) && !defined(Q_PROCESSOR_X86_64)
QTest::newRow("Issue 548. Case2") << InputPointsIssue548Case2()
<< 37.795275590551185 // seam allowance width (1.0 cm)
<< OutputPointsIssue548Case2();
@ -117,12 +115,16 @@ void TST_VAbstractPiece::EquidistantRemoveLoop_data()
QTest::newRow("Issue 548. Case3") << InputPointsIssue548Case3()
<< 75.59055118110237 // seam allowance width (2.0 cm)
<< OutputPointsIssue548Case3();
#endif
// See file src/app/share/collection/bugs/Issue_#646.val
QTest::newRow("Issue 646.") << InputPointsIssue646()
<< 37.795275590551185 // seam allowance width (1.0 cm)
<< OutputPointsIssue646();
// See file src/app/share/collection/bugs/Issue_#915.val
QTest::newRow("Issue 915.") << InputPointsIssue915()
<< 24.0 // seam allowance width (0.25 inch)
<< OutputPointsIssue915();
}
//---------------------------------------------------------------------------------------------------------------------
@ -450,6 +452,7 @@ QVector<QPointF> TST_VAbstractPiece::OutputPointsSeamTest1PieceByAngle() const
points += QPointF(1098.216223912539590, 704.699271425243978);
points += QPointF(1104.044420848225172, 705.374446205546178);
points += QPointF(1111.348801411629438, 705.793755950627201);
points += QPointF(1106.830811156247591, 705.750680808342395);
points += QPointF(1290.270553665008265, 707.499620616224888);
points += QPointF(1302.416131870576919, 881.655825604373376);
points += QPointF(30.000000000000000, 970.393574803149590);
@ -772,6 +775,7 @@ QVector<QPointF> TST_VAbstractPiece::OutputPointsSeamTest1PieceByIntersection()
points += QPointF(1098.216223912539590, 704.699271425243978);
points += QPointF(1104.044420848225172, 705.374446205546178);
points += QPointF(1111.348801411629438, 705.793755950627201);
points += QPointF(1106.830811156247591, 705.750680808342395);
points += QPointF(1290.270553665008265, 707.499620616224888);
points += QPointF(1302.416131870576919, 881.655825604373376);
points += QPointF(30.000000000000000, 970.393574803149590);
@ -1096,6 +1100,7 @@ QVector<QPointF> TST_VAbstractPiece::OutputPointsSeamTest1PieceByFirstEdgeSymmer
points += QPointF(1098.216223912539590, 704.699271425243978);
points += QPointF(1104.044420848225172, 705.374446205546178);
points += QPointF(1111.348801411629438, 705.793755950627201);
points += QPointF(1106.830811156247591, 705.750680808342395);
points += QPointF(1290.270553665008265, 707.499620616224888);
points += QPointF(1302.416131870576919, 881.655825604373376);
points += QPointF(30.000000000000000, 970.393574803149590);
@ -1418,6 +1423,7 @@ QVector<QPointF> TST_VAbstractPiece::OutputPointsSeamTest1PieceBySecondEdgeSymme
points += QPointF(1098.216223912539590, 704.699271425243978);
points += QPointF(1104.044420848225172, 705.374446205546178);
points += QPointF(1111.348801411629438, 705.793755950627201);
points += QPointF(1106.830811156247591, 705.750680808342395);
points += QPointF(1290.270553665008265, 707.499620616224888);
points += QPointF(1302.416131870576919, 881.655825604373376);
points += QPointF(30.000000000000000, 970.393574803149590);
@ -1742,6 +1748,7 @@ QVector<QPointF> TST_VAbstractPiece::OutputPointsSeamTest1PieceByFirstRightAngle
points += QPointF(1098.216223912539590, 704.699271425243978);
points += QPointF(1104.044420848225172, 705.374446205546178);
points += QPointF(1111.348801411629438, 705.793755950627201);
points += QPointF(1106.830811156247591, 705.750680808342395);
points += QPointF(1290.270553665008265, 707.499620616224888);
points += QPointF(1302.416131870576919, 881.655825604373376);
points += QPointF(30.000000000000000, 970.393574803149590);
@ -2063,6 +2070,7 @@ QVector<QPointF> TST_VAbstractPiece::OutputPointsSeamTest1PieceBySecondRightAngl
points += QPointF(1098.216223912539590, 704.699271425243978);
points += QPointF(1104.044420848225172, 705.374446205546178);
points += QPointF(1111.348801411629438, 705.793755950627201);
points += QPointF(1106.830811156247591, 705.750680808342395);
points += QPointF(1290.270553665008265, 707.499620616224888);
points += QPointF(1302.416131870576919, 881.655825604373376);
points += QPointF(30.000000000000000, 970.393574803149590);
@ -4729,61 +4737,94 @@ void TST_VAbstractPiece::BrokenDetailEquidistant_data() const
QTest::newRow("Issue #627.") << InputPointsIssue627() << 56.692913385826778 << OutputPointsIssue627();
points.clear();
points.append(VSAPoint(-3139.2651132139254, 2368.0698020087843));
points.append(VSAPoint(-3120.18086167807, 3642.1607394538896));
points.append(VSAPoint(-3800.4958223079916, 3642.1607394538896));
points.append(VSAPoint(-3838.2910978985424, 2357.1213693751492));
points.append(VSAPoint(-3838.2910978985424, 2357.1213693751492));
points.append(VSAPoint(-3842.1333590068875, 2294.1227800112047));
points.append(VSAPoint(-3847.641880263068, 2206.284811917889));
points.append(VSAPoint(-3852.504240762188, 2136.1966065393));
points.append(VSAPoint(-3858.4130229769607, 2058.523232892052));
points.append(VSAPoint(-3865.3928767793295, 1975.408848578495));
points.append(VSAPoint(-3873.4684520412366, 1888.9976112009829));
points.append(VSAPoint(-3882.664398634626, 1801.4336783618676));
points.append(VSAPoint(-3890.3477903485245, 1736.3753540292228));
points.append(VSAPoint(-3895.8091513987765, 1693.739013765668));
points.append(VSAPoint(-3901.5644708348673, 1652.020588288036));
points.append(VSAPoint(-3907.616829890789, 1611.4880972966203));
points.append(VSAPoint(-3913.9693098005355, 1572.4095604917156));
points.append(VSAPoint(-3920.6249917980986, 1535.0529975736154));
points.append(VSAPoint(-3927.5869571174717, 1499.6864282426134));
points.append(VSAPoint(-3934.8582869926468, 1466.5778721990046));
points.append(VSAPoint(-3942.4420626576175, 1435.9953491430822));
points.append(VSAPoint(-3950.341365346377, 1408.206878775141));
points.append(VSAPoint(-3958.559276292918, 1383.4804807954743));
points.append(VSAPoint(-3964.943774739856, 1367.2167450059815));
points.append(VSAPoint(-3969.294575063331, 1357.40136877638));
points.append(VSAPoint(-3971.5038697013774, 1352.8740677166752));
points += VSAPoint(-3139.265113213924451, 2368.069802008785700);
points += VSAPoint(-3120.180861678069505, 3642.160739453890528);
points += VSAPoint(-3800.495822307991148, 3642.160739453890528);
points += VSAPoint(-3838.291097898541921, 2357.121369375150152);
points += VSAPoint(-3838.291097898541921, 2357.121369375150152);
p = VSAPoint(-3839.302217259215013, 2343.680254846592106);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-3849.814536317706825, 2173.405020996054191);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-3861.632100747252480, 2018.058273701557255);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-3873.468452041235651, 1888.997611200983556);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-3882.664398634625286, 1801.433678361868033);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-3893.005366431439143, 1714.861207663502000);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-3904.516005303620659, 1631.424356708237610);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-3917.220965123112364, 1553.267283098427470);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-3927.586957117470774, 1499.686428242613374);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-3934.858286992645844, 1466.577872199004560);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-3942.442062657617043, 1435.995349143082194);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-3950.341365346376733, 1408.206878775140922);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-3958.559276292917730, 1383.480480795474250);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-3967.098876731232849, 1362.084174904376596);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
points += VSAPoint(-3971.503869701376971, 1352.874067716675199);
ekvOrig.clear();
ekvOrig.append(QPointF(-3101.671677349305, 2354.311657146295));
ekvOrig.append(QPointF(-3081.815221558208, 3679.956015044441));
ekvOrig.append(QPointF(-3837.1958160496015, 3679.956015044441));
ekvOrig.append(QPointF(-3876.0525286101615, 2358.8277879853945));
ekvOrig.append(QPointF(-3879.856561637429, 2296.4559949567497));
ekvOrig.append(QPointF(-3885.3552068987756, 2208.77550784222));
ekvOrig.append(QPointF(-3890.2001782461225, 2138.9379573546207));
ekvOrig.append(QPointF(-3896.088149066635, 2061.538158048703));
ekvOrig.append(QPointF(-3903.0407093929557, 1978.7487777426454));
ekvOrig.append(QPointF(-3911.079614345216, 1892.7299244032736));
ekvOrig.append(QPointF(-3920.2274574737066, 1805.6240334336896));
ekvOrig.append(QPointF(-3927.860399345099, 1740.9928879223924));
ekvOrig.append(QPointF(-3933.274855194803, 1698.7227322183812));
ekvOrig.append(QPointF(-3938.9763839040743, 1657.3942181006862));
ekvOrig.append(QPointF(-3944.9616042037396, 1617.3113536115984));
ekvOrig.append(QPointF(-3951.228909124134, 1578.7567876029068));
ekvOrig.append(QPointF(-3957.774475984356, 1542.0182714992184));
ekvOrig.append(QPointF(-3964.590902808316, 1507.3910332410135));
ekvOrig.append(QPointF(-3971.664775737263, 1475.1815581746985));
ekvOrig.append(QPointF(-3978.9721167358443, 1445.7137924549359));
ekvOrig.append(QPointF(-3986.4693843470664, 1419.339616522746));
ekvOrig.append(QPointF(-3994.1083479844083, 1396.355179689852));
ekvOrig.append(QPointF(-3999.8272408176463, 1381.7869935087092));
ekvOrig.append(QPointF(-4003.5659287794874, 1373.352538644726));
ekvOrig.append(QPointF(-4020.22165565684, 1339.2215139079456));
ekvOrig.append(QPointF(-3963.5989171180895, 1302.9008086818892));
ekvOrig.append(QPointF(-3101.671677349305, 2354.311657146295));
ekvOrig += QPointF(-3101.671677349303991, 2354.311657146296511);
ekvOrig += QPointF(-3081.815221558207668, 3679.956015044441756);
ekvOrig += QPointF(-3837.195816049601035, 3679.956015044441756);
ekvOrig += QPointF(-3876.044653039363766, 2359.095557392497085);
ekvOrig += QPointF(-3877.010036246325853, 2346.262427345334345);
ekvOrig += QPointF(-3887.521375357235229, 2176.003066377156756);
ekvOrig += QPointF(-3899.296227079830715, 2021.217795191581217);
ekvOrig += QPointF(-3911.083026727820652, 1892.697431648095517);
ekvOrig += QPointF(-3920.224832495934606, 1805.649028508959645);
ekvOrig += QPointF(-3930.493055752654072, 1719.685560245328361);
ekvOrig += QPointF(-3941.894545530255527, 1637.039895325651742);
ekvOrig += QPointF(-3954.435721335517883, 1559.890371478935094);
ekvOrig += QPointF(-3964.604131215331108, 1507.330800317660078);
ekvOrig += QPointF(-3971.664775737262062, 1475.181558174698694);
ekvOrig += QPointF(-3978.972116735843429, 1445.713792454936083);
ekvOrig += QPointF(-3986.469384347065898, 1419.339616522745928);
ekvOrig += QPointF(-3994.074543749641634, 1396.456891300948655);
ekvOrig += QPointF(-4001.736468408189467, 1377.259636711227131);
ekvOrig += QPointF(-4001.195059002683593, 1378.391633672615171);
ekvOrig += QPointF(-4020.055159068345802, 1338.958303278483072);
ekvOrig += QPointF(-3963.514509032285787, 1303.003772798831278);
ekvOrig += QPointF(-3110.036113865901825, 2344.108406930881756);
ekvOrig += QPointF(-3101.671677349303991, 2354.311657146296511);
// See the file "collection/bugs/Issue_#687.val"
QTest::newRow("Issue #687.") << points << 37.795275590551185 << ekvOrig;
@ -5847,8 +5888,10 @@ QVector<QPointF> TST_VAbstractPiece::OutputPointsIssue298Case1() const
{
QVector<QPointF> points;
points += QPointF(454.241957169666080, 428.231656323662378);
points += QPointF(1181.370211203355211, -59.406362870594705);
points += QPointF(1269.039464046917146, 38.629190783372337);
points += QPointF(1216.112062618621621, 101.177811020102126);
points += QPointF(1216.924519205873821, 100.217664911215365);
points += QPointF(1198.880813132726189, 123.039801916996382);
points += QPointF(1182.221067861893971, 145.936740845325801);
@ -5873,8 +5916,9 @@ QVector<QPointF> TST_VAbstractPiece::OutputPointsIssue298Case1() const
points += QPointF(1032.895861058649189, 885.767291298921236);
points += QPointF(1033.622065798040012, 991.890644345887608);
points += QPointF(940.875971287879679, 1031.297840617347674);
points += QPointF(443.502530826085263, 545.064029916304321);
points += QPointF(376.989021179537758, 480.040217570165055);
points += QPointF(1181.370211203355211, -59.406362870594705);
points += QPointF(454.241957169666080, 428.231656323662378);
return points;
}
@ -5923,8 +5967,10 @@ QVector<QPointF> TST_VAbstractPiece::OutputPointsIssue298Case2() const
{
QVector<QPointF> points;
points += QPointF(645.821349751089997, 1828.723698240793510);
points += QPointF(-10.830702765714818, 24.587011512350955);
points += QPointF(39.855615789834275, -8.108689868294974);
points += QPointF(984.109698069704450, 914.997015717170598);
points += QPointF(995.420358378310425, 926.054352148911448);
points += QPointF(995.739071214507590, 1005.591452546832215);
points += QPointF(994.595477129484721, 1095.280975097498185);
@ -5933,9 +5979,9 @@ QVector<QPointF> TST_VAbstractPiece::OutputPointsIssue298Case2() const
points += QPointF(983.146116203005363, 1273.717516824237237);
points += QPointF(975.162259387381937, 1332.373994385974811);
points += QPointF(967.294011183906719, 1376.030939480649295);
points += QPointF(960.747162663436256, 1404.970782901272059);
points += QPointF(953.776698619438662, 1433.733694668130738);
points += QPointF(945.943213422085364, 1462.310028497729036);
points += QPointF(961.141923226857557, 1405.057857127779471);
points += QPointF(954.192782444686372, 1433.837767192289448);
points += QPointF(946.379452372984474, 1462.432978930140507);
points += QPointF(937.651555831541259, 1490.826496264650814);
points += QPointF(927.959066252289745, 1519.000254063481179);
points += QPointF(917.252513621465937, 1546.935105471911356);
@ -5949,9 +5995,9 @@ QVector<QPointF> TST_VAbstractPiece::OutputPointsIssue298Case2() const
points += QPointF(789.496104075464928, 1759.247733255478124);
points += QPointF(767.617643347237504, 1784.059613352606220);
points += QPointF(744.294089369113522, 1808.418070909965081);
points += QPointF(719.468376809343567, 1831.807034970131099);
points += QPointF(719.578275789075519, 1832.218468236051649);
points += QPointF(664.990187962422283, 1881.389648383607664);
points += QPointF(-10.830702765714818, 24.587011512350955);
points += QPointF(645.821349751089997, 1828.723698240793510);
return points;
}
@ -5961,12 +6007,12 @@ QVector<VSAPoint> TST_VAbstractPiece::InputPointsIssue548Case1() const
{
QVector<VSAPoint> points;
points += VSAPoint(236.97989607468364, 65.89325192030674);
points += VSAPoint(198.93409106041895, 172.04876297154925);
points += VSAPoint(260.32251114299453, 75.38027418944861);
points += VSAPoint(324.54110236213444, 101.48031496062993);
points += VSAPoint(29.858267716535437, 300.85039370078744);
points += VSAPoint(99.86433649395013, 10.166060970128015);
points += VSAPoint(99.864336493950120, 10.166060970128015);
points += VSAPoint(236.976230899601006, 65.892946005988421);
points += VSAPoint(198.929434751152087, 172.048225991604085);
points += VSAPoint(260.318775675698191, 75.380141225780733);
points += VSAPoint(324.536329963882622, 101.480314960629926);
points += VSAPoint(29.858267716535437, 300.850393700787379);
return points;
}
@ -5976,14 +6022,16 @@ QVector<QPointF> TST_VAbstractPiece::OutputPointsIssue548Case1() const
{
QVector<QPointF> points;
points += QPointF(251.32210577118798, 59.48301432799721);
points += QPointF(243.9841262159756, 79.95746530820585);
points += QPointF(255.82424817748586, 61.31279754390509);
points += QPointF(348.48337789725855, 98.9717841021069);
points += QPointF(29.780382054543473, 314.59289909613994);
points += QPointF(17.01672179602679, 305.7450049304056);
points += QPointF(91.92616539550944, -5.299480329501037);
points += QPointF(251.32210577118798, 59.48301432799721);
points += QPointF(91.926188513420229, -5.299576321385700);
points += QPointF(251.318503777369841, 59.482821054254934);
points += QPointF(243.980340177388854, 79.957207609612524);
points += QPointF(255.820628259508965, 61.312635852750702);
points += QPointF(348.478270726919504, 98.971817879648910);
points += QPointF(330.890078894417513, 110.871445438620611);
points += QPointF(29.780459425848392, 314.592917220519098);
points += QPointF(17.016714467558195, 305.745035360210295);
points += QPointF(88.840927183180355, 7.511272034233146);
points += QPointF(91.926188513420229, -5.299576321385700);
return points;
}
@ -5992,12 +6040,13 @@ QVector<QPointF> TST_VAbstractPiece::OutputPointsIssue548Case1() const
QVector<VSAPoint> TST_VAbstractPiece::InputPointsIssue548Case2() const
{
QVector<VSAPoint> points;
points << VSAPoint(99.86433649395013, 10.166060970128015);
points << VSAPoint(176.0178302829931, 57.36978169486653);
points << VSAPoint(115.46606095399079, 156.67924434657942);
points << VSAPoint(197.43414263641347, 70.64467660756823);
points << VSAPoint(247.18110236220474, 101.48031496062993);
points << VSAPoint(29.858267716535437, 300.85039370078744);
points += VSAPoint(99.864336493950120, 10.166060970128015);
points += VSAPoint(236.976230899601006, 65.892946005988421);
points += VSAPoint(198.929434751152087, 172.048225991604085);
points += VSAPoint(260.318775675698191, 75.380141225780733);
points += VSAPoint(324.536329963882622, 101.480314960629926);
points += VSAPoint(29.858267716535437, 300.850393700787379);
return points;
}
@ -6006,12 +6055,16 @@ QVector<VSAPoint> TST_VAbstractPiece::InputPointsIssue548Case2() const
QVector<QPointF> TST_VAbstractPiece::OutputPointsIssue548Case2() const
{
QVector<QPointF> points;
points << QPointF(75.35612582031402, -49.49247429729551);
points << QPointF(207.99390662262346, 32.7230151178754);
points << QPointF(309.47290565612207, 95.62474281894228);
points << QPointF(34.78597607721976, 347.62014343263024);
points << QPointF(-13.438975506560153, 319.209057294505);
points << QPointF(75.35612582031402, -49.49247429729551);
points += QPointF(73.403843225517093, -41.386063334917424);
points += QPointF(284.783807158830541, 44.525862833543471);
points += QPointF(245.324950955067436, 28.488456649013926);
points += QPointF(404.342799174005563, 93.118658024026544);
points += QPointF(345.715493065665612, 132.784083220598887);
points += QPointF(29.598906747578553, 346.658805433226348);
points += QPointF(-12.946909780055414, 317.165865898863785);
points += QPointF(63.119638791384254, 1.316764517145117);
points += QPointF(73.403843225517093, -41.386063334917424);
return points;
}
@ -6021,12 +6074,12 @@ QVector<VSAPoint> TST_VAbstractPiece::InputPointsIssue548Case3() const
{
QVector<VSAPoint> points;
points += VSAPoint(99.86433649395013, 10.166060970128015);
points += VSAPoint(176.0178302829931, 57.36978169486653);
points += VSAPoint(115.46606095399079, 156.67924434657942);
points += VSAPoint(197.43414263641347, 70.64467660756823);
points += VSAPoint(247.18110236220474, 101.48031496062993);
points += VSAPoint(29.858267716535437, 300.85039370078744);
points += VSAPoint(99.864336493950120, 10.166060970128015);
points += VSAPoint(236.976230899601006, 65.892946005988421);
points += VSAPoint(198.929434751152087, 172.048225991604085);
points += VSAPoint(260.318775675698191, 75.380141225780733);
points += VSAPoint(324.536329963882622, 101.480314960629926);
points += VSAPoint(29.858267716535437, 300.850393700787379);
return points;
}
@ -6036,12 +6089,15 @@ QVector<QPointF> TST_VAbstractPiece::OutputPointsIssue548Case3() const
{
QVector<QPointF> points;
points += QPointF(50.84791514667799, -109.15100956471929);
points += QPointF(220.96071459087483, -3.7066408675763003);
points += QPointF(371.76470895003956, 89.76917067725468);
points += QPointF(39.71368443790398, 394.38989316447305);
points += QPointF(-56.73621872965576, 337.56772088822254);
points += QPointF(50.84791514667799, -109.15100956471929);
points += QPointF(46.943349957084052, -92.938187639962905);
points += QPointF(332.591383418060218, 23.158779661098620);
points += QPointF(230.331126234436681, -18.403227927752880);
points += QPointF(484.149268384128561, 84.757001087423149);
points += QPointF(366.894656167448602, 164.087851480567821);
points += QPointF(29.339545778621698, 392.467217165665375);
points += QPointF(-55.752087276646201, 333.481338096940249);
points += QPointF(26.374941088818389, -7.532531935837781);
points += QPointF(46.943349957084052, -92.938187639962905);
return points;
}
@ -6492,3 +6548,500 @@ QVector<QPointF> TST_VAbstractPiece::OutputPointsIssue646() const
return points;
}
//---------------------------------------------------------------------------------------------------------------------
QVector<VSAPoint> TST_VAbstractPiece::InputPointsIssue915() const
{
QVector<VSAPoint> points;
VSAPoint p = VSAPoint(-507.600000000000023, -31.999967999999996);
p.SetSAAfter(72);
points += p;
p = VSAPoint(-507.600000000000023, -31.999967999999996);
p.SetSAAfter(72);
points += p;
p = VSAPoint(-507.449312463382512, -31.446023065087303);
p.SetSABefore(72);
p.SetSAAfter(72);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-504.845506094201312, -30.090291508939359);
p.SetSABefore(72);
p.SetSAAfter(72);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-496.392100551001931, -27.573850413669142);
p.SetSABefore(72);
p.SetSAAfter(72);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-464.417329131643498, -20.986254035646493);
p.SetSABefore(72);
p.SetSAAfter(72);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-395.102260782232634, -9.652621739449918);
p.SetSABefore(72);
p.SetSAAfter(72);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-307.007819610491993, 3.110972965636707);
p.SetSABefore(72);
p.SetSAAfter(72);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-210.954136705713381, 15.888105412165199);
p.SetSABefore(72);
p.SetSAAfter(72);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-117.761343157188833, 27.262350932687376);
p.SetSABefore(72);
p.SetSAAfter(72);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-38.249570054210352, 35.817284859755048);
p.SetSABefore(72);
p.SetSAAfter(72);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(4.877847189362743, 39.365679896542964);
p.SetSABefore(72);
p.SetSAAfter(72);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(24.229095510481223, 40.200765039253241);
p.SetSABefore(72);
p.SetSAAfter(72);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(30.000000000000000, 40.000032000000004);
p.SetSABefore(72);
p.SetSAAfter(72);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(298.799956841943526, 39.998755556494672);
p.SetSABefore(72);
p.SetSAAfter(72);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(567.600000000000023, 40.000032000000004);
p.SetSABefore(72);
points += p;
p = VSAPoint(567.600000000000023, 40.000032000000004);
p.SetSABefore(72);
points += p;
p = VSAPoint(567.600000000000023, 40.000032000000004);
p.SetSABefore(72);
points += p;
p = VSAPoint(678.012137340500203, 393.982384929571140);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(788.400000000000091, 748.000032000000033);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(797.781010969863473, 773.269590772002402);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(816.862743647139837, 830.669938076978156);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(845.946905498940055, 924.554979792767654);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(875.249624105851581, 1015.644669357187695);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(889.833156456430174, 1055.897454421274915);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(899.501294925524462, 1079.890026003066396);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(909.106431465620517, 1100.924213872042856);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(918.633137421352558, 1118.512954664990048);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(928.065984137355599, 1132.169185018693497);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(935.065965891960332, 1139.388121524882081);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(939.697530455759988, 1142.810231969287997);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
points += VSAPoint(942.000000000000000, 1144.000031999999919);
points += VSAPoint(942.000000000000000, 1144.000031999999919);
points += VSAPoint(848.543035410863922, 1219.271512454330150);
points += VSAPoint(848.543035410863922, 1219.271512454330150);
p = VSAPoint(833.394621851587999, 1209.184443788609315);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(801.342440734292722, 1188.938954811239682);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(767.080438685780450, 1168.777106485989634);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(730.493731114134448, 1148.886968398673844);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(691.467433427437982, 1129.456610135107212);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(649.886661033774089, 1110.674101281104640);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(605.636529341226151, 1092.727511422481030);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(558.602153757877204, 1075.804910145051281);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(508.668649691810742, 1060.094367034630295);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(455.721132551109690, 1045.783951677032974);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(399.644717743857314, 1033.061733658073990);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(340.324520678136992, 1022.115782563568359);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(277.645656762031649, 1013.134167979330982);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(211.493241403624779, 1006.304959491176760);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(141.752390010999420, 1001.816226684920593);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(68.308217992238781, 999.856039146377270);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(30.000000000000000, 1000.000031999999919);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(13.631956548446972, 1000.226181810077605);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-18.339663549363255, 1001.315068131676639);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-64.869755169399568, 1004.236194277548975);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-124.502761493149634, 1010.668565483517341);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-182.309583065705112, 1019.648892145697118);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-239.128063484441043, 1030.946419395580051);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-295.796046346732737, 1044.330392364657655);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-353.151375249955208, 1059.570056184421901);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-412.031893791483697, 1076.434655986364305);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-504.592710215890349, 1104.142528279636281);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-606.203023219656870, 1134.470522600176537);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-679.562736288160977, 1155.527317645747871);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-758.636856981846904, 1177.055274330955854);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-844.263228898089778, 1198.823637787291773);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-937.279695634264840, 1220.601653146247372);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-1038.524100787747329, 1242.158565539314623);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
points += VSAPoint(-1092.888802387382157, 1252.758362424370716);
points += VSAPoint(-1092.888802387382157, 1252.758362424370716);
points += VSAPoint(-1143.600000000000136, 1144.000031999999919);
points += VSAPoint(-1143.600000000000136, 1144.000031999999919);
p = VSAPoint(-1140.827541033094121, 1143.374971214933794);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-1128.114276672706410, 1137.748512104418523);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-1105.471820460752497, 1126.491033658784545);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-1100.660878749986750, 1123.978629919577770);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-1088.646155856902169, 1116.601011666950399);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-1063.193542129785783, 1099.432822938428444);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-1036.368337432574208, 1079.699499598103785);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-1008.542997941980047, 1057.768161708328535);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-980.089979834716473, 1034.005929331455491);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-951.381739287496316, 1008.779922529837904);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-922.790732477032634, 982.457261365827890);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-894.689415580038258, 955.405065901778585);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-867.450244773225904, 927.990456200042559);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-841.445676233308973, 900.580552322972494);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-817.048166137000180, 873.542474332921188);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-794.630170661012471, 847.243342292241437);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-774.564145982058790, 822.050276263285923);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-757.222548276852194, 798.330396308407330);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-742.977833722105288, 776.450822489958455);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-732.202458494531129, 756.778674870291752);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-728.400000000000091, 748.000032000000033);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-618.011795834096574, 393.982519573027616);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-507.600000000000023, 40.000032000000004);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-507.600000000000023, 4.000032000000004);
p.SetAngleType(PieceNodeAngle::ByLengthCurve);
points += p;
p = VSAPoint(-507.600000000000023, -31.999967999999996);
p.SetSAAfter(72);
points += p;
return points;
}
//---------------------------------------------------------------------------------------------------------------------
QVector<QPointF> TST_VAbstractPiece::OutputPointsIssue915() const
{
QVector<QPointF> points;
points += QPointF(-531.600000000000023, 4.000032000000004);
points += QPointF(-531.600000000000023, -102.568719800946013);
points += QPointF(-453.585101669993151, -107.733482681924897);
points += QPointF(-449.154695883211730, -91.446795008304804);
points += QPointF(-384.130199533259542, -80.814709526389422);
points += QPointF(-297.098575551249212, -68.205101471026495);
points += QPointF(-201.845477508550090, -55.534463419175353);
points += QPointF(-109.548332941548821, -44.269532482196837);
points += QPointF(-31.445369952598469, -35.866177082068390);
points += QPointF(9.383656731604361, -32.506886753485205);
points += QPointF(24.530200011256138, -31.853251750390772);
points += QPointF(28.747996749191856, -31.999962055455761);
points += QPointF(298.799614937376532, -32.001244442693434);
points += QPointF(570.282570835976912, -31.999955262160015);
points += QPointF(700.923474332280648, 386.836012615654340);
points += QPointF(811.121875249161803, 740.246049071757625);
points += QPointF(820.424837420537983, 765.305368381639028);
points += QPointF(839.715010508350133, 823.332731700280760);
points += QPointF(868.872075975553912, 917.453109713821277);
points += QPointF(897.962957271535402, 1007.879694062656768);
points += QPointF(912.252876214245475, 1047.322061107655827);
points += QPointF(921.558672561523395, 1070.415440014190381);
points += QPointF(930.598679931014544, 1090.212057433739119);
points += QPointF(939.118104566261650, 1105.941098753026381);
points += QPointF(946.563125229006801, 1116.719490496214803);
points += QPointF(951.118381678965193, 1121.257882007380658);
points += QPointF(952.744004420277292, 1122.537007909381600);
points += QPointF(985.739928338291747, 1139.587635740370160);
points += QPointF(849.890380346909069, 1249.002665870202009);
points += QPointF(820.333374492074313, 1229.321162824078328);
points += QPointF(788.845002210266671, 1209.431798926697411);
points += QPointF(755.259552299030474, 1189.668075076385094);
points += QPointF(719.410308347298269, 1170.178854541044529);
points += QPointF(681.175522336118661, 1151.142572998476680);
points += QPointF(640.433088808276580, 1132.738751366079214);
points += QPointF(597.060508251917099, 1115.148071189952589);
points += QPointF(550.934948014822794, 1098.552454581687243);
points += QPointF(501.933376762473699, 1083.135124834113185);
points += QPointF(449.932747285816333, 1069.080629989907266);
points += QPointF(394.810202098965590, 1056.574819123832867);
points += QPointF(336.443277803835770, 1045.804768947441744);
points += QPointF(274.710087903599856, 1036.958665427097230);
points += QPointF(209.489469183161475, 1030.225650456213316);
points += QPointF(140.661083064726711, 1025.795646683644691);
points += QPointF(68.033099637858257, 1023.857242802850578);
points += QPointF(30.090210515011591, 1023.999862459045289);
points += QPointF(14.206256023059030, 1024.220537629200180);
points += QPointF(-17.179096074792579, 1025.289456892389580);
points += QPointF(-62.829936289774608, 1028.155384258747972);
points += QPointF(-121.372019203094979, 1034.470081968681825);
points += QPointF(-178.125399864819883, 1043.286755912355147);
points += QPointF(-234.027930355513632, 1054.402159860183474);
points += QPointF(-289.955070172680621, 1067.611158835315109);
points += QPointF(-346.988274276395032, 1082.765232113687944);
points += QPointF(-405.423519463239415, 1099.506920477260792);
points += QPointF(-497.710120420160877, 1127.134482474611104);
points += QPointF(-599.338885963063376, 1157.467992454981413);
points += QPointF(-672.941269571322209, 1178.595828185392065);
points += QPointF(-752.332319527575237, 1200.212407303058626);
points += QPointF(-838.349926911579473, 1222.083750848417367);
points += QPointF(-932.044554694755561, 1244.024976319867619);
points += QPointF(-1033.526068293703020, 1265.632373734589237);
points += QPointF(-1106.711571641943920, 1279.905398164866256);
points += QPointF(-1177.942044695470486, 1127.140176885373194);
points += QPointF(-1148.394825900443493, 1120.478650782734121);
points += QPointF(-1138.318171822887052, 1116.019065853875645);
points += QPointF(-1116.156514620401140, 1105.000633227083199);
points += QPointF(-1112.509269638493379, 1103.090594271268856);
points += QPointF(-1101.641705068868987, 1096.417386454164898);
points += QPointF(-1077.020434567640223, 1079.809951821596997);
points += QPointF(-1050.911336192536282, 1060.603415052323953);
points += QPointF(-1023.666263331867640, 1039.129430918512980);
points += QPointF(-995.705409725774075, 1015.778224437042581);
points += QPointF(-967.223622762851051, 990.751202998121016);
points += QPointF(-939.046421220012689, 964.800744622953516);
points += QPointF(-911.334155939476659, 938.114819565567927);
points += QPointF(-884.475195395271157, 911.074456190672777);
points += QPointF(-858.856709606917889, 884.062201410636249);
points += QPointF(-835.093257770208652, 857.715622126835456);
points += QPointF(-813.154123571393484, 831.978254672602247);
points += QPointF(-793.645926452100866, 807.485545927571138);
points += QPointF(-776.980705240391558, 784.690815402565477);
points += QPointF(-763.588658592578327, 764.120921068438861);
points += QPointF(-753.784444461682369, 746.221781260828834);
points += QPointF(-750.931215943685856, 739.634602407240209);
points += QPointF(-640.923774793838220, 386.838205739754699);
points += QPointF(-531.600000000000023, 36.343935673924420);
points += QPointF(-531.600000000000023, 4.000032000000004);
return points;
}

View File

@ -125,6 +125,9 @@ private:
QVector<VSAPoint> InputPointsIssue646() const;
QVector<QPointF> OutputPointsIssue646() const;
QVector<VSAPoint> InputPointsIssue915() const;
QVector<QPointF> OutputPointsIssue915() const;
};
#endif // TST_VABSTRACTPIECE_H